From c433e47397e2fc10cc72ff1874983392766271d1 Mon Sep 17 00:00:00 2001 From: Rakshith Bhyravabhotla Date: Tue, 10 Sep 2019 16:52:06 -0700 Subject: [PATCH] Storage Preview 3 Release (#7154) * Storage swagger (#6777) * Python swagger update This only changes to the official swagger version and regenerates * Upgrade blobs swagger to 2019-02-02 * Fixed namespace dir and header * Enable XML for blobs * Generate vanilla blobs * Fixed global parameters in swagger spec * Regenerated blobs * Revert "Fixed global parameters in swagger spec" This reverts commit 75bd21b00a6ea7728ad70964e34d52296339920c. * Moved parameter fix to readme * Fixed blob list serialization * Fix for new metadata model * Fixed datetime formatting * Fixed required access policy * Fixed readme analysis * Regenerated queues * Regenerated files * Fixed files datetime * Skip tests pending msrest fix * Fixed for queue XML * Fix for docsettings * [storage] Fix for Files upload return type (#6772) * Fix missing import * Fix for Files inconsistent return types * Blob async trace decorators * [SnapshotSAS]Add Snapshot SAS (#6819) * [SnapshotSAS]Add Snapshot SAS * [SnapshotSAS]Extract SharedAccessSignature for Blob File and Queue * [SnapshotSAS]Fix Typo * [SnapshotSAS]Delete Redundant code The removed code is for another feature. * [SnapshotSAS]Stylistic Tweak * Updating Storage Files swagger to 2019-02-02 (#6872) * Updating Storage Files swagger to 2019-02-02 This includes a few transform changes to set default values for new required parameters and marked certain 8601 dates as strings when they use more precision that Python's dates. I'm seeing a few test failures that I'm hoping someone on the Python side can investigate (mostly "The specified share is being deleted. Try operation later." that I was seeing before my changes). There are a few other failures related to new service features that we can fix if easy or disable and file a work item to get these changes in. The recorded tests will also have to be updated, but we don't need to block on that right now. * skip file permission related tests * [Storage] File swagger updates (#6926) * Updating Storage Files swagger to 2019-02-02 This includes a few transform changes to set default values for new required parameters and marked certain 8601 dates as strings when they use more precision that Python's dates. I'm seeing a few test failures that I'm hoping someone on the Python side can investigate (mostly "The specified share is being deleted. Try operation later." that I was seeing before my changes). There are a few other failures related to new service features that we can fix if easy or disable and file a work item to get these changes in. The recorded tests will also have to be updated, but we don't need to block on that right now. * swagger changes * [storage] make storage pylint-clean (#6929) * make storage pylint-clean * feedback * Remove Storage swagger files and reference azure-rest-api-specs (#6943) Also includes some changes to the generated code updated to the latest version of blobs * Append block from url sync and async (#6925) * [Sync][AppendBlock] * [Async][AppendBlock]Add append_block_from_url * [Blob][AppendBlock]add recordings for append_block_from_url * [Blob][AppendBlock]fix failing CI * [Blob][AppendBlock]fix Pylint * [Blob][AppendBlock]Adjust Stylistic Things * [UpdatePage]add upload_pages_from_url sync and async (#6960) * [UpdatePage]add upload_pages_from_url sync and async * [UploadPage]Adjust Stylistic Things * Fix Pylint * Fix Pylint * [Queues] Migrate to devtools test framework (#6882) * initial migration * samples * comments * queues test fixes * recodings update * update * comment address * pylint fix * comments address * Put range from url (#7081) * [File]Upload Range From Url Sync * [File]Upload Range From Url ASync * Fix Pylint * Fix Pylint * CPK--Client Provided Encryption Key (#7104) * [Blob]CPK without test * Add Generated Code * Fix Pylint * [Blob][CPK]Test * Add Missing Recordings * [Blob][CPK]use existing field self.scheme * File rest parity (#7001) * [File][RestParity]Rest Parity Sync Add Rest Parity Sync part(except create permission) tweak _shared package a bit * [File][RestParity]Rest Parity Async Add Rest Parity Async part(except create permission) * [File][RestParity]Add Rest Parity Async Recording Files Add recording files for both sync and async * [File][RestParity]Fix CI * [File][RestParity]Recording again to fix CI * Add Generated Code * Stylistic Things and Record * [Swagger][BugFix]workaround to fix swagger generated code * [File][RestParity]Add Create_Permission API and Test * Fix Test * Fix Pylint * Revert the workaround * [File][RestParity]Tweak Documentation and Tests * delete .dat file * [Blob][SAS] Added support for identity SAS (#7020) * [Storage] Incremented version for preview 3 and updated change log (#7156) * Update Azure Core and msrest * Add Workaround for SharePermissions,revert msrest * Update version and history.md * updates on history.md * minor change * more changes * [Storage] Fix flaky tests (#7179) * Update HISTORY.md * Fix some typo in error message * Fix Some Tests * some more fixes * Skip OAUTH Test --- .docsettings.yml | 3 + sdk/storage/azure-storage-blob/HISTORY.md | 21 + .../azure/storage/blob/_generated/__init__.py | 4 +- .../blob/_generated/_azure_blob_storage.py | 24 +- .../storage/blob/_generated/_configuration.py | 22 +- .../storage/blob/_generated/aio/__init__.py | 4 +- .../aio/_azure_blob_storage_async.py | 24 +- .../_generated/aio/_configuration_async.py | 21 +- .../aio/operations_async/__init__.py | 3 +- .../_append_blob_operations_async.py | 251 +- .../_blob_operations_async.py | 810 +- .../_block_blob_operations_async.py | 184 +- .../_container_operations_async.py | 92 +- .../_directory_operations_async.py | 740 ++ .../_page_blob_operations_async.py | 351 +- .../_service_operations_async.py | 188 +- .../blob/_generated/models/__init__.py | 34 +- .../models/_azure_blob_storage_enums.py | 69 +- .../storage/blob/_generated/models/_models.py | 377 +- .../blob/_generated/models/_models_py3.py | 387 +- .../blob/_generated/operations/__init__.py | 3 +- .../operations/_append_blob_operations.py | 251 +- .../_generated/operations/_blob_operations.py | 810 +- .../operations/_block_blob_operations.py | 184 +- .../operations/_container_operations.py | 103 +- .../operations/_directory_operations.py | 740 ++ .../operations/_page_blob_operations.py | 351 +- .../operations/_service_operations.py | 189 +- .../azure/storage/blob/_generated/version.py | 3 +- .../azure/storage/blob/_shared/constants.py | 2 +- .../azure/storage/blob/_shared/models.py | 33 + .../azure/storage/blob/_shared/parser.py | 20 + .../storage/blob/_shared/response_handlers.py | 15 +- .../blob/_shared/shared_access_signature.py | 508 +- .../azure/storage/blob/_shared/uploads.py | 4 +- .../storage/blob/_shared/uploads_async.py | 4 +- .../storage/blob/_shared_access_signature.py | 262 + .../storage/blob/aio/blob_client_async.py | 325 +- .../blob/aio/blob_service_client_async.py | 49 +- .../blob/aio/container_client_async.py | 19 +- .../azure/storage/blob/aio/lease_async.py | 7 + .../azure/storage/blob/blob_client.py | 613 +- .../azure/storage/blob/blob_service_client.py | 56 +- .../azure/storage/blob/container_client.py | 38 +- .../azure/storage/blob/lease.py | 4 +- .../azure/storage/blob/models.py | 34 +- .../azure/storage/blob/version.py | 2 +- sdk/storage/azure-storage-blob/setup.py | 2 +- .../azure-storage-blob/swagger/README.md | 102 + .../azure-storage-blob/swagger/blob.json | 7425 ----------------- ...ppend_blob.test_append_block_from_url.yaml | 2700 ++++++ ...ock_from_url_and_validate_content_md5.yaml | 2695 ++++++ ...ock_from_url_with_appendpos_condition.yaml | 2705 ++++++ ...t_append_block_from_url_with_if_match.yaml | 2705 ++++++ ...ppend_block_from_url_with_if_modified.yaml | 2773 ++++++ ...end_block_from_url_with_if_none_match.yaml | 2705 ++++++ ...end_block_from_url_with_if_unmodified.yaml | 3909 +++++++++ ...block_from_url_with_maxsize_condition.yaml | 2705 ++++++ ...d_block_from_url_with_source_if_match.yaml | 2773 ++++++ ...lock_from_url_with_source_if_modified.yaml | 2768 ++++++ ...ck_from_url_with_source_if_none_match.yaml | 2768 ++++++ ...ck_from_url_with_source_if_unmodified.yaml | 2773 ++++++ ...om_url_and_validate_content_md5_async.yaml | 1589 ++++ ...sync.test_append_block_from_url_async.yaml | 1594 ++++ ...om_url_with_appendpos_condition_async.yaml | 1591 ++++ ...nd_block_from_url_with_if_match_async.yaml | 1591 ++++ ...block_from_url_with_if_modified_async.yaml | 1657 ++++ ...ock_from_url_with_if_none_match_async.yaml | 1591 ++++ ...ock_from_url_with_if_unmodified_async.yaml | 1657 ++++ ...from_url_with_maxsize_condition_async.yaml | 1591 ++++ ...k_from_url_with_source_if_match_async.yaml | 1657 ++++ ...rom_url_with_source_if_modified_async.yaml | 1650 ++++ ...m_url_with_source_if_none_match_async.yaml | 1650 ++++ ...m_url_with_source_if_unmodified_async.yaml | 1657 ++++ ...py.test_put_block_from_url_and_commit.yaml | 507 +- ...mon_blob.test_get_user_delegation_key.yaml | 145 + ...nc.test_get_user_delegation_key_async.yaml | 155 + ..._container_acl_with_empty_identifiers.yaml | 144 + ..._container_acl_with_three_identifiers.yaml | 330 +- ..._container_acl_with_empty_identifiers.yaml | 158 + .../test_cpk.test_append_block.yaml | 367 + .../test_cpk.test_append_block_from_url.yaml | 4469 ++++++++++ ...k.test_create_append_blob_with_chunks.yaml | 6577 +++++++++++++++ ...t_create_block_blob_with_single_chunk.yaml | 187 + .../test_cpk.test_get_set_blob_metadata.yaml | 376 + ...cpk.test_put_block_and_put_block_list.yaml | 399 + ...pk.test_put_block_from_url_and_commit.yaml | 4706 +++++++++++ .../test_cpk.test_snapshot_blob.yaml | 171 + .../recordings/test_cpk.test_update_page.yaml | 2547 ++++++ .../test_cpk.test_update_page_from_url.yaml | 5551 ++++++++++++ ...est_cpk_async.test_append_block_async.yaml | 372 + ...sync.test_append_block_from_url_async.yaml | 4480 ++++++++++ ..._create_append_blob_with_chunks_async.yaml | 6521 +++++++++++++++ ...te_block_blob_with_single_chunk_async.yaml | 195 + ...sync.test_get_set_blob_metadata_async.yaml | 374 + ...st_put_block_and_put_block_list_async.yaml | 407 + ...t_put_block_from_url_and_commit_async.yaml | 4720 +++++++++++ ...st_cpk_async.test_snapshot_blob_async.yaml | 173 + ...test_cpk_async.test_update_page_async.yaml | 2557 ++++++ ...async.test_update_page_from_url_async.yaml | 5563 ++++++++++++ ..._page_blob.test_upload_pages_from_url.yaml | 698 ++ ...ges_from_url_and_validate_content_md5.yaml | 699 ++ ...t_upload_pages_from_url_with_if_match.yaml | 761 ++ ...pload_pages_from_url_with_if_modified.yaml | 761 ++ ...oad_pages_from_url_with_if_none_match.yaml | 697 ++ ...oad_pages_from_url_with_if_unmodified.yaml | 825 ++ ...ages_from_url_with_sequence_number_eq.yaml | 699 ++ ...ages_from_url_with_sequence_number_lt.yaml | 699 ++ ...ges_from_url_with_sequence_number_lte.yaml | 699 ++ ...d_pages_from_url_with_source_if_match.yaml | 761 ++ ...ages_from_url_with_source_if_modified.yaml | 756 ++ ...es_from_url_with_source_if_none_match.yaml | 756 ++ ...es_from_url_with_source_if_unmodified.yaml | 761 ++ ...om_url_and_validate_content_md5_async.yaml | 599 ++ ...sync.test_upload_pages_from_url_async.yaml | 599 ++ ...ad_pages_from_url_with_if_match_async.yaml | 659 ++ ...pages_from_url_with_if_modified_async.yaml | 659 ++ ...ges_from_url_with_if_none_match_async.yaml | 597 ++ ...ges_from_url_with_if_unmodified_async.yaml | 659 ++ ...rom_url_with_sequence_number_eq_async.yaml | 599 ++ ...rom_url_with_sequence_number_lt_async.yaml | 599 ++ ...om_url_with_sequence_number_lte_async.yaml | 599 ++ ...s_from_url_with_source_if_match_async.yaml | 659 ++ ...rom_url_with_source_if_modified_async.yaml | 652 ++ ...m_url_with_source_if_none_match_async.yaml | 652 ++ ...m_url_with_source_if_unmodified_async.yaml | 659 ++ .../tests/test_append_blob.py | 463 +- .../tests/test_append_blob_async.py | 535 +- .../tests/test_common_blob.py | 124 +- .../tests/test_common_blob_async.py | 94 +- .../tests/test_container.py | 59 +- .../tests/test_container_async.py | 23 + .../azure-storage-blob/tests/test_cpk.py | 538 ++ .../tests/test_cpk_async.py | 582 ++ .../tests/test_page_blob.py | 532 +- .../tests/test_page_blob_async.py | 566 +- sdk/storage/azure-storage-file/HISTORY.md | 20 + .../azure/storage/file/__init__.py | 6 +- .../azure/storage/file/_deserialize.py | 18 + .../azure/storage/file/_generated/__init__.py | 8 +- .../file/_generated/_azure_file_storage.py | 19 +- .../storage/file/_generated/_configuration.py | 25 +- .../storage/file/_generated/aio/__init__.py | 8 +- .../aio/_azure_file_storage_async.py | 19 +- .../_generated/aio/_configuration_async.py | 23 +- .../aio/operations_async/__init__.py | 5 +- .../_directory_operations_async.py | 161 +- .../_file_operations_async.py | 262 +- .../_service_operations_async.py | 20 +- .../_share_operations_async.py | 167 +- .../file/_generated/models/__init__.py | 11 +- .../models/_azure_file_storage_enums.py | 5 +- .../storage/file/_generated/models/_models.py | 97 +- .../file/_generated/models/_models_py3.py | 99 +- .../file/_generated/operations/__init__.py | 5 +- .../operations/_directory_operations.py | 161 +- .../_generated/operations/_file_operations.py | 262 +- .../operations/_service_operations.py | 20 +- .../operations/_share_operations.py | 167 +- .../azure/storage/file/_generated/version.py | 7 +- .../azure/storage/file/_parser.py | 48 + .../azure/storage/file/_shared/constants.py | 2 +- .../azure/storage/file/_shared/models.py | 33 + .../azure/storage/file/_shared/parser.py | 20 + .../storage/file/_shared/response_handlers.py | 15 +- .../file/_shared/shared_access_signature.py | 508 +- .../azure/storage/file/_shared/uploads.py | 4 +- .../storage/file/_shared/uploads_async.py | 4 +- .../storage/file/_shared_access_signature.py | 221 + .../azure/storage/file/aio/__init__.py | 6 +- .../file/aio/directory_client_async.py | 61 +- .../storage/file/aio/file_client_async.py | 201 +- .../file/aio/file_service_client_async.py | 6 +- .../storage/file/aio/share_client_async.py | 56 +- .../azure/storage/file/directory_client.py | 74 +- .../azure/storage/file/file_client.py | 269 +- .../azure/storage/file/file_service_client.py | 19 +- .../azure/storage/file/models.py | 89 + .../azure/storage/file/share_client.py | 107 +- .../azure/storage/file/version.py | 2 +- sdk/storage/azure-storage-file/setup.py | 2 +- .../azure-storage-file/swagger/README.md | 99 + .../azure-storage-file/swagger/file.json | 3613 -------- ...est_directory.test_create_directories.yaml | 42 +- ...test_create_directories_fail_on_exist.yaml | 68 +- ...test_create_directories_with_metadata.yaml | 78 +- ...rectory.test_create_file_in_directory.yaml | 140 +- ..._directory.test_create_subdirectories.yaml | 84 +- ...t_create_subdirectories_with_metadata.yaml | 120 +- ..._delete_directory_with_existing_share.yaml | 78 +- ...directory_with_non_existing_directory.yaml | 18 +- ...rectory.test_delete_file_in_directory.yaml | 138 +- ..._directory.test_delete_subdirectories.yaml | 120 +- .../test_directory.test_directory_exists.yaml | 78 +- ...y.test_directory_exists_with_snapshot.yaml | 118 +- ...t_directory.test_directory_not_exists.yaml | 20 +- ...st_directory_not_exists_with_snapshot.yaml | 86 +- ...tory.test_directory_parent_not_exists.yaml | 20 +- ..._get_directory_metadata_with_snapshot.yaml | 122 +- ...rectory.test_get_directory_properties.yaml | 78 +- ...irectory_properties_server_encryption.yaml | 78 +- ...roperties_with_non_existing_directory.yaml | 20 +- ...et_directory_properties_with_snapshot.yaml | 122 +- ...ctory.test_get_set_directory_metadata.yaml | 98 +- ..._list_nested_subdirectories_and_files.yaml | 372 +- ...ry.test_list_subdirectories_and_files.yaml | 372 +- ..._subdirectories_and_files_with_prefix.yaml | 372 +- ...ubdirectories_and_files_with_snapshot.yaml | 398 +- ..._properties_with_empty_smb_properties.yaml | 262 + ...y_properties_with_file_permission_key.yaml | 262 + ...y_async.test_create_directories_async.yaml | 57 +- ...reate_directories_fail_on_exist_async.yaml | 84 +- ...reate_directories_with_metadata_async.yaml | 88 +- ...sync.test_create_subdirectories_async.yaml | 93 +- ...te_subdirectories_with_metadata_async.yaml | 124 +- ...e_directory_with_existing_share_async.yaml | 96 +- ...ory_with_non_existing_directory_async.yaml | 40 +- ...c.test_delete_file_in_directory_async.yaml | 151 +- ...sync.test_delete_subdirectories_async.yaml | 132 +- ...ory_async.test_directory_exists_async.yaml | 88 +- ..._directory_exists_with_snapshot_async.yaml | 132 +- ...async.test_directory_not_exists_async.yaml | 43 +- ...ectory_not_exists_with_snapshot_async.yaml | 106 +- ...est_directory_parent_not_exists_async.yaml | 43 +- ...irectory_metadata_with_snapshot_async.yaml | 136 +- ...c.test_get_directory_properties_async.yaml | 88 +- ...ry_properties_server_encryption_async.yaml | 88 +- ...ies_with_non_existing_directory_async.yaml | 43 +- ...ectory_properties_with_snapshot_async.yaml | 136 +- ...test_get_set_directory_metadata_async.yaml | 109 +- ...nested_subdirectories_and_files_async.yaml | 380 +- ...t_list_subdirectories_and_files_async.yaml | 472 +- ...rectories_and_files_with_prefix_async.yaml | 450 +- ...ctories_and_files_with_snapshot_async.yaml | 455 +- ...rties_with_empty_smb_properties_async.yaml | 290 + ...erties_with_file_permission_key_async.yaml | 290 + .../test_file.test_abort_copy_file.yaml | 291 +- ...copy_file_with_synchronous_copy_fails.yaml | 536 +- .../test_file.test_clear_range.yaml | 728 -- ...ile.test_copy_file_async_private_file.yaml | 207 +- ...copy_file_async_private_file_with_sas.yaml | 505 +- ...ile.test_copy_file_with_existing_file.yaml | 628 +- .../test_file.test_create_file.yaml | 270 +- .../test_file.test_create_file_from_text.yaml | 406 +- ...t_create_file_from_text_with_encoding.yaml | 410 +- ...eate_file_will_set_all_smb_properties.yaml | 140 + ...ate_file_with_invalid_file_permission.yaml | 61 + ..._file.test_create_file_with_md5_small.yaml | 282 +- ...t_file.test_create_file_with_metadata.yaml | 290 +- ...e.test_delete_file_with_existing_file.yaml | 494 +- ...st_delete_file_with_non_existing_file.yaml | 106 +- .../test_file.test_file_exists.yaml | 313 +- ...t_file.test_file_exists_with_snapshot.yaml | 553 +- .../test_file.test_file_not_exists.yaml | 100 +- ...le.test_file_not_exists_with_snapshot.yaml | 514 +- .../test_file.test_file_unicode_data.yaml | 406 +- ...file_unicode_data_and_file_attributes.yaml | 264 + .../test_file.test_get_file_metadata.yaml | 430 +- ....test_get_file_metadata_with_snapshot.yaml | 938 +-- .../test_file.test_get_file_properties.yaml | 430 +- ...ile_properties_with_non_existing_file.yaml | 100 +- ...est_get_file_properties_with_snapshot.yaml | 950 +-- .../test_file.test_list_ranges_2.yaml | 502 +- ...file.test_list_ranges_2_from_snapshot.yaml | 714 +- .../test_file.test_list_ranges_none.yaml | 254 +- ...e.test_list_ranges_none_from_snapshot.yaml | 468 +- .../test_file.test_resize_file.yaml | 568 +- ...est_set_file_metadata_with_upper_case.yaml | 570 +- .../test_file.test_set_file_properties.yaml | 580 +- ..._file_properties_with_file_permission.yaml | 354 + ...ile.test_unicode_get_file_binary_data.yaml | 478 +- ...le.test_unicode_get_file_unicode_name.yaml | 406 +- ...e.test_update_big_range_from_file_url.yaml | 384 + .../test_file.test_update_file_unicode.yaml | 602 +- .../test_file.test_update_range.yaml | 602 +- ..._file.test_update_range_from_file_url.yaml | 456 + ...ource_file_does_not_have_enough_bytes.yaml | 351 + .../test_file.test_update_range_with_md5.yaml | 424 +- ...file_async.test_abort_copy_file_async.yaml | 316 +- ...ile_with_synchronous_copy_fails_async.yaml | 672 +- ...est_file_async.test_clear_range_async.yaml | 813 +- ...st_copy_file_async_private_file_async.yaml | 211 +- ...ile_async_private_file_with_sas_async.yaml | 345 +- ...st_copy_file_with_existing_file_async.yaml | 764 +- ...est_file_async.test_create_file_async.yaml | 396 +- ...sync.test_create_file_from_text_async.yaml | 551 +- ...te_file_from_text_with_encoding_async.yaml | 555 +- ...ile_will_set_all_smb_properties_async.yaml | 178 + ...le_with_invalid_file_permission_async.yaml | 109 + ...test_create_file_with_md5_small_async.yaml | 412 +- ....test_create_file_with_metadata_async.yaml | 412 +- ..._delete_file_with_existing_file_async.yaml | 375 +- ...ete_file_with_non_existing_file_async.yaml | 111 +- ...est_file_async.test_file_exists_async.yaml | 338 +- ....test_file_exists_with_snapshot_async.yaml | 471 +- ...file_async.test_file_not_exists_async.yaml | 65 +- ...t_file_not_exists_with_snapshot_async.yaml | 457 +- ...nicode_data_and_file_attributes_async.yaml | 306 + ...le_async.test_file_unicode_data_async.yaml | 330 +- ...le_async.test_get_file_metadata_async.yaml | 338 +- ...get_file_metadata_with_snapshot_async.yaml | 653 +- ..._async.test_get_file_properties_async.yaml | 338 +- ...operties_with_non_existing_file_async.yaml | 65 +- ...t_file_properties_with_snapshot_async.yaml | 653 +- ...t_file_async.test_list_ranges_2_async.yaml | 661 +- ...est_list_ranges_2_from_snapshot_async.yaml | 883 +- ...ile_async.test_list_ranges_none_async.yaml | 391 +- ..._list_ranges_none_from_snapshot_async.yaml | 613 +- ...est_file_async.test_resize_file_async.yaml | 424 +- ...t_file_metadata_with_upper_case_async.yaml | 418 +- ..._async.test_set_file_properties_async.yaml | 432 +- ...properties_with_file_permission_async.yaml | 388 + ...st_unicode_get_file_binary_data_async.yaml | 366 +- ...t_unicode_get_file_unicode_name_async.yaml | 330 +- ..._update_big_range_from_file_url_async.yaml | 952 +++ ..._async.test_update_file_unicode_async.yaml | 444 +- ...st_file_async.test_update_range_async.yaml | 444 +- ...test_update_range_from_file_url_async.yaml | 1104 +++ ...file_does_not_have_enough_bytes_async.yaml | 886 ++ ...sync.test_update_range_with_md5_async.yaml | 332 +- ...ile_samples_file.test_file_operations.yaml | 445 + ...get_file.test_get_file_exact_get_size.yaml | 98 +- ...est_get_file.test_get_file_no_content.yaml | 98 +- ...t_get_file.test_get_file_non_seekable.yaml | 360 +- ...t_get_file_non_seekable_from_snapshot.yaml | 418 +- ...get_file_properties_server_encryption.yaml | 36 +- ..._file.test_get_file_server_encryption.yaml | 36 +- ...e.test_get_file_to_bytes_non_parallel.yaml | 360 +- ...get_file.test_get_file_to_bytes_small.yaml | 98 +- ....test_get_file_to_stream_non_parallel.yaml | 360 +- ..._to_stream_non_parallel_from_snapshot.yaml | 418 +- ...et_file.test_get_file_to_stream_small.yaml | 98 +- ...et_file_to_stream_small_from_snapshot.yaml | 138 +- ...le.test_get_file_to_text_non_parallel.yaml | 134 +- ..._get_file.test_get_file_to_text_small.yaml | 98 +- ...e.test_get_file_to_text_with_encoding.yaml | 98 +- ...le_to_text_with_encoding_and_progress.yaml | 98 +- ...nged_get_file_to_bytes_with_zero_byte.yaml | 82 +- ...le_to_path_invalid_range_non_parallel.yaml | 98 +- ..._ranged_get_file_to_path_non_parallel.yaml | 36 +- ...le.test_ranged_get_file_to_path_small.yaml | 36 +- ...ile.test_unicode_get_file_binary_data.yaml | 98 +- ...le.test_unicode_get_file_unicode_data.yaml | 98 +- ...nc.test_get_file_exact_get_size_async.yaml | 202 +- ..._async.test_get_file_no_content_async.yaml | 203 +- ...sync.test_get_file_non_seekable_async.yaml | 424 +- ...file_non_seekable_from_snapshot_async.yaml | 504 +- ...le_properties_server_encryption_async.yaml | 145 +- ...test_get_file_server_encryption_async.yaml | 145 +- ..._get_file_to_bytes_non_parallel_async.yaml | 424 +- ...nc.test_get_file_to_bytes_small_async.yaml | 202 +- ...get_file_to_stream_non_parallel_async.yaml | 424 +- ...ream_non_parallel_from_snapshot_async.yaml | 504 +- ...c.test_get_file_to_stream_small_async.yaml | 202 +- ...e_to_stream_small_from_snapshot_async.yaml | 246 +- ...t_get_file_to_text_non_parallel_async.yaml | 233 +- ...ync.test_get_file_to_text_small_async.yaml | 202 +- ...text_with_encoding_and_progress_async.yaml | 202 +- ..._get_file_to_text_with_encoding_async.yaml | 202 +- ...et_file_to_bytes_with_zero_byte_async.yaml | 194 +- ...path_invalid_range_non_parallel_async.yaml | 202 +- ...d_get_file_to_path_non_parallel_async.yaml | 145 +- ...t_ranged_get_file_to_path_small_async.yaml | 145 +- ...st_unicode_get_file_binary_data_async.yaml | 202 +- ...t_unicode_get_file_unicode_data_async.yaml | 202 +- ...hare.test_create_permission_for_share.yaml | 178 + ...est_create_permission_for_share_async.yaml | 186 + .../tests/test_directory.py | 46 + .../tests/test_directory_async.py | 56 + .../azure-storage-file/tests/test_file.py | 236 +- .../tests/test_file_async.py | 271 +- .../azure-storage-file/tests/test_share.py | 16 + .../tests/test_share_async.py | 21 + sdk/storage/azure-storage-queue/HISTORY.md | 11 + .../storage/queue/_generated/__init__.py | 8 +- .../queue/_generated/_azure_queue_storage.py | 17 +- .../queue/_generated/_configuration.py | 25 +- .../storage/queue/_generated/aio/__init__.py | 8 +- .../aio/_azure_queue_storage_async.py | 17 +- .../_generated/aio/_configuration_async.py | 23 +- .../aio/operations_async/__init__.py | 5 +- .../_message_id_operations_async.py | 15 +- .../_messages_operations_async.py | 28 +- .../_queue_operations_async.py | 24 +- .../_service_operations_async.py | 24 +- .../queue/_generated/models/__init__.py | 5 +- .../models/_azure_queue_storage_enums.py | 5 +- .../queue/_generated/models/_models.py | 49 +- .../queue/_generated/models/_models_py3.py | 55 +- .../queue/_generated/operations/__init__.py | 5 +- .../operations/_message_id_operations.py | 15 +- .../operations/_messages_operations.py | 28 +- .../operations/_queue_operations.py | 24 +- .../operations/_service_operations.py | 24 +- .../azure/storage/queue/_generated/version.py | 5 +- .../azure/storage/queue/_shared/models.py | 33 + .../azure/storage/queue/_shared/parser.py | 20 + .../queue/_shared/response_handlers.py | 15 +- .../queue/_shared/shared_access_signature.py | 508 +- .../azure/storage/queue/_shared/uploads.py | 4 +- .../storage/queue/_shared/uploads_async.py | 4 +- .../storage/queue/_shared_access_signature.py | 110 + .../storage/queue/aio/queue_client_async.py | 12 +- .../queue/aio/queue_service_client_async.py | 2 +- .../azure/storage/queue/queue_client.py | 24 +- .../storage/queue/queue_service_client.py | 15 +- .../azure/storage/queue/version.py | 2 +- sdk/storage/azure-storage-queue/conftest.py | 5 +- sdk/storage/azure-storage-queue/setup.py | 2 +- .../azure-storage-queue/swagger/README.md | 69 + .../azure-storage-queue/swagger/queue.json | 1856 ---- .../tests/asyncqueuetestcase.py | 25 + .../tests/queue_settings_fake.py | 56 - .../tests/queuetestcase.py | 313 +- .../test_queue.test_account_sas.yaml | 119 + .../test_queue.test_clear_messages.yaml | 172 +- .../test_queue.test_create_queue.yaml | 18 +- ...queue.test_create_queue_fail_on_exist.yaml | 36 +- ...ueue_fail_on_exist_different_metadata.yaml | 40 +- ..._queue.test_create_queue_with_options.yaml | 40 +- ..._delete_existing_queue_fail_not_exist.yaml | 36 +- .../test_queue.test_delete_message.yaml | 248 +- ..._queue.test_delete_non_existing_queue.yaml | 22 +- .../test_queue.test_get_messages.yaml | 162 +- ..._queue.test_get_messages_with_options.yaml | 204 +- .../test_queue.test_get_queue_acl.yaml | 42 +- .../test_queue.test_get_queue_acl_iter.yaml | 42 +- ...get_queue_acl_with_non_existing_queue.yaml | 24 +- ...test_get_queue_metadata_message_count.yaml | 68 +- .../test_queue.test_list_queues.yaml | 62 +- ..._queue.test_list_queues_with_metadata.yaml | 62 +- ...t_queue.test_list_queues_with_options.yaml | 124 +- .../test_queue.test_peek_messages.yaml | 158 +- ...queue.test_peek_messages_with_options.yaml | 170 +- .../test_queue.test_put_message.yaml | 130 +- ...est_put_message_infinite_time_to_live.yaml | 74 +- ...e.test_put_message_large_time_to_live.yaml | 74 +- .../test_queue.test_queue_exists.yaml | 40 +- .../test_queue.test_queue_not_exists.yaml | 24 +- .../recordings/test_queue.test_sas_add.yaml | 122 + .../test_queue.test_sas_process.yaml | 120 + .../recordings/test_queue.test_sas_read.yaml | 119 + ...test_queue.test_sas_signed_identifier.yaml | 157 + .../test_queue.test_sas_update.yaml | 205 + .../test_queue.test_set_queue_acl.yaml | 60 +- ...queue.test_set_queue_acl_too_many_ids.yaml | 18 +- ...ueue_acl_with_empty_signed_identifier.yaml | 60 +- ...eue_acl_with_empty_signed_identifiers.yaml | 60 +- ...set_queue_acl_with_non_existing_queue.yaml | 22 +- ...set_queue_acl_with_signed_identifiers.yaml | 64 +- .../test_queue.test_set_queue_metadata.yaml | 58 +- .../test_queue.test_token_credential.yaml | 114 + ...est_unicode_create_queue_unicode_name.yaml | 22 +- ...est_unicode_get_messages_unicode_data.yaml | 134 - ...t_unicode_update_message_unicode_data.yaml | 227 - .../test_queue.test_update_message.yaml | 132 +- ...est_queue.test_update_message_content.yaml | 132 +- .../test_queue_async.test_account_sas.yaml | 112 + .../test_queue_async.test_clear_messages.yaml | 220 +- .../test_queue_async.test_create_queue.yaml | 23 +- ...async.test_create_queue_fail_on_exist.yaml | 46 +- ...ueue_fail_on_exist_different_metadata.yaml | 52 +- ..._async.test_create_queue_with_options.yaml | 53 +- ..._delete_existing_queue_fail_not_exist.yaml | 46 +- .../test_queue_async.test_delete_message.yaml | 507 +- ..._async.test_delete_non_existing_queue.yaml | 29 +- .../test_queue_async.test_get_messages.yaml | 205 +- ..._async.test_get_messages_with_options.yaml | 257 +- .../test_queue_async.test_get_queue_acl.yaml | 57 +- ...t_queue_async.test_get_queue_acl_iter.yaml | 57 +- ...get_queue_acl_with_non_existing_queue.yaml | 32 +- ...test_get_queue_metadata_message_count.yaml | 88 +- .../test_queue_async.test_list_queues.yaml | 68 +- ..._async.test_list_queues_with_metadata.yaml | 82 +- ...e_async.test_list_queues_with_options.yaml | 205 + ...c.test_list_queues_with_options_async.yaml | 273 - .../test_queue_async.test_peek_messages.yaml | 201 +- ...async.test_peek_messages_with_options.yaml | 213 +- .../test_queue_async.test_put_message.yaml | 163 +- ...est_put_message_infinite_time_to_live.yaml | 96 +- ...c.test_put_message_large_time_to_live.yaml | 96 +- .../test_queue_async.test_queue_exists.yaml | 53 +- ...est_queue_async.test_queue_not_exists.yaml | 32 +- .../test_queue_async.test_sas_add.yaml | 152 + .../test_queue_async.test_sas_process.yaml | 152 + .../test_queue_async.test_sas_read.yaml | 112 + ...ueue_async.test_sas_signed_identifier.yaml | 148 + .../test_queue_async.test_sas_update.yaml | 266 + .../test_queue_async.test_set_queue_acl.yaml | 80 +- ...async.test_set_queue_acl_too_many_ids.yaml | 23 +- ...ueue_acl_with_empty_signed_identifier.yaml | 80 +- ...eue_acl_with_empty_signed_identifiers.yaml | 80 +- ...set_queue_acl_with_non_existing_queue.yaml | 29 +- ...set_queue_acl_with_signed_identifiers.yaml | 84 +- ...t_queue_async.test_set_queue_metadata.yaml | 76 +- ...est_unicode_create_queue_unicode_name.yaml | 29 +- ...est_unicode_get_messages_unicode_data.yaml | 134 +- ...t_unicode_update_message_unicode_data.yaml | 241 +- .../test_queue_async.test_update_message.yaml | 241 +- ...eue_async.test_update_message_content.yaml | 241 +- ...t.test_request_callback_signed_header.yaml | 58 +- ...t_queue_client.test_response_callback.yaml | 24 +- ...t_queue_client.test_user_agent_append.yaml | 28 +- ...t_queue_client.test_user_agent_custom.yaml | 56 +- ..._queue_client.test_user_agent_default.yaml | 28 +- ...c.test_request_callback_signed_header.yaml | 76 +- ...e_client_async.test_response_callback.yaml | 32 +- ...e_client_async.test_user_agent_append.yaml | 38 +- ...e_client_async.test_user_agent_custom.yaml | 76 +- ..._client_async.test_user_agent_default.yaml | 38 +- ...ings.test_message_base64_decode_fails.yaml | 78 +- ...e_encodings.test_message_bytes_base64.yaml | 82 +- ...ue_encodings.test_message_text_base64.yaml | 82 +- ...queue_encodings.test_message_text_xml.yaml | 82 +- ...s.test_message_text_xml_invalid_chars.yaml | 22 +- ...ings.test_message_text_xml_whitespace.yaml | 82 +- ...sync.test_message_base64_decode_fails.yaml | 394 +- ...dings_async.test_message_bytes_base64.yaml | 3017 +------ ...odings_async.test_message_text_base64.yaml | 3017 +------ ...encodings_async.test_message_text_xml.yaml | 3017 +------ ...c.test_message_text_xml_invalid_chars.yaml | 131 +- ...sync.test_message_text_xml_whitespace.yaml | 2894 +------ ..._encryption_add_encrypted_64k_message.yaml | 76 +- ...ption.test_encryption_nonmatching_kid.yaml | 94 +- ...ption.test_get_messages_encrypted_kek.yaml | 94 +- ....test_get_messages_encrypted_resolver.yaml | 94 +- ..._encryption.test_get_with_strict_mode.yaml | 78 +- ...ryption.test_invalid_value_kek_unwrap.yaml | 126 +- ...ncryption.test_invalid_value_kek_wrap.yaml | 18 +- ...ion.test_missing_attribute_kek_unrwap.yaml | 126 +- ...ption.test_missing_attribute_kek_wrap.yaml | 18 +- ...tion.test_peek_messages_encrypted_kek.yaml | 90 +- ....test_peek_messages_encrypted_kek_RSA.yaml | 130 + ...test_peek_messages_encrypted_resolver.yaml | 90 +- ..._encryption.test_put_with_strict_mode.yaml | 54 +- ....test_update_encrypted_binary_message.yaml | 242 +- ...on.test_update_encrypted_json_message.yaml | 223 + ...ryption.test_update_encrypted_message.yaml | 223 + ...est_update_encrypted_raw_text_message.yaml | 223 + ...e_encryption.test_validate_encryption.yaml | 90 +- ..._encryption_add_encrypted_64k_message.yaml | 121 + ...async.test_encryption_nonmatching_kid.yaml | 124 + ...async.test_get_messages_encrypted_kek.yaml | 161 + ....test_get_messages_encrypted_resolver.yaml | 161 + ...ption_async.test_get_with_strict_mode.yaml | 115 + ...n_async.test_invalid_value_kek_unwrap.yaml | 166 + ...ion_async.test_invalid_value_kek_wrap.yaml | 34 + ...ync.test_missing_attribute_kek_unrwap.yaml | 166 + ...async.test_missing_attribute_kek_wrap.yaml | 34 + ...sync.test_peek_messages_encrypted_kek.yaml | 123 + ....test_peek_messages_encrypted_kek_RSA.yaml | 123 + ...test_peek_messages_encrypted_resolver.yaml | 123 + ...ption_async.test_put_with_strict_mode.yaml | 80 + ....test_update_encrypted_binary_message.yaml | 286 + ...nc.test_update_encrypted_json_message.yaml | 284 + ...n_async.test_update_encrypted_message.yaml | 284 + ...est_update_encrypted_raw_text_message.yaml | 198 + ...yption_async.test_validate_encryption.yaml | 123 + ...entication.test_auth_active_directory.yaml | 39 + ...ntication.test_auth_connection_string.yaml | 28 +- ...s_authentication.test_auth_shared_key.yaml | 28 +- ...tion_async.test_auth_active_directory.yaml | 39 + ...ion_async.test_auth_connection_string.yaml | 38 +- ...entication_async.test_auth_shared_key.yaml | 38 +- ..._create_client_with_connection_string.yaml | 28 +- ...world.test_queue_and_messages_example.yaml | 156 +- ..._create_client_with_connection_string.yaml | 38 +- ...async.test_queue_and_messages_example.yaml | 231 + ...essage.test_delete_and_clear_messages.yaml | 244 +- ...age.test_enqueue_and_receive_messages.yaml | 352 +- ...ue_samples_message.test_peek_messages.yaml | 248 +- ...e_samples_message.test_queue_metadata.yaml | 76 +- ...amples_message.test_set_access_policy.yaml | 155 + ...e_samples_message.test_update_message.yaml | 118 +- ..._async.test_delete_and_clear_messages.yaml | 700 ++ ...ync.test_enqueue_and_receive_messages.yaml | 506 ++ ...ples_message_async.test_peek_messages.yaml | 360 + ...les_message_async.test_queue_metadata.yaml | 141 + ..._message_async.test_set_access_policy.yaml | 144 + ...les_message_async.test_update_message.yaml | 186 + ...service.test_queue_service_properties.yaml | 42 +- ...amples_service.test_queues_in_account.yaml | 88 +- ...e_async.test_queue_service_properties.yaml | 77 + ..._service_async.test_queues_in_account.yaml | 142 + ...perties.test_queue_service_properties.yaml | 40 +- ...ce_properties.test_retention_too_long.yaml | 22 +- ...ueue_service_properties.test_set_cors.yaml | 44 +- ...vice_properties.test_set_hour_metrics.yaml | 46 +- ...e_service_properties.test_set_logging.yaml | 46 +- ...ce_properties.test_set_minute_metrics.yaml | 46 +- ...e_properties.test_too_many_cors_rules.yaml | 22 +- ...s_async.test_queue_service_properties.yaml | 54 +- ...perties_async.test_retention_too_long.yaml | 29 +- ...ervice_properties_async.test_set_cors.yaml | 60 +- ...roperties_async.test_set_hour_metrics.yaml | 61 +- ...ice_properties_async.test_set_logging.yaml | 61 +- ...perties_async.test_set_minute_metrics.yaml | 61 +- ...erties_async.test_too_many_cors_rules.yaml | 29 +- ...vice_stats.test_queue_service_stats_f.yaml | 27 +- ..._queue_service_stats_when_unavailable.yaml | 26 +- ...tats_async.test_queue_service_stats_f.yaml | 36 +- ..._queue_service_stats_when_unavailable.yaml | 37 +- .../azure-storage-queue/tests/test_queue.py | 445 +- .../tests/test_queue_async.py | 648 +- .../tests/test_queue_client.py | 224 +- .../tests/test_queue_client_async.py | 254 +- .../tests/test_queue_encodings.py | 110 +- .../tests/test_queue_encodings_async.py | 159 +- .../tests/test_queue_encryption.py | 206 +- .../tests/test_queue_encryption_async.py | 327 +- .../test_queue_samples_authentication.py | 50 +- ...test_queue_samples_authentication_async.py | 74 +- .../tests/test_queue_samples_hello_world.py | 27 +- .../test_queue_samples_hello_world_async.py | 44 +- .../tests/test_queue_samples_message.py | 58 +- .../tests/test_queue_samples_message_async.py | 102 +- .../tests/test_queue_samples_service.py | 32 +- .../tests/test_queue_samples_service_async.py | 55 +- .../tests/test_queue_service_properties.py | 84 +- .../test_queue_service_properties_async.py | 133 +- .../tests/test_queue_service_stats.py | 33 +- .../tests/test_queue_service_stats_async.py | 51 +- shared_requirements.txt | 3 + .../devtools_testutils/mgmt_settings_fake.py | 6 + .../devtools_testutils/storage_testcase.py | 1 - 625 files changed, 174377 insertions(+), 70284 deletions(-) create mode 100644 sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_directory_operations_async.py create mode 100644 sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_directory_operations.py create mode 100644 sdk/storage/azure-storage-blob/azure/storage/blob/_shared/parser.py create mode 100644 sdk/storage/azure-storage-blob/azure/storage/blob/_shared_access_signature.py create mode 100644 sdk/storage/azure-storage-blob/swagger/README.md delete mode 100644 sdk/storage/azure-storage-blob/swagger/blob.json create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_and_validate_content_md5.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_appendpos_condition.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_match.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_modified.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_none_match.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_unmodified.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_maxsize_condition.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_match.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_modified.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_none_match.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_unmodified.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_and_validate_content_md5_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_appendpos_condition_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_match_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_modified_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_none_match_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_unmodified_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_maxsize_condition_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_match_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_modified_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_none_match_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_unmodified_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_get_user_delegation_key.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_get_user_delegation_key_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_container.test_set_container_acl_with_empty_identifiers.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_set_container_acl_with_empty_identifiers.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_append_block.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_append_block_from_url.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_create_append_blob_with_chunks.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_create_block_blob_with_single_chunk.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_get_set_blob_metadata.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_put_block_and_put_block_list.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_put_block_from_url_and_commit.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_snapshot_blob.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_update_page.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_update_page_from_url.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_append_block_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_append_block_from_url_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_create_append_blob_with_chunks_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_create_block_blob_with_single_chunk_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_get_set_blob_metadata_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_put_block_and_put_block_list_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_put_block_from_url_and_commit_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_snapshot_blob_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_update_page_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_update_page_from_url_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_and_validate_content_md5.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_match.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_modified.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_none_match.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_unmodified.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_sequence_number_eq.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_sequence_number_lt.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_sequence_number_lte.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_match.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_modified.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_none_match.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_unmodified.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_and_validate_content_md5_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_match_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_modified_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_none_match_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_unmodified_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_sequence_number_eq_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_sequence_number_lt_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_sequence_number_lte_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_match_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_modified_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_none_match_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_unmodified_async.yaml create mode 100644 sdk/storage/azure-storage-blob/tests/test_cpk.py create mode 100644 sdk/storage/azure-storage-blob/tests/test_cpk_async.py create mode 100644 sdk/storage/azure-storage-file/azure/storage/file/_parser.py create mode 100644 sdk/storage/azure-storage-file/azure/storage/file/_shared/parser.py create mode 100644 sdk/storage/azure-storage-file/azure/storage/file/_shared_access_signature.py create mode 100644 sdk/storage/azure-storage-file/swagger/README.md delete mode 100644 sdk/storage/azure-storage-file/swagger/file.json create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_directory.test_set_directory_properties_with_empty_smb_properties.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_directory.test_set_directory_properties_with_file_permission_key.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_set_directory_properties_with_empty_smb_properties_async.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_set_directory_properties_with_file_permission_key_async.yaml delete mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file.test_clear_range.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_will_set_all_smb_properties.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_with_invalid_file_permission.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_unicode_data_and_file_attributes.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file.test_set_file_properties_with_file_permission.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_big_range_from_file_url.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range_from_file_url.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range_from_file_url_when_source_file_does_not_have_enough_bytes.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_will_set_all_smb_properties_async.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_with_invalid_file_permission_async.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_unicode_data_and_file_attributes_async.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_set_file_properties_with_file_permission_async.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_big_range_from_file_url_async.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_from_file_url_async.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_from_file_url_when_source_file_does_not_have_enough_bytes_async.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_share.test_create_permission_for_share.yaml create mode 100644 sdk/storage/azure-storage-file/tests/recordings/test_share_async.test_create_permission_for_share_async.yaml create mode 100644 sdk/storage/azure-storage-queue/azure/storage/queue/_shared/parser.py create mode 100644 sdk/storage/azure-storage-queue/azure/storage/queue/_shared_access_signature.py create mode 100644 sdk/storage/azure-storage-queue/swagger/README.md delete mode 100644 sdk/storage/azure-storage-queue/swagger/queue.json create mode 100644 sdk/storage/azure-storage-queue/tests/asyncqueuetestcase.py delete mode 100644 sdk/storage/azure-storage-queue/tests/queue_settings_fake.py create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_account_sas.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_add.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_process.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_read.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_signed_identifier.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_update.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_token_credential.yaml delete mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_unicode_get_messages_unicode_data.yaml delete mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_unicode_update_message_unicode_data.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_account_sas.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues_with_options.yaml delete mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues_with_options_async.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_add.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_process.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_read.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_signed_identifier.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_update.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_peek_messages_encrypted_kek_RSA.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_json_message.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_message.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_raw_text_message.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_encryption_add_encrypted_64k_message.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_encryption_nonmatching_kid.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_messages_encrypted_kek.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_messages_encrypted_resolver.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_with_strict_mode.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_invalid_value_kek_unwrap.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_invalid_value_kek_wrap.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_missing_attribute_kek_unrwap.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_missing_attribute_kek_wrap.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_peek_messages_encrypted_kek.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_peek_messages_encrypted_kek_RSA.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_peek_messages_encrypted_resolver.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_put_with_strict_mode.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_binary_message.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_json_message.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_message.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_raw_text_message.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_validate_encryption.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication.test_auth_active_directory.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication_async.test_auth_active_directory.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world_async.test_queue_and_messages_example.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_set_access_policy.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_delete_and_clear_messages.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_enqueue_and_receive_messages.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_peek_messages.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_queue_metadata.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_set_access_policy.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_update_message.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service_async.test_queue_service_properties.yaml create mode 100644 sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service_async.test_queues_in_account.yaml diff --git a/.docsettings.yml b/.docsettings.yml index f964848ba625..23d773d44fdf 100644 --- a/.docsettings.yml +++ b/.docsettings.yml @@ -48,6 +48,9 @@ known_content_issues: - ['sdk/loganalytics/azure-loganalytics/README.rst', '#4554'] - ['sdk/servicefabric/azure-servicefabric/README.rst', '#4554'] - ['sdk/core/azure-servicemanagement-legacy/README.rst', '#4554'] + - ['sdk/storage/azure-storage-file/swagger/README.md', '#4554'] + - ['sdk/storage/azure-storage-queue/swagger/README.md', '#4554'] + - ['sdk/storage/azure-storage-blob/swagger/README.md', '#4554'] # nspckg and common. - ['sdk/cognitiveservices/azure-cognitiveservices-nspkg/README.rst', 'nspkg and common'] diff --git a/sdk/storage/azure-storage-blob/HISTORY.md b/sdk/storage/azure-storage-blob/HISTORY.md index aa7728a5f3b0..27922f18151d 100644 --- a/sdk/storage/azure-storage-blob/HISTORY.md +++ b/sdk/storage/azure-storage-blob/HISTORY.md @@ -1,6 +1,27 @@ # Change Log azure-storage-blob +## Version 12.0.0b3: + +**New features** +- Added SAS support for snapshot and identity. +- Distributed tracing framework OpenCensus is now supported. +- Added support for append_block_from_url API for append blobs. +- Added support for upload_pages_from_url API for page blobs. +- Added support for client provided encryption key to numerous APIs. + +**Dependency updates** +- Adopted [azure-core](https://pypi.org/project/azure-core/) 1.0.0b3 + - If you later want to revert to previous versions of azure-storage-blob, or another Azure SDK + library requiring azure-core 1.0.0b1 or azure-core 1.0.0b2, you must explicitly install + the specific version of azure-core as well. For example: + + `pip install azure-core==1.0.0b2 azure-storage-blob==12.0.0b2` + +**Fixes and improvements** +- Fix where content-type was being added in the request when not mentioned explicitly. + + ## Version 12.0.0b2: **Breaking changes** diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/__init__.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/__init__.py index 575c68f7bfeb..f5c8f4a954df 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/__init__.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/__init__.py @@ -8,11 +8,9 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file -from ._configuration import AzureBlobStorageConfiguration from ._azure_blob_storage import AzureBlobStorage -__all__ = ['AzureBlobStorage', 'AzureBlobStorageConfiguration'] +__all__ = ['AzureBlobStorage'] from .version import VERSION diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_azure_blob_storage.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_azure_blob_storage.py index 33950da5cc96..957dda1ec750 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_azure_blob_storage.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_azure_blob_storage.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core import PipelineClient from msrest import Serializer, Deserializer @@ -17,6 +16,7 @@ from azure.core.exceptions import map_error from .operations import ServiceOperations from .operations import ContainerOperations +from .operations import DirectoryOperations from .operations import BlobOperations from .operations import PageBlobOperations from .operations import AppendBlobOperations @@ -29,31 +29,33 @@ class AzureBlobStorage(object): :ivar service: Service operations - :vartype service: blob.operations.ServiceOperations + :vartype service: azure.storage.blob.operations.ServiceOperations :ivar container: Container operations - :vartype container: blob.operations.ContainerOperations + :vartype container: azure.storage.blob.operations.ContainerOperations + :ivar directory: Directory operations + :vartype directory: azure.storage.blob.operations.DirectoryOperations :ivar blob: Blob operations - :vartype blob: blob.operations.BlobOperations + :vartype blob: azure.storage.blob.operations.BlobOperations :ivar page_blob: PageBlob operations - :vartype page_blob: blob.operations.PageBlobOperations + :vartype page_blob: azure.storage.blob.operations.PageBlobOperations :ivar append_blob: AppendBlob operations - :vartype append_blob: blob.operations.AppendBlobOperations + :vartype append_blob: azure.storage.blob.operations.AppendBlobOperations :ivar block_blob: BlockBlob operations - :vartype block_blob: blob.operations.BlockBlobOperations + :vartype block_blob: azure.storage.blob.operations.BlockBlobOperations :param url: The URL of the service account, container, or blob that is the targe of the desired operation. :type url: str """ - def __init__(self, url, config=None, **kwargs): + def __init__(self, url, **kwargs): base_url = '{url}' - self._config = config or AzureBlobStorageConfiguration(url, **kwargs) + self._config = AzureBlobStorageConfiguration(url, **kwargs) self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self.api_version = '2018-03-28' + self.api_version = '2019-02-02' self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) @@ -61,6 +63,8 @@ def __init__(self, url, config=None, **kwargs): self._client, self._config, self._serialize, self._deserialize) self.container = ContainerOperations( self._client, self._config, self._serialize, self._deserialize) + self.directory = DirectoryOperations( + self._client, self._config, self._serialize, self._deserialize) self.blob = BlobOperations( self._client, self._config, self._serialize, self._deserialize) self.page_blob = PageBlobOperations( diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_configuration.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_configuration.py index 7e5e64dde51c..54cb99064747 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_configuration.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_configuration.py @@ -8,9 +8,8 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file -from azure.core.configuration import Configuration, ConnectionConfiguration +from azure.core.configuration import Configuration from azure.core.pipeline import policies from .version import VERSION @@ -37,18 +36,17 @@ def __init__(self, url, **kwargs): super(AzureBlobStorageConfiguration, self).__init__(**kwargs) self._configure(**kwargs) - self.user_agent_policy.add_user_agent('azureblobstorage/{}'.format(VERSION)) + self.user_agent_policy.add_user_agent('azsdk-python-azureblobstorage/{}'.format(VERSION)) self.generate_client_request_id = True - self.accept_language = None self.url = url - self.version = "2018-03-28" + self.version = "2019-02-02" def _configure(self, **kwargs): - self.connection = ConnectionConfiguration(**kwargs) - self.user_agent_policy = policies.UserAgentPolicy(**kwargs) - self.headers_policy = policies.HeadersPolicy(**kwargs) - self.proxy_policy = policies.ProxyPolicy(**kwargs) - self.logging_policy = policies.NetworkTraceLoggingPolicy(**kwargs) - self.retry_policy = policies.RetryPolicy(**kwargs) - self.redirect_policy = policies.RedirectPolicy(**kwargs) + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/__init__.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/__init__.py index 5d4f9c0da7f4..009c96594356 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/__init__.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/__init__.py @@ -8,8 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from ._azure_blob_storage_async import AzureBlobStorage -from ._configuration_async import AzureBlobStorageConfiguration -__all__ = ['AzureBlobStorage', 'AzureBlobStorageConfiguration'] +__all__ = ['AzureBlobStorage'] diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_azure_blob_storage_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_azure_blob_storage_async.py index 9dad8c3a2598..a1ad1db44225 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_azure_blob_storage_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_azure_blob_storage_async.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core import AsyncPipelineClient from msrest import Serializer, Deserializer @@ -17,6 +16,7 @@ from azure.core.exceptions import map_error from .operations_async import ServiceOperations from .operations_async import ContainerOperations +from .operations_async import DirectoryOperations from .operations_async import BlobOperations from .operations_async import PageBlobOperations from .operations_async import AppendBlobOperations @@ -29,17 +29,19 @@ class AzureBlobStorage(object): :ivar service: Service operations - :vartype service: blob.aio.operations_async.ServiceOperations + :vartype service: azure.storage.blob.aio.operations_async.ServiceOperations :ivar container: Container operations - :vartype container: blob.aio.operations_async.ContainerOperations + :vartype container: azure.storage.blob.aio.operations_async.ContainerOperations + :ivar directory: Directory operations + :vartype directory: azure.storage.blob.aio.operations_async.DirectoryOperations :ivar blob: Blob operations - :vartype blob: blob.aio.operations_async.BlobOperations + :vartype blob: azure.storage.blob.aio.operations_async.BlobOperations :ivar page_blob: PageBlob operations - :vartype page_blob: blob.aio.operations_async.PageBlobOperations + :vartype page_blob: azure.storage.blob.aio.operations_async.PageBlobOperations :ivar append_blob: AppendBlob operations - :vartype append_blob: blob.aio.operations_async.AppendBlobOperations + :vartype append_blob: azure.storage.blob.aio.operations_async.AppendBlobOperations :ivar block_blob: BlockBlob operations - :vartype block_blob: blob.aio.operations_async.BlockBlobOperations + :vartype block_blob: azure.storage.blob.aio.operations_async.BlockBlobOperations :param url: The URL of the service account, container, or blob that is the targe of the desired operation. @@ -47,14 +49,14 @@ class AzureBlobStorage(object): """ def __init__( - self, url, config=None, **kwargs): + self, url, **kwargs): base_url = '{url}' - self._config = config or AzureBlobStorageConfiguration(url, **kwargs) + self._config = AzureBlobStorageConfiguration(url, **kwargs) self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self.api_version = '2018-03-28' + self.api_version = '2019-02-02' self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) @@ -62,6 +64,8 @@ def __init__( self._client, self._config, self._serialize, self._deserialize) self.container = ContainerOperations( self._client, self._config, self._serialize, self._deserialize) + self.directory = DirectoryOperations( + self._client, self._config, self._serialize, self._deserialize) self.blob = BlobOperations( self._client, self._config, self._serialize, self._deserialize) self.page_blob = PageBlobOperations( diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_configuration_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_configuration_async.py index a02df908a779..8f9f8b4a397e 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_configuration_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_configuration_async.py @@ -8,9 +8,8 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file -from azure.core.configuration import Configuration, ConnectionConfiguration +from azure.core.configuration import Configuration from azure.core.pipeline import policies from ..version import VERSION @@ -37,18 +36,18 @@ def __init__(self, url, **kwargs): super(AzureBlobStorageConfiguration, self).__init__(**kwargs) self._configure(**kwargs) - self.user_agent_policy.add_user_agent('azureblobstorage/{}'.format(VERSION)) + self.user_agent_policy.add_user_agent('azsdk-python-azureblobstorage/{}'.format(VERSION)) self.generate_client_request_id = True self.accept_language = None self.url = url - self.version = "2018-03-28" + self.version = "2019-02-02" def _configure(self, **kwargs): - self.connection = ConnectionConfiguration(**kwargs) - self.user_agent_policy = policies.UserAgentPolicy(**kwargs) - self.headers_policy = policies.HeadersPolicy(**kwargs) - self.proxy_policy = policies.ProxyPolicy(**kwargs) - self.logging_policy = policies.NetworkTraceLoggingPolicy(**kwargs) - self.retry_policy = policies.AsyncRetryPolicy(**kwargs) - self.redirect_policy = policies.AsyncRedirectPolicy(**kwargs) + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/__init__.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/__init__.py index cd53ea194e0b..dec05192c81f 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/__init__.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/__init__.py @@ -8,10 +8,10 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from ._service_operations_async import ServiceOperations from ._container_operations_async import ContainerOperations +from ._directory_operations_async import DirectoryOperations from ._blob_operations_async import BlobOperations from ._page_blob_operations_async import PageBlobOperations from ._append_blob_operations_async import AppendBlobOperations @@ -20,6 +20,7 @@ __all__ = [ 'ServiceOperations', 'ContainerOperations', + 'DirectoryOperations', 'BlobOperations', 'PageBlobOperations', 'AppendBlobOperations', diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_append_blob_operations_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_append_blob_operations_async.py index f58b121794d8..4ba4ada7a8c4 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_append_blob_operations_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_append_blob_operations_async.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -40,7 +39,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self.x_ms_blob_type = "AppendBlob" self.comp = "appendblock" - async def create(self, content_length, timeout=None, metadata=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + async def create(self, content_length, timeout=None, metadata=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, *, cls=None, **kwargs): """The Create Append Blob operation creates a new append blob. :param content_length: The length of the request. @@ -65,20 +64,23 @@ async def create(self, content_length, timeout=None, metadata=None, request_id=N analytics logging is enabled. :type request_id: str :param blob_http_headers: Additional parameters for the operation - :type blob_http_headers: ~blob.models.BlobHTTPHeaders + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) blob_content_type = None @@ -102,6 +104,15 @@ async def create(self, content_length, timeout=None, metadata=None, request_id=N lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -150,6 +161,12 @@ async def create(self, content_length, timeout=None, metadata=None, request_id=N header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -173,16 +190,18 @@ async def create(self, content_length, timeout=None, metadata=None, request_id=N 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) create.metadata = {'url': '/{containerName}/{blob}'} - async def append_block(self, body, content_length, timeout=None, transactional_content_md5=None, request_id=None, lease_access_conditions=None, append_position_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + async def append_block(self, body, content_length, timeout=None, transactional_content_md5=None, transactional_content_crc64=None, request_id=None, lease_access_conditions=None, append_position_access_conditions=None, cpk_info=None, modified_access_conditions=None, *, cls=None, **kwargs): """The Append Block operation commits a new block of data to the end of an existing append blob. The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to AppendBlob. Append @@ -200,27 +219,33 @@ async def append_block(self, body, content_length, timeout=None, transactional_c :param transactional_content_md5: Specify the transactional md5 for the body, to be validated by the service. :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param append_position_access_conditions: Additional parameters for the operation :type append_position_access_conditions: - ~blob.models.AppendPositionAccessConditions + ~azure.storage.blob.models.AppendPositionAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -232,6 +257,15 @@ async def append_block(self, body, content_length, timeout=None, transactional_c append_position = None if append_position_access_conditions is not None: append_position = append_position_access_conditions.append_position + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -264,6 +298,8 @@ async def append_block(self, body, content_length, timeout=None, transactional_c header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') if transactional_content_md5 is not None: header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') @@ -273,6 +309,12 @@ async def append_block(self, body, content_length, timeout=None, transactional_c header_parameters['x-ms-blob-condition-maxsize'] = self._serialize.header("max_size", max_size, 'long') if append_position is not None: header_parameters['x-ms-blob-condition-appendpos'] = self._serialize.header("append_position", append_position, 'long') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -298,12 +340,199 @@ async def append_block(self, body, content_length, timeout=None, transactional_c 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-blob-append-offset': self._deserialize('str', response.headers.get('x-ms-blob-append-offset')), 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) append_block.metadata = {'url': '/{containerName}/{blob}'} + + async def append_block_from_url(self, source_url, content_length, source_range=None, source_content_md5=None, source_contentcrc64=None, timeout=None, transactional_content_md5=None, request_id=None, cpk_info=None, lease_access_conditions=None, append_position_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, *, cls=None, **kwargs): + """The Append Block operation commits a new block of data to the end of an + existing append blob where the contents are read from a source url. The + Append Block operation is permitted only if the blob was created with + x-ms-blob-type set to AppendBlob. Append Block is supported only on + version 2015-02-21 version or later. + + :param source_url: Specify a URL to the copy source. + :type source_url: str + :param content_length: The length of the request. + :type content_length: long + :param source_range: Bytes of source data in the specified range. + :type source_range: str + :param source_content_md5: Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :type source_content_md5: bytearray + :param source_contentcrc64: Specify the crc64 calculated for the range + of bytes that must be read from the copy source. + :type source_contentcrc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param append_position_access_conditions: Additional parameters for + the operation + :type append_position_access_conditions: + ~azure.storage.blob.models.AppendPositionAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + max_size = None + if append_position_access_conditions is not None: + max_size = append_position_access_conditions.max_size + append_position = None + if append_position_access_conditions is not None: + append_position = append_position_access_conditions.append_position + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + # Construct URL + url = self.append_block_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("self.comp", self.comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-copy-source'] = self._serialize.header("source_url", source_url, 'str') + if source_range is not None: + header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') + if source_content_md5 is not None: + header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if source_contentcrc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_contentcrc64", source_contentcrc64, 'bytearray') + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if max_size is not None: + header_parameters['x-ms-blob-condition-maxsize'] = self._serialize.header("max_size", max_size, 'long') + if append_position is not None: + header_parameters['x-ms-blob-condition-appendpos'] = self._serialize.header("append_position", append_position, 'long') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-append-offset': self._deserialize('str', response.headers.get('x-ms-blob-append-offset')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + append_block_from_url.metadata = {'url': '/{containerName}/{blob}'} diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_blob_operations_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_blob_operations_async.py index ee2e6c3dfe05..bb662074b735 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_blob_operations_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_blob_operations_async.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -24,6 +23,7 @@ class BlobOperations: :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. + :ivar x_ms_requires_sync: . Constant value: "true". :ivar x_ms_copy_action: . Constant value: "abort". :ivar restype: . Constant value: "account". """ @@ -37,10 +37,11 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + self.x_ms_requires_sync = "true" self.x_ms_copy_action = "abort" self.restype = "account" - async def download(self, snapshot=None, timeout=None, range=None, range_get_content_md5=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + async def download(self, snapshot=None, timeout=None, range=None, range_get_content_md5=None, range_get_content_crc64=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, *, cls=None, **kwargs): """The Download operation reads or downloads a blob from the system, including its metadata and properties. You can also call Download to read a snapshot. @@ -63,28 +64,44 @@ async def download(self, snapshot=None, timeout=None, range=None, range_get_cont with the Range, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size. :type range_get_content_md5: bool + :param range_get_content_crc64: When set to true and specified + together with the Range, the service returns the CRC64 hash for the + range, as long as the range is less than or equal to 4 MB in size. + :type range_get_content_crc64: bool :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: object or the result of cls(response) :rtype: Generator :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -119,11 +136,19 @@ async def download(self, snapshot=None, timeout=None, range=None, range_get_cont header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') if range_get_content_md5 is not None: header_parameters['x-ms-range-get-content-md5'] = self._serialize.header("range_get_content_md5", range_get_content_md5, 'bool') + if range_get_content_crc64 is not None: + header_parameters['x-ms-range-get-content-crc64'] = self._serialize.header("range_get_content_crc64", range_get_content_crc64, 'bool') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -170,13 +195,16 @@ async def download(self, snapshot=None, timeout=None, range=None, range_get_cont 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-blob-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-blob-content-md5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } if response.status_code == 206: @@ -204,13 +232,16 @@ async def download(self, snapshot=None, timeout=None, range=None, range_get_cont 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-blob-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-blob-content-md5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } @@ -220,13 +251,11 @@ async def download(self, snapshot=None, timeout=None, range=None, range_get_cont return deserialized download.metadata = {'url': '/{containerName}/{blob}'} - async def get_properties(self, comp=None, snapshot=None, timeout=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + async def get_properties(self, snapshot=None, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, *, cls=None, **kwargs): """The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system properties for the blob. It does not return the content of the blob. - :param comp: Possible values include: 'metadata' - :type comp: str :param snapshot: The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see ` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -282,8 +323,6 @@ async def get_properties(self, comp=None, snapshot=None, timeout=None, request_i # Construct parameters query_parameters = {} - if comp is not None: - query_parameters['comp'] = self._serialize.query("comp", comp, 'str') if snapshot is not None: query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') if timeout is not None: @@ -296,6 +335,12 @@ async def get_properties(self, comp=None, snapshot=None, timeout=None, request_i header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -340,12 +385,14 @@ async def get_properties(self, comp=None, snapshot=None, timeout=None, request_i 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-access-tier': self._deserialize('str', response.headers.get('x-ms-access-tier')), 'x-ms-access-tier-inferred': self._deserialize('bool', response.headers.get('x-ms-access-tier-inferred')), 'x-ms-archive-status': self._deserialize('str', response.headers.get('x-ms-archive-status')), @@ -388,24 +435,26 @@ async def delete(self, snapshot=None, timeout=None, delete_snapshots=None, reque the base blob and all of its snapshots. only: Delete only the blob's snapshots and not the blob itself. Possible values include: 'include', 'only' - :type delete_snapshots: str or ~blob.models.DeleteSnapshotsOptionType + :type delete_snapshots: str or + ~azure.storage.blob.models.DeleteSnapshotsOptionType :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -467,6 +516,7 @@ async def delete(self, snapshot=None, timeout=None, delete_snapshots=None, reque if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -475,6 +525,434 @@ async def delete(self, snapshot=None, timeout=None, delete_snapshots=None, reque return cls(response, None, response_headers) delete.metadata = {'url': '/{containerName}/{blob}'} + async def set_access_control(self, timeout=None, owner=None, group=None, posix_permissions=None, posix_acl=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Set the owner, group, permissions, or access control list for a blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_acl: Sets POSIX access control rights on files and + directories. The value is a comma-separated list of access control + entries. Each access control entry (ACE) consists of a scope, a type, + a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type posix_acl: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "setAccessControl" + + # Construct URL + url = self.set_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("posix_acl", posix_acl, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + set_access_control.metadata = {'url': '/{filesystem}/{path}'} + + async def get_access_control(self, timeout=None, upn=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Get the owner, group, permissions, or access control list for a blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param upn: Optional. Valid only when Hierarchical Namespace is + enabled for the account. If "true", the identity values returned in + the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. + :type upn: bool + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "getAccessControl" + + # Construct URL + url = self.get_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-owner': self._deserialize('str', response.headers.get('x-ms-owner')), + 'x-ms-group': self._deserialize('str', response.headers.get('x-ms-group')), + 'x-ms-permissions': self._deserialize('str', response.headers.get('x-ms-permissions')), + 'x-ms-acl': self._deserialize('str', response.headers.get('x-ms-acl')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + get_access_control.metadata = {'url': '/{filesystem}/{path}'} + + async def rename(self, rename_source, timeout=None, path_rename_mode=None, directory_properties=None, posix_permissions=None, posix_umask=None, source_lease_id=None, request_id=None, directory_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, *, cls=None, **kwargs): + """Rename a blob/file. By default, the destination is overwritten and if + the destination already exists and has a lease the lease is broken. + This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + To fail if the destination already exists, use a conditional request + with If-None-Match: "*". + + :param rename_source: The file or directory to be renamed. The value + must have the following format: "/{filesysystem}/{path}". If + "x-ms-properties" is specified, the properties will overwrite the + existing properties; otherwise, the existing properties will be + preserved. + :type rename_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param path_rename_mode: Determines the behavior of the rename + operation. Possible values include: 'legacy', 'posix' + :type path_rename_mode: str or + ~azure.storage.blob.models.PathRenameMode + :param directory_properties: Optional. User-defined properties to be + stored with the file or directory, in the format of a comma-separated + list of name and value pairs "n1=v1, n2=v2, ...", where each value is + base64 encoded. + :type directory_properties: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_umask: Only valid if Hierarchical Namespace is enabled + for the account. This umask restricts permission settings for file and + directory, and will only be applied when default Acl does not exist in + parent directory. If the umask bit has set, it means that the + corresponding permission will be disabled. Otherwise the corresponding + permission will be determined by the permission. A 4-digit octal + notation (e.g. 0022) is supported here. If no umask was specified, a + default umask - 0027 will be used. + :type posix_umask: str + :param source_lease_id: A lease ID for the source path. If specified, + the source path must have an active lease and the leaase ID must + match. + :type source_lease_id: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param directory_http_headers: Additional parameters for the operation + :type directory_http_headers: + ~azure.storage.blob.models.DirectoryHttpHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + cache_control = None + if directory_http_headers is not None: + cache_control = directory_http_headers.cache_control + content_type = None + if directory_http_headers is not None: + content_type = directory_http_headers.content_type + content_encoding = None + if directory_http_headers is not None: + content_encoding = directory_http_headers.content_encoding + content_language = None + if directory_http_headers is not None: + content_language = directory_http_headers.content_language + content_disposition = None + if directory_http_headers is not None: + content_disposition = directory_http_headers.content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + # Construct URL + url = self.rename.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if path_rename_mode is not None: + query_parameters['mode'] = self._serialize.query("path_rename_mode", path_rename_mode, 'PathRenameMode') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-rename-source'] = self._serialize.header("rename_source", rename_source, 'str') + if directory_properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("directory_properties", directory_properties, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("posix_umask", posix_umask, 'str') + if source_lease_id is not None: + header_parameters['x-ms-source-lease-id'] = self._serialize.header("source_lease_id", source_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + rename.metadata = {'url': '/{filesystem}/{path}'} + async def undelete(self, timeout=None, request_id=None, *, cls=None, **kwargs): """Undelete a blob that was previously soft deleted. @@ -492,7 +970,7 @@ async def undelete(self, timeout=None, request_id=None, *, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "undelete" @@ -527,6 +1005,7 @@ async def undelete(self, timeout=None, request_id=None, *, cls=None, **kwargs): if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -548,20 +1027,21 @@ async def set_http_headers(self, timeout=None, request_id=None, blob_http_header analytics logging is enabled. :type request_id: str :param blob_http_headers: Additional parameters for the operation - :type blob_http_headers: ~blob.models.BlobHTTPHeaders + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) blob_cache_control = None @@ -655,6 +1135,7 @@ async def set_http_headers(self, timeout=None, request_id=None, blob_http_header 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -663,7 +1144,7 @@ async def set_http_headers(self, timeout=None, request_id=None, blob_http_header return cls(response, None, response_headers) set_http_headers.metadata = {'url': '/{containerName}/{blob}'} - async def set_metadata(self, timeout=None, metadata=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + async def set_metadata(self, timeout=None, metadata=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, *, cls=None, **kwargs): """The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more name-value pairs. @@ -688,22 +1169,34 @@ async def set_metadata(self, timeout=None, metadata=None, request_id=None, lease :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -741,6 +1234,12 @@ async def set_metadata(self, timeout=None, metadata=None, request_id=None, lease header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -763,10 +1262,12 @@ async def set_metadata(self, timeout=None, metadata=None, request_id=None, lease response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -798,13 +1299,13 @@ async def acquire_lease(self, timeout=None, duration=None, proposed_lease_id=Non :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -869,6 +1370,7 @@ async def acquire_lease(self, timeout=None, duration=None, proposed_lease_id=Non 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -895,13 +1397,13 @@ async def release_lease(self, lease_id, timeout=None, request_id=None, modified_ :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -962,6 +1464,7 @@ async def release_lease(self, lease_id, timeout=None, request_id=None, modified_ response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -988,13 +1491,13 @@ async def renew_lease(self, lease_id, timeout=None, request_id=None, modified_ac :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -1056,6 +1559,7 @@ async def renew_lease(self, lease_id, timeout=None, request_id=None, modified_ac 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1087,13 +1591,13 @@ async def change_lease(self, lease_id, proposed_lease_id, timeout=None, request_ :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -1155,6 +1659,7 @@ async def change_lease(self, lease_id, proposed_lease_id, timeout=None, request_ response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), @@ -1190,13 +1695,13 @@ async def break_lease(self, timeout=None, break_period=None, request_id=None, mo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -1259,6 +1764,7 @@ async def break_lease(self, timeout=None, break_period=None, request_id=None, mo 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-time': self._deserialize('int', response.headers.get('x-ms-lease-time')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1267,7 +1773,7 @@ async def break_lease(self, timeout=None, break_period=None, request_id=None, mo return cls(response, None, response_headers) break_lease.metadata = {'url': '/{containerName}/{blob}'} - async def create_snapshot(self, timeout=None, metadata=None, request_id=None, modified_access_conditions=None, lease_access_conditions=None, *, cls=None, **kwargs): + async def create_snapshot(self, timeout=None, metadata=None, request_id=None, cpk_info=None, modified_access_conditions=None, lease_access_conditions=None, *, cls=None, **kwargs): """The Create Snapshot operation creates a read-only snapshot of a blob. :param timeout: The timeout parameter is expressed in seconds. For @@ -1289,21 +1795,33 @@ async def create_snapshot(self, timeout=None, metadata=None, request_id=None, mo KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -1342,6 +1860,12 @@ async def create_snapshot(self, timeout=None, metadata=None, request_id=None, mo header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -1367,15 +1891,17 @@ async def create_snapshot(self, timeout=None, metadata=None, request_id=None, mo 'x-ms-snapshot': self._deserialize('str', response.headers.get('x-ms-snapshot')), 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) create_snapshot.metadata = {'url': '/{containerName}/{blob}'} - async def start_copy_from_url(self, copy_source, timeout=None, metadata=None, request_id=None, source_modified_access_conditions=None, modified_access_conditions=None, lease_access_conditions=None, *, cls=None, **kwargs): + async def start_copy_from_url(self, copy_source, timeout=None, metadata=None, tier=None, rehydrate_priority=None, request_id=None, source_modified_access_conditions=None, modified_access_conditions=None, lease_access_conditions=None, *, cls=None, **kwargs): """The Start Copy From URL operation copies a blob or an internet resource to a new blob. @@ -1400,6 +1926,15 @@ async def start_copy_from_url(self, copy_source, timeout=None, metadata=None, re C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional + :param rehydrate_priority: Optional: Indicates the priority with which + to rehydrate an archived blob. Possible values include: 'High', + 'Standard' + :type rehydrate_priority: str or + ~azure.storage.blob.models.RehydratePriority :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. @@ -1407,20 +1942,21 @@ async def start_copy_from_url(self, copy_source, timeout=None, metadata=None, re :param source_modified_access_conditions: Additional parameters for the operation :type source_modified_access_conditions: - ~blob.models.SourceModifiedAccessConditions + ~azure.storage.blob.models.SourceModifiedAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) source_if_modified_since = None @@ -1467,6 +2003,10 @@ async def start_copy_from_url(self, copy_source, timeout=None, metadata=None, re header_parameters = {} if metadata is not None: header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + if rehydrate_priority is not None: + header_parameters['x-ms-rehydrate-priority'] = self._serialize.header("rehydrate_priority", rehydrate_priority, 'str') header_parameters['x-ms-copy-source'] = self._serialize.header("copy_source", copy_source, 'str') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: @@ -1503,6 +2043,7 @@ async def start_copy_from_url(self, copy_source, timeout=None, metadata=None, re response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1513,6 +2054,153 @@ async def start_copy_from_url(self, copy_source, timeout=None, metadata=None, re return cls(response, None, response_headers) start_copy_from_url.metadata = {'url': '/{containerName}/{blob}'} + async def copy_from_url(self, copy_source, timeout=None, metadata=None, tier=None, request_id=None, source_modified_access_conditions=None, modified_access_conditions=None, lease_access_conditions=None, *, cls=None, **kwargs): + """The Copy From URL operation copies a blob or an internet resource to a + new blob. It will not return a response until the copy is complete. + + :param copy_source: Specifies the name of the source page blob + snapshot. This value is a URL of up to 2 KB in length that specifies a + page blob snapshot. The value should be URL-encoded as it would appear + in a request URI. The source blob must either be public or must be + authenticated via a shared access signature. + :type copy_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + # Construct URL + url = self.copy_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + header_parameters['x-ms-copy-source'] = self._serialize.header("copy_source", copy_source, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-requires-sync'] = self._serialize.header("self.x_ms_requires_sync", self.x_ms_requires_sync, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-status': self._deserialize(models.SyncCopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + copy_from_url.metadata = {'url': '/{containerName}/{blob}'} + async def abort_copy_from_url(self, copy_id, timeout=None, request_id=None, lease_access_conditions=None, *, cls=None, **kwargs): """The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination blob with zero length and full @@ -1532,13 +2220,14 @@ async def abort_copy_from_url(self, copy_id, timeout=None, request_id=None, leas :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -1581,6 +2270,7 @@ async def abort_copy_from_url(self, copy_id, timeout=None, request_id=None, leas if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1589,7 +2279,7 @@ async def abort_copy_from_url(self, copy_id, timeout=None, request_id=None, leas return cls(response, None, response_headers) abort_copy_from_url.metadata = {'url': '/{containerName}/{blob}'} - async def set_tier(self, tier, timeout=None, request_id=None, lease_access_conditions=None, *, cls=None, **kwargs): + async def set_tier(self, tier, timeout=None, rehydrate_priority=None, request_id=None, lease_access_conditions=None, *, cls=None, **kwargs): """The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium storage account and on a block blob in a blob storage account (locally redundant storage only). A premium @@ -1598,27 +2288,33 @@ async def set_tier(self, tier, timeout=None, request_id=None, lease_access_condi This operation does not update the blob's ETag. :param tier: Indicates the tier to be set on the blob. Possible values - include: 'P4', 'P6', 'P10', 'P20', 'P30', 'P40', 'P50', 'Hot', 'Cool', - 'Archive' - :type tier: str or ~blob.models.AccessTier + include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', 'P40', 'P50', 'P60', + 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierRequired :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations. :type timeout: int + :param rehydrate_priority: Optional: Indicates the priority with which + to rehydrate an archived blob. Possible values include: 'High', + 'Standard' + :type rehydrate_priority: str or + ~azure.storage.blob.models.RehydratePriority :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -1643,6 +2339,8 @@ async def set_tier(self, tier, timeout=None, request_id=None, lease_access_condi # Construct headers header_parameters = {} header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + if rehydrate_priority is not None: + header_parameters['x-ms-rehydrate-priority'] = self._serialize.header("rehydrate_priority", rehydrate_priority, 'str') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') @@ -1660,6 +2358,7 @@ async def set_tier(self, tier, timeout=None, request_id=None, lease_access_condi if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), @@ -1675,7 +2374,7 @@ async def get_account_info(self, *, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "properties" @@ -1707,6 +2406,7 @@ async def get_account_info(self, *, cls=None, **kwargs): if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1715,4 +2415,4 @@ async def get_account_info(self, *, cls=None, **kwargs): 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) - get_account_info.metadata = {'url': '/{containerName}/{blobName}'} + get_account_info.metadata = {'url': '/{containerName}/{blob}'} diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_block_blob_operations_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_block_blob_operations_async.py index 1b88b9cfdfc3..95a850b4c5eb 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_block_blob_operations_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_block_blob_operations_async.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -38,7 +37,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._config = config self.x_ms_blob_type = "BlockBlob" - async def upload(self, body, content_length, timeout=None, metadata=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + async def upload(self, body, content_length, timeout=None, metadata=None, tier=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, *, cls=None, **kwargs): """The Upload Block Blob operation updates the content of an existing block blob. Updating an existing block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put Blob; @@ -65,25 +64,32 @@ async def upload(self, body, content_length, timeout=None, metadata=None, reques C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param blob_http_headers: Additional parameters for the operation - :type blob_http_headers: ~blob.models.BlobHTTPHeaders + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) blob_content_type = None @@ -107,6 +113,15 @@ async def upload(self, body, content_length, timeout=None, metadata=None, reques lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -138,6 +153,8 @@ async def upload(self, body, content_length, timeout=None, metadata=None, reques header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') if metadata is not None: header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') @@ -156,6 +173,12 @@ async def upload(self, body, content_length, timeout=None, metadata=None, reques header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -181,16 +204,18 @@ async def upload(self, body, content_length, timeout=None, metadata=None, reques 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) upload.metadata = {'url': '/{containerName}/{blob}'} - async def stage_block(self, block_id, content_length, body, transactional_content_md5=None, timeout=None, request_id=None, lease_access_conditions=None, *, cls=None, **kwargs): + async def stage_block(self, block_id, content_length, body, transactional_content_md5=None, transactional_content_crc64=None, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, *, cls=None, **kwargs): """The Stage Block operation creates a new block to be committed as part of a blob. @@ -206,6 +231,9 @@ async def stage_block(self, block_id, content_length, body, transactional_conten :param transactional_content_md5: Specify the transactional md5 for the body, to be validated by the service. :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -217,18 +245,30 @@ async def stage_block(self, block_id, content_length, body, transactional_conten :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm comp = "block" @@ -252,11 +292,19 @@ async def stage_block(self, block_id, content_length, body, transactional_conten header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') if transactional_content_md5 is not None: header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') # Construct body @@ -272,16 +320,19 @@ async def stage_block(self, block_id, content_length, body, transactional_conten if cls: response_headers = { 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) stage_block.metadata = {'url': '/{containerName}/{blob}'} - async def stage_block_from_url(self, block_id, content_length, source_url, source_range=None, source_content_md5=None, timeout=None, request_id=None, lease_access_conditions=None, *, cls=None, **kwargs): + async def stage_block_from_url(self, block_id, content_length, source_url, source_range=None, source_content_md5=None, source_contentcrc64=None, timeout=None, request_id=None, cpk_info=None, lease_access_conditions=None, source_modified_access_conditions=None, *, cls=None, **kwargs): """The Stage Block operation creates a new block to be committed as part of a blob where the contents are read from a URL. @@ -299,6 +350,9 @@ async def stage_block_from_url(self, block_id, content_length, source_url, sourc :param source_content_md5: Specify the md5 calculated for the range of bytes that must be read from the copy source. :type source_content_md5: bytearray + :param source_contentcrc64: Specify the crc64 calculated for the range + of bytes that must be read from the copy source. + :type source_contentcrc64: bytearray :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -308,20 +362,48 @@ async def stage_block_from_url(self, block_id, content_length, source_url, sourc KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match comp = "block" @@ -347,11 +429,27 @@ async def stage_block_from_url(self, block_id, content_length, source_url, sourc header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') if source_content_md5 is not None: header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if source_contentcrc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_contentcrc64", source_contentcrc64, 'bytearray') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') # Construct and send request request = self._client.put(url, query_parameters, header_parameters) @@ -365,16 +463,19 @@ async def stage_block_from_url(self, block_id, content_length, source_url, sourc if cls: response_headers = { 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) stage_block_from_url.metadata = {'url': '/{containerName}/{blob}'} - async def commit_block_list(self, blocks, timeout=None, metadata=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + async def commit_block_list(self, blocks, timeout=None, transactional_content_md5=None, transactional_content_crc64=None, metadata=None, tier=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, *, cls=None, **kwargs): """The Commit Block List operation writes a blob by specifying the list of block IDs that make up the blob. In order to be written as part of a blob, a block must have been successfully written to the server in a @@ -386,12 +487,18 @@ async def commit_block_list(self, blocks, timeout=None, metadata=None, request_i block, whichever list it may belong to. :param blocks: - :type blocks: ~blob.models.BlockLookupList + :type blocks: ~azure.storage.blob.models.BlockLookupList :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations. :type timeout: int + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray :param metadata: Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the @@ -402,25 +509,32 @@ async def commit_block_list(self, blocks, timeout=None, metadata=None, request_i C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param blob_http_headers: Additional parameters for the operation - :type blob_http_headers: ~blob.models.BlobHTTPHeaders + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) blob_cache_control = None @@ -444,6 +558,15 @@ async def commit_block_list(self, blocks, timeout=None, metadata=None, request_i lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -475,8 +598,14 @@ async def commit_block_list(self, blocks, timeout=None, metadata=None, request_i # Construct headers header_parameters = {} header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') if metadata is not None: header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') @@ -494,6 +623,12 @@ async def commit_block_list(self, blocks, timeout=None, metadata=None, request_i header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -520,10 +655,13 @@ async def commit_block_list(self, blocks, timeout=None, metadata=None, request_i 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -536,7 +674,7 @@ async def get_block_list(self, list_type="committed", snapshot=None, timeout=Non :param list_type: Specifies whether to return the list of committed blocks, the list of uncommitted blocks, or both lists together. Possible values include: 'committed', 'uncommitted', 'all' - :type list_type: str or ~blob.models.BlockListType + :type list_type: str or ~azure.storage.blob.models.BlockListType :param snapshot: The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see ` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -612,6 +751,7 @@ async def get_block_list(self, list_type="committed", snapshot=None, timeout=Non 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), 'x-ms-blob-content-length': self._deserialize('long', response.headers.get('x-ms-blob-content-length')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_container_operations_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_container_operations_async.py index 950e07fc74ab..4e3e6a06de9f 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_container_operations_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_container_operations_async.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -58,7 +57,7 @@ async def create(self, timeout=None, metadata=None, access=None, request_id=None :param access: Specifies whether data in the container may be accessed publicly and the level of access. Possible values include: 'container', 'blob' - :type access: str or ~blob.models.PublicAccessType + :type access: str or ~azure.storage.blob.models.PublicAccessType :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. @@ -68,7 +67,7 @@ async def create(self, timeout=None, metadata=None, access=None, request_id=None :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "container" @@ -109,6 +108,7 @@ async def create(self, timeout=None, metadata=None, access=None, request_id=None response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -133,13 +133,14 @@ async def get_properties(self, timeout=None, request_id=None, lease_access_condi :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -186,6 +187,7 @@ async def get_properties(self, timeout=None, request_id=None, lease_access_condi 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -213,17 +215,18 @@ async def delete(self, timeout=None, request_id=None, lease_access_conditions=No :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -274,6 +277,7 @@ async def delete(self, timeout=None, request_id=None, lease_access_conditions=No if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -307,17 +311,18 @@ async def set_metadata(self, timeout=None, metadata=None, request_id=None, lease :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -369,6 +374,7 @@ async def set_metadata(self, timeout=None, metadata=None, request_id=None, lease response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -392,13 +398,14 @@ async def get_access_policy(self, timeout=None, request_id=None, lease_access_co :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~blob.models.SignedIdentifier] + :rtype: list[~azure.storage.blob.models.SignedIdentifier] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -448,6 +455,7 @@ async def get_access_policy(self, timeout=None, request_id=None, lease_access_co 'x-ms-blob-public-access': self._deserialize('str', response.headers.get('x-ms-blob-public-access')), 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -465,7 +473,7 @@ async def set_access_policy(self, container_acl=None, timeout=None, access=None, indicate whether blobs in a container may be accessed publicly. :param container_acl: the acls for the container - :type container_acl: list[~blob.models.SignedIdentifier] + :type container_acl: list[~azure.storage.blob.models.SignedIdentifier] :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -474,24 +482,25 @@ async def set_access_policy(self, container_acl=None, timeout=None, access=None, :param access: Specifies whether data in the container may be accessed publicly and the level of access. Possible values include: 'container', 'blob' - :type access: str or ~blob.models.PublicAccessType + :type access: str or ~azure.storage.blob.models.PublicAccessType :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -556,6 +565,7 @@ async def set_access_policy(self, container_acl=None, timeout=None, access=None, response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -591,13 +601,13 @@ async def acquire_lease(self, timeout=None, duration=None, proposed_lease_id=Non :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -654,6 +664,7 @@ async def acquire_lease(self, timeout=None, duration=None, proposed_lease_id=Non 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -681,13 +692,13 @@ async def release_lease(self, lease_id, timeout=None, request_id=None, modified_ :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -740,6 +751,7 @@ async def release_lease(self, lease_id, timeout=None, request_id=None, modified_ response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -767,13 +779,13 @@ async def renew_lease(self, lease_id, timeout=None, request_id=None, modified_ac :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -827,6 +839,7 @@ async def renew_lease(self, lease_id, timeout=None, request_id=None, modified_ac 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -862,13 +875,13 @@ async def break_lease(self, timeout=None, break_period=None, request_id=None, mo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -923,6 +936,7 @@ async def break_lease(self, timeout=None, break_period=None, request_id=None, mo 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-time': self._deserialize('int', response.headers.get('x-ms-lease-time')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -955,13 +969,13 @@ async def change_lease(self, lease_id, proposed_lease_id, timeout=None, request_ :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -1016,6 +1030,7 @@ async def change_lease(self, lease_id, proposed_lease_id, timeout=None, request_ 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1050,7 +1065,8 @@ async def list_blob_flat_segment(self, prefix=None, marker=None, maxresults=None :type maxresults: int :param include: Include this parameter to specify one or more datasets to include in the response. - :type include: list[str or ~blob.models.ListBlobsIncludeItem] + :type include: list[str or + ~azure.storage.blob.models.ListBlobsIncludeItem] :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -1063,9 +1079,9 @@ async def list_blob_flat_segment(self, prefix=None, marker=None, maxresults=None :param callable cls: A custom type or function that will be passed the direct response :return: ListBlobsFlatSegmentResponse or the result of cls(response) - :rtype: ~blob.models.ListBlobsFlatSegmentResponse + :rtype: ~azure.storage.blob.models.ListBlobsFlatSegmentResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "container" @@ -1115,6 +1131,7 @@ async def list_blob_flat_segment(self, prefix=None, marker=None, maxresults=None deserialized = self._deserialize('ListBlobsFlatSegmentResponse', response) header_dict = { 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1159,7 +1176,8 @@ async def list_blob_hierarchy_segment(self, delimiter, prefix=None, marker=None, :type maxresults: int :param include: Include this parameter to specify one or more datasets to include in the response. - :type include: list[str or ~blob.models.ListBlobsIncludeItem] + :type include: list[str or + ~azure.storage.blob.models.ListBlobsIncludeItem] :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -1173,9 +1191,9 @@ async def list_blob_hierarchy_segment(self, delimiter, prefix=None, marker=None, direct response :return: ListBlobsHierarchySegmentResponse or the result of cls(response) - :rtype: ~blob.models.ListBlobsHierarchySegmentResponse + :rtype: ~azure.storage.blob.models.ListBlobsHierarchySegmentResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "container" @@ -1226,6 +1244,7 @@ async def list_blob_hierarchy_segment(self, delimiter, prefix=None, marker=None, deserialized = self._deserialize('ListBlobsHierarchySegmentResponse', response) header_dict = { 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1246,7 +1265,7 @@ async def get_account_info(self, *, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "account" @@ -1279,6 +1298,7 @@ async def get_account_info(self, *, cls=None, **kwargs): if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_directory_operations_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_directory_operations_async.py new file mode 100644 index 000000000000..144bdfff6582 --- /dev/null +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_directory_operations_async.py @@ -0,0 +1,740 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.core.exceptions import map_error + +from ... import models + + +class DirectoryOperations: + """DirectoryOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar resource: . Constant value: "directory". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.resource = "directory" + + async def create(self, timeout=None, directory_properties=None, posix_permissions=None, posix_umask=None, request_id=None, directory_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Create a directory. By default, the destination is overwritten and if + the destination already exists and has a lease the lease is broken. + This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + To fail if the destination already exists, use a conditional request + with If-None-Match: "*". + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param directory_properties: Optional. User-defined properties to be + stored with the file or directory, in the format of a comma-separated + list of name and value pairs "n1=v1, n2=v2, ...", where each value is + base64 encoded. + :type directory_properties: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_umask: Only valid if Hierarchical Namespace is enabled + for the account. This umask restricts permission settings for file and + directory, and will only be applied when default Acl does not exist in + parent directory. If the umask bit has set, it means that the + corresponding permission will be disabled. Otherwise the corresponding + permission will be determined by the permission. A 4-digit octal + notation (e.g. 0022) is supported here. If no umask was specified, a + default umask - 0027 will be used. + :type posix_umask: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param directory_http_headers: Additional parameters for the operation + :type directory_http_headers: + ~azure.storage.blob.models.DirectoryHttpHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + cache_control = None + if directory_http_headers is not None: + cache_control = directory_http_headers.cache_control + content_type = None + if directory_http_headers is not None: + content_type = directory_http_headers.content_type + content_encoding = None + if directory_http_headers is not None: + content_encoding = directory_http_headers.content_encoding + content_language = None + if directory_http_headers is not None: + content_language = directory_http_headers.content_language + content_disposition = None + if directory_http_headers is not None: + content_disposition = directory_http_headers.content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['resource'] = self._serialize.query("self.resource", self.resource, 'str') + + # Construct headers + header_parameters = {} + if directory_properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("directory_properties", directory_properties, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("posix_umask", posix_umask, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + create.metadata = {'url': '/{filesystem}/{path}'} + + async def rename(self, rename_source, timeout=None, marker=None, path_rename_mode=None, directory_properties=None, posix_permissions=None, posix_umask=None, source_lease_id=None, request_id=None, directory_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, *, cls=None, **kwargs): + """Rename a directory. By default, the destination is overwritten and if + the destination already exists and has a lease the lease is broken. + This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + To fail if the destination already exists, use a conditional request + with If-None-Match: "*". + + :param rename_source: The file or directory to be renamed. The value + must have the following format: "/{filesysystem}/{path}". If + "x-ms-properties" is specified, the properties will overwrite the + existing properties; otherwise, the existing properties will be + preserved. + :type rename_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param marker: When renaming a directory, the number of paths that are + renamed with each invocation is limited. If the number of paths to be + renamed exceeds this limit, a continuation token is returned in this + response header. When a continuation token is returned in the + response, it must be specified in a subsequent invocation of the + rename operation to continue renaming the directory. + :type marker: str + :param path_rename_mode: Determines the behavior of the rename + operation. Possible values include: 'legacy', 'posix' + :type path_rename_mode: str or + ~azure.storage.blob.models.PathRenameMode + :param directory_properties: Optional. User-defined properties to be + stored with the file or directory, in the format of a comma-separated + list of name and value pairs "n1=v1, n2=v2, ...", where each value is + base64 encoded. + :type directory_properties: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_umask: Only valid if Hierarchical Namespace is enabled + for the account. This umask restricts permission settings for file and + directory, and will only be applied when default Acl does not exist in + parent directory. If the umask bit has set, it means that the + corresponding permission will be disabled. Otherwise the corresponding + permission will be determined by the permission. A 4-digit octal + notation (e.g. 0022) is supported here. If no umask was specified, a + default umask - 0027 will be used. + :type posix_umask: str + :param source_lease_id: A lease ID for the source path. If specified, + the source path must have an active lease and the leaase ID must + match. + :type source_lease_id: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param directory_http_headers: Additional parameters for the operation + :type directory_http_headers: + ~azure.storage.blob.models.DirectoryHttpHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + cache_control = None + if directory_http_headers is not None: + cache_control = directory_http_headers.cache_control + content_type = None + if directory_http_headers is not None: + content_type = directory_http_headers.content_type + content_encoding = None + if directory_http_headers is not None: + content_encoding = directory_http_headers.content_encoding + content_language = None + if directory_http_headers is not None: + content_language = directory_http_headers.content_language + content_disposition = None + if directory_http_headers is not None: + content_disposition = directory_http_headers.content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + # Construct URL + url = self.rename.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if marker is not None: + query_parameters['continuation'] = self._serialize.query("marker", marker, 'str') + if path_rename_mode is not None: + query_parameters['mode'] = self._serialize.query("path_rename_mode", path_rename_mode, 'PathRenameMode') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-rename-source'] = self._serialize.header("rename_source", rename_source, 'str') + if directory_properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("directory_properties", directory_properties, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("posix_umask", posix_umask, 'str') + if source_lease_id is not None: + header_parameters['x-ms-source-lease-id'] = self._serialize.header("source_lease_id", source_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + rename.metadata = {'url': '/{filesystem}/{path}'} + + async def delete(self, recursive_directory_delete, timeout=None, marker=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Deletes the directory. + + :param recursive_directory_delete: If "true", all paths beneath the + directory will be deleted. If "false" and the directory is non-empty, + an error occurs. + :type recursive_directory_delete: bool + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param marker: When renaming a directory, the number of paths that are + renamed with each invocation is limited. If the number of paths to be + renamed exceeds this limit, a continuation token is returned in this + response header. When a continuation token is returned in the + response, it must be specified in a subsequent invocation of the + rename operation to continue renaming the directory. + :type marker: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['recursive'] = self._serialize.query("recursive_directory_delete", recursive_directory_delete, 'bool') + if marker is not None: + query_parameters['continuation'] = self._serialize.query("marker", marker, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + delete.metadata = {'url': '/{filesystem}/{path}'} + + async def set_access_control(self, timeout=None, owner=None, group=None, posix_permissions=None, posix_acl=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Set the owner, group, permissions, or access control list for a + directory. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_acl: Sets POSIX access control rights on files and + directories. The value is a comma-separated list of access control + entries. Each access control entry (ACE) consists of a scope, a type, + a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type posix_acl: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "setAccessControl" + + # Construct URL + url = self.set_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("posix_acl", posix_acl, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + set_access_control.metadata = {'url': '/{filesystem}/{path}'} + + async def get_access_control(self, timeout=None, upn=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Get the owner, group, permissions, or access control list for a + directory. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param upn: Optional. Valid only when Hierarchical Namespace is + enabled for the account. If "true", the identity values returned in + the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. + :type upn: bool + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "getAccessControl" + + # Construct URL + url = self.get_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-owner': self._deserialize('str', response.headers.get('x-ms-owner')), + 'x-ms-group': self._deserialize('str', response.headers.get('x-ms-group')), + 'x-ms-permissions': self._deserialize('str', response.headers.get('x-ms-permissions')), + 'x-ms-acl': self._deserialize('str', response.headers.get('x-ms-acl')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + get_access_control.metadata = {'url': '/{filesystem}/{path}'} diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_page_blob_operations_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_page_blob_operations_async.py index b889ad30075a..463b76770488 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_page_blob_operations_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_page_blob_operations_async.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -38,7 +37,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._config = config self.x_ms_blob_type = "PageBlob" - async def create(self, content_length, blob_content_length, timeout=None, metadata=None, blob_sequence_number=0, request_id=None, blob_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + async def create(self, content_length, blob_content_length, timeout=None, metadata=None, blob_sequence_number=0, request_id=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, *, cls=None, **kwargs): """The Create operation creates a new page blob. :param content_length: The length of the request. @@ -71,20 +70,23 @@ async def create(self, content_length, blob_content_length, timeout=None, metada analytics logging is enabled. :type request_id: str :param blob_http_headers: Additional parameters for the operation - :type blob_http_headers: ~blob.models.BlobHTTPHeaders + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) blob_content_type = None @@ -108,6 +110,15 @@ async def create(self, content_length, blob_content_length, timeout=None, metada lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -159,6 +170,12 @@ async def create(self, content_length, blob_content_length, timeout=None, metada header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -182,16 +199,18 @@ async def create(self, content_length, blob_content_length, timeout=None, metada 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) create.metadata = {'url': '/{containerName}/{blob}'} - async def upload_pages(self, body, content_length, transactional_content_md5=None, timeout=None, range=None, request_id=None, lease_access_conditions=None, sequence_number_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + async def upload_pages(self, body, content_length, transactional_content_md5=None, transactional_content_crc64=None, timeout=None, range=None, request_id=None, lease_access_conditions=None, cpk_info=None, sequence_number_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): """The Upload Pages operation writes a range of pages to a page blob. :param body: Initial data @@ -201,6 +220,9 @@ async def upload_pages(self, body, content_length, transactional_content_md5=Non :param transactional_content_md5: Specify the transactional md5 for the body, to be validated by the service. :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -215,26 +237,38 @@ async def upload_pages(self, body, content_length, transactional_content_md5=Non :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param sequence_number_access_conditions: Additional parameters for the operation :type sequence_number_access_conditions: - ~blob.models.SequenceNumberAccessConditions + ~azure.storage.blob.models.SequenceNumberAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_sequence_number_less_than_or_equal_to = None if sequence_number_access_conditions is not None: if_sequence_number_less_than_or_equal_to = sequence_number_access_conditions.if_sequence_number_less_than_or_equal_to @@ -279,6 +313,8 @@ async def upload_pages(self, body, content_length, transactional_content_md5=Non header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') if transactional_content_md5 is not None: header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') if range is not None: header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') @@ -287,6 +323,12 @@ async def upload_pages(self, body, content_length, transactional_content_md5=Non header_parameters['x-ms-page-write'] = self._serialize.header("page_write", page_write, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_sequence_number_less_than_or_equal_to is not None: header_parameters['x-ms-if-sequence-number-le'] = self._serialize.header("if_sequence_number_less_than_or_equal_to", if_sequence_number_less_than_or_equal_to, 'long') if if_sequence_number_less_than is not None: @@ -318,17 +360,20 @@ async def upload_pages(self, body, content_length, transactional_content_md5=Non 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) upload_pages.metadata = {'url': '/{containerName}/{blob}'} - async def clear_pages(self, content_length, timeout=None, range=None, request_id=None, lease_access_conditions=None, sequence_number_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + async def clear_pages(self, content_length, timeout=None, range=None, request_id=None, lease_access_conditions=None, cpk_info=None, sequence_number_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): """The Clear Pages operation clears a set of pages from a page blob. :param content_length: The length of the request. @@ -347,26 +392,38 @@ async def clear_pages(self, content_length, timeout=None, range=None, request_id :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param sequence_number_access_conditions: Additional parameters for the operation :type sequence_number_access_conditions: - ~blob.models.SequenceNumberAccessConditions + ~azure.storage.blob.models.SequenceNumberAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_sequence_number_less_than_or_equal_to = None if sequence_number_access_conditions is not None: if_sequence_number_less_than_or_equal_to = sequence_number_access_conditions.if_sequence_number_less_than_or_equal_to @@ -416,6 +473,12 @@ async def clear_pages(self, content_length, timeout=None, range=None, request_id header_parameters['x-ms-page-write'] = self._serialize.header("page_write", page_write, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_sequence_number_less_than_or_equal_to is not None: header_parameters['x-ms-if-sequence-number-le'] = self._serialize.header("if_sequence_number_less_than_or_equal_to", if_sequence_number_less_than_or_equal_to, 'long') if if_sequence_number_less_than is not None: @@ -445,7 +508,9 @@ async def clear_pages(self, content_length, timeout=None, range=None, request_id 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -454,6 +519,194 @@ async def clear_pages(self, content_length, timeout=None, range=None, request_id return cls(response, None, response_headers) clear_pages.metadata = {'url': '/{containerName}/{blob}'} + async def upload_pages_from_url(self, source_url, source_range, content_length, range, source_content_md5=None, source_contentcrc64=None, timeout=None, request_id=None, cpk_info=None, lease_access_conditions=None, sequence_number_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, *, cls=None, **kwargs): + """The Upload Pages operation writes a range of pages to a page blob where + the contents are read from a URL. + + :param source_url: Specify a URL to the copy source. + :type source_url: str + :param source_range: Bytes of source data in the specified range. The + length of this range should match the ContentLength header and + x-ms-range/Range destination range header. + :type source_range: str + :param content_length: The length of the request. + :type content_length: long + :param range: The range of bytes to which the source range would be + written. The range should be 512 aligned and range-end is required. + :type range: str + :param source_content_md5: Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :type source_content_md5: bytearray + :param source_contentcrc64: Specify the crc64 calculated for the range + of bytes that must be read from the copy source. + :type source_contentcrc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param sequence_number_access_conditions: Additional parameters for + the operation + :type sequence_number_access_conditions: + ~azure.storage.blob.models.SequenceNumberAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_sequence_number_less_than_or_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than_or_equal_to = sequence_number_access_conditions.if_sequence_number_less_than_or_equal_to + if_sequence_number_less_than = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than = sequence_number_access_conditions.if_sequence_number_less_than + if_sequence_number_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_equal_to = sequence_number_access_conditions.if_sequence_number_equal_to + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + comp = "page" + page_write = "update" + + # Construct URL + url = self.upload_pages_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-copy-source'] = self._serialize.header("source_url", source_url, 'str') + header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') + if source_content_md5 is not None: + header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if source_contentcrc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_contentcrc64", source_contentcrc64, 'bytearray') + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-page-write'] = self._serialize.header("page_write", page_write, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_sequence_number_less_than_or_equal_to is not None: + header_parameters['x-ms-if-sequence-number-le'] = self._serialize.header("if_sequence_number_less_than_or_equal_to", if_sequence_number_less_than_or_equal_to, 'long') + if if_sequence_number_less_than is not None: + header_parameters['x-ms-if-sequence-number-lt'] = self._serialize.header("if_sequence_number_less_than", if_sequence_number_less_than, 'long') + if if_sequence_number_equal_to is not None: + header_parameters['x-ms-if-sequence-number-eq'] = self._serialize.header("if_sequence_number_equal_to", if_sequence_number_equal_to, 'long') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + upload_pages_from_url.metadata = {'url': '/{containerName}/{blob}'} + async def get_page_ranges(self, snapshot=None, timeout=None, range=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): """The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a page blob. @@ -478,17 +731,18 @@ async def get_page_ranges(self, snapshot=None, timeout=None, range=None, request :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: PageList or the result of cls(response) - :rtype: ~blob.models.PageList + :rtype: ~azure.storage.blob.models.PageList :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -560,6 +814,7 @@ async def get_page_ranges(self, snapshot=None, timeout=None, range=None, request 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'ETag': self._deserialize('str', response.headers.get('ETag')), 'x-ms-blob-content-length': self._deserialize('long', response.headers.get('x-ms-blob-content-length')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -573,8 +828,8 @@ async def get_page_ranges(self, snapshot=None, timeout=None, range=None, request get_page_ranges.metadata = {'url': '/{containerName}/{blob}'} async def get_page_ranges_diff(self, snapshot=None, timeout=None, prevsnapshot=None, range=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): - """[Update] The Get Page Ranges Diff operation returns the list of valid - page ranges for a page blob that were changed between target blob and + """The Get Page Ranges Diff operation returns the list of valid page + ranges for a page blob that were changed between target blob and previous snapshot. :param snapshot: The snapshot parameter is an opaque DateTime value @@ -606,17 +861,18 @@ async def get_page_ranges_diff(self, snapshot=None, timeout=None, prevsnapshot=N :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: PageList or the result of cls(response) - :rtype: ~blob.models.PageList + :rtype: ~azure.storage.blob.models.PageList :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -690,6 +946,7 @@ async def get_page_ranges_diff(self, snapshot=None, timeout=None, prevsnapshot=N 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'ETag': self._deserialize('str', response.headers.get('ETag')), 'x-ms-blob-content-length': self._deserialize('long', response.headers.get('x-ms-blob-content-length')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -702,7 +959,7 @@ async def get_page_ranges_diff(self, snapshot=None, timeout=None, prevsnapshot=N return deserialized get_page_ranges_diff.metadata = {'url': '/{containerName}/{blob}'} - async def resize(self, blob_content_length, timeout=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + async def resize(self, blob_content_length, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, *, cls=None, **kwargs): """Resize the Blob. :param blob_content_length: This header specifies the maximum size for @@ -720,22 +977,34 @@ async def resize(self, blob_content_length, timeout=None, request_id=None, lease :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -772,6 +1041,12 @@ async def resize(self, blob_content_length, timeout=None, request_id=None, lease header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -795,6 +1070,7 @@ async def resize(self, blob_content_length, timeout=None, request_id=None, lease 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -812,7 +1088,7 @@ async def update_sequence_number(self, sequence_number_action, timeout=None, blo should modify the blob's sequence number. Possible values include: 'max', 'update', 'increment' :type sequence_number_action: str or - ~blob.models.SequenceNumberActionType + ~azure.storage.blob.models.SequenceNumberActionType :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -828,17 +1104,18 @@ async def update_sequence_number(self, sequence_number_action, timeout=None, blo :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -905,6 +1182,7 @@ async def update_sequence_number(self, sequence_number_action, timeout=None, blo 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -939,13 +1217,13 @@ async def copy_incremental(self, copy_source, timeout=None, request_id=None, mod :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -1004,6 +1282,7 @@ async def copy_incremental(self, copy_source, timeout=None, request_id=None, mod response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_service_operations_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_service_operations_async.py index 511bb3251af8..b62063c8eb9b 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_service_operations_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations_async/_service_operations_async.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -43,7 +42,7 @@ async def set_properties(self, storage_service_properties, timeout=None, request :param storage_service_properties: The StorageService properties. :type storage_service_properties: - ~blob.models.StorageServiceProperties + ~azure.storage.blob.models.StorageServiceProperties :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -58,7 +57,7 @@ async def set_properties(self, storage_service_properties, timeout=None, request :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "service" @@ -99,6 +98,7 @@ async def set_properties(self, storage_service_properties, timeout=None, request if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), @@ -123,9 +123,9 @@ async def get_properties(self, timeout=None, request_id=None, *, cls=None, **kwa :param callable cls: A custom type or function that will be passed the direct response :return: StorageServiceProperties or the result of cls(response) - :rtype: ~blob.models.StorageServiceProperties + :rtype: ~azure.storage.blob.models.StorageServiceProperties :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "service" @@ -166,6 +166,7 @@ async def get_properties(self, timeout=None, request_id=None, *, cls=None, **kwa if response.status_code == 200: deserialized = self._deserialize('StorageServiceProperties', response) header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), @@ -194,9 +195,9 @@ async def get_statistics(self, timeout=None, request_id=None, *, cls=None, **kwa :param callable cls: A custom type or function that will be passed the direct response :return: StorageServiceStats or the result of cls(response) - :rtype: ~blob.models.StorageServiceStats + :rtype: ~azure.storage.blob.models.StorageServiceStats :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "service" @@ -237,6 +238,7 @@ async def get_statistics(self, timeout=None, request_id=None, *, cls=None, **kwa if response.status_code == 200: deserialized = self._deserialize('StorageServiceStats', response) header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -276,7 +278,8 @@ async def list_containers_segment(self, prefix=None, marker=None, maxresults=Non :param include: Include this parameter to specify that the container's metadata be returned as part of the response body. Possible values include: 'metadata' - :type include: str or ~blob.models.ListContainersIncludeType + :type include: str or + ~azure.storage.blob.models.ListContainersIncludeType :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -289,9 +292,9 @@ async def list_containers_segment(self, prefix=None, marker=None, maxresults=Non :param callable cls: A custom type or function that will be passed the direct response :return: ListContainersSegmentResponse or the result of cls(response) - :rtype: ~blob.models.ListContainersSegmentResponse + :rtype: ~azure.storage.blob.models.ListContainersSegmentResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "list" @@ -338,6 +341,7 @@ async def list_containers_segment(self, prefix=None, marker=None, maxresults=Non if response.status_code == 200: deserialized = self._deserialize('ListContainersSegmentResponse', response) header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), @@ -349,6 +353,84 @@ async def list_containers_segment(self, prefix=None, marker=None, maxresults=Non return deserialized list_containers_segment.metadata = {'url': '/'} + async def get_user_delegation_key(self, key_info, timeout=None, request_id=None, *, cls=None, **kwargs): + """Retrieves a user delegation key for the Blob service. This is only a + valid operation when using bearer token authentication. + + :param key_info: + :type key_info: ~azure.storage.blob.models.KeyInfo + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: UserDelegationKey or the result of cls(response) + :rtype: ~azure.storage.blob.models.UserDelegationKey + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "service" + comp = "userdelegationkey" + + # Construct URL + url = self.get_user_delegation_key.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct body + body_content = self._serialize.body(key_info, 'KeyInfo') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('UserDelegationKey', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_user_delegation_key.metadata = {'url': '/'} + async def get_account_info(self, *, cls=None, **kwargs): """Returns the sku name and account kind . @@ -357,7 +439,7 @@ async def get_account_info(self, *, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "account" @@ -390,6 +472,7 @@ async def get_account_info(self, *, cls=None, **kwargs): if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -399,3 +482,86 @@ async def get_account_info(self, *, cls=None, **kwargs): } return cls(response, None, response_headers) get_account_info.metadata = {'url': '/'} + + async def submit_batch(self, body, content_length, multipart_content_type, timeout=None, request_id=None, *, cls=None, **kwargs): + """The Batch operation allows multiple API calls to be embedded into a + single HTTP request. + + :param body: Initial data + :type body: Generator + :param content_length: The length of the request. + :type content_length: long + :param multipart_content_type: Required. The value of this header must + be multipart/mixed with a batch boundary. Example header value: + multipart/mixed; boundary=batch_ + :type multipart_content_type: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: object or the result of cls(response) + :rtype: Generator + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "batch" + + # Construct URL + url = self.submit_batch.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + header_parameters['Content-Type'] = self._serialize.header("multipart_content_type", multipart_content_type, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct body + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = await self._client._pipeline.run(request, stream=True, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + await response.load_body() + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + submit_batch.metadata = {'url': '/'} diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/__init__.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/__init__.py index 57b0962c02fd..1d46db85be33 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/__init__.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/__init__.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file try: from ._models_py3 import AccessPolicy @@ -17,6 +16,7 @@ from ._models_py3 import BlobHierarchyListSegment from ._models_py3 import BlobHTTPHeaders from ._models_py3 import BlobItem + from ._models_py3 import BlobMetadata from ._models_py3 import BlobPrefix from ._models_py3 import BlobProperties from ._models_py3 import Block @@ -26,7 +26,12 @@ from ._models_py3 import ContainerItem from ._models_py3 import ContainerProperties from ._models_py3 import CorsRule + from ._models_py3 import CpkInfo + from ._models_py3 import DataLakeStorageError, DataLakeStorageErrorException + from ._models_py3 import DataLakeStorageErrorError + from ._models_py3 import DirectoryHttpHeaders from ._models_py3 import GeoReplication + from ._models_py3 import KeyInfo from ._models_py3 import LeaseAccessConditions from ._models_py3 import ListBlobsFlatSegmentResponse from ._models_py3 import ListBlobsHierarchySegmentResponse @@ -44,6 +49,7 @@ from ._models_py3 import StorageError, StorageErrorException from ._models_py3 import StorageServiceProperties from ._models_py3 import StorageServiceStats + from ._models_py3 import UserDelegationKey except (SyntaxError, ImportError): from ._models import AccessPolicy from ._models import AppendPositionAccessConditions @@ -51,6 +57,7 @@ from ._models import BlobHierarchyListSegment from ._models import BlobHTTPHeaders from ._models import BlobItem + from ._models import BlobMetadata from ._models import BlobPrefix from ._models import BlobProperties from ._models import Block @@ -60,7 +67,12 @@ from ._models import ContainerItem from ._models import ContainerProperties from ._models import CorsRule + from ._models import CpkInfo + from ._models import DataLakeStorageError, DataLakeStorageErrorException + from ._models import DataLakeStorageErrorError + from ._models import DirectoryHttpHeaders from ._models import GeoReplication + from ._models import KeyInfo from ._models import LeaseAccessConditions from ._models import ListBlobsFlatSegmentResponse from ._models import ListBlobsHierarchySegmentResponse @@ -78,24 +90,31 @@ from ._models import StorageError, StorageErrorException from ._models import StorageServiceProperties from ._models import StorageServiceStats + from ._models import UserDelegationKey from ._azure_blob_storage_enums import ( AccessTier, + AccessTierOptional, + AccessTierRequired, AccountKind, ArchiveStatus, BlobType, BlockListType, CopyStatusType, DeleteSnapshotsOptionType, + EncryptionAlgorithmType, GeoReplicationStatusType, LeaseDurationType, LeaseStateType, LeaseStatusType, ListBlobsIncludeItem, ListContainersIncludeType, + PathRenameMode, PublicAccessType, + RehydratePriority, SequenceNumberActionType, SkuName, StorageErrorCode, + SyncCopyStatusType, ) __all__ = [ @@ -105,6 +124,7 @@ 'BlobHierarchyListSegment', 'BlobHTTPHeaders', 'BlobItem', + 'BlobMetadata', 'BlobPrefix', 'BlobProperties', 'Block', @@ -114,7 +134,12 @@ 'ContainerItem', 'ContainerProperties', 'CorsRule', + 'CpkInfo', + 'DataLakeStorageError', 'DataLakeStorageErrorException', + 'DataLakeStorageErrorError', + 'DirectoryHttpHeaders', 'GeoReplication', + 'KeyInfo', 'LeaseAccessConditions', 'ListBlobsFlatSegmentResponse', 'ListBlobsHierarchySegmentResponse', @@ -132,6 +157,7 @@ 'StorageError', 'StorageErrorException', 'StorageServiceProperties', 'StorageServiceStats', + 'UserDelegationKey', 'PublicAccessType', 'CopyStatusType', 'LeaseDurationType', @@ -142,11 +168,17 @@ 'BlobType', 'StorageErrorCode', 'GeoReplicationStatusType', + 'AccessTierRequired', + 'AccessTierOptional', + 'RehydratePriority', 'BlockListType', 'DeleteSnapshotsOptionType', + 'EncryptionAlgorithmType', 'ListBlobsIncludeItem', 'ListContainersIncludeType', + 'PathRenameMode', 'SequenceNumberActionType', 'SkuName', 'AccountKind', + 'SyncCopyStatusType', ] diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_azure_blob_storage_enums.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_azure_blob_storage_enums.py index 7967cdffe70e..36eb9daaf70f 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_azure_blob_storage_enums.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_azure_blob_storage_enums.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from enum import Enum @@ -53,10 +52,14 @@ class AccessTier(str, Enum): p4 = "P4" p6 = "P6" p10 = "P10" + p15 = "P15" p20 = "P20" p30 = "P30" p40 = "P40" p50 = "P50" + p60 = "P60" + p70 = "P70" + p80 = "P80" hot = "Hot" cool = "Cool" archive = "Archive" @@ -191,6 +194,48 @@ class GeoReplicationStatusType(str, Enum): unavailable = "unavailable" +class AccessTierRequired(str, Enum): + + p4 = "P4" + p6 = "P6" + p10 = "P10" + p15 = "P15" + p20 = "P20" + p30 = "P30" + p40 = "P40" + p50 = "P50" + p60 = "P60" + p70 = "P70" + p80 = "P80" + hot = "Hot" + cool = "Cool" + archive = "Archive" + + +class AccessTierOptional(str, Enum): + + p4 = "P4" + p6 = "P6" + p10 = "P10" + p15 = "P15" + p20 = "P20" + p30 = "P30" + p40 = "P40" + p50 = "P50" + p60 = "P60" + p70 = "P70" + p80 = "P80" + hot = "Hot" + cool = "Cool" + archive = "Archive" + + +class RehydratePriority(str, Enum): + + high = "High" + standard = "Standard" + + class BlockListType(str, Enum): committed = "committed" @@ -204,13 +249,18 @@ class DeleteSnapshotsOptionType(str, Enum): only = "only" +class EncryptionAlgorithmType(str, Enum): + + aes256 = "AES256" + + class ListBlobsIncludeItem(str, Enum): - snapshots = "snapshots" - metadata = "metadata" - uncommittedblobs = "uncommittedblobs" copy = "copy" deleted = "deleted" + metadata = "metadata" + snapshots = "snapshots" + uncommittedblobs = "uncommittedblobs" class ListContainersIncludeType(str, Enum): @@ -218,6 +268,12 @@ class ListContainersIncludeType(str, Enum): metadata = "metadata" +class PathRenameMode(str, Enum): + + legacy = "legacy" + posix = "posix" + + class SequenceNumberActionType(str, Enum): max = "max" @@ -239,3 +295,8 @@ class AccountKind(str, Enum): storage = "Storage" blob_storage = "BlobStorage" storage_v2 = "StorageV2" + + +class SyncCopyStatusType(str, Enum): + + success = "success" diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models.py index 9ad7e74f6478..47e686013216 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from msrest.serialization import Model from azure.core import HttpResponseError @@ -19,12 +18,10 @@ class AccessPolicy(Model): All required parameters must be populated in order to send to Azure. - :param start: Required. the date-time the policy is active. - The date should be exactly in this 019-05-23T21:21:28Z format - :type start: datetime + :param start: Required. the date-time the policy is active + :type start: str :param expiry: Required. the date-time the policy expires - The date should be exactly in this 019-05-23T21:21:28Z format - :type expiry: datetime + :type expiry: str :param permission: Required. the permissions for the acl policy :type permission: str """ @@ -51,7 +48,8 @@ def __init__(self, **kwargs): class AppendPositionAccessConditions(Model): - """Additional parameters for append_block operation. + """Additional parameters for a set of operations, such as: + AppendBlob_append_block, AppendBlob_append_block_from_url. :param max_size: Optional conditional header. The max length in bytes permitted for the append blob. If the Append Block operation would cause @@ -88,7 +86,7 @@ class BlobFlatListSegment(Model): All required parameters must be populated in order to send to Azure. :param blob_items: Required. - :type blob_items: list[~blob.models.BlobItem] + :type blob_items: list[~azure.storage.blob.models.BlobItem] """ _validation = { @@ -113,9 +111,9 @@ class BlobHierarchyListSegment(Model): All required parameters must be populated in order to send to Azure. :param blob_prefixes: - :type blob_prefixes: list[~blob.models.BlobPrefix] + :type blob_prefixes: list[~azure.storage.blob.models.BlobPrefix] :param blob_items: Required. - :type blob_items: list[~blob.models.BlobItem] + :type blob_items: list[~azure.storage.blob.models.BlobItem] """ _validation = { @@ -197,9 +195,9 @@ class BlobItem(Model): :param snapshot: Required. :type snapshot: str :param properties: Required. - :type properties: ~blob.models.BlobProperties + :type properties: ~azure.storage.blob.models.BlobProperties :param metadata: - :type metadata: dict[str, str] + :type metadata: ~azure.storage.blob.models.BlobMetadata """ _validation = { @@ -214,7 +212,7 @@ class BlobItem(Model): 'deleted': {'key': 'Deleted', 'type': 'bool', 'xml': {'name': 'Deleted'}}, 'snapshot': {'key': 'Snapshot', 'type': 'str', 'xml': {'name': 'Snapshot'}}, 'properties': {'key': 'Properties', 'type': 'BlobProperties', 'xml': {'name': 'Properties'}}, - 'metadata': {'key': 'Metadata', 'type': '{str}', 'xml': {'name': 'Metadata'}}, + 'metadata': {'key': 'Metadata', 'type': 'BlobMetadata', 'xml': {'name': 'Metadata'}}, } _xml_map = { 'name': 'Blob' @@ -229,6 +227,30 @@ def __init__(self, **kwargs): self.metadata = kwargs.get('metadata', None) +class BlobMetadata(Model): + """BlobMetadata. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, str] + :param encrypted: + :type encrypted: str + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{str}', 'xml': {'name': 'additional_properties'}}, + 'encrypted': {'key': 'Encrypted', 'type': 'str', 'xml': {'name': 'Encrypted', 'attr': True}}, + } + _xml_map = { + 'name': 'Metadata' + } + + def __init__(self, **kwargs): + super(BlobMetadata, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.encrypted = kwargs.get('encrypted', None) + + class BlobPrefix(Model): """BlobPrefix. @@ -282,19 +304,19 @@ class BlobProperties(Model): :type blob_sequence_number: long :param blob_type: Possible values include: 'BlockBlob', 'PageBlob', 'AppendBlob' - :type blob_type: str or ~blob.models.BlobType + :type blob_type: str or ~azure.storage.blob.models.BlobType :param lease_status: Possible values include: 'locked', 'unlocked' - :type lease_status: str or ~blob.models.LeaseStatusType + :type lease_status: str or ~azure.storage.blob.models.LeaseStatusType :param lease_state: Possible values include: 'available', 'leased', 'expired', 'breaking', 'broken' - :type lease_state: str or ~blob.models.LeaseStateType + :type lease_state: str or ~azure.storage.blob.models.LeaseStateType :param lease_duration: Possible values include: 'infinite', 'fixed' - :type lease_duration: str or ~blob.models.LeaseDurationType + :type lease_duration: str or ~azure.storage.blob.models.LeaseDurationType :param copy_id: :type copy_id: str :param copy_status: Possible values include: 'pending', 'success', 'aborted', 'failed' - :type copy_status: str or ~blob.models.CopyStatusType + :type copy_status: str or ~azure.storage.blob.models.CopyStatusType :param copy_source: :type copy_source: str :param copy_progress: @@ -313,14 +335,16 @@ class BlobProperties(Model): :type deleted_time: datetime :param remaining_retention_days: :type remaining_retention_days: int - :param access_tier: Possible values include: 'P4', 'P6', 'P10', 'P20', - 'P30', 'P40', 'P50', 'Hot', 'Cool', 'Archive' - :type access_tier: str or ~blob.models.AccessTier + :param access_tier: Possible values include: 'P4', 'P6', 'P10', 'P15', + 'P20', 'P30', 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type access_tier: str or ~azure.storage.blob.models.AccessTier :param access_tier_inferred: :type access_tier_inferred: bool :param archive_status: Possible values include: 'rehydrate-pending-to-hot', 'rehydrate-pending-to-cool' - :type archive_status: str or ~blob.models.ArchiveStatus + :type archive_status: str or ~azure.storage.blob.models.ArchiveStatus + :param customer_provided_key_sha256: + :type customer_provided_key_sha256: str :param access_tier_change_time: :type access_tier_change_time: datetime """ @@ -360,6 +384,7 @@ class BlobProperties(Model): 'access_tier': {'key': 'AccessTier', 'type': 'str', 'xml': {'name': 'AccessTier'}}, 'access_tier_inferred': {'key': 'AccessTierInferred', 'type': 'bool', 'xml': {'name': 'AccessTierInferred'}}, 'archive_status': {'key': 'ArchiveStatus', 'type': 'str', 'xml': {'name': 'ArchiveStatus'}}, + 'customer_provided_key_sha256': {'key': 'CustomerProvidedKeySha256', 'type': 'str', 'xml': {'name': 'CustomerProvidedKeySha256'}}, 'access_tier_change_time': {'key': 'AccessTierChangeTime', 'type': 'rfc-1123', 'xml': {'name': 'AccessTierChangeTime'}}, } _xml_map = { @@ -397,6 +422,7 @@ def __init__(self, **kwargs): self.access_tier = kwargs.get('access_tier', None) self.access_tier_inferred = kwargs.get('access_tier_inferred', None) self.archive_status = kwargs.get('archive_status', None) + self.customer_provided_key_sha256 = kwargs.get('customer_provided_key_sha256', None) self.access_tier_change_time = kwargs.get('access_tier_change_time', None) @@ -434,9 +460,9 @@ class BlockList(Model): """BlockList. :param committed_blocks: - :type committed_blocks: list[~blob.models.Block] + :type committed_blocks: list[~azure.storage.blob.models.Block] :param uncommitted_blocks: - :type uncommitted_blocks: list[~blob.models.Block] + :type uncommitted_blocks: list[~azure.storage.blob.models.Block] """ _attribute_map = { @@ -517,7 +543,7 @@ class ContainerItem(Model): :param name: Required. :type name: str :param properties: Required. - :type properties: ~blob.models.ContainerProperties + :type properties: ~azure.storage.blob.models.ContainerProperties :param metadata: :type metadata: dict[str, str] """ @@ -553,14 +579,14 @@ class ContainerProperties(Model): :param etag: Required. :type etag: str :param lease_status: Possible values include: 'locked', 'unlocked' - :type lease_status: str or ~blob.models.LeaseStatusType + :type lease_status: str or ~azure.storage.blob.models.LeaseStatusType :param lease_state: Possible values include: 'available', 'leased', 'expired', 'breaking', 'broken' - :type lease_state: str or ~blob.models.LeaseStateType + :type lease_state: str or ~azure.storage.blob.models.LeaseStateType :param lease_duration: Possible values include: 'infinite', 'fixed' - :type lease_duration: str or ~blob.models.LeaseDurationType + :type lease_duration: str or ~azure.storage.blob.models.LeaseDurationType :param public_access: Possible values include: 'container', 'blob' - :type public_access: str or ~blob.models.PublicAccessType + :type public_access: str or ~azure.storage.blob.models.PublicAccessType :param has_immutability_policy: :type has_immutability_policy: bool :param has_legal_hold: @@ -655,6 +681,131 @@ def __init__(self, **kwargs): self.max_age_in_seconds = kwargs.get('max_age_in_seconds', None) +class CpkInfo(Model): + """Additional parameters for a set of operations. + + :param encryption_key: Optional. Specifies the encryption key to use to + encrypt the data provided in the request. If not specified, encryption is + performed with the root account encryption key. For more information, see + Encryption at Rest for Azure Storage Services. + :type encryption_key: str + :param encryption_key_sha256: The SHA-256 hash of the provided encryption + key. Must be provided if the x-ms-encryption-key header is provided. + :type encryption_key_sha256: str + :param encryption_algorithm: The algorithm used to produce the encryption + key hash. Currently, the only accepted value is "AES256". Must be provided + if the x-ms-encryption-key header is provided. Possible values include: + 'AES256' + :type encryption_algorithm: str or + ~azure.storage.blob.models.EncryptionAlgorithmType + """ + + _attribute_map = { + 'encryption_key': {'key': '', 'type': 'str', 'xml': {'name': 'encryption_key'}}, + 'encryption_key_sha256': {'key': '', 'type': 'str', 'xml': {'name': 'encryption_key_sha256'}}, + 'encryption_algorithm': {'key': '', 'type': 'EncryptionAlgorithmType', 'xml': {'name': 'encryption_algorithm'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(CpkInfo, self).__init__(**kwargs) + self.encryption_key = kwargs.get('encryption_key', None) + self.encryption_key_sha256 = kwargs.get('encryption_key_sha256', None) + self.encryption_algorithm = kwargs.get('encryption_algorithm', None) + + +class DataLakeStorageError(Model): + """DataLakeStorageError. + + :param error: The service error response object. + :type error: ~azure.storage.blob.models.DataLakeStorageErrorError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'DataLakeStorageErrorError', 'xml': {'name': 'error'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(DataLakeStorageError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class DataLakeStorageErrorException(HttpResponseError): + """Server responsed with exception of type: 'DataLakeStorageError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, response, deserialize, *args): + + model_name = 'DataLakeStorageError' + self.error = deserialize(model_name, response) + if self.error is None: + self.error = deserialize.dependencies[model_name]() + super(DataLakeStorageErrorException, self).__init__(response=response) + + +class DataLakeStorageErrorError(Model): + """The service error response object. + + :param code: The service error code. + :type code: str + :param message: The service error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'Code', 'type': 'str', 'xml': {'name': 'Code'}}, + 'message': {'key': 'Message', 'type': 'str', 'xml': {'name': 'Message'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(DataLakeStorageErrorError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class DirectoryHttpHeaders(Model): + """Additional parameters for a set of operations, such as: Directory_create, + Directory_rename, Blob_rename. + + :param cache_control: Cache control for given resource + :type cache_control: str + :param content_type: Content type for given resource + :type content_type: str + :param content_encoding: Content encoding for given resource + :type content_encoding: str + :param content_language: Content language for given resource + :type content_language: str + :param content_disposition: Content disposition for given resource + :type content_disposition: str + """ + + _attribute_map = { + 'cache_control': {'key': '', 'type': 'str', 'xml': {'name': 'cache_control'}}, + 'content_type': {'key': '', 'type': 'str', 'xml': {'name': 'content_type'}}, + 'content_encoding': {'key': '', 'type': 'str', 'xml': {'name': 'content_encoding'}}, + 'content_language': {'key': '', 'type': 'str', 'xml': {'name': 'content_language'}}, + 'content_disposition': {'key': '', 'type': 'str', 'xml': {'name': 'content_disposition'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(DirectoryHttpHeaders, self).__init__(**kwargs) + self.cache_control = kwargs.get('cache_control', None) + self.content_type = kwargs.get('content_type', None) + self.content_encoding = kwargs.get('content_encoding', None) + self.content_language = kwargs.get('content_language', None) + self.content_disposition = kwargs.get('content_disposition', None) + + class GeoReplication(Model): """Geo-Replication information for the Secondary Storage Service. @@ -662,7 +813,7 @@ class GeoReplication(Model): :param status: Required. The status of the secondary location. Possible values include: 'live', 'bootstrap', 'unavailable' - :type status: str or ~blob.models.GeoReplicationStatusType + :type status: str or ~azure.storage.blob.models.GeoReplicationStatusType :param last_sync_time: Required. A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time @@ -688,6 +839,37 @@ def __init__(self, **kwargs): self.last_sync_time = kwargs.get('last_sync_time', None) +class KeyInfo(Model): + """Key information. + + All required parameters must be populated in order to send to Azure. + + :param start: Required. The date-time the key is active in ISO 8601 UTC + time + :type start: str + :param expiry: Required. The date-time the key expires in ISO 8601 UTC + time + :type expiry: str + """ + + _validation = { + 'start': {'required': True}, + 'expiry': {'required': True}, + } + + _attribute_map = { + 'start': {'key': 'Start', 'type': 'str', 'xml': {'name': 'Start'}}, + 'expiry': {'key': 'Expiry', 'type': 'str', 'xml': {'name': 'Expiry'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(KeyInfo, self).__init__(**kwargs) + self.start = kwargs.get('start', None) + self.expiry = kwargs.get('expiry', None) + + class LeaseAccessConditions(Model): """Additional parameters for a set of operations. @@ -716,29 +898,24 @@ class ListBlobsFlatSegmentResponse(Model): :type service_endpoint: str :param container_name: Required. :type container_name: str - :param prefix: Required. + :param prefix: :type prefix: str - :param marker: Required. + :param marker: :type marker: str - :param max_results: Required. + :param max_results: :type max_results: int - :param delimiter: Required. + :param delimiter: :type delimiter: str :param segment: Required. - :type segment: ~blob.models.BlobFlatListSegment - :param next_marker: Required. + :type segment: ~azure.storage.blob.models.BlobFlatListSegment + :param next_marker: :type next_marker: str """ _validation = { 'service_endpoint': {'required': True}, 'container_name': {'required': True}, - 'prefix': {'required': True}, - 'marker': {'required': True}, - 'max_results': {'required': True}, - 'delimiter': {'required': True}, 'segment': {'required': True}, - 'next_marker': {'required': True}, } _attribute_map = { @@ -776,29 +953,24 @@ class ListBlobsHierarchySegmentResponse(Model): :type service_endpoint: str :param container_name: Required. :type container_name: str - :param prefix: Required. + :param prefix: :type prefix: str - :param marker: Required. + :param marker: :type marker: str - :param max_results: Required. + :param max_results: :type max_results: int - :param delimiter: Required. + :param delimiter: :type delimiter: str :param segment: Required. - :type segment: ~blob.models.BlobHierarchyListSegment - :param next_marker: Required. + :type segment: ~azure.storage.blob.models.BlobHierarchyListSegment + :param next_marker: :type next_marker: str """ _validation = { 'service_endpoint': {'required': True}, 'container_name': {'required': True}, - 'prefix': {'required': True}, - 'marker': {'required': True}, - 'max_results': {'required': True}, - 'delimiter': {'required': True}, 'segment': {'required': True}, - 'next_marker': {'required': True}, } _attribute_map = { @@ -834,24 +1006,21 @@ class ListContainersSegmentResponse(Model): :param service_endpoint: Required. :type service_endpoint: str - :param prefix: Required. + :param prefix: :type prefix: str :param marker: :type marker: str - :param max_results: Required. + :param max_results: :type max_results: int :param container_items: Required. - :type container_items: list[~blob.models.ContainerItem] - :param next_marker: Required. + :type container_items: list[~azure.storage.blob.models.ContainerItem] + :param next_marker: :type next_marker: str """ _validation = { 'service_endpoint': {'required': True}, - 'prefix': {'required': True}, - 'max_results': {'required': True}, 'container_items': {'required': True}, - 'next_marker': {'required': True}, } _attribute_map = { @@ -893,7 +1062,7 @@ class Logging(Model): logged. :type write: bool :param retention_policy: Required. - :type retention_policy: ~blob.models.RetentionPolicy + :type retention_policy: ~azure.storage.blob.models.RetentionPolicy """ _validation = { @@ -938,7 +1107,7 @@ class Metrics(Model): statistics for called API operations. :type include_apis: bool :param retention_policy: - :type retention_policy: ~blob.models.RetentionPolicy + :type retention_policy: ~azure.storage.blob.models.RetentionPolicy """ _validation = { @@ -1000,9 +1169,9 @@ class PageList(Model): """the list of pages. :param page_range: - :type page_range: list[~blob.models.PageRange] + :type page_range: list[~azure.storage.blob.models.PageRange] :param clear_range: - :type clear_range: list[~blob.models.ClearRange] + :type clear_range: list[~azure.storage.blob.models.ClearRange] """ _attribute_map = { @@ -1083,7 +1252,8 @@ def __init__(self, **kwargs): class SequenceNumberAccessConditions(Model): """Additional parameters for a set of operations, such as: - PageBlob_upload_pages, PageBlob_clear_pages. + PageBlob_upload_pages, PageBlob_clear_pages, + PageBlob_upload_pages_from_url. :param if_sequence_number_less_than_or_equal_to: Specify this header value to operate only on a blob if it has a sequence number less than or equal @@ -1119,13 +1289,12 @@ class SignedIdentifier(Model): :param id: Required. a unique id :type id: str - :param access_policy: Required. - :type access_policy: ~blob.models.AccessPolicy + :param access_policy: + :type access_policy: ~azure.storage.blob.models.AccessPolicy """ _validation = { 'id': {'required': True}, - 'access_policy': {'required': True}, } _attribute_map = { @@ -1133,6 +1302,7 @@ class SignedIdentifier(Model): 'access_policy': {'key': 'AccessPolicy', 'type': 'AccessPolicy', 'xml': {'name': 'AccessPolicy'}}, } _xml_map = { + 'name': 'SignedIdentifier' } def __init__(self, **kwargs): @@ -1142,7 +1312,7 @@ def __init__(self, **kwargs): class SourceModifiedAccessConditions(Model): - """Additional parameters for start_copy_from_url operation. + """Additional parameters for a set of operations. :param source_if_modified_since: Specify this header value to operate only on a blob if it has been modified since the specified date/time. @@ -1247,21 +1417,21 @@ class StorageServiceProperties(Model): """Storage Service Properties. :param logging: - :type logging: ~blob.models.Logging + :type logging: ~azure.storage.blob.models.Logging :param hour_metrics: - :type hour_metrics: ~blob.models.Metrics + :type hour_metrics: ~azure.storage.blob.models.Metrics :param minute_metrics: - :type minute_metrics: ~blob.models.Metrics + :type minute_metrics: ~azure.storage.blob.models.Metrics :param cors: The set of CORS rules. - :type cors: list[~blob.models.CorsRule] + :type cors: list[~azure.storage.blob.models.CorsRule] :param default_service_version: The default version to use for requests to the Blob service if an incoming request's version is not specified. Possible values include version 2008-10-27 and all more recent versions :type default_service_version: str :param delete_retention_policy: - :type delete_retention_policy: ~blob.models.RetentionPolicy + :type delete_retention_policy: ~azure.storage.blob.models.RetentionPolicy :param static_website: - :type static_website: ~blob.models.StaticWebsite + :type static_website: ~azure.storage.blob.models.StaticWebsite """ _attribute_map = { @@ -1291,7 +1461,7 @@ class StorageServiceStats(Model): """Stats for the storage service. :param geo_replication: - :type geo_replication: ~blob.models.GeoReplication + :type geo_replication: ~azure.storage.blob.models.GeoReplication """ _attribute_map = { @@ -1303,3 +1473,60 @@ class StorageServiceStats(Model): def __init__(self, **kwargs): super(StorageServiceStats, self).__init__(**kwargs) self.geo_replication = kwargs.get('geo_replication', None) + + +class UserDelegationKey(Model): + """A user delegation key. + + All required parameters must be populated in order to send to Azure. + + :param signed_oid: Required. The Azure Active Directory object ID in GUID + format. + :type signed_oid: str + :param signed_tid: Required. The Azure Active Directory tenant ID in GUID + format + :type signed_tid: str + :param signed_start: Required. The date-time the key is active + :type signed_start: datetime + :param signed_expiry: Required. The date-time the key expires + :type signed_expiry: datetime + :param signed_service: Required. Abbreviation of the Azure Storage service + that accepts the key + :type signed_service: str + :param signed_version: Required. The service version that created the key + :type signed_version: str + :param value: Required. The key as a base64 string + :type value: str + """ + + _validation = { + 'signed_oid': {'required': True}, + 'signed_tid': {'required': True}, + 'signed_start': {'required': True}, + 'signed_expiry': {'required': True}, + 'signed_service': {'required': True}, + 'signed_version': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'signed_oid': {'key': 'SignedOid', 'type': 'str', 'xml': {'name': 'SignedOid'}}, + 'signed_tid': {'key': 'SignedTid', 'type': 'str', 'xml': {'name': 'SignedTid'}}, + 'signed_start': {'key': 'SignedStart', 'type': 'iso-8601', 'xml': {'name': 'SignedStart'}}, + 'signed_expiry': {'key': 'SignedExpiry', 'type': 'iso-8601', 'xml': {'name': 'SignedExpiry'}}, + 'signed_service': {'key': 'SignedService', 'type': 'str', 'xml': {'name': 'SignedService'}}, + 'signed_version': {'key': 'SignedVersion', 'type': 'str', 'xml': {'name': 'SignedVersion'}}, + 'value': {'key': 'Value', 'type': 'str', 'xml': {'name': 'Value'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(UserDelegationKey, self).__init__(**kwargs) + self.signed_oid = kwargs.get('signed_oid', None) + self.signed_tid = kwargs.get('signed_tid', None) + self.signed_start = kwargs.get('signed_start', None) + self.signed_expiry = kwargs.get('signed_expiry', None) + self.signed_service = kwargs.get('signed_service', None) + self.signed_version = kwargs.get('signed_version', None) + self.value = kwargs.get('value', None) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models_py3.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models_py3.py index 091fb7ec8e1e..ae5f71b0b5ff 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models_py3.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/models/_models_py3.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from msrest.serialization import Model from azure.core import HttpResponseError @@ -20,11 +19,9 @@ class AccessPolicy(Model): All required parameters must be populated in order to send to Azure. :param start: Required. the date-time the policy is active - The date should be exactly in this 019-05-23T21:21:28Z format - :type start: datetime + :type start: str :param expiry: Required. the date-time the policy expires - The date should be exactly in this 019-05-23T21:21:28Z format - :type expiry: datetime + :type expiry: str :param permission: Required. the permissions for the acl policy :type permission: str """ @@ -43,7 +40,7 @@ class AccessPolicy(Model): _xml_map = { } - def __init__(self, *, start, expiry, permission: str, **kwargs) -> None: + def __init__(self, *, start: str, expiry: str, permission: str, **kwargs) -> None: super(AccessPolicy, self).__init__(**kwargs) self.start = start self.expiry = expiry @@ -51,7 +48,8 @@ def __init__(self, *, start, expiry, permission: str, **kwargs) -> None: class AppendPositionAccessConditions(Model): - """Additional parameters for append_block operation. + """Additional parameters for a set of operations, such as: + AppendBlob_append_block, AppendBlob_append_block_from_url. :param max_size: Optional conditional header. The max length in bytes permitted for the append blob. If the Append Block operation would cause @@ -88,7 +86,7 @@ class BlobFlatListSegment(Model): All required parameters must be populated in order to send to Azure. :param blob_items: Required. - :type blob_items: list[~blob.models.BlobItem] + :type blob_items: list[~azure.storage.blob.models.BlobItem] """ _validation = { @@ -113,9 +111,9 @@ class BlobHierarchyListSegment(Model): All required parameters must be populated in order to send to Azure. :param blob_prefixes: - :type blob_prefixes: list[~blob.models.BlobPrefix] + :type blob_prefixes: list[~azure.storage.blob.models.BlobPrefix] :param blob_items: Required. - :type blob_items: list[~blob.models.BlobItem] + :type blob_items: list[~azure.storage.blob.models.BlobItem] """ _validation = { @@ -197,9 +195,9 @@ class BlobItem(Model): :param snapshot: Required. :type snapshot: str :param properties: Required. - :type properties: ~blob.models.BlobProperties + :type properties: ~azure.storage.blob.models.BlobProperties :param metadata: - :type metadata: dict[str, str] + :type metadata: ~azure.storage.blob.models.BlobMetadata """ _validation = { @@ -214,7 +212,7 @@ class BlobItem(Model): 'deleted': {'key': 'Deleted', 'type': 'bool', 'xml': {'name': 'Deleted'}}, 'snapshot': {'key': 'Snapshot', 'type': 'str', 'xml': {'name': 'Snapshot'}}, 'properties': {'key': 'Properties', 'type': 'BlobProperties', 'xml': {'name': 'Properties'}}, - 'metadata': {'key': 'Metadata', 'type': '{str}', 'xml': {'name': 'Metadata'}}, + 'metadata': {'key': 'Metadata', 'type': 'BlobMetadata', 'xml': {'name': 'Metadata'}}, } _xml_map = { 'name': 'Blob' @@ -229,6 +227,30 @@ def __init__(self, *, name: str, deleted: bool, snapshot: str, properties, metad self.metadata = metadata +class BlobMetadata(Model): + """BlobMetadata. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, str] + :param encrypted: + :type encrypted: str + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{str}', 'xml': {'name': 'additional_properties'}}, + 'encrypted': {'key': 'Encrypted', 'type': 'str', 'xml': {'name': 'Encrypted', 'attr': True}}, + } + _xml_map = { + 'name': 'Metadata' + } + + def __init__(self, *, additional_properties=None, encrypted: str=None, **kwargs) -> None: + super(BlobMetadata, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.encrypted = encrypted + + class BlobPrefix(Model): """BlobPrefix. @@ -282,19 +304,19 @@ class BlobProperties(Model): :type blob_sequence_number: long :param blob_type: Possible values include: 'BlockBlob', 'PageBlob', 'AppendBlob' - :type blob_type: str or ~blob.models.BlobType + :type blob_type: str or ~azure.storage.blob.models.BlobType :param lease_status: Possible values include: 'locked', 'unlocked' - :type lease_status: str or ~blob.models.LeaseStatusType + :type lease_status: str or ~azure.storage.blob.models.LeaseStatusType :param lease_state: Possible values include: 'available', 'leased', 'expired', 'breaking', 'broken' - :type lease_state: str or ~blob.models.LeaseStateType + :type lease_state: str or ~azure.storage.blob.models.LeaseStateType :param lease_duration: Possible values include: 'infinite', 'fixed' - :type lease_duration: str or ~blob.models.LeaseDurationType + :type lease_duration: str or ~azure.storage.blob.models.LeaseDurationType :param copy_id: :type copy_id: str :param copy_status: Possible values include: 'pending', 'success', 'aborted', 'failed' - :type copy_status: str or ~blob.models.CopyStatusType + :type copy_status: str or ~azure.storage.blob.models.CopyStatusType :param copy_source: :type copy_source: str :param copy_progress: @@ -313,14 +335,16 @@ class BlobProperties(Model): :type deleted_time: datetime :param remaining_retention_days: :type remaining_retention_days: int - :param access_tier: Possible values include: 'P4', 'P6', 'P10', 'P20', - 'P30', 'P40', 'P50', 'Hot', 'Cool', 'Archive' - :type access_tier: str or ~blob.models.AccessTier + :param access_tier: Possible values include: 'P4', 'P6', 'P10', 'P15', + 'P20', 'P30', 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type access_tier: str or ~azure.storage.blob.models.AccessTier :param access_tier_inferred: :type access_tier_inferred: bool :param archive_status: Possible values include: 'rehydrate-pending-to-hot', 'rehydrate-pending-to-cool' - :type archive_status: str or ~blob.models.ArchiveStatus + :type archive_status: str or ~azure.storage.blob.models.ArchiveStatus + :param customer_provided_key_sha256: + :type customer_provided_key_sha256: str :param access_tier_change_time: :type access_tier_change_time: datetime """ @@ -360,13 +384,14 @@ class BlobProperties(Model): 'access_tier': {'key': 'AccessTier', 'type': 'str', 'xml': {'name': 'AccessTier'}}, 'access_tier_inferred': {'key': 'AccessTierInferred', 'type': 'bool', 'xml': {'name': 'AccessTierInferred'}}, 'archive_status': {'key': 'ArchiveStatus', 'type': 'str', 'xml': {'name': 'ArchiveStatus'}}, + 'customer_provided_key_sha256': {'key': 'CustomerProvidedKeySha256', 'type': 'str', 'xml': {'name': 'CustomerProvidedKeySha256'}}, 'access_tier_change_time': {'key': 'AccessTierChangeTime', 'type': 'rfc-1123', 'xml': {'name': 'AccessTierChangeTime'}}, } _xml_map = { 'name': 'Properties' } - def __init__(self, *, last_modified, etag: str, creation_time=None, content_length: int=None, content_type: str=None, content_encoding: str=None, content_language: str=None, content_md5: bytearray=None, content_disposition: str=None, cache_control: str=None, blob_sequence_number: int=None, blob_type=None, lease_status=None, lease_state=None, lease_duration=None, copy_id: str=None, copy_status=None, copy_source: str=None, copy_progress: str=None, copy_completion_time=None, copy_status_description: str=None, server_encrypted: bool=None, incremental_copy: bool=None, destination_snapshot: str=None, deleted_time=None, remaining_retention_days: int=None, access_tier=None, access_tier_inferred: bool=None, archive_status=None, access_tier_change_time=None, **kwargs) -> None: + def __init__(self, *, last_modified, etag: str, creation_time=None, content_length: int=None, content_type: str=None, content_encoding: str=None, content_language: str=None, content_md5: bytearray=None, content_disposition: str=None, cache_control: str=None, blob_sequence_number: int=None, blob_type=None, lease_status=None, lease_state=None, lease_duration=None, copy_id: str=None, copy_status=None, copy_source: str=None, copy_progress: str=None, copy_completion_time=None, copy_status_description: str=None, server_encrypted: bool=None, incremental_copy: bool=None, destination_snapshot: str=None, deleted_time=None, remaining_retention_days: int=None, access_tier=None, access_tier_inferred: bool=None, archive_status=None, customer_provided_key_sha256: str=None, access_tier_change_time=None, **kwargs) -> None: super(BlobProperties, self).__init__(**kwargs) self.creation_time = creation_time self.last_modified = last_modified @@ -397,6 +422,7 @@ def __init__(self, *, last_modified, etag: str, creation_time=None, content_leng self.access_tier = access_tier self.access_tier_inferred = access_tier_inferred self.archive_status = archive_status + self.customer_provided_key_sha256 = customer_provided_key_sha256 self.access_tier_change_time = access_tier_change_time @@ -434,9 +460,9 @@ class BlockList(Model): """BlockList. :param committed_blocks: - :type committed_blocks: list[~blob.models.Block] + :type committed_blocks: list[~azure.storage.blob.models.Block] :param uncommitted_blocks: - :type uncommitted_blocks: list[~blob.models.Block] + :type uncommitted_blocks: list[~azure.storage.blob.models.Block] """ _attribute_map = { @@ -517,7 +543,7 @@ class ContainerItem(Model): :param name: Required. :type name: str :param properties: Required. - :type properties: ~blob.models.ContainerProperties + :type properties: ~azure.storage.blob.models.ContainerProperties :param metadata: :type metadata: dict[str, str] """ @@ -553,14 +579,14 @@ class ContainerProperties(Model): :param etag: Required. :type etag: str :param lease_status: Possible values include: 'locked', 'unlocked' - :type lease_status: str or ~blob.models.LeaseStatusType + :type lease_status: str or ~azure.storage.blob.models.LeaseStatusType :param lease_state: Possible values include: 'available', 'leased', 'expired', 'breaking', 'broken' - :type lease_state: str or ~blob.models.LeaseStateType + :type lease_state: str or ~azure.storage.blob.models.LeaseStateType :param lease_duration: Possible values include: 'infinite', 'fixed' - :type lease_duration: str or ~blob.models.LeaseDurationType + :type lease_duration: str or ~azure.storage.blob.models.LeaseDurationType :param public_access: Possible values include: 'container', 'blob' - :type public_access: str or ~blob.models.PublicAccessType + :type public_access: str or ~azure.storage.blob.models.PublicAccessType :param has_immutability_policy: :type has_immutability_policy: bool :param has_legal_hold: @@ -655,6 +681,131 @@ def __init__(self, *, allowed_origins: str, allowed_methods: str, allowed_header self.max_age_in_seconds = max_age_in_seconds +class CpkInfo(Model): + """Additional parameters for a set of operations. + + :param encryption_key: Optional. Specifies the encryption key to use to + encrypt the data provided in the request. If not specified, encryption is + performed with the root account encryption key. For more information, see + Encryption at Rest for Azure Storage Services. + :type encryption_key: str + :param encryption_key_sha256: The SHA-256 hash of the provided encryption + key. Must be provided if the x-ms-encryption-key header is provided. + :type encryption_key_sha256: str + :param encryption_algorithm: The algorithm used to produce the encryption + key hash. Currently, the only accepted value is "AES256". Must be provided + if the x-ms-encryption-key header is provided. Possible values include: + 'AES256' + :type encryption_algorithm: str or + ~azure.storage.blob.models.EncryptionAlgorithmType + """ + + _attribute_map = { + 'encryption_key': {'key': '', 'type': 'str', 'xml': {'name': 'encryption_key'}}, + 'encryption_key_sha256': {'key': '', 'type': 'str', 'xml': {'name': 'encryption_key_sha256'}}, + 'encryption_algorithm': {'key': '', 'type': 'EncryptionAlgorithmType', 'xml': {'name': 'encryption_algorithm'}}, + } + _xml_map = { + } + + def __init__(self, *, encryption_key: str=None, encryption_key_sha256: str=None, encryption_algorithm=None, **kwargs) -> None: + super(CpkInfo, self).__init__(**kwargs) + self.encryption_key = encryption_key + self.encryption_key_sha256 = encryption_key_sha256 + self.encryption_algorithm = encryption_algorithm + + +class DataLakeStorageError(Model): + """DataLakeStorageError. + + :param error: The service error response object. + :type error: ~azure.storage.blob.models.DataLakeStorageErrorError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'DataLakeStorageErrorError', 'xml': {'name': 'error'}}, + } + _xml_map = { + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(DataLakeStorageError, self).__init__(**kwargs) + self.error = error + + +class DataLakeStorageErrorException(HttpResponseError): + """Server responsed with exception of type: 'DataLakeStorageError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, response, deserialize, *args): + + model_name = 'DataLakeStorageError' + self.error = deserialize(model_name, response) + if self.error is None: + self.error = deserialize.dependencies[model_name]() + super(DataLakeStorageErrorException, self).__init__(response=response) + + +class DataLakeStorageErrorError(Model): + """The service error response object. + + :param code: The service error code. + :type code: str + :param message: The service error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'Code', 'type': 'str', 'xml': {'name': 'Code'}}, + 'message': {'key': 'Message', 'type': 'str', 'xml': {'name': 'Message'}}, + } + _xml_map = { + } + + def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + super(DataLakeStorageErrorError, self).__init__(**kwargs) + self.code = code + self.message = message + + +class DirectoryHttpHeaders(Model): + """Additional parameters for a set of operations, such as: Directory_create, + Directory_rename, Blob_rename. + + :param cache_control: Cache control for given resource + :type cache_control: str + :param content_type: Content type for given resource + :type content_type: str + :param content_encoding: Content encoding for given resource + :type content_encoding: str + :param content_language: Content language for given resource + :type content_language: str + :param content_disposition: Content disposition for given resource + :type content_disposition: str + """ + + _attribute_map = { + 'cache_control': {'key': '', 'type': 'str', 'xml': {'name': 'cache_control'}}, + 'content_type': {'key': '', 'type': 'str', 'xml': {'name': 'content_type'}}, + 'content_encoding': {'key': '', 'type': 'str', 'xml': {'name': 'content_encoding'}}, + 'content_language': {'key': '', 'type': 'str', 'xml': {'name': 'content_language'}}, + 'content_disposition': {'key': '', 'type': 'str', 'xml': {'name': 'content_disposition'}}, + } + _xml_map = { + } + + def __init__(self, *, cache_control: str=None, content_type: str=None, content_encoding: str=None, content_language: str=None, content_disposition: str=None, **kwargs) -> None: + super(DirectoryHttpHeaders, self).__init__(**kwargs) + self.cache_control = cache_control + self.content_type = content_type + self.content_encoding = content_encoding + self.content_language = content_language + self.content_disposition = content_disposition + + class GeoReplication(Model): """Geo-Replication information for the Secondary Storage Service. @@ -662,7 +813,7 @@ class GeoReplication(Model): :param status: Required. The status of the secondary location. Possible values include: 'live', 'bootstrap', 'unavailable' - :type status: str or ~blob.models.GeoReplicationStatusType + :type status: str or ~azure.storage.blob.models.GeoReplicationStatusType :param last_sync_time: Required. A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time @@ -688,6 +839,37 @@ def __init__(self, *, status, last_sync_time, **kwargs) -> None: self.last_sync_time = last_sync_time +class KeyInfo(Model): + """Key information. + + All required parameters must be populated in order to send to Azure. + + :param start: Required. The date-time the key is active in ISO 8601 UTC + time + :type start: str + :param expiry: Required. The date-time the key expires in ISO 8601 UTC + time + :type expiry: str + """ + + _validation = { + 'start': {'required': True}, + 'expiry': {'required': True}, + } + + _attribute_map = { + 'start': {'key': 'Start', 'type': 'str', 'xml': {'name': 'Start'}}, + 'expiry': {'key': 'Expiry', 'type': 'str', 'xml': {'name': 'Expiry'}}, + } + _xml_map = { + } + + def __init__(self, *, start: str, expiry: str, **kwargs) -> None: + super(KeyInfo, self).__init__(**kwargs) + self.start = start + self.expiry = expiry + + class LeaseAccessConditions(Model): """Additional parameters for a set of operations. @@ -716,29 +898,24 @@ class ListBlobsFlatSegmentResponse(Model): :type service_endpoint: str :param container_name: Required. :type container_name: str - :param prefix: Required. + :param prefix: :type prefix: str - :param marker: Required. + :param marker: :type marker: str - :param max_results: Required. + :param max_results: :type max_results: int - :param delimiter: Required. + :param delimiter: :type delimiter: str :param segment: Required. - :type segment: ~blob.models.BlobFlatListSegment - :param next_marker: Required. + :type segment: ~azure.storage.blob.models.BlobFlatListSegment + :param next_marker: :type next_marker: str """ _validation = { 'service_endpoint': {'required': True}, 'container_name': {'required': True}, - 'prefix': {'required': True}, - 'marker': {'required': True}, - 'max_results': {'required': True}, - 'delimiter': {'required': True}, 'segment': {'required': True}, - 'next_marker': {'required': True}, } _attribute_map = { @@ -755,7 +932,7 @@ class ListBlobsFlatSegmentResponse(Model): 'name': 'EnumerationResults' } - def __init__(self, *, service_endpoint: str, container_name: str, prefix: str, marker: str, max_results: int, delimiter: str, segment, next_marker: str, **kwargs) -> None: + def __init__(self, *, service_endpoint: str, container_name: str, segment, prefix: str=None, marker: str=None, max_results: int=None, delimiter: str=None, next_marker: str=None, **kwargs) -> None: super(ListBlobsFlatSegmentResponse, self).__init__(**kwargs) self.service_endpoint = service_endpoint self.container_name = container_name @@ -776,29 +953,24 @@ class ListBlobsHierarchySegmentResponse(Model): :type service_endpoint: str :param container_name: Required. :type container_name: str - :param prefix: Required. + :param prefix: :type prefix: str - :param marker: Required. + :param marker: :type marker: str - :param max_results: Required. + :param max_results: :type max_results: int - :param delimiter: Required. + :param delimiter: :type delimiter: str :param segment: Required. - :type segment: ~blob.models.BlobHierarchyListSegment - :param next_marker: Required. + :type segment: ~azure.storage.blob.models.BlobHierarchyListSegment + :param next_marker: :type next_marker: str """ _validation = { 'service_endpoint': {'required': True}, 'container_name': {'required': True}, - 'prefix': {'required': True}, - 'marker': {'required': True}, - 'max_results': {'required': True}, - 'delimiter': {'required': True}, 'segment': {'required': True}, - 'next_marker': {'required': True}, } _attribute_map = { @@ -815,7 +987,7 @@ class ListBlobsHierarchySegmentResponse(Model): 'name': 'EnumerationResults' } - def __init__(self, *, service_endpoint: str, container_name: str, prefix: str, marker: str, max_results: int, delimiter: str, segment, next_marker: str, **kwargs) -> None: + def __init__(self, *, service_endpoint: str, container_name: str, segment, prefix: str=None, marker: str=None, max_results: int=None, delimiter: str=None, next_marker: str=None, **kwargs) -> None: super(ListBlobsHierarchySegmentResponse, self).__init__(**kwargs) self.service_endpoint = service_endpoint self.container_name = container_name @@ -834,24 +1006,21 @@ class ListContainersSegmentResponse(Model): :param service_endpoint: Required. :type service_endpoint: str - :param prefix: Required. + :param prefix: :type prefix: str :param marker: :type marker: str - :param max_results: Required. + :param max_results: :type max_results: int :param container_items: Required. - :type container_items: list[~blob.models.ContainerItem] - :param next_marker: Required. + :type container_items: list[~azure.storage.blob.models.ContainerItem] + :param next_marker: :type next_marker: str """ _validation = { 'service_endpoint': {'required': True}, - 'prefix': {'required': True}, - 'max_results': {'required': True}, 'container_items': {'required': True}, - 'next_marker': {'required': True}, } _attribute_map = { @@ -866,7 +1035,7 @@ class ListContainersSegmentResponse(Model): 'name': 'EnumerationResults' } - def __init__(self, *, service_endpoint: str, prefix: str, max_results: int, container_items, next_marker: str, marker: str=None, **kwargs) -> None: + def __init__(self, *, service_endpoint: str, container_items, prefix: str=None, marker: str=None, max_results: int=None, next_marker: str=None, **kwargs) -> None: super(ListContainersSegmentResponse, self).__init__(**kwargs) self.service_endpoint = service_endpoint self.prefix = prefix @@ -893,7 +1062,7 @@ class Logging(Model): logged. :type write: bool :param retention_policy: Required. - :type retention_policy: ~blob.models.RetentionPolicy + :type retention_policy: ~azure.storage.blob.models.RetentionPolicy """ _validation = { @@ -938,7 +1107,7 @@ class Metrics(Model): statistics for called API operations. :type include_apis: bool :param retention_policy: - :type retention_policy: ~blob.models.RetentionPolicy + :type retention_policy: ~azure.storage.blob.models.RetentionPolicy """ _validation = { @@ -1000,9 +1169,9 @@ class PageList(Model): """the list of pages. :param page_range: - :type page_range: list[~blob.models.PageRange] + :type page_range: list[~azure.storage.blob.models.PageRange] :param clear_range: - :type clear_range: list[~blob.models.ClearRange] + :type clear_range: list[~azure.storage.blob.models.ClearRange] """ _attribute_map = { @@ -1083,7 +1252,8 @@ def __init__(self, *, enabled: bool, days: int=None, **kwargs) -> None: class SequenceNumberAccessConditions(Model): """Additional parameters for a set of operations, such as: - PageBlob_upload_pages, PageBlob_clear_pages. + PageBlob_upload_pages, PageBlob_clear_pages, + PageBlob_upload_pages_from_url. :param if_sequence_number_less_than_or_equal_to: Specify this header value to operate only on a blob if it has a sequence number less than or equal @@ -1119,13 +1289,12 @@ class SignedIdentifier(Model): :param id: Required. a unique id :type id: str - :param access_policy: Required. - :type access_policy: ~blob.models.AccessPolicy + :param access_policy: + :type access_policy: ~azure.storage.blob.models.AccessPolicy """ _validation = { 'id': {'required': True}, - 'access_policy': {'required': True}, } _attribute_map = { @@ -1133,16 +1302,17 @@ class SignedIdentifier(Model): 'access_policy': {'key': 'AccessPolicy', 'type': 'AccessPolicy', 'xml': {'name': 'AccessPolicy'}}, } _xml_map = { + 'name': 'SignedIdentifier' } - def __init__(self, *, id: str, access_policy, **kwargs) -> None: + def __init__(self, *, id: str, access_policy=None, **kwargs) -> None: super(SignedIdentifier, self).__init__(**kwargs) self.id = id self.access_policy = access_policy class SourceModifiedAccessConditions(Model): - """Additional parameters for start_copy_from_url operation. + """Additional parameters for a set of operations. :param source_if_modified_since: Specify this header value to operate only on a blob if it has been modified since the specified date/time. @@ -1247,21 +1417,21 @@ class StorageServiceProperties(Model): """Storage Service Properties. :param logging: - :type logging: ~blob.models.Logging + :type logging: ~azure.storage.blob.models.Logging :param hour_metrics: - :type hour_metrics: ~blob.models.Metrics + :type hour_metrics: ~azure.storage.blob.models.Metrics :param minute_metrics: - :type minute_metrics: ~blob.models.Metrics + :type minute_metrics: ~azure.storage.blob.models.Metrics :param cors: The set of CORS rules. - :type cors: list[~blob.models.CorsRule] + :type cors: list[~azure.storage.blob.models.CorsRule] :param default_service_version: The default version to use for requests to the Blob service if an incoming request's version is not specified. Possible values include version 2008-10-27 and all more recent versions :type default_service_version: str :param delete_retention_policy: - :type delete_retention_policy: ~blob.models.RetentionPolicy + :type delete_retention_policy: ~azure.storage.blob.models.RetentionPolicy :param static_website: - :type static_website: ~blob.models.StaticWebsite + :type static_website: ~azure.storage.blob.models.StaticWebsite """ _attribute_map = { @@ -1291,7 +1461,7 @@ class StorageServiceStats(Model): """Stats for the storage service. :param geo_replication: - :type geo_replication: ~blob.models.GeoReplication + :type geo_replication: ~azure.storage.blob.models.GeoReplication """ _attribute_map = { @@ -1303,3 +1473,60 @@ class StorageServiceStats(Model): def __init__(self, *, geo_replication=None, **kwargs) -> None: super(StorageServiceStats, self).__init__(**kwargs) self.geo_replication = geo_replication + + +class UserDelegationKey(Model): + """A user delegation key. + + All required parameters must be populated in order to send to Azure. + + :param signed_oid: Required. The Azure Active Directory object ID in GUID + format. + :type signed_oid: str + :param signed_tid: Required. The Azure Active Directory tenant ID in GUID + format + :type signed_tid: str + :param signed_start: Required. The date-time the key is active + :type signed_start: datetime + :param signed_expiry: Required. The date-time the key expires + :type signed_expiry: datetime + :param signed_service: Required. Abbreviation of the Azure Storage service + that accepts the key + :type signed_service: str + :param signed_version: Required. The service version that created the key + :type signed_version: str + :param value: Required. The key as a base64 string + :type value: str + """ + + _validation = { + 'signed_oid': {'required': True}, + 'signed_tid': {'required': True}, + 'signed_start': {'required': True}, + 'signed_expiry': {'required': True}, + 'signed_service': {'required': True}, + 'signed_version': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'signed_oid': {'key': 'SignedOid', 'type': 'str', 'xml': {'name': 'SignedOid'}}, + 'signed_tid': {'key': 'SignedTid', 'type': 'str', 'xml': {'name': 'SignedTid'}}, + 'signed_start': {'key': 'SignedStart', 'type': 'iso-8601', 'xml': {'name': 'SignedStart'}}, + 'signed_expiry': {'key': 'SignedExpiry', 'type': 'iso-8601', 'xml': {'name': 'SignedExpiry'}}, + 'signed_service': {'key': 'SignedService', 'type': 'str', 'xml': {'name': 'SignedService'}}, + 'signed_version': {'key': 'SignedVersion', 'type': 'str', 'xml': {'name': 'SignedVersion'}}, + 'value': {'key': 'Value', 'type': 'str', 'xml': {'name': 'Value'}}, + } + _xml_map = { + } + + def __init__(self, *, signed_oid: str, signed_tid: str, signed_start, signed_expiry, signed_service: str, signed_version: str, value: str, **kwargs) -> None: + super(UserDelegationKey, self).__init__(**kwargs) + self.signed_oid = signed_oid + self.signed_tid = signed_tid + self.signed_start = signed_start + self.signed_expiry = signed_expiry + self.signed_service = signed_service + self.signed_version = signed_version + self.value = value diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/__init__.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/__init__.py index 2cfa9f90e806..1ea045334401 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/__init__.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/__init__.py @@ -8,10 +8,10 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from ._service_operations import ServiceOperations from ._container_operations import ContainerOperations +from ._directory_operations import DirectoryOperations from ._blob_operations import BlobOperations from ._page_blob_operations import PageBlobOperations from ._append_blob_operations import AppendBlobOperations @@ -20,6 +20,7 @@ __all__ = [ 'ServiceOperations', 'ContainerOperations', + 'DirectoryOperations', 'BlobOperations', 'PageBlobOperations', 'AppendBlobOperations', diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_append_blob_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_append_blob_operations.py index 483c00b58976..018744d8ba22 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_append_blob_operations.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_append_blob_operations.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -40,7 +39,7 @@ def __init__(self, client, config, serializer, deserializer): self.x_ms_blob_type = "AppendBlob" self.comp = "appendblock" - def create(self, content_length, timeout=None, metadata=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + def create(self, content_length, timeout=None, metadata=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, cls=None, **kwargs): """The Create Append Blob operation creates a new append blob. :param content_length: The length of the request. @@ -65,20 +64,23 @@ def create(self, content_length, timeout=None, metadata=None, request_id=None, b analytics logging is enabled. :type request_id: str :param blob_http_headers: Additional parameters for the operation - :type blob_http_headers: ~blob.models.BlobHTTPHeaders + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) blob_content_type = None @@ -102,6 +104,15 @@ def create(self, content_length, timeout=None, metadata=None, request_id=None, b lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -150,6 +161,12 @@ def create(self, content_length, timeout=None, metadata=None, request_id=None, b header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -173,16 +190,18 @@ def create(self, content_length, timeout=None, metadata=None, request_id=None, b 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) create.metadata = {'url': '/{containerName}/{blob}'} - def append_block(self, body, content_length, timeout=None, transactional_content_md5=None, request_id=None, lease_access_conditions=None, append_position_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + def append_block(self, body, content_length, timeout=None, transactional_content_md5=None, transactional_content_crc64=None, request_id=None, lease_access_conditions=None, append_position_access_conditions=None, cpk_info=None, modified_access_conditions=None, cls=None, **kwargs): """The Append Block operation commits a new block of data to the end of an existing append blob. The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to AppendBlob. Append @@ -200,27 +219,33 @@ def append_block(self, body, content_length, timeout=None, transactional_content :param transactional_content_md5: Specify the transactional md5 for the body, to be validated by the service. :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param append_position_access_conditions: Additional parameters for the operation :type append_position_access_conditions: - ~blob.models.AppendPositionAccessConditions + ~azure.storage.blob.models.AppendPositionAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -232,6 +257,15 @@ def append_block(self, body, content_length, timeout=None, transactional_content append_position = None if append_position_access_conditions is not None: append_position = append_position_access_conditions.append_position + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -264,6 +298,8 @@ def append_block(self, body, content_length, timeout=None, transactional_content header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') if transactional_content_md5 is not None: header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') @@ -273,6 +309,12 @@ def append_block(self, body, content_length, timeout=None, transactional_content header_parameters['x-ms-blob-condition-maxsize'] = self._serialize.header("max_size", max_size, 'long') if append_position is not None: header_parameters['x-ms-blob-condition-appendpos'] = self._serialize.header("append_position", append_position, 'long') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -298,12 +340,199 @@ def append_block(self, body, content_length, timeout=None, transactional_content 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-blob-append-offset': self._deserialize('str', response.headers.get('x-ms-blob-append-offset')), 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) append_block.metadata = {'url': '/{containerName}/{blob}'} + + def append_block_from_url(self, source_url, content_length, source_range=None, source_content_md5=None, source_contentcrc64=None, timeout=None, transactional_content_md5=None, request_id=None, cpk_info=None, lease_access_conditions=None, append_position_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, cls=None, **kwargs): + """The Append Block operation commits a new block of data to the end of an + existing append blob where the contents are read from a source url. The + Append Block operation is permitted only if the blob was created with + x-ms-blob-type set to AppendBlob. Append Block is supported only on + version 2015-02-21 version or later. + + :param source_url: Specify a URL to the copy source. + :type source_url: str + :param content_length: The length of the request. + :type content_length: long + :param source_range: Bytes of source data in the specified range. + :type source_range: str + :param source_content_md5: Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :type source_content_md5: bytearray + :param source_contentcrc64: Specify the crc64 calculated for the range + of bytes that must be read from the copy source. + :type source_contentcrc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param append_position_access_conditions: Additional parameters for + the operation + :type append_position_access_conditions: + ~azure.storage.blob.models.AppendPositionAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + max_size = None + if append_position_access_conditions is not None: + max_size = append_position_access_conditions.max_size + append_position = None + if append_position_access_conditions is not None: + append_position = append_position_access_conditions.append_position + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + # Construct URL + url = self.append_block_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("self.comp", self.comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-copy-source'] = self._serialize.header("source_url", source_url, 'str') + if source_range is not None: + header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') + if source_content_md5 is not None: + header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if source_contentcrc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_contentcrc64", source_contentcrc64, 'bytearray') + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if max_size is not None: + header_parameters['x-ms-blob-condition-maxsize'] = self._serialize.header("max_size", max_size, 'long') + if append_position is not None: + header_parameters['x-ms-blob-condition-appendpos'] = self._serialize.header("append_position", append_position, 'long') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-append-offset': self._deserialize('str', response.headers.get('x-ms-blob-append-offset')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + append_block_from_url.metadata = {'url': '/{containerName}/{blob}'} diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_blob_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_blob_operations.py index 888080713464..2822fcc4cdd3 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_blob_operations.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_blob_operations.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -24,6 +23,7 @@ class BlobOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. + :ivar x_ms_requires_sync: . Constant value: "true". :ivar x_ms_copy_action: . Constant value: "abort". :ivar restype: . Constant value: "account". """ @@ -37,10 +37,11 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + self.x_ms_requires_sync = "true" self.x_ms_copy_action = "abort" self.restype = "account" - def download(self, snapshot=None, timeout=None, range=None, range_get_content_md5=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + def download(self, snapshot=None, timeout=None, range=None, range_get_content_md5=None, range_get_content_crc64=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, cls=None, **kwargs): """The Download operation reads or downloads a blob from the system, including its metadata and properties. You can also call Download to read a snapshot. @@ -63,28 +64,44 @@ def download(self, snapshot=None, timeout=None, range=None, range_get_content_md with the Range, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size. :type range_get_content_md5: bool + :param range_get_content_crc64: When set to true and specified + together with the Range, the service returns the CRC64 hash for the + range, as long as the range is less than or equal to 4 MB in size. + :type range_get_content_crc64: bool :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: object or the result of cls(response) :rtype: Generator :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -119,11 +136,19 @@ def download(self, snapshot=None, timeout=None, range=None, range_get_content_md header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') if range_get_content_md5 is not None: header_parameters['x-ms-range-get-content-md5'] = self._serialize.header("range_get_content_md5", range_get_content_md5, 'bool') + if range_get_content_crc64 is not None: + header_parameters['x-ms-range-get-content-crc64'] = self._serialize.header("range_get_content_crc64", range_get_content_crc64, 'bool') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -169,13 +194,16 @@ def download(self, snapshot=None, timeout=None, range=None, range_get_content_md 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-blob-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-blob-content-md5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } if response.status_code == 206: @@ -203,13 +231,16 @@ def download(self, snapshot=None, timeout=None, range=None, range_get_content_md 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-blob-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-blob-content-md5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } @@ -219,13 +250,11 @@ def download(self, snapshot=None, timeout=None, range=None, range_get_content_md return deserialized download.metadata = {'url': '/{containerName}/{blob}'} - def get_properties(self, comp=None, snapshot=None, timeout=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + def get_properties(self, snapshot=None, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, cls=None, **kwargs): """The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system properties for the blob. It does not return the content of the blob. - :param comp: Possible values include: 'metadata' - :type comp: str :param snapshot: The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see ` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -281,8 +322,6 @@ def get_properties(self, comp=None, snapshot=None, timeout=None, request_id=None # Construct parameters query_parameters = {} - if comp is not None: - query_parameters['comp'] = self._serialize.query("comp", comp, 'str') if snapshot is not None: query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') if timeout is not None: @@ -295,6 +334,12 @@ def get_properties(self, comp=None, snapshot=None, timeout=None, request_id=None header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -339,12 +384,14 @@ def get_properties(self, comp=None, snapshot=None, timeout=None, request_id=None 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-access-tier': self._deserialize('str', response.headers.get('x-ms-access-tier')), 'x-ms-access-tier-inferred': self._deserialize('bool', response.headers.get('x-ms-access-tier-inferred')), 'x-ms-archive-status': self._deserialize('str', response.headers.get('x-ms-archive-status')), @@ -387,24 +434,26 @@ def delete(self, snapshot=None, timeout=None, delete_snapshots=None, request_id= the base blob and all of its snapshots. only: Delete only the blob's snapshots and not the blob itself. Possible values include: 'include', 'only' - :type delete_snapshots: str or ~blob.models.DeleteSnapshotsOptionType + :type delete_snapshots: str or + ~azure.storage.blob.models.DeleteSnapshotsOptionType :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -466,6 +515,7 @@ def delete(self, snapshot=None, timeout=None, delete_snapshots=None, request_id= if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -474,6 +524,434 @@ def delete(self, snapshot=None, timeout=None, delete_snapshots=None, request_id= return cls(response, None, response_headers) delete.metadata = {'url': '/{containerName}/{blob}'} + def set_access_control(self, timeout=None, owner=None, group=None, posix_permissions=None, posix_acl=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """Set the owner, group, permissions, or access control list for a blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_acl: Sets POSIX access control rights on files and + directories. The value is a comma-separated list of access control + entries. Each access control entry (ACE) consists of a scope, a type, + a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type posix_acl: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "setAccessControl" + + # Construct URL + url = self.set_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("posix_acl", posix_acl, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + set_access_control.metadata = {'url': '/{filesystem}/{path}'} + + def get_access_control(self, timeout=None, upn=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """Get the owner, group, permissions, or access control list for a blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param upn: Optional. Valid only when Hierarchical Namespace is + enabled for the account. If "true", the identity values returned in + the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. + :type upn: bool + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "getAccessControl" + + # Construct URL + url = self.get_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-owner': self._deserialize('str', response.headers.get('x-ms-owner')), + 'x-ms-group': self._deserialize('str', response.headers.get('x-ms-group')), + 'x-ms-permissions': self._deserialize('str', response.headers.get('x-ms-permissions')), + 'x-ms-acl': self._deserialize('str', response.headers.get('x-ms-acl')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + get_access_control.metadata = {'url': '/{filesystem}/{path}'} + + def rename(self, rename_source, timeout=None, path_rename_mode=None, directory_properties=None, posix_permissions=None, posix_umask=None, source_lease_id=None, request_id=None, directory_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, cls=None, **kwargs): + """Rename a blob/file. By default, the destination is overwritten and if + the destination already exists and has a lease the lease is broken. + This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + To fail if the destination already exists, use a conditional request + with If-None-Match: "*". + + :param rename_source: The file or directory to be renamed. The value + must have the following format: "/{filesysystem}/{path}". If + "x-ms-properties" is specified, the properties will overwrite the + existing properties; otherwise, the existing properties will be + preserved. + :type rename_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param path_rename_mode: Determines the behavior of the rename + operation. Possible values include: 'legacy', 'posix' + :type path_rename_mode: str or + ~azure.storage.blob.models.PathRenameMode + :param directory_properties: Optional. User-defined properties to be + stored with the file or directory, in the format of a comma-separated + list of name and value pairs "n1=v1, n2=v2, ...", where each value is + base64 encoded. + :type directory_properties: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_umask: Only valid if Hierarchical Namespace is enabled + for the account. This umask restricts permission settings for file and + directory, and will only be applied when default Acl does not exist in + parent directory. If the umask bit has set, it means that the + corresponding permission will be disabled. Otherwise the corresponding + permission will be determined by the permission. A 4-digit octal + notation (e.g. 0022) is supported here. If no umask was specified, a + default umask - 0027 will be used. + :type posix_umask: str + :param source_lease_id: A lease ID for the source path. If specified, + the source path must have an active lease and the leaase ID must + match. + :type source_lease_id: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param directory_http_headers: Additional parameters for the operation + :type directory_http_headers: + ~azure.storage.blob.models.DirectoryHttpHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + cache_control = None + if directory_http_headers is not None: + cache_control = directory_http_headers.cache_control + content_type = None + if directory_http_headers is not None: + content_type = directory_http_headers.content_type + content_encoding = None + if directory_http_headers is not None: + content_encoding = directory_http_headers.content_encoding + content_language = None + if directory_http_headers is not None: + content_language = directory_http_headers.content_language + content_disposition = None + if directory_http_headers is not None: + content_disposition = directory_http_headers.content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + # Construct URL + url = self.rename.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if path_rename_mode is not None: + query_parameters['mode'] = self._serialize.query("path_rename_mode", path_rename_mode, 'PathRenameMode') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-rename-source'] = self._serialize.header("rename_source", rename_source, 'str') + if directory_properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("directory_properties", directory_properties, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("posix_umask", posix_umask, 'str') + if source_lease_id is not None: + header_parameters['x-ms-source-lease-id'] = self._serialize.header("source_lease_id", source_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + rename.metadata = {'url': '/{filesystem}/{path}'} + def undelete(self, timeout=None, request_id=None, cls=None, **kwargs): """Undelete a blob that was previously soft deleted. @@ -491,7 +969,7 @@ def undelete(self, timeout=None, request_id=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "undelete" @@ -526,6 +1004,7 @@ def undelete(self, timeout=None, request_id=None, cls=None, **kwargs): if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -547,20 +1026,21 @@ def set_http_headers(self, timeout=None, request_id=None, blob_http_headers=None analytics logging is enabled. :type request_id: str :param blob_http_headers: Additional parameters for the operation - :type blob_http_headers: ~blob.models.BlobHTTPHeaders + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) blob_cache_control = None @@ -654,6 +1134,7 @@ def set_http_headers(self, timeout=None, request_id=None, blob_http_headers=None 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -662,7 +1143,7 @@ def set_http_headers(self, timeout=None, request_id=None, blob_http_headers=None return cls(response, None, response_headers) set_http_headers.metadata = {'url': '/{containerName}/{blob}'} - def set_metadata(self, timeout=None, metadata=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + def set_metadata(self, timeout=None, metadata=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, cls=None, **kwargs): """The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more name-value pairs. @@ -687,22 +1168,34 @@ def set_metadata(self, timeout=None, metadata=None, request_id=None, lease_acces :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -740,6 +1233,12 @@ def set_metadata(self, timeout=None, metadata=None, request_id=None, lease_acces header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -762,10 +1261,12 @@ def set_metadata(self, timeout=None, metadata=None, request_id=None, lease_acces response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -797,13 +1298,13 @@ def acquire_lease(self, timeout=None, duration=None, proposed_lease_id=None, req :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -868,6 +1369,7 @@ def acquire_lease(self, timeout=None, duration=None, proposed_lease_id=None, req 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -894,13 +1396,13 @@ def release_lease(self, lease_id, timeout=None, request_id=None, modified_access :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -961,6 +1463,7 @@ def release_lease(self, lease_id, timeout=None, request_id=None, modified_access response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -987,13 +1490,13 @@ def renew_lease(self, lease_id, timeout=None, request_id=None, modified_access_c :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -1055,6 +1558,7 @@ def renew_lease(self, lease_id, timeout=None, request_id=None, modified_access_c 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1086,13 +1590,13 @@ def change_lease(self, lease_id, proposed_lease_id, timeout=None, request_id=Non :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -1154,6 +1658,7 @@ def change_lease(self, lease_id, proposed_lease_id, timeout=None, request_id=Non response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), @@ -1189,13 +1694,13 @@ def break_lease(self, timeout=None, break_period=None, request_id=None, modified :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -1258,6 +1763,7 @@ def break_lease(self, timeout=None, break_period=None, request_id=None, modified 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-time': self._deserialize('int', response.headers.get('x-ms-lease-time')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1266,7 +1772,7 @@ def break_lease(self, timeout=None, break_period=None, request_id=None, modified return cls(response, None, response_headers) break_lease.metadata = {'url': '/{containerName}/{blob}'} - def create_snapshot(self, timeout=None, metadata=None, request_id=None, modified_access_conditions=None, lease_access_conditions=None, cls=None, **kwargs): + def create_snapshot(self, timeout=None, metadata=None, request_id=None, cpk_info=None, modified_access_conditions=None, lease_access_conditions=None, cls=None, **kwargs): """The Create Snapshot operation creates a read-only snapshot of a blob. :param timeout: The timeout parameter is expressed in seconds. For @@ -1288,21 +1794,33 @@ def create_snapshot(self, timeout=None, metadata=None, request_id=None, modified KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -1341,6 +1859,12 @@ def create_snapshot(self, timeout=None, metadata=None, request_id=None, modified header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -1366,15 +1890,17 @@ def create_snapshot(self, timeout=None, metadata=None, request_id=None, modified 'x-ms-snapshot': self._deserialize('str', response.headers.get('x-ms-snapshot')), 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) create_snapshot.metadata = {'url': '/{containerName}/{blob}'} - def start_copy_from_url(self, copy_source, timeout=None, metadata=None, request_id=None, source_modified_access_conditions=None, modified_access_conditions=None, lease_access_conditions=None, cls=None, **kwargs): + def start_copy_from_url(self, copy_source, timeout=None, metadata=None, tier=None, rehydrate_priority=None, request_id=None, source_modified_access_conditions=None, modified_access_conditions=None, lease_access_conditions=None, cls=None, **kwargs): """The Start Copy From URL operation copies a blob or an internet resource to a new blob. @@ -1399,6 +1925,15 @@ def start_copy_from_url(self, copy_source, timeout=None, metadata=None, request_ C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional + :param rehydrate_priority: Optional: Indicates the priority with which + to rehydrate an archived blob. Possible values include: 'High', + 'Standard' + :type rehydrate_priority: str or + ~azure.storage.blob.models.RehydratePriority :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. @@ -1406,20 +1941,21 @@ def start_copy_from_url(self, copy_source, timeout=None, metadata=None, request_ :param source_modified_access_conditions: Additional parameters for the operation :type source_modified_access_conditions: - ~blob.models.SourceModifiedAccessConditions + ~azure.storage.blob.models.SourceModifiedAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) source_if_modified_since = None @@ -1466,6 +2002,10 @@ def start_copy_from_url(self, copy_source, timeout=None, metadata=None, request_ header_parameters = {} if metadata is not None: header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + if rehydrate_priority is not None: + header_parameters['x-ms-rehydrate-priority'] = self._serialize.header("rehydrate_priority", rehydrate_priority, 'str') header_parameters['x-ms-copy-source'] = self._serialize.header("copy_source", copy_source, 'str') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: @@ -1502,6 +2042,7 @@ def start_copy_from_url(self, copy_source, timeout=None, metadata=None, request_ response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1512,6 +2053,153 @@ def start_copy_from_url(self, copy_source, timeout=None, metadata=None, request_ return cls(response, None, response_headers) start_copy_from_url.metadata = {'url': '/{containerName}/{blob}'} + def copy_from_url(self, copy_source, timeout=None, metadata=None, tier=None, request_id=None, source_modified_access_conditions=None, modified_access_conditions=None, lease_access_conditions=None, cls=None, **kwargs): + """The Copy From URL operation copies a blob or an internet resource to a + new blob. It will not return a response until the copy is complete. + + :param copy_source: Specifies the name of the source page blob + snapshot. This value is a URL of up to 2 KB in length that specifies a + page blob snapshot. The value should be URL-encoded as it would appear + in a request URI. The source blob must either be public or must be + authenticated via a shared access signature. + :type copy_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + # Construct URL + url = self.copy_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + header_parameters['x-ms-copy-source'] = self._serialize.header("copy_source", copy_source, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-requires-sync'] = self._serialize.header("self.x_ms_requires_sync", self.x_ms_requires_sync, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-status': self._deserialize(models.SyncCopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + copy_from_url.metadata = {'url': '/{containerName}/{blob}'} + def abort_copy_from_url(self, copy_id, timeout=None, request_id=None, lease_access_conditions=None, cls=None, **kwargs): """The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination blob with zero length and full @@ -1531,13 +2219,14 @@ def abort_copy_from_url(self, copy_id, timeout=None, request_id=None, lease_acce :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -1580,6 +2269,7 @@ def abort_copy_from_url(self, copy_id, timeout=None, request_id=None, lease_acce if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1588,7 +2278,7 @@ def abort_copy_from_url(self, copy_id, timeout=None, request_id=None, lease_acce return cls(response, None, response_headers) abort_copy_from_url.metadata = {'url': '/{containerName}/{blob}'} - def set_tier(self, tier, timeout=None, request_id=None, lease_access_conditions=None, cls=None, **kwargs): + def set_tier(self, tier, timeout=None, rehydrate_priority=None, request_id=None, lease_access_conditions=None, cls=None, **kwargs): """The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium storage account and on a block blob in a blob storage account (locally redundant storage only). A premium @@ -1597,27 +2287,33 @@ def set_tier(self, tier, timeout=None, request_id=None, lease_access_conditions= This operation does not update the blob's ETag. :param tier: Indicates the tier to be set on the blob. Possible values - include: 'P4', 'P6', 'P10', 'P20', 'P30', 'P40', 'P50', 'Hot', 'Cool', - 'Archive' - :type tier: str or ~blob.models.AccessTier + include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', 'P40', 'P50', 'P60', + 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierRequired :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations. :type timeout: int + :param rehydrate_priority: Optional: Indicates the priority with which + to rehydrate an archived blob. Possible values include: 'High', + 'Standard' + :type rehydrate_priority: str or + ~azure.storage.blob.models.RehydratePriority :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -1642,6 +2338,8 @@ def set_tier(self, tier, timeout=None, request_id=None, lease_access_conditions= # Construct headers header_parameters = {} header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + if rehydrate_priority is not None: + header_parameters['x-ms-rehydrate-priority'] = self._serialize.header("rehydrate_priority", rehydrate_priority, 'str') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') @@ -1659,6 +2357,7 @@ def set_tier(self, tier, timeout=None, request_id=None, lease_access_conditions= if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), @@ -1674,7 +2373,7 @@ def get_account_info(self, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "properties" @@ -1706,6 +2405,7 @@ def get_account_info(self, cls=None, **kwargs): if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1714,4 +2414,4 @@ def get_account_info(self, cls=None, **kwargs): 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) - get_account_info.metadata = {'url': '/{containerName}/{blobName}'} + get_account_info.metadata = {'url': '/{containerName}/{blob}'} diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_block_blob_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_block_blob_operations.py index 98612bd9eb13..fa76c8c56733 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_block_blob_operations.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_block_blob_operations.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -38,7 +37,7 @@ def __init__(self, client, config, serializer, deserializer): self._config = config self.x_ms_blob_type = "BlockBlob" - def upload(self, body, content_length, timeout=None, metadata=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + def upload(self, body, content_length, timeout=None, metadata=None, tier=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, cls=None, **kwargs): """The Upload Block Blob operation updates the content of an existing block blob. Updating an existing block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put Blob; @@ -65,25 +64,32 @@ def upload(self, body, content_length, timeout=None, metadata=None, request_id=N C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param blob_http_headers: Additional parameters for the operation - :type blob_http_headers: ~blob.models.BlobHTTPHeaders + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) blob_content_type = None @@ -107,6 +113,15 @@ def upload(self, body, content_length, timeout=None, metadata=None, request_id=N lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -138,6 +153,8 @@ def upload(self, body, content_length, timeout=None, metadata=None, request_id=N header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') if metadata is not None: header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') @@ -156,6 +173,12 @@ def upload(self, body, content_length, timeout=None, metadata=None, request_id=N header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -181,16 +204,18 @@ def upload(self, body, content_length, timeout=None, metadata=None, request_id=N 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) upload.metadata = {'url': '/{containerName}/{blob}'} - def stage_block(self, block_id, content_length, body, transactional_content_md5=None, timeout=None, request_id=None, lease_access_conditions=None, cls=None, **kwargs): + def stage_block(self, block_id, content_length, body, transactional_content_md5=None, transactional_content_crc64=None, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, cls=None, **kwargs): """The Stage Block operation creates a new block to be committed as part of a blob. @@ -206,6 +231,9 @@ def stage_block(self, block_id, content_length, body, transactional_content_md5= :param transactional_content_md5: Specify the transactional md5 for the body, to be validated by the service. :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -217,18 +245,30 @@ def stage_block(self, block_id, content_length, body, transactional_content_md5= :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm comp = "block" @@ -252,11 +292,19 @@ def stage_block(self, block_id, content_length, body, transactional_content_md5= header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') if transactional_content_md5 is not None: header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') # Construct body @@ -272,16 +320,19 @@ def stage_block(self, block_id, content_length, body, transactional_content_md5= if cls: response_headers = { 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) stage_block.metadata = {'url': '/{containerName}/{blob}'} - def stage_block_from_url(self, block_id, content_length, source_url, source_range=None, source_content_md5=None, timeout=None, request_id=None, lease_access_conditions=None, cls=None, **kwargs): + def stage_block_from_url(self, block_id, content_length, source_url, source_range=None, source_content_md5=None, source_contentcrc64=None, timeout=None, request_id=None, cpk_info=None, lease_access_conditions=None, source_modified_access_conditions=None, cls=None, **kwargs): """The Stage Block operation creates a new block to be committed as part of a blob where the contents are read from a URL. @@ -299,6 +350,9 @@ def stage_block_from_url(self, block_id, content_length, source_url, source_rang :param source_content_md5: Specify the md5 calculated for the range of bytes that must be read from the copy source. :type source_content_md5: bytearray + :param source_contentcrc64: Specify the crc64 calculated for the range + of bytes that must be read from the copy source. + :type source_contentcrc64: bytearray :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -308,20 +362,48 @@ def stage_block_from_url(self, block_id, content_length, source_url, source_rang KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match comp = "block" @@ -347,11 +429,27 @@ def stage_block_from_url(self, block_id, content_length, source_url, source_rang header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') if source_content_md5 is not None: header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if source_contentcrc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_contentcrc64", source_contentcrc64, 'bytearray') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') # Construct and send request request = self._client.put(url, query_parameters, header_parameters) @@ -365,16 +463,19 @@ def stage_block_from_url(self, block_id, content_length, source_url, source_rang if cls: response_headers = { 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) stage_block_from_url.metadata = {'url': '/{containerName}/{blob}'} - def commit_block_list(self, blocks, timeout=None, metadata=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + def commit_block_list(self, blocks, timeout=None, transactional_content_md5=None, transactional_content_crc64=None, metadata=None, tier=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, cls=None, **kwargs): """The Commit Block List operation writes a blob by specifying the list of block IDs that make up the blob. In order to be written as part of a blob, a block must have been successfully written to the server in a @@ -386,12 +487,18 @@ def commit_block_list(self, blocks, timeout=None, metadata=None, request_id=None block, whichever list it may belong to. :param blocks: - :type blocks: ~blob.models.BlockLookupList + :type blocks: ~azure.storage.blob.models.BlockLookupList :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations. :type timeout: int + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray :param metadata: Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the @@ -402,25 +509,32 @@ def commit_block_list(self, blocks, timeout=None, metadata=None, request_id=None C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param blob_http_headers: Additional parameters for the operation - :type blob_http_headers: ~blob.models.BlobHTTPHeaders + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) blob_cache_control = None @@ -444,6 +558,15 @@ def commit_block_list(self, blocks, timeout=None, metadata=None, request_id=None lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -475,8 +598,14 @@ def commit_block_list(self, blocks, timeout=None, metadata=None, request_id=None # Construct headers header_parameters = {} header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') if metadata is not None: header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if request_id is not None: header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') @@ -494,6 +623,12 @@ def commit_block_list(self, blocks, timeout=None, metadata=None, request_id=None header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -520,10 +655,13 @@ def commit_block_list(self, blocks, timeout=None, metadata=None, request_id=None 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -536,7 +674,7 @@ def get_block_list(self, list_type="committed", snapshot=None, timeout=None, req :param list_type: Specifies whether to return the list of committed blocks, the list of uncommitted blocks, or both lists together. Possible values include: 'committed', 'uncommitted', 'all' - :type list_type: str or ~blob.models.BlockListType + :type list_type: str or ~azure.storage.blob.models.BlockListType :param snapshot: The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see ` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -612,6 +751,7 @@ def get_block_list(self, list_type="committed", snapshot=None, timeout=None, req 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), 'x-ms-blob-content-length': self._deserialize('long', response.headers.get('x-ms-blob-content-length')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_container_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_container_operations.py index ec265ff10242..b9dee57f0e15 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_container_operations.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_container_operations.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -58,7 +57,7 @@ def create(self, timeout=None, metadata=None, access=None, request_id=None, cls= :param access: Specifies whether data in the container may be accessed publicly and the level of access. Possible values include: 'container', 'blob' - :type access: str or ~blob.models.PublicAccessType + :type access: str or ~azure.storage.blob.models.PublicAccessType :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. @@ -68,7 +67,7 @@ def create(self, timeout=None, metadata=None, access=None, request_id=None, cls= :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "container" @@ -109,6 +108,7 @@ def create(self, timeout=None, metadata=None, access=None, request_id=None, cls= response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -117,13 +117,11 @@ def create(self, timeout=None, metadata=None, access=None, request_id=None, cls= return cls(response, None, response_headers) create.metadata = {'url': '/{containerName}'} - def get_properties(self, comp=None, timeout=None, request_id=None, lease_access_conditions=None, cls=None, **kwargs): + def get_properties(self, timeout=None, request_id=None, lease_access_conditions=None, cls=None, **kwargs): """returns all user-defined metadata and system properties for the specified container. The data returned does not include the container's list of blobs. - :param comp: Possible values include: 'metadata' - :type comp: str :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -135,13 +133,14 @@ def get_properties(self, comp=None, timeout=None, request_id=None, lease_access_ :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -159,8 +158,6 @@ def get_properties(self, comp=None, timeout=None, request_id=None, lease_access_ # Construct parameters query_parameters = {} - if comp is not None: - query_parameters['comp'] = self._serialize.query("comp", comp, 'str') if timeout is not None: query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) query_parameters['restype'] = self._serialize.query("restype", restype, 'str') @@ -190,6 +187,7 @@ def get_properties(self, comp=None, timeout=None, request_id=None, lease_access_ 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -217,17 +215,18 @@ def delete(self, timeout=None, request_id=None, lease_access_conditions=None, mo :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -278,6 +277,7 @@ def delete(self, timeout=None, request_id=None, lease_access_conditions=None, mo if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -311,17 +311,18 @@ def set_metadata(self, timeout=None, metadata=None, request_id=None, lease_acces :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -373,6 +374,7 @@ def set_metadata(self, timeout=None, metadata=None, request_id=None, lease_acces response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -396,13 +398,14 @@ def get_access_policy(self, timeout=None, request_id=None, lease_access_conditio :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~blob.models.SignedIdentifier] + :rtype: list[~azure.storage.blob.models.SignedIdentifier] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -452,6 +455,7 @@ def get_access_policy(self, timeout=None, request_id=None, lease_access_conditio 'x-ms-blob-public-access': self._deserialize('str', response.headers.get('x-ms-blob-public-access')), 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -469,7 +473,7 @@ def set_access_policy(self, container_acl=None, timeout=None, access=None, reque indicate whether blobs in a container may be accessed publicly. :param container_acl: the acls for the container - :type container_acl: list[~blob.models.SignedIdentifier] + :type container_acl: list[~azure.storage.blob.models.SignedIdentifier] :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -478,24 +482,25 @@ def set_access_policy(self, container_acl=None, timeout=None, access=None, reque :param access: Specifies whether data in the container may be accessed publicly and the level of access. Possible values include: 'container', 'blob' - :type access: str or ~blob.models.PublicAccessType + :type access: str or ~azure.storage.blob.models.PublicAccessType :param request_id: Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -541,10 +546,9 @@ def set_access_policy(self, container_acl=None, timeout=None, access=None, reque header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') # Construct body - serialization_ctxt = {'xml': {'name': 'SignedIdentifiers', 'itemsName': 'SignedIdentifier', 'wrapped': True}} + serialization_ctxt = {'xml': {'name': 'SignedIdentifiers', 'itemsName': 'SignedIdentifiers', 'wrapped': True}} if container_acl is not None: - body_content = self._serialize.serialize_iter(container_acl, 'SignedIdentifier', - serialization_ctxt=serialization_ctxt) + body_content = self._serialize.body(container_acl, '[SignedIdentifier]', serialization_ctxt=serialization_ctxt) else: body_content = None @@ -561,6 +565,7 @@ def set_access_policy(self, container_acl=None, timeout=None, access=None, reque response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -596,13 +601,13 @@ def acquire_lease(self, timeout=None, duration=None, proposed_lease_id=None, req :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -659,6 +664,7 @@ def acquire_lease(self, timeout=None, duration=None, proposed_lease_id=None, req 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -686,13 +692,13 @@ def release_lease(self, lease_id, timeout=None, request_id=None, modified_access :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -745,6 +751,7 @@ def release_lease(self, lease_id, timeout=None, request_id=None, modified_access response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -772,13 +779,13 @@ def renew_lease(self, lease_id, timeout=None, request_id=None, modified_access_c :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -832,6 +839,7 @@ def renew_lease(self, lease_id, timeout=None, request_id=None, modified_access_c 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -867,13 +875,13 @@ def break_lease(self, timeout=None, break_period=None, request_id=None, modified :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -928,6 +936,7 @@ def break_lease(self, timeout=None, break_period=None, request_id=None, modified 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-time': self._deserialize('int', response.headers.get('x-ms-lease-time')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -960,13 +969,13 @@ def change_lease(self, lease_id, proposed_lease_id, timeout=None, request_id=Non :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -1021,6 +1030,7 @@ def change_lease(self, lease_id, proposed_lease_id, timeout=None, request_id=Non 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1055,7 +1065,8 @@ def list_blob_flat_segment(self, prefix=None, marker=None, maxresults=None, incl :type maxresults: int :param include: Include this parameter to specify one or more datasets to include in the response. - :type include: list[str or ~blob.models.ListBlobsIncludeItem] + :type include: list[str or + ~azure.storage.blob.models.ListBlobsIncludeItem] :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -1068,9 +1079,9 @@ def list_blob_flat_segment(self, prefix=None, marker=None, maxresults=None, incl :param callable cls: A custom type or function that will be passed the direct response :return: ListBlobsFlatSegmentResponse or the result of cls(response) - :rtype: ~blob.models.ListBlobsFlatSegmentResponse + :rtype: ~azure.storage.blob.models.ListBlobsFlatSegmentResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "container" @@ -1120,6 +1131,7 @@ def list_blob_flat_segment(self, prefix=None, marker=None, maxresults=None, incl deserialized = self._deserialize('ListBlobsFlatSegmentResponse', response) header_dict = { 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1164,7 +1176,8 @@ def list_blob_hierarchy_segment(self, delimiter, prefix=None, marker=None, maxre :type maxresults: int :param include: Include this parameter to specify one or more datasets to include in the response. - :type include: list[str or ~blob.models.ListBlobsIncludeItem] + :type include: list[str or + ~azure.storage.blob.models.ListBlobsIncludeItem] :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -1178,9 +1191,9 @@ def list_blob_hierarchy_segment(self, delimiter, prefix=None, marker=None, maxre direct response :return: ListBlobsHierarchySegmentResponse or the result of cls(response) - :rtype: ~blob.models.ListBlobsHierarchySegmentResponse + :rtype: ~azure.storage.blob.models.ListBlobsHierarchySegmentResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "container" @@ -1231,6 +1244,7 @@ def list_blob_hierarchy_segment(self, delimiter, prefix=None, marker=None, maxre deserialized = self._deserialize('ListBlobsHierarchySegmentResponse', response) header_dict = { 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -1251,7 +1265,7 @@ def get_account_info(self, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "account" @@ -1284,6 +1298,7 @@ def get_account_info(self, cls=None, **kwargs): if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_directory_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_directory_operations.py new file mode 100644 index 000000000000..bfaf63388ec0 --- /dev/null +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_directory_operations.py @@ -0,0 +1,740 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.core.exceptions import map_error + +from .. import models + + +class DirectoryOperations(object): + """DirectoryOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar resource: . Constant value: "directory". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.resource = "directory" + + def create(self, timeout=None, directory_properties=None, posix_permissions=None, posix_umask=None, request_id=None, directory_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """Create a directory. By default, the destination is overwritten and if + the destination already exists and has a lease the lease is broken. + This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + To fail if the destination already exists, use a conditional request + with If-None-Match: "*". + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param directory_properties: Optional. User-defined properties to be + stored with the file or directory, in the format of a comma-separated + list of name and value pairs "n1=v1, n2=v2, ...", where each value is + base64 encoded. + :type directory_properties: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_umask: Only valid if Hierarchical Namespace is enabled + for the account. This umask restricts permission settings for file and + directory, and will only be applied when default Acl does not exist in + parent directory. If the umask bit has set, it means that the + corresponding permission will be disabled. Otherwise the corresponding + permission will be determined by the permission. A 4-digit octal + notation (e.g. 0022) is supported here. If no umask was specified, a + default umask - 0027 will be used. + :type posix_umask: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param directory_http_headers: Additional parameters for the operation + :type directory_http_headers: + ~azure.storage.blob.models.DirectoryHttpHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + cache_control = None + if directory_http_headers is not None: + cache_control = directory_http_headers.cache_control + content_type = None + if directory_http_headers is not None: + content_type = directory_http_headers.content_type + content_encoding = None + if directory_http_headers is not None: + content_encoding = directory_http_headers.content_encoding + content_language = None + if directory_http_headers is not None: + content_language = directory_http_headers.content_language + content_disposition = None + if directory_http_headers is not None: + content_disposition = directory_http_headers.content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['resource'] = self._serialize.query("self.resource", self.resource, 'str') + + # Construct headers + header_parameters = {} + if directory_properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("directory_properties", directory_properties, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("posix_umask", posix_umask, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + create.metadata = {'url': '/{filesystem}/{path}'} + + def rename(self, rename_source, timeout=None, marker=None, path_rename_mode=None, directory_properties=None, posix_permissions=None, posix_umask=None, source_lease_id=None, request_id=None, directory_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, cls=None, **kwargs): + """Rename a directory. By default, the destination is overwritten and if + the destination already exists and has a lease the lease is broken. + This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + To fail if the destination already exists, use a conditional request + with If-None-Match: "*". + + :param rename_source: The file or directory to be renamed. The value + must have the following format: "/{filesysystem}/{path}". If + "x-ms-properties" is specified, the properties will overwrite the + existing properties; otherwise, the existing properties will be + preserved. + :type rename_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param marker: When renaming a directory, the number of paths that are + renamed with each invocation is limited. If the number of paths to be + renamed exceeds this limit, a continuation token is returned in this + response header. When a continuation token is returned in the + response, it must be specified in a subsequent invocation of the + rename operation to continue renaming the directory. + :type marker: str + :param path_rename_mode: Determines the behavior of the rename + operation. Possible values include: 'legacy', 'posix' + :type path_rename_mode: str or + ~azure.storage.blob.models.PathRenameMode + :param directory_properties: Optional. User-defined properties to be + stored with the file or directory, in the format of a comma-separated + list of name and value pairs "n1=v1, n2=v2, ...", where each value is + base64 encoded. + :type directory_properties: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_umask: Only valid if Hierarchical Namespace is enabled + for the account. This umask restricts permission settings for file and + directory, and will only be applied when default Acl does not exist in + parent directory. If the umask bit has set, it means that the + corresponding permission will be disabled. Otherwise the corresponding + permission will be determined by the permission. A 4-digit octal + notation (e.g. 0022) is supported here. If no umask was specified, a + default umask - 0027 will be used. + :type posix_umask: str + :param source_lease_id: A lease ID for the source path. If specified, + the source path must have an active lease and the leaase ID must + match. + :type source_lease_id: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param directory_http_headers: Additional parameters for the operation + :type directory_http_headers: + ~azure.storage.blob.models.DirectoryHttpHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + cache_control = None + if directory_http_headers is not None: + cache_control = directory_http_headers.cache_control + content_type = None + if directory_http_headers is not None: + content_type = directory_http_headers.content_type + content_encoding = None + if directory_http_headers is not None: + content_encoding = directory_http_headers.content_encoding + content_language = None + if directory_http_headers is not None: + content_language = directory_http_headers.content_language + content_disposition = None + if directory_http_headers is not None: + content_disposition = directory_http_headers.content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + # Construct URL + url = self.rename.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if marker is not None: + query_parameters['continuation'] = self._serialize.query("marker", marker, 'str') + if path_rename_mode is not None: + query_parameters['mode'] = self._serialize.query("path_rename_mode", path_rename_mode, 'PathRenameMode') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-rename-source'] = self._serialize.header("rename_source", rename_source, 'str') + if directory_properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("directory_properties", directory_properties, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("posix_umask", posix_umask, 'str') + if source_lease_id is not None: + header_parameters['x-ms-source-lease-id'] = self._serialize.header("source_lease_id", source_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + rename.metadata = {'url': '/{filesystem}/{path}'} + + def delete(self, recursive_directory_delete, timeout=None, marker=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """Deletes the directory. + + :param recursive_directory_delete: If "true", all paths beneath the + directory will be deleted. If "false" and the directory is non-empty, + an error occurs. + :type recursive_directory_delete: bool + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param marker: When renaming a directory, the number of paths that are + renamed with each invocation is limited. If the number of paths to be + renamed exceeds this limit, a continuation token is returned in this + response header. When a continuation token is returned in the + response, it must be specified in a subsequent invocation of the + rename operation to continue renaming the directory. + :type marker: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['recursive'] = self._serialize.query("recursive_directory_delete", recursive_directory_delete, 'bool') + if marker is not None: + query_parameters['continuation'] = self._serialize.query("marker", marker, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + delete.metadata = {'url': '/{filesystem}/{path}'} + + def set_access_control(self, timeout=None, owner=None, group=None, posix_permissions=None, posix_acl=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """Set the owner, group, permissions, or access control list for a + directory. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_acl: Sets POSIX access control rights on files and + directories. The value is a comma-separated list of access control + entries. Each access control entry (ACE) consists of a scope, a type, + a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type posix_acl: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "setAccessControl" + + # Construct URL + url = self.set_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("posix_acl", posix_acl, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + set_access_control.metadata = {'url': '/{filesystem}/{path}'} + + def get_access_control(self, timeout=None, upn=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """Get the owner, group, permissions, or access control list for a + directory. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param upn: Optional. Valid only when Hierarchical Namespace is + enabled for the account. If "true", the identity values returned in + the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. + :type upn: bool + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "getAccessControl" + + # Construct URL + url = self.get_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-owner': self._deserialize('str', response.headers.get('x-ms-owner')), + 'x-ms-group': self._deserialize('str', response.headers.get('x-ms-group')), + 'x-ms-permissions': self._deserialize('str', response.headers.get('x-ms-permissions')), + 'x-ms-acl': self._deserialize('str', response.headers.get('x-ms-acl')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + get_access_control.metadata = {'url': '/{filesystem}/{path}'} diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_page_blob_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_page_blob_operations.py index ad53a6b56cd5..8f649ae29060 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_page_blob_operations.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_page_blob_operations.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -38,7 +37,7 @@ def __init__(self, client, config, serializer, deserializer): self._config = config self.x_ms_blob_type = "PageBlob" - def create(self, content_length, blob_content_length, timeout=None, metadata=None, blob_sequence_number=0, request_id=None, blob_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + def create(self, content_length, blob_content_length, timeout=None, metadata=None, blob_sequence_number=0, request_id=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, cls=None, **kwargs): """The Create operation creates a new page blob. :param content_length: The length of the request. @@ -71,20 +70,23 @@ def create(self, content_length, blob_content_length, timeout=None, metadata=Non analytics logging is enabled. :type request_id: str :param blob_http_headers: Additional parameters for the operation - :type blob_http_headers: ~blob.models.BlobHTTPHeaders + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) blob_content_type = None @@ -108,6 +110,15 @@ def create(self, content_length, blob_content_length, timeout=None, metadata=Non lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -159,6 +170,12 @@ def create(self, content_length, blob_content_length, timeout=None, metadata=Non header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -182,16 +199,18 @@ def create(self, content_length, blob_content_length, timeout=None, metadata=Non 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) create.metadata = {'url': '/{containerName}/{blob}'} - def upload_pages(self, body, content_length, transactional_content_md5=None, timeout=None, range=None, request_id=None, lease_access_conditions=None, sequence_number_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + def upload_pages(self, body, content_length, transactional_content_md5=None, transactional_content_crc64=None, timeout=None, range=None, request_id=None, lease_access_conditions=None, cpk_info=None, sequence_number_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): """The Upload Pages operation writes a range of pages to a page blob. :param body: Initial data @@ -201,6 +220,9 @@ def upload_pages(self, body, content_length, transactional_content_md5=None, tim :param transactional_content_md5: Specify the transactional md5 for the body, to be validated by the service. :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -215,26 +237,38 @@ def upload_pages(self, body, content_length, transactional_content_md5=None, tim :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param sequence_number_access_conditions: Additional parameters for the operation :type sequence_number_access_conditions: - ~blob.models.SequenceNumberAccessConditions + ~azure.storage.blob.models.SequenceNumberAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_sequence_number_less_than_or_equal_to = None if sequence_number_access_conditions is not None: if_sequence_number_less_than_or_equal_to = sequence_number_access_conditions.if_sequence_number_less_than_or_equal_to @@ -279,6 +313,8 @@ def upload_pages(self, body, content_length, transactional_content_md5=None, tim header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') if transactional_content_md5 is not None: header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') if range is not None: header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') @@ -287,6 +323,12 @@ def upload_pages(self, body, content_length, transactional_content_md5=None, tim header_parameters['x-ms-page-write'] = self._serialize.header("page_write", page_write, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_sequence_number_less_than_or_equal_to is not None: header_parameters['x-ms-if-sequence-number-le'] = self._serialize.header("if_sequence_number_less_than_or_equal_to", if_sequence_number_less_than_or_equal_to, 'long') if if_sequence_number_less_than is not None: @@ -318,17 +360,20 @@ def upload_pages(self, body, content_length, transactional_content_md5=None, tim 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) upload_pages.metadata = {'url': '/{containerName}/{blob}'} - def clear_pages(self, content_length, timeout=None, range=None, request_id=None, lease_access_conditions=None, sequence_number_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + def clear_pages(self, content_length, timeout=None, range=None, request_id=None, lease_access_conditions=None, cpk_info=None, sequence_number_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): """The Clear Pages operation clears a set of pages from a page blob. :param content_length: The length of the request. @@ -347,26 +392,38 @@ def clear_pages(self, content_length, timeout=None, range=None, request_id=None, :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param sequence_number_access_conditions: Additional parameters for the operation :type sequence_number_access_conditions: - ~blob.models.SequenceNumberAccessConditions + ~azure.storage.blob.models.SequenceNumberAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_sequence_number_less_than_or_equal_to = None if sequence_number_access_conditions is not None: if_sequence_number_less_than_or_equal_to = sequence_number_access_conditions.if_sequence_number_less_than_or_equal_to @@ -416,6 +473,12 @@ def clear_pages(self, content_length, timeout=None, range=None, request_id=None, header_parameters['x-ms-page-write'] = self._serialize.header("page_write", page_write, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_sequence_number_less_than_or_equal_to is not None: header_parameters['x-ms-if-sequence-number-le'] = self._serialize.header("if_sequence_number_less_than_or_equal_to", if_sequence_number_less_than_or_equal_to, 'long') if if_sequence_number_less_than is not None: @@ -445,7 +508,9 @@ def clear_pages(self, content_length, timeout=None, range=None, request_id=None, 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -454,6 +519,194 @@ def clear_pages(self, content_length, timeout=None, range=None, request_id=None, return cls(response, None, response_headers) clear_pages.metadata = {'url': '/{containerName}/{blob}'} + def upload_pages_from_url(self, source_url, source_range, content_length, range, source_content_md5=None, source_contentcrc64=None, timeout=None, request_id=None, cpk_info=None, lease_access_conditions=None, sequence_number_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, cls=None, **kwargs): + """The Upload Pages operation writes a range of pages to a page blob where + the contents are read from a URL. + + :param source_url: Specify a URL to the copy source. + :type source_url: str + :param source_range: Bytes of source data in the specified range. The + length of this range should match the ContentLength header and + x-ms-range/Range destination range header. + :type source_range: str + :param content_length: The length of the request. + :type content_length: long + :param range: The range of bytes to which the source range would be + written. The range should be 512 aligned and range-end is required. + :type range: str + :param source_content_md5: Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :type source_content_md5: bytearray + :param source_contentcrc64: Specify the crc64 calculated for the range + of bytes that must be read from the copy source. + :type source_contentcrc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param sequence_number_access_conditions: Additional parameters for + the operation + :type sequence_number_access_conditions: + ~azure.storage.blob.models.SequenceNumberAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_sequence_number_less_than_or_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than_or_equal_to = sequence_number_access_conditions.if_sequence_number_less_than_or_equal_to + if_sequence_number_less_than = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than = sequence_number_access_conditions.if_sequence_number_less_than + if_sequence_number_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_equal_to = sequence_number_access_conditions.if_sequence_number_equal_to + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + comp = "page" + page_write = "update" + + # Construct URL + url = self.upload_pages_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-copy-source'] = self._serialize.header("source_url", source_url, 'str') + header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') + if source_content_md5 is not None: + header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if source_contentcrc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_contentcrc64", source_contentcrc64, 'bytearray') + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-page-write'] = self._serialize.header("page_write", page_write, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_sequence_number_less_than_or_equal_to is not None: + header_parameters['x-ms-if-sequence-number-le'] = self._serialize.header("if_sequence_number_less_than_or_equal_to", if_sequence_number_less_than_or_equal_to, 'long') + if if_sequence_number_less_than is not None: + header_parameters['x-ms-if-sequence-number-lt'] = self._serialize.header("if_sequence_number_less_than", if_sequence_number_less_than, 'long') + if if_sequence_number_equal_to is not None: + header_parameters['x-ms-if-sequence-number-eq'] = self._serialize.header("if_sequence_number_equal_to", if_sequence_number_equal_to, 'long') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + upload_pages_from_url.metadata = {'url': '/{containerName}/{blob}'} + def get_page_ranges(self, snapshot=None, timeout=None, range=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): """The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a page blob. @@ -478,17 +731,18 @@ def get_page_ranges(self, snapshot=None, timeout=None, range=None, request_id=No :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: PageList or the result of cls(response) - :rtype: ~blob.models.PageList + :rtype: ~azure.storage.blob.models.PageList :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -560,6 +814,7 @@ def get_page_ranges(self, snapshot=None, timeout=None, range=None, request_id=No 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'ETag': self._deserialize('str', response.headers.get('ETag')), 'x-ms-blob-content-length': self._deserialize('long', response.headers.get('x-ms-blob-content-length')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -573,8 +828,8 @@ def get_page_ranges(self, snapshot=None, timeout=None, range=None, request_id=No get_page_ranges.metadata = {'url': '/{containerName}/{blob}'} def get_page_ranges_diff(self, snapshot=None, timeout=None, prevsnapshot=None, range=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): - """[Update] The Get Page Ranges Diff operation returns the list of valid - page ranges for a page blob that were changed between target blob and + """The Get Page Ranges Diff operation returns the list of valid page + ranges for a page blob that were changed between target blob and previous snapshot. :param snapshot: The snapshot parameter is an opaque DateTime value @@ -606,17 +861,18 @@ def get_page_ranges_diff(self, snapshot=None, timeout=None, prevsnapshot=None, r :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: PageList or the result of cls(response) - :rtype: ~blob.models.PageList + :rtype: ~azure.storage.blob.models.PageList :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -690,6 +946,7 @@ def get_page_ranges_diff(self, snapshot=None, timeout=None, prevsnapshot=None, r 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'ETag': self._deserialize('str', response.headers.get('ETag')), 'x-ms-blob-content-length': self._deserialize('long', response.headers.get('x-ms-blob-content-length')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -702,7 +959,7 @@ def get_page_ranges_diff(self, snapshot=None, timeout=None, prevsnapshot=None, r return deserialized get_page_ranges_diff.metadata = {'url': '/{containerName}/{blob}'} - def resize(self, blob_content_length, timeout=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + def resize(self, blob_content_length, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, cls=None, **kwargs): """Resize the Blob. :param blob_content_length: This header specifies the maximum size for @@ -720,22 +977,34 @@ def resize(self, blob_content_length, timeout=None, request_id=None, lease_acces :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None if lease_access_conditions is not None: lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm if_modified_since = None if modified_access_conditions is not None: if_modified_since = modified_access_conditions.if_modified_since @@ -772,6 +1041,12 @@ def resize(self, blob_content_length, timeout=None, request_id=None, lease_acces header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') if lease_id is not None: header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') if if_modified_since is not None: header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') if if_unmodified_since is not None: @@ -795,6 +1070,7 @@ def resize(self, blob_content_length, timeout=None, request_id=None, lease_acces 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -812,7 +1088,7 @@ def update_sequence_number(self, sequence_number_action, timeout=None, blob_sequ should modify the blob's sequence number. Possible values include: 'max', 'update', 'increment' :type sequence_number_action: str or - ~blob.models.SequenceNumberActionType + ~azure.storage.blob.models.SequenceNumberActionType :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -828,17 +1104,18 @@ def update_sequence_number(self, sequence_number_action, timeout=None, blob_sequ :type request_id: str :param lease_access_conditions: Additional parameters for the operation - :type lease_access_conditions: ~blob.models.LeaseAccessConditions + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) lease_id = None @@ -905,6 +1182,7 @@ def update_sequence_number(self, sequence_number_action, timeout=None, blob_sequ 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -939,13 +1217,13 @@ def copy_incremental(self, copy_source, timeout=None, request_id=None, modified_ :param modified_access_conditions: Additional parameters for the operation :type modified_access_conditions: - ~blob.models.ModifiedAccessConditions + ~azure.storage.blob.models.ModifiedAccessConditions :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) if_modified_since = None @@ -1004,6 +1282,7 @@ def copy_incremental(self, copy_source, timeout=None, request_id=None, modified_ response_headers = { 'ETag': self._deserialize('str', response.headers.get('ETag')), 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_service_operations.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_service_operations.py index 1ef90f16a57b..b8f4f8e42323 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_service_operations.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/operations/_service_operations.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -43,7 +42,7 @@ def set_properties(self, storage_service_properties, timeout=None, request_id=No :param storage_service_properties: The StorageService properties. :type storage_service_properties: - ~blob.models.StorageServiceProperties + ~azure.storage.blob.models.StorageServiceProperties :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -58,7 +57,7 @@ def set_properties(self, storage_service_properties, timeout=None, request_id=No :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "service" @@ -87,7 +86,7 @@ def set_properties(self, storage_service_properties, timeout=None, request_id=No # Construct body body_content = self._serialize.body(storage_service_properties, 'StorageServiceProperties') - + # Construct and send request request = self._client.put(url, query_parameters, header_parameters, body_content) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) @@ -99,6 +98,7 @@ def set_properties(self, storage_service_properties, timeout=None, request_id=No if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), @@ -123,9 +123,9 @@ def get_properties(self, timeout=None, request_id=None, cls=None, **kwargs): :param callable cls: A custom type or function that will be passed the direct response :return: StorageServiceProperties or the result of cls(response) - :rtype: ~blob.models.StorageServiceProperties + :rtype: ~azure.storage.blob.models.StorageServiceProperties :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "service" @@ -166,6 +166,7 @@ def get_properties(self, timeout=None, request_id=None, cls=None, **kwargs): if response.status_code == 200: deserialized = self._deserialize('StorageServiceProperties', response) header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), @@ -194,9 +195,9 @@ def get_statistics(self, timeout=None, request_id=None, cls=None, **kwargs): :param callable cls: A custom type or function that will be passed the direct response :return: StorageServiceStats or the result of cls(response) - :rtype: ~blob.models.StorageServiceStats + :rtype: ~azure.storage.blob.models.StorageServiceStats :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "service" @@ -237,6 +238,7 @@ def get_statistics(self, timeout=None, request_id=None, cls=None, **kwargs): if response.status_code == 200: deserialized = self._deserialize('StorageServiceStats', response) header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -276,7 +278,8 @@ def list_containers_segment(self, prefix=None, marker=None, maxresults=None, inc :param include: Include this parameter to specify that the container's metadata be returned as part of the response body. Possible values include: 'metadata' - :type include: str or ~blob.models.ListContainersIncludeType + :type include: str or + ~azure.storage.blob.models.ListContainersIncludeType :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -289,9 +292,9 @@ def list_containers_segment(self, prefix=None, marker=None, maxresults=None, inc :param callable cls: A custom type or function that will be passed the direct response :return: ListContainersSegmentResponse or the result of cls(response) - :rtype: ~blob.models.ListContainersSegmentResponse + :rtype: ~azure.storage.blob.models.ListContainersSegmentResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "list" @@ -338,6 +341,7 @@ def list_containers_segment(self, prefix=None, marker=None, maxresults=None, inc if response.status_code == 200: deserialized = self._deserialize('ListContainersSegmentResponse', response) header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), @@ -349,6 +353,84 @@ def list_containers_segment(self, prefix=None, marker=None, maxresults=None, inc return deserialized list_containers_segment.metadata = {'url': '/'} + def get_user_delegation_key(self, key_info, timeout=None, request_id=None, cls=None, **kwargs): + """Retrieves a user delegation key for the Blob service. This is only a + valid operation when using bearer token authentication. + + :param key_info: + :type key_info: ~azure.storage.blob.models.KeyInfo + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: UserDelegationKey or the result of cls(response) + :rtype: ~azure.storage.blob.models.UserDelegationKey + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "service" + comp = "userdelegationkey" + + # Construct URL + url = self.get_user_delegation_key.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct body + body_content = self._serialize.body(key_info, 'KeyInfo') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('UserDelegationKey', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_user_delegation_key.metadata = {'url': '/'} + def get_account_info(self, cls=None, **kwargs): """Returns the sku name and account kind . @@ -357,7 +439,7 @@ def get_account_info(self, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) restype = "account" @@ -390,6 +472,7 @@ def get_account_info(self, cls=None, **kwargs): if cls: response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), @@ -399,3 +482,85 @@ def get_account_info(self, cls=None, **kwargs): } return cls(response, None, response_headers) get_account_info.metadata = {'url': '/'} + + def submit_batch(self, body, content_length, multipart_content_type, timeout=None, request_id=None, cls=None, **kwargs): + """The Batch operation allows multiple API calls to be embedded into a + single HTTP request. + + :param body: Initial data + :type body: Generator + :param content_length: The length of the request. + :type content_length: long + :param multipart_content_type: Required. The value of this header must + be multipart/mixed with a batch boundary. Example header value: + multipart/mixed; boundary=batch_ + :type multipart_content_type: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: object or the result of cls(response) + :rtype: Generator + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "batch" + + # Construct URL + url = self.submit_batch.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + header_parameters['Content-Type'] = self._serialize.header("multipart_content_type", multipart_content_type, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct body + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = self._client._pipeline.run(request, stream=True, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + submit_batch.metadata = {'url': '/'} diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/version.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/version.py index 343937d5bd70..9c89a27c160c 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/version.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_generated/version.py @@ -8,7 +8,6 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file -VERSION = "2018-03-28" +VERSION = "2019-02-02" diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/constants.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/constants.py index 62886ccd7a7d..62f0f163bca1 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/constants.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/constants.py @@ -7,7 +7,7 @@ import sys -X_MS_VERSION = '2018-03-28' +X_MS_VERSION = '2019-02-02' # Socket timeout in seconds DEFAULT_SOCKET_TIMEOUT = 20 diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/models.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/models.py index 7185141649f9..50f891de3012 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/models.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/models.py @@ -420,3 +420,36 @@ def __str__(self): Services.BLOB = Services(blob=True) Services.QUEUE = Services(queue=True) Services.FILE = Services(file=True) + + +class UserDelegationKey(object): + """ + Represents a user delegation key, provided to the user by Azure Storage + based on their Azure Active Directory access token. + + The fields are saved as simple strings since the user does not have to interact with this object; + to generate an identify SAS, the user can simply pass it to the right API. + + :ivar str signed_oid: + Object ID of this token. + :ivar str signed_tid: + Tenant ID of the tenant that issued this token. + :ivar str signed_start: + The datetime this token becomes valid. + :ivar str signed_expiry: + The datetime this token expires. + :ivar str signed_service: + What service this key is valid for. + :ivar str signed_version: + The version identifier of the REST service that created this token. + :ivar str value: + The user delegation key. + """ + def __init__(self): + self.signed_oid = None + self.signed_tid = None + self.signed_start = None + self.signed_expiry = None + self.signed_service = None + self.signed_version = None + self.value = None diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/parser.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/parser.py new file mode 100644 index 000000000000..c6feba8a6393 --- /dev/null +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/parser.py @@ -0,0 +1,20 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import sys + +if sys.version_info < (3,): + def _str(value): + if isinstance(value, unicode): # pylint: disable=undefined-variable + return value.encode('utf-8') + + return str(value) +else: + _str = str + + +def _to_utc_datetime(value): + return value.strftime('%Y-%m-%dT%H:%M:%SZ') diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/response_handlers.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/response_handlers.py index bf92763aa509..fbf9889d762c 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/response_handlers.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/response_handlers.py @@ -19,7 +19,8 @@ ClientAuthenticationError, DecodeError) -from .models import StorageErrorCode +from .parser import _to_utc_datetime +from .models import StorageErrorCode, UserDelegationKey if TYPE_CHECKING: @@ -131,3 +132,15 @@ def process_storage_error(storage_error): error.error_code = error_code error.additional_info = additional_data raise error + + +def parse_to_internal_user_delegation_key(service_user_delegation_key): + internal_user_delegation_key = UserDelegationKey() + internal_user_delegation_key.signed_oid = service_user_delegation_key.signed_oid + internal_user_delegation_key.signed_tid = service_user_delegation_key.signed_tid + internal_user_delegation_key.signed_start = _to_utc_datetime(service_user_delegation_key.signed_start) + internal_user_delegation_key.signed_expiry = _to_utc_datetime(service_user_delegation_key.signed_expiry) + internal_user_delegation_key.signed_service = service_user_delegation_key.signed_service + internal_user_delegation_key.signed_version = service_user_delegation_key.signed_version + internal_user_delegation_key.value = service_user_delegation_key.value + return internal_user_delegation_key diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/shared_access_signature.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/shared_access_signature.py index 16ff778c5c1e..183889fc06a6 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/shared_access_signature.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/shared_access_signature.py @@ -4,27 +4,13 @@ # license information. # -------------------------------------------------------------------------- -import sys from datetime import date +from .parser import _str, _to_utc_datetime from .constants import X_MS_VERSION from . import sign_string, url_quote -if sys.version_info < (3,): - def _str(value): - if isinstance(value, unicode): # pylint: disable=undefined-variable - return value.encode('utf-8') - - return str(value) -else: - _str = str - - -def _to_utc_datetime(value): - return value.strftime('%Y-%m-%dT%H:%M:%SZ') - - class QueryStringConstants(object): SIGNED_SIGNATURE = 'sig' SIGNED_PERMISSION = 'sp' @@ -46,6 +32,12 @@ class QueryStringConstants(object): END_RK = 'erk' SIGNED_RESOURCE_TYPES = 'srt' SIGNED_SERVICES = 'ss' + SIGNED_OID = 'skoid' + SIGNED_TID = 'sktid' + SIGNED_KEY_START = 'skt' + SIGNED_KEY_EXPIRY = 'ske' + SIGNED_KEY_SERVICE = 'sks' + SIGNED_KEY_VERSION = 'skv' @staticmethod def to_list(): @@ -70,6 +62,12 @@ def to_list(): QueryStringConstants.END_RK, QueryStringConstants.SIGNED_RESOURCE_TYPES, QueryStringConstants.SIGNED_SERVICES, + QueryStringConstants.SIGNED_OID, + QueryStringConstants.SIGNED_TID, + QueryStringConstants.SIGNED_KEY_START, + QueryStringConstants.SIGNED_KEY_EXPIRY, + QueryStringConstants.SIGNED_KEY_SERVICE, + QueryStringConstants.SIGNED_KEY_VERSION, ] @@ -188,43 +186,6 @@ def add_override_response_headers(self, cache_control, self._add_query(QueryStringConstants.SIGNED_CONTENT_LANGUAGE, content_language) self._add_query(QueryStringConstants.SIGNED_CONTENT_TYPE, content_type) - def add_resource_signature(self, account_name, account_key, service, path): - def get_value_to_append(query): - return_value = self.query_dict.get(query) or '' - return return_value + '\n' - - if path[0] != '/': - path = '/' + path - - canonicalized_resource = '/' + service + '/' + account_name + path + '\n' - - # Form the string to sign from shared_access_policy and canonicalized - # resource. The order of values is important. - string_to_sign = \ - (get_value_to_append(QueryStringConstants.SIGNED_PERMISSION) + - get_value_to_append(QueryStringConstants.SIGNED_START) + - get_value_to_append(QueryStringConstants.SIGNED_EXPIRY) + - canonicalized_resource + - get_value_to_append(QueryStringConstants.SIGNED_IDENTIFIER) + - get_value_to_append(QueryStringConstants.SIGNED_IP) + - get_value_to_append(QueryStringConstants.SIGNED_PROTOCOL) + - get_value_to_append(QueryStringConstants.SIGNED_VERSION)) - - if service in ['blob', 'file']: - string_to_sign += \ - (get_value_to_append(QueryStringConstants.SIGNED_CACHE_CONTROL) + - get_value_to_append(QueryStringConstants.SIGNED_CONTENT_DISPOSITION) + - get_value_to_append(QueryStringConstants.SIGNED_CONTENT_ENCODING) + - get_value_to_append(QueryStringConstants.SIGNED_CONTENT_LANGUAGE) + - get_value_to_append(QueryStringConstants.SIGNED_CONTENT_TYPE)) - - # remove the trailing newline - if string_to_sign[-1] == '\n': - string_to_sign = string_to_sign[:-1] - - self._add_query(QueryStringConstants.SIGNED_SIGNATURE, - sign_string(account_key, string_to_sign)) - def add_account_signature(self, account_name, account_key): def get_value_to_append(query): return_value = self.query_dict.get(query) or '' @@ -246,446 +207,3 @@ def get_value_to_append(query): def get_token(self): return '&'.join(['{0}={1}'.format(n, url_quote(v)) for n, v in self.query_dict.items() if v is not None]) - - -class BlobSharedAccessSignature(SharedAccessSignature): - ''' - Provides a factory for creating blob and container access - signature tokens with a common account name and account key. Users can either - use the factory or can construct the appropriate service and use the - generate_*_shared_access_signature method directly. - ''' - - def __init__(self, account_name, account_key): - ''' - :param str account_name: - The storage account name used to generate the shared access signatures. - :param str account_key: - The access key to generate the shares access signatures. - ''' - super(BlobSharedAccessSignature, self).__init__(account_name, account_key, x_ms_version=X_MS_VERSION) - - def generate_blob(self, container_name, blob_name, permission=None, - expiry=None, start=None, policy_id=None, ip=None, protocol=None, - cache_control=None, content_disposition=None, - content_encoding=None, content_language=None, - content_type=None): - ''' - Generates a shared access signature for the blob. - Use the returned signature with the sas_token parameter of any BlobService. - - :param str container_name: - Name of container. - :param str blob_name: - Name of blob. - :param BlobPermissions permission: - The permissions associated with the shared access signature. The - user is restricted to operations allowed by the permissions. - Permissions must be ordered read, write, delete, list. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has been - specified in an associated stored access policy. - :param expiry: - The time at which the shared access signature becomes invalid. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has - been specified in an associated stored access policy. Azure will always - convert values to UTC. If a date is passed in without timezone info, it - is assumed to be UTC. - :type expiry: datetime or str - :param start: - The time at which the shared access signature becomes valid. If - omitted, start time for this call is assumed to be the time when the - storage service receives the request. Azure will always convert values - to UTC. If a date is passed in without timezone info, it is assumed to - be UTC. - :type start: datetime or str - :param str id: - A unique value up to 64 characters in length that correlates to a - stored access policy. To create a stored access policy, use - set_blob_service_properties. - :param str ip: - Specifies an IP address or a range of IP addresses from which to accept requests. - If the IP address from which the request originates does not match the IP address - or address range specified on the SAS token, the request is not authenticated. - For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS - restricts the request to those IP addresses. - :param str protocol: - Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. - :param str cache_control: - Response header value for Cache-Control when resource is accessed - using this shared access signature. - :param str content_disposition: - Response header value for Content-Disposition when resource is accessed - using this shared access signature. - :param str content_encoding: - Response header value for Content-Encoding when resource is accessed - using this shared access signature. - :param str content_language: - Response header value for Content-Language when resource is accessed - using this shared access signature. - :param str content_type: - Response header value for Content-Type when resource is accessed - using this shared access signature. - ''' - resource_path = container_name + '/' + blob_name - - sas = _SharedAccessHelper() - sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) - sas.add_id(policy_id) - sas.add_resource('b') - sas.add_override_response_headers(cache_control, content_disposition, - content_encoding, content_language, - content_type) - sas.add_resource_signature(self.account_name, self.account_key, 'blob', resource_path) - - return sas.get_token() - - def generate_container(self, container_name, permission=None, expiry=None, - start=None, policy_id=None, ip=None, protocol=None, - cache_control=None, content_disposition=None, - content_encoding=None, content_language=None, - content_type=None): - ''' - Generates a shared access signature for the container. - Use the returned signature with the sas_token parameter of any BlobService. - - :param str container_name: - Name of container. - :param ContainerPermissions permission: - The permissions associated with the shared access signature. The - user is restricted to operations allowed by the permissions. - Permissions must be ordered read, write, delete, list. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has been - specified in an associated stored access policy. - :param expiry: - The time at which the shared access signature becomes invalid. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has - been specified in an associated stored access policy. Azure will always - convert values to UTC. If a date is passed in without timezone info, it - is assumed to be UTC. - :type expiry: datetime or str - :param start: - The time at which the shared access signature becomes valid. If - omitted, start time for this call is assumed to be the time when the - storage service receives the request. Azure will always convert values - to UTC. If a date is passed in without timezone info, it is assumed to - be UTC. - :type start: datetime or str - :param str policy_id: - A unique value up to 64 characters in length that correlates to a - stored access policy. To create a stored access policy, use - set_blob_service_properties. - :param str ip: - Specifies an IP address or a range of IP addresses from which to accept requests. - If the IP address from which the request originates does not match the IP address - or address range specified on the SAS token, the request is not authenticated. - For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS - restricts the request to those IP addresses. - :param str protocol: - Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. - :param str cache_control: - Response header value for Cache-Control when resource is accessed - using this shared access signature. - :param str content_disposition: - Response header value for Content-Disposition when resource is accessed - using this shared access signature. - :param str content_encoding: - Response header value for Content-Encoding when resource is accessed - using this shared access signature. - :param str content_language: - Response header value for Content-Language when resource is accessed - using this shared access signature. - :param str content_type: - Response header value for Content-Type when resource is accessed - using this shared access signature. - ''' - sas = _SharedAccessHelper() - sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) - sas.add_id(policy_id) - sas.add_resource('c') - sas.add_override_response_headers(cache_control, content_disposition, - content_encoding, content_language, - content_type) - sas.add_resource_signature(self.account_name, self.account_key, 'blob', container_name) - - return sas.get_token() - - -class QueueSharedAccessSignature(SharedAccessSignature): - ''' - Provides a factory for creating queue shares access - signature tokens with a common account name and account key. Users can either - use the factory or can construct the appropriate service and use the - generate_*_shared_access_signature method directly. - ''' - - def __init__(self, account_name, account_key): - ''' - :param str account_name: - The storage account name used to generate the shared access signatures. - :param str account_key: - The access key to generate the shares access signatures. - ''' - super(QueueSharedAccessSignature, self).__init__(account_name, account_key, x_ms_version=X_MS_VERSION) - - def generate_queue(self, queue_name, permission=None, - expiry=None, start=None, policy_id=None, - ip=None, protocol=None): - ''' - Generates a shared access signature for the queue. - Use the returned signature with the sas_token parameter of QueueService. - :param str queue_name: - Name of queue. - :param QueuePermissions permission: - The permissions associated with the shared access signature. The - user is restricted to operations allowed by the permissions. - Permissions must be ordered read, add, update, process. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has been - specified in an associated stored access policy. - :param expiry: - The time at which the shared access signature becomes invalid. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has - been specified in an associated stored access policy. Azure will always - convert values to UTC. If a date is passed in without timezone info, it - is assumed to be UTC. - :type expiry: datetime or str - :param start: - The time at which the shared access signature becomes valid. If - omitted, start time for this call is assumed to be the time when the - storage service receives the request. Azure will always convert values - to UTC. If a date is passed in without timezone info, it is assumed to - be UTC. - :type start: datetime or str - :param str policy_id: - A unique value up to 64 characters in length that correlates to a - stored access policy. - :param str ip: - Specifies an IP address or a range of IP addresses from which to accept requests. - If the IP address from which the request originates does not match the IP address - or address range specified on the SAS token, the request is not authenticated. - For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS - restricts the request to those IP addresses. - :param str protocol: - Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. - ''' - sas = _QueueSharedAccessHelper() - sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) - sas.add_id(policy_id) - sas.add_resource_signature(self.account_name, self.account_key, queue_name) - - return sas.get_token() - - -class _QueueSharedAccessHelper(_SharedAccessHelper): - - def add_resource_signature(self, account_name, account_key, path): # pylint: disable=arguments-differ - def get_value_to_append(query): - return_value = self.query_dict.get(query) or '' - return return_value + '\n' - - if path[0] != '/': - path = '/' + path - - canonicalized_resource = '/queue/' + account_name + path + '\n' - - # Form the string to sign from shared_access_policy and canonicalized - # resource. The order of values is important. - string_to_sign = \ - (get_value_to_append(QueryStringConstants.SIGNED_PERMISSION) + - get_value_to_append(QueryStringConstants.SIGNED_START) + - get_value_to_append(QueryStringConstants.SIGNED_EXPIRY) + - canonicalized_resource + - get_value_to_append(QueryStringConstants.SIGNED_IDENTIFIER) + - get_value_to_append(QueryStringConstants.SIGNED_IP) + - get_value_to_append(QueryStringConstants.SIGNED_PROTOCOL) + - get_value_to_append(QueryStringConstants.SIGNED_VERSION)) - - # remove the trailing newline - if string_to_sign[-1] == '\n': - string_to_sign = string_to_sign[:-1] - - self._add_query(QueryStringConstants.SIGNED_SIGNATURE, - sign_string(account_key, string_to_sign)) - - - -class FileSharedAccessSignature(SharedAccessSignature): - ''' - Provides a factory for creating file and share access - signature tokens with a common account name and account key. Users can either - use the factory or can construct the appropriate service and use the - generate_*_shared_access_signature method directly. - ''' - - def __init__(self, account_name, account_key): - ''' - :param str account_name: - The storage account name used to generate the shared access signatures. - :param str account_key: - The access key to generate the shares access signatures. - ''' - super(FileSharedAccessSignature, self).__init__(account_name, account_key, x_ms_version=X_MS_VERSION) - - def generate_file(self, share_name, directory_name=None, file_name=None, - permission=None, expiry=None, start=None, policy_id=None, - ip=None, protocol=None, cache_control=None, - content_disposition=None, content_encoding=None, - content_language=None, content_type=None): - ''' - Generates a shared access signature for the file. - Use the returned signature with the sas_token parameter of FileService. - - :param str share_name: - Name of share. - :param str directory_name: - Name of directory. SAS tokens cannot be created for directories, so - this parameter should only be present if file_name is provided. - :param str file_name: - Name of file. - :param FilePermissions permission: - The permissions associated with the shared access signature. The - user is restricted to operations allowed by the permissions. - Permissions must be ordered read, create, write, delete, list. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has been - specified in an associated stored access policy. - :param expiry: - The time at which the shared access signature becomes invalid. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has - been specified in an associated stored access policy. Azure will always - convert values to UTC. If a date is passed in without timezone info, it - is assumed to be UTC. - :type expiry: datetime or str - :param start: - The time at which the shared access signature becomes valid. If - omitted, start time for this call is assumed to be the time when the - storage service receives the request. Azure will always convert values - to UTC. If a date is passed in without timezone info, it is assumed to - be UTC. - :type start: datetime or str - :param str policy_id: - A unique value up to 64 characters in length that correlates to a - stored access policy. To create a stored access policy, use - set_file_service_properties. - :param str ip: - Specifies an IP address or a range of IP addresses from which to accept requests. - If the IP address from which the request originates does not match the IP address - or address range specified on the SAS token, the request is not authenticated. - For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS - restricts the request to those IP addresses. - :param str protocol: - Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. - :param str cache_control: - Response header value for Cache-Control when resource is accessed - using this shared access signature. - :param str content_disposition: - Response header value for Content-Disposition when resource is accessed - using this shared access signature. - :param str content_encoding: - Response header value for Content-Encoding when resource is accessed - using this shared access signature. - :param str content_language: - Response header value for Content-Language when resource is accessed - using this shared access signature. - :param str content_type: - Response header value for Content-Type when resource is accessed - using this shared access signature. - ''' - resource_path = share_name - if directory_name is not None: - resource_path += '/' + _str(directory_name) if directory_name is not None else None - resource_path += '/' + _str(file_name) if file_name is not None else None - - sas = _SharedAccessHelper() - sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) - sas.add_id(policy_id) - sas.add_resource('f') - sas.add_override_response_headers(cache_control, content_disposition, - content_encoding, content_language, - content_type) - sas.add_resource_signature(self.account_name, self.account_key, 'file', resource_path) - - return sas.get_token() - - def generate_share(self, share_name, permission=None, expiry=None, - start=None, policy_id=None, ip=None, protocol=None, - cache_control=None, content_disposition=None, - content_encoding=None, content_language=None, - content_type=None): - ''' - Generates a shared access signature for the share. - Use the returned signature with the sas_token parameter of FileService. - - :param str share_name: - Name of share. - :param SharePermissions permission: - The permissions associated with the shared access signature. The - user is restricted to operations allowed by the permissions. - Permissions must be ordered read, create, write, delete, list. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has been - specified in an associated stored access policy. - :param expiry: - The time at which the shared access signature becomes invalid. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has - been specified in an associated stored access policy. Azure will always - convert values to UTC. If a date is passed in without timezone info, it - is assumed to be UTC. - :type expiry: datetime or str - :param start: - The time at which the shared access signature becomes valid. If - omitted, start time for this call is assumed to be the time when the - storage service receives the request. Azure will always convert values - to UTC. If a date is passed in without timezone info, it is assumed to - be UTC. - :type start: datetime or str - :param str policy_id: - A unique value up to 64 characters in length that correlates to a - stored access policy. To create a stored access policy, use - set_file_service_properties. - :param str ip: - Specifies an IP address or a range of IP addresses from which to accept requests. - If the IP address from which the request originates does not match the IP address - or address range specified on the SAS token, the request is not authenticated. - For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS - restricts the request to those IP addresses. - :param str protocol: - Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. - :param str cache_control: - Response header value for Cache-Control when resource is accessed - using this shared access signature. - :param str content_disposition: - Response header value for Content-Disposition when resource is accessed - using this shared access signature. - :param str content_encoding: - Response header value for Content-Encoding when resource is accessed - using this shared access signature. - :param str content_language: - Response header value for Content-Language when resource is accessed - using this shared access signature. - :param str content_type: - Response header value for Content-Type when resource is accessed - using this shared access signature. - ''' - sas = _SharedAccessHelper() - sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) - sas.add_id(policy_id) - sas.add_resource('s') - sas.add_override_response_headers(cache_control, content_disposition, - content_encoding, content_language, - content_type) - sas.add_resource_signature(self.account_name, self.account_key, 'file', share_name) - - return sas.get_token() diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads.py index 50b314361540..5060761d27fc 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads.py @@ -340,7 +340,7 @@ class FileChunkUploader(_ChunkUploader): # pylint: disable=abstract-method def _upload_chunk(self, chunk_offset, chunk_data): chunk_end = chunk_offset + len(chunk_data) - 1 - self.service.upload_range( + response = self.service.upload_range( chunk_data, chunk_offset, chunk_end, @@ -348,7 +348,7 @@ def _upload_chunk(self, chunk_offset, chunk_data): upload_stream_current=self.progress_total, **self.request_options ) - return 'bytes={0}-{1}'.format(chunk_offset, chunk_end) + return 'bytes={0}-{1}'.format(chunk_offset, chunk_end), response class SubStream(IOBase): diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads_async.py index 861422855b8d..8aeafa39ef28 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads_async.py @@ -338,7 +338,7 @@ class FileChunkUploader(_ChunkUploader): # pylint: disable=abstract-method async def _upload_chunk(self, chunk_offset, chunk_data): chunk_end = chunk_offset + len(chunk_data) - 1 - await self.service.upload_range( + response = await self.service.upload_range( chunk_data, chunk_offset, chunk_end, @@ -347,4 +347,4 @@ async def _upload_chunk(self, chunk_offset, chunk_data): **self.request_options ) range_id = 'bytes={0}-{1}'.format(chunk_offset, chunk_end) - return range_id + return range_id, response diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared_access_signature.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared_access_signature.py new file mode 100644 index 000000000000..b3adf5b2ac1a --- /dev/null +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared_access_signature.py @@ -0,0 +1,262 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from azure.storage.blob._shared import sign_string, url_quote +from azure.storage.blob._shared.constants import X_MS_VERSION +from azure.storage.blob._shared.shared_access_signature import SharedAccessSignature, _SharedAccessHelper, \ + QueryStringConstants + + +class BlobQueryStringConstants(object): + SIGNED_TIMESTAMP = 'snapshot' + + +class BlobSharedAccessSignature(SharedAccessSignature): + ''' + Provides a factory for creating blob and container access + signature tokens with a common account name and account key. Users can either + use the factory or can construct the appropriate service and use the + generate_*_shared_access_signature method directly. + ''' + + def __init__(self, account_name, account_key=None, user_delegation_key=None): + ''' + :param str account_name: + The storage account name used to generate the shared access signatures. + :param str account_key: + The access key to generate the shares access signatures. + :param ~azure.storage.blob.models.UserDelegationKey user_delegation_key: + Instead of an account key, the user could pass in a user delegation key. + A user delegation key can be obtained from the service by authenticating with an AAD identity; + this can be accomplished by calling get_user_delegation_key on any Blob service object. + ''' + super(BlobSharedAccessSignature, self).__init__(account_name, account_key, x_ms_version=X_MS_VERSION) + self.user_delegation_key = user_delegation_key + + def generate_blob(self, container_name, blob_name, snapshot=None, permission=None, + expiry=None, start=None, policy_id=None, ip=None, protocol=None, + cache_control=None, content_disposition=None, + content_encoding=None, content_language=None, + content_type=None): + ''' + Generates a shared access signature for the blob or one of its snapshots. + Use the returned signature with the sas_token parameter of any BlobService. + + :param str container_name: + Name of container. + :param str blob_name: + Name of blob. + :param str snapshot: + The snapshot parameter is an opaque DateTime value that, + when present, specifies the blob snapshot to grant permission. + :param BlobPermissions permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Permissions must be ordered read, write, delete, list. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: datetime or str + :param start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :type start: datetime or str + :param str policy_id: + A unique value up to 64 characters in length that correlates to a + stored access policy. To create a stored access policy, use + set_blob_service_properties. + :param str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS + restricts the request to those IP addresses. + :param str protocol: + Specifies the protocol permitted for a request made. The default value + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. + :param str cache_control: + Response header value for Cache-Control when resource is accessed + using this shared access signature. + :param str content_disposition: + Response header value for Content-Disposition when resource is accessed + using this shared access signature. + :param str content_encoding: + Response header value for Content-Encoding when resource is accessed + using this shared access signature. + :param str content_language: + Response header value for Content-Language when resource is accessed + using this shared access signature. + :param str content_type: + Response header value for Content-Type when resource is accessed + using this shared access signature. + ''' + resource_path = container_name + '/' + blob_name + + sas = _BlobSharedAccessHelper() + sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) + sas.add_id(policy_id) + sas.add_resource('b' if snapshot is None else 'bs') + sas.add_timestamp(snapshot) + sas.add_override_response_headers(cache_control, content_disposition, + content_encoding, content_language, + content_type) + sas.add_resource_signature(self.account_name, self.account_key, resource_path, + user_delegation_key=self.user_delegation_key) + + return sas.get_token() + + def generate_container(self, container_name, permission=None, expiry=None, + start=None, policy_id=None, ip=None, protocol=None, + cache_control=None, content_disposition=None, + content_encoding=None, content_language=None, + content_type=None): + ''' + Generates a shared access signature for the container. + Use the returned signature with the sas_token parameter of any BlobService. + + :param str container_name: + Name of container. + :param ContainerPermissions permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Permissions must be ordered read, write, delete, list. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: datetime or str + :param start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :type start: datetime or str + :param str policy_id: + A unique value up to 64 characters in length that correlates to a + stored access policy. To create a stored access policy, use + set_blob_service_properties. + :param str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS + restricts the request to those IP addresses. + :param str protocol: + Specifies the protocol permitted for a request made. The default value + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. + :param str cache_control: + Response header value for Cache-Control when resource is accessed + using this shared access signature. + :param str content_disposition: + Response header value for Content-Disposition when resource is accessed + using this shared access signature. + :param str content_encoding: + Response header value for Content-Encoding when resource is accessed + using this shared access signature. + :param str content_language: + Response header value for Content-Language when resource is accessed + using this shared access signature. + :param str content_type: + Response header value for Content-Type when resource is accessed + using this shared access signature. + ''' + sas = _BlobSharedAccessHelper() + sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) + sas.add_id(policy_id) + sas.add_resource('c') + sas.add_override_response_headers(cache_control, content_disposition, + content_encoding, content_language, + content_type) + sas.add_resource_signature(self.account_name, self.account_key, container_name, + user_delegation_key=self.user_delegation_key) + return sas.get_token() + + +class _BlobSharedAccessHelper(_SharedAccessHelper): + + def add_timestamp(self, timestamp): + self._add_query(BlobQueryStringConstants.SIGNED_TIMESTAMP, timestamp) + + def get_value_to_append(self, query): + return_value = self.query_dict.get(query) or '' + return return_value + '\n' + + def add_resource_signature(self, account_name, account_key, path, user_delegation_key=None): + # pylint: disable = no-member + if path[0] != '/': + path = '/' + path + + canonicalized_resource = '/blob/' + account_name + path + '\n' + + # Form the string to sign from shared_access_policy and canonicalized + # resource. The order of values is important. + string_to_sign = \ + (self.get_value_to_append(QueryStringConstants.SIGNED_PERMISSION) + + self.get_value_to_append(QueryStringConstants.SIGNED_START) + + self.get_value_to_append(QueryStringConstants.SIGNED_EXPIRY) + + canonicalized_resource) + + if user_delegation_key is not None: + self._add_query(QueryStringConstants.SIGNED_OID, user_delegation_key.signed_oid) + self._add_query(QueryStringConstants.SIGNED_TID, user_delegation_key.signed_tid) + self._add_query(QueryStringConstants.SIGNED_KEY_START, user_delegation_key.signed_start) + self._add_query(QueryStringConstants.SIGNED_KEY_EXPIRY, user_delegation_key.signed_expiry) + self._add_query(QueryStringConstants.SIGNED_KEY_SERVICE, user_delegation_key.signed_service) + self._add_query(QueryStringConstants.SIGNED_KEY_VERSION, user_delegation_key.signed_version) + + string_to_sign += \ + (self.get_value_to_append(QueryStringConstants.SIGNED_OID) + + self.get_value_to_append(QueryStringConstants.SIGNED_TID) + + self.get_value_to_append(QueryStringConstants.SIGNED_KEY_START) + + self.get_value_to_append(QueryStringConstants.SIGNED_KEY_EXPIRY) + + self.get_value_to_append(QueryStringConstants.SIGNED_KEY_SERVICE) + + self.get_value_to_append(QueryStringConstants.SIGNED_KEY_VERSION)) + else: + string_to_sign += self.get_value_to_append(QueryStringConstants.SIGNED_IDENTIFIER) + + string_to_sign += \ + (self.get_value_to_append(QueryStringConstants.SIGNED_IP) + + self.get_value_to_append(QueryStringConstants.SIGNED_PROTOCOL) + + self.get_value_to_append(QueryStringConstants.SIGNED_VERSION) + + self.get_value_to_append(QueryStringConstants.SIGNED_RESOURCE) + + self.get_value_to_append(BlobQueryStringConstants.SIGNED_TIMESTAMP) + + self.get_value_to_append(QueryStringConstants.SIGNED_CACHE_CONTROL) + + self.get_value_to_append(QueryStringConstants.SIGNED_CONTENT_DISPOSITION) + + self.get_value_to_append(QueryStringConstants.SIGNED_CONTENT_ENCODING) + + self.get_value_to_append(QueryStringConstants.SIGNED_CONTENT_LANGUAGE) + + self.get_value_to_append(QueryStringConstants.SIGNED_CONTENT_TYPE)) + + # remove the trailing newline + if string_to_sign[-1] == '\n': + string_to_sign = string_to_sign[:-1] + + self._add_query(QueryStringConstants.SIGNED_SIGNATURE, + sign_string(account_key if user_delegation_key is None else user_delegation_key.value, + string_to_sign)) + + def get_token(self): + # a conscious decision was made to exclude the timestamp in the generated token + # this is to avoid having two snapshot ids in the query parameters when the user appends the snapshot timestamp + exclude = [BlobQueryStringConstants.SIGNED_TIMESTAMP] + return '&'.join(['{0}={1}'.format(n, url_quote(v)) + for n, v in self.query_dict.items() if v is not None and n not in exclude]) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/blob_client_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/blob_client_async.py index f6597df7d76c..4469e2ba7561 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/blob_client_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/blob_client_async.py @@ -10,6 +10,9 @@ TYPE_CHECKING ) +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.storage.blob._generated.models import CpkInfo + from .._shared.base_client_async import AsyncStorageAccountHostsMixin from .._shared.policies_async import ExponentialRetry from .._shared.downloads_async import StorageStreamDownloader @@ -114,6 +117,7 @@ def __init__( self._client = AzureBlobStorage(url=self.url, pipeline=self._pipeline, loop=loop) self._loop = loop + @distributed_trace_async async def get_account_information(self, **kwargs): # type: ignore # type: (Optional[int]) -> Dict[str, str] """Gets information related to the storage account in which the blob resides. @@ -129,6 +133,7 @@ async def get_account_information(self, **kwargs): # type: ignore except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def upload_blob( self, data, # type: Union[Iterable[AnyStr], IO[AnyStr]] blob_type=BlobType.BlockBlob, # type: Union[str, BlobType] @@ -194,10 +199,6 @@ async def upload_blob( the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. - :param int timeout: - The timeout parameter is expressed in seconds. This method may make - multiple calls to the Azure service and the timeout will apply to - each call individually. :param ~azure.storage.blob.models.PremiumPageBlobTier premium_page_blob_tier: A page blob tier value to set the blob to. The tier correlates to the size of the blob and number of allowed IOPS. This is only applicable to page blobs on @@ -211,8 +212,17 @@ async def upload_blob( :param int max_connections: Maximum number of parallel connections to use when the blob size exceeds 64MB. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param str encoding: Defaults to UTF-8. + :param int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. :returns: Blob-updated property dict (Etag and last modified) :rtype: dict[str, Any] @@ -240,6 +250,7 @@ async def upload_blob( return await upload_page_blob(**options) return await upload_append_blob(**options) + @distributed_trace_async async def download_blob(self, offset=None, length=None, validate_content=False, **kwargs): # type: (Optional[int], Optional[int], bool, Any) -> Iterable[bytes] """Downloads a blob to a stream with automatic chunking. @@ -284,6 +295,11 @@ async def download_blob(self, offset=None, length=None, validate_content=False, the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. This method may make multiple calls to the Azure service and the timeout will apply to @@ -312,6 +328,7 @@ async def download_blob(self, offset=None, length=None, validate_content=False, await downloader.setup(extra_properties=extra_properties) return downloader + @distributed_trace_async async def delete_blob(self, delete_snapshots=False, **kwargs): # type: (bool, Any) -> None """Marks the specified blob for deletion. @@ -374,6 +391,7 @@ async def delete_blob(self, delete_snapshots=False, **kwargs): except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def undelete_blob(self, **kwargs): # type: (Any) -> None """Restores soft-deleted blobs or snapshots. @@ -398,6 +416,7 @@ async def undelete_blob(self, **kwargs): except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def get_blob_properties(self, **kwargs): # type: (Any) -> BlobProperties """Returns all user-defined metadata, standard HTTP properties, and @@ -428,6 +447,11 @@ async def get_blob_properties(self, **kwargs): the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :returns: BlobProperties @@ -447,6 +471,13 @@ async def get_blob_properties(self, **kwargs): if_unmodified_since=kwargs.pop('if_unmodified_since', None), if_match=kwargs.pop('if_match', None), if_none_match=kwargs.pop('if_none_match', None)) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) try: blob_props = await self._client.blob.get_properties( timeout=kwargs.pop('timeout', None), @@ -454,6 +485,7 @@ async def get_blob_properties(self, **kwargs): lease_access_conditions=access_conditions, modified_access_conditions=mod_conditions, cls=deserialize_blob_properties, + cpk_info=cpk_info, **kwargs) except StorageErrorException as error: process_storage_error(error) @@ -461,6 +493,7 @@ async def get_blob_properties(self, **kwargs): blob_props.container = self.container_name return blob_props # type: ignore + @distributed_trace_async async def set_http_headers(self, content_settings=None, **kwargs): # type: (Optional[ContentSettings], Any) -> None """Sets system properties on the blob. @@ -505,6 +538,7 @@ async def set_http_headers(self, content_settings=None, **kwargs): except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def set_blob_metadata(self, metadata=None, **kwargs): # type: (Optional[Dict[str, str]], Any) -> Dict[str, Union[str, datetime]] """Sets user-defined metadata for the blob as one or more name-value pairs. @@ -539,6 +573,11 @@ async def set_blob_metadata(self, metadata=None, **kwargs): the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Etag and last modified) @@ -549,6 +588,7 @@ async def set_blob_metadata(self, metadata=None, **kwargs): except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def create_page_blob( # type: ignore self, size, # type: int content_settings=None, # type: Optional[ContentSettings] @@ -598,6 +638,11 @@ async def create_page_blob( # type: ignore the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :param ~azure.storage.blob.models.PremiumPageBlobTier premium_page_blob_tier: @@ -619,6 +664,7 @@ async def create_page_blob( # type: ignore except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def create_append_blob(self, content_settings=None, metadata=None, **kwargs): # type: (Optional[ContentSettings], Optional[Dict[str, str]], Any) -> Dict[str, Union[str, datetime]] """Creates a new Append Blob. @@ -653,6 +699,11 @@ async def create_append_blob(self, content_settings=None, metadata=None, **kwarg the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Etag and last modified). @@ -667,6 +718,7 @@ async def create_append_blob(self, content_settings=None, metadata=None, **kwarg except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def create_snapshot(self, metadata=None, **kwargs): # type: (Optional[Dict[str, str]], Any) -> Dict[str, Union[str, datetime]] """Creates a snapshot of the blob. @@ -707,6 +759,11 @@ async def create_snapshot(self, metadata=None, **kwargs): Required if the blob has an active lease. Value can be a LeaseClient object or the lease ID as a string. :type lease: ~azure.storage.blob.aio.lease_async.LeaseClient or str + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Snapshot ID, Etag, and last modified). @@ -726,6 +783,7 @@ async def create_snapshot(self, metadata=None, **kwargs): except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def start_copy_from_url(self, source_url, metadata=None, incremental_copy=False, **kwargs): # type: (str, Optional[Dict[str, str]], bool, Any) -> Any """Copies a blob asynchronously. @@ -877,6 +935,7 @@ async def start_copy_from_url(self, source_url, metadata=None, incremental_copy= except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def abort_copy(self, copy_id, **kwargs): # type: (Union[str, BlobProperties], Any) -> None """Abort an ongoing copy operation. @@ -904,6 +963,7 @@ async def abort_copy(self, copy_id, **kwargs): except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def acquire_lease(self, lease_duration=-1, lease_id=None, **kwargs): # type: (int, Optional[str], Optional[int], Any) -> LeaseClient """Requests a new lease. @@ -958,6 +1018,7 @@ async def acquire_lease(self, lease_duration=-1, lease_id=None, **kwargs): await lease.acquire(lease_duration=lease_duration, **kwargs) return lease + @distributed_trace_async async def set_standard_blob_tier(self, standard_blob_tier, **kwargs): # type: (Union[str, StandardBlobTier], Any) -> None """This operation sets the tier on a block blob. @@ -993,6 +1054,7 @@ async def set_standard_blob_tier(self, standard_blob_tier, **kwargs): except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def stage_block( self, block_id, # type: str data, # type: Union[Iterable[AnyStr], IO[AnyStr]] @@ -1024,6 +1086,11 @@ async def stage_block( :type lease: ~azure.storage.blob.aio.lease_async.LeaseClient or str :param str encoding: Defaults to UTF-8. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :rtype: None @@ -1039,6 +1106,7 @@ async def stage_block( except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def stage_block_from_url( self, block_id, # type: str source_url, # type: str @@ -1067,6 +1135,11 @@ async def stage_block_from_url( Required if the blob has an active lease. Value can be a LeaseClient object or the lease ID as a string. :type lease: ~azure.storage.blob.aio.lease_async.LeaseClient or str + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :rtype: None @@ -1083,6 +1156,7 @@ async def stage_block_from_url( except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def get_block_list(self, block_list_type="committed", **kwargs): # type: (Optional[str], Any) -> Tuple[List[BlobBlock], List[BlobBlock]] """The Get Block List operation retrieves the list of blocks that have @@ -1113,6 +1187,7 @@ async def get_block_list(self, block_list_type="committed", **kwargs): process_storage_error(error) return self._get_block_list_result(blocks) + @distributed_trace_async async def commit_block_list( # type: ignore self, block_list, # type: List[BlobBlock] content_settings=None, # type: Optional[ContentSettings] @@ -1163,6 +1238,11 @@ async def commit_block_list( # type: ignore the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Etag and last modified). @@ -1179,6 +1259,7 @@ async def commit_block_list( # type: ignore except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def set_premium_page_blob_tier(self, premium_page_blob_tier, **kwargs): # type: (Union[str, PremiumPageBlobTier], Optional[int], Optional[Union[LeaseClient, str]], **Any) -> None """Sets the page blob tiers on the blob. This API is only supported for page blobs on premium accounts. @@ -1210,6 +1291,7 @@ async def set_premium_page_blob_tier(self, premium_page_blob_tier, **kwargs): except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def get_page_ranges( # type: ignore self, start_range=None, # type: Optional[int] end_range=None, # type: Optional[int] @@ -1284,6 +1366,7 @@ async def get_page_ranges( # type: ignore process_storage_error(error) return self._get_page_ranges_result(ranges) + @distributed_trace_async async def set_sequence_number( # type: ignore self, sequence_number_action, # type: Union[str, SequenceNumberAction] sequence_number=None, # type: Optional[str] @@ -1336,6 +1419,7 @@ async def set_sequence_number( # type: ignore except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def resize_blob(self, size, **kwargs): # type: (int, Any) -> Dict[str, Union[str, datetime]] """Resizes a page blob to the specified size. @@ -1370,6 +1454,10 @@ async def resize_blob(self, size, **kwargs): the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.PremiumPageBlobTier premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Etag and last modified). @@ -1381,6 +1469,7 @@ async def resize_blob(self, size, **kwargs): except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def upload_page( # type: ignore self, page, # type: bytes start_range, # type: int @@ -1447,6 +1536,11 @@ async def upload_page( # type: ignore header to write the page only if the blob's ETag value does not match the value specified. If the values are identical, the Blob service fails. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param str encoding: Defaults to UTF-8. :param int timeout: @@ -1455,9 +1549,9 @@ async def upload_page( # type: ignore :rtype: dict(str, Any) """ options = self._upload_page_options( - page, - start_range, - end_range, + page=page, + start_range=start_range, + end_range=end_range, length=length, validate_content=validate_content, **kwargs) @@ -1466,6 +1560,112 @@ async def upload_page( # type: ignore except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async + async def upload_pages_from_url(self, source_url, # type: str + range_start, # type: int + range_end, # type: int + source_range_start, # type: int + source_content_md5=None, # type: Optional[bytes] + **kwargs + ): + # type: (...) -> Dict[str, Any] + """ + Updates a range of pages to a page blob where the contents are read from a URL. + + :param str source_url: + The URL of the source data. It can point to any Azure Blob or File, that is either public or has a + shared access signature attached. + :param int range_start: + Start of byte range to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the end offset must be a modulus of + 512-1. Examples of valid byte ranges are 0-511, 512-1023, etc. + :param int range_end: + End of byte range to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the end offset must be a modulus of + 512-1. Examples of valid byte ranges are 0-511, 512-1023, etc. + :param int source_range_start: + This indicates the start of the range of bytes(inclusive) that has to be taken from the copy source. + The service will read the same number of bytes as the destination range (end_range-start_range). + :param bytes source_content_md5: + If given, the service will calculate the MD5 hash of the block content and compare against this value. + :param datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the source resource has been modified since the specified time. + :param datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the source resource has not been modified since the specified date/time. + :param str source_if_match: + An ETag value, or the wildcard character (*). Specify this header to perform + the operation only if the source resource's ETag matches the value specified. + :param str source_if_none_match: + An ETag value, or the wildcard character (*). Specify this header + to perform the operation only if the source resource's ETag does not match + the value specified. Specify the wildcard character (*) to perform + the operation only if the source resource does not exist, and fail the + operation if it does exist. + :param str lease: + Required if the blob has an active lease. + :param int if_sequence_number_lte: + If the blob's sequence number is less than or equal to + the specified value, the request proceeds; otherwise it fails. + :param int if_sequence_number_lt: + If the blob's sequence number is less than the specified + value, the request proceeds; otherwise it fails. + :param int if_sequence_number_eq: + If the blob's sequence number is equal to the specified + value, the request proceeds; otherwise it fails. + :param datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :param datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :param str if_match: + An ETag value, or the wildcard character (*). Specify this header to perform + the operation only if the resource's ETag matches the value specified. + :param str if_none_match: + An ETag value, or the wildcard character (*). Specify this header + to perform the operation only if the resource's ETag does not match + the value specified. Specify the wildcard character (*) to perform + the operation only if the resource does not exist, and fail the + operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :param int timeout: + The timeout parameter is expressed in seconds. + """ + + options = self._upload_pages_from_url_options( + source_url=source_url, + range_start=range_start, + range_end=range_end, + source_range_start=source_range_start, + source_content_md5=source_content_md5, + **kwargs + ) + try: + return await self._client.page_blob.upload_pages_from_url(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async async def clear_page(self, start_range, end_range, **kwargs): # type: (int, int) -> Dict[str, Union[str, datetime]] """Clears a range of pages. @@ -1514,6 +1714,10 @@ async def clear_page(self, start_range, end_range, **kwargs): header to write the page only if the blob's ETag value does not match the value specified. If the values are identical, the Blob service fails. + :param ~azure.storage.blob.models.PremiumPageBlobTier premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Etag and last modified). @@ -1525,6 +1729,7 @@ async def clear_page(self, start_range, end_range, **kwargs): except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def append_block( # type: ignore self, data, # type: Union[Iterable[AnyStr], IO[AnyStr]] length=None, # type: Optional[int] @@ -1586,6 +1791,11 @@ async def append_block( # type: ignore operation if it does exist. :param str encoding: Defaults to UTF-8. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Etag, last modified, append offset, committed block count). @@ -1603,3 +1813,104 @@ async def append_block( # type: ignore return await self._client.append_blob.append_block(**options) # type: ignore except StorageErrorException as error: process_storage_error(error) + + @distributed_trace_async() + async def append_block_from_url(self, copy_source_url, # type: str + source_range_start=None, # type Optional[int] + source_range_end=None, # type Optional[int] + source_content_md5=None, # type: Optional[bytearray] + maxsize_condition=None, # type: Optional[int] + appendpos_condition=None, # type: Optional[int] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime, int]] + """ + Creates a new block to be committed as part of a blob, where the contents are read from a source url. + + :param str copy_source_url: + The URL of the source data. It can point to any Azure Blob or File, that is either public or has a + shared access signature attached. + :param int source_range_start: + This indicates the start of the range of bytes(inclusive) that has to be taken from the copy source. + :param int source_range_end: + This indicates the end of the range of bytes(inclusive) that has to be taken from the copy source. + :param bytearray source_content_md5: + If given, the service will calculate the MD5 hash of the block content and compare against this value. + :param int maxsize_condition: + Optional conditional header. The max length in bytes permitted for + the append blob. If the Append Block operation would cause the blob + to exceed that limit or if the blob size is already greater than the + value specified in this header, the request will fail with + MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed). + :param int appendpos_condition: + Optional conditional header, used only for the Append Block operation. + A number indicating the byte offset to compare. Append Block will + succeed only if the append position is equal to this number. If it + is not, the request will fail with the + AppendPositionConditionNotMet error + (HTTP status code 412 - Precondition Failed). + :param ~azure.storage.blob.lease.LeaseClient or str lease: + Required if the blob has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :param datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :param datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :param str if_match: + An ETag value, or the wildcard character (*). Specify this header to perform + the operation only if the resource's ETag matches the value specified. + :param str if_none_match: + An ETag value, or the wildcard character (*). Specify this header + to perform the operation only if the resource's ETag does not match + the value specified. Specify the wildcard character (*) to perform + the operation only if the resource does not exist, and fail the + operation if it does exist. + :param datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the source resource has been modified since the specified time. + :param datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the source resource has not been modified since the specified date/time. + :param str source_if_match: + An ETag value, or the wildcard character (*). Specify this header to perform + the operation only if the source resource's ETag matches the value specified. + :param str source_if_none_match: + An ETag value, or the wildcard character (*). Specify this header + to perform the operation only if the source resource's ETag does not match + the value specified. Specify the wildcard character (*) to perform + the operation only if the source resource does not exist, and fail the + operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :param int timeout: + The timeout parameter is expressed in seconds. + """ + options = self._append_block_from_url_options( + copy_source_url, + source_range_start=source_range_start, + source_range_end=source_range_end, + source_content_md5=source_content_md5, + maxsize_condition=maxsize_condition, + appendpos_condition=appendpos_condition, + **kwargs + ) + try: + return await self._client.append_blob.append_block_from_url(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/blob_service_client_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/blob_service_client_async.py index b250c65ff96f..653edab10995 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/blob_service_client_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/blob_service_client_async.py @@ -10,13 +10,18 @@ TYPE_CHECKING ) +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.core.async_paging import AsyncItemPaged + from .._shared.models import LocationMode from .._shared.policies_async import ExponentialRetry from .._shared.base_client_async import AsyncStorageAccountHostsMixin from .._shared.response_handlers import return_response_headers, process_storage_error +from .._shared.parser import _to_utc_datetime +from .._shared.response_handlers import parse_to_internal_user_delegation_key from .._generated.aio import AzureBlobStorage -from .._generated.models import StorageErrorException, StorageServiceProperties +from .._generated.models import StorageErrorException, StorageServiceProperties, KeyInfo from ..blob_service_client import BlobServiceClient as BlobServiceClientBase from .container_client_async import ContainerClient from .blob_client_async import BlobClient @@ -107,6 +112,37 @@ def __init__( self._client = AzureBlobStorage(url=self.url, pipeline=self._pipeline, loop=loop) self._loop = loop + @distributed_trace_async + async def get_user_delegation_key(self, key_start_time, # type: datetime + key_expiry_time, # type: datetime + timeout=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (datetime, datetime, Optional[int]) -> UserDelegationKey + """ + Obtain a user delegation key for the purpose of signing SAS tokens. + A token credential must be present on the service object for this request to succeed. + + :param datetime key_start_time: + A DateTime value. Indicates when the key becomes valid. + :param datetime key_expiry_time: + A DateTime value. Indicates when the key stops being valid. + :param int timeout: + The timeout parameter is expressed in seconds. + :return: The user delegation key. + :rtype: ~azure.storage.blob._shared.models.UserDelegationKey + """ + key_info = KeyInfo(start=_to_utc_datetime(key_start_time), expiry=_to_utc_datetime(key_expiry_time)) + try: + user_delegation_key = await self._client.service.get_user_delegation_key(key_info=key_info, + timeout=timeout, + **kwargs) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + return parse_to_internal_user_delegation_key(user_delegation_key) # type: ignore + + @distributed_trace_async async def get_account_information(self, **kwargs): # type: ignore # type: (Optional[int]) -> Dict[str, str] """Gets information related to the storage account. @@ -130,6 +166,7 @@ async def get_account_information(self, **kwargs): # type: ignore except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def get_service_stats(self, timeout=None, **kwargs): # type: ignore # type: (Optional[int], **Any) -> Dict[str, Any] """Retrieves statistics related to replication for the Blob service. @@ -169,8 +206,9 @@ async def get_service_stats(self, timeout=None, **kwargs): # type: ignore except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def get_service_properties(self, timeout=None, **kwargs): - # type(Optional[int]) -> Dict[str, Any] + # type: (Optional[int], Any) -> Dict[str, Any] """Gets the properties of a storage account's Blob service, including Azure Storage Analytics. @@ -191,6 +229,7 @@ async def get_service_properties(self, timeout=None, **kwargs): except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def set_service_properties( self, logging=None, # type: Optional[Logging] hour_metrics=None, # type: Optional[Metrics] @@ -267,6 +306,7 @@ async def set_service_properties( except StorageErrorException as error: process_storage_error(error) + @distributed_trace def list_containers( self, name_starts_with=None, # type: Optional[str] include_metadata=False, # type: Optional[bool] @@ -316,6 +356,7 @@ def list_containers( page_iterator_class=ContainerPropertiesPaged ) + @distributed_trace_async async def create_container( self, name, # type: str metadata=None, # type: Optional[Dict[str, str]] @@ -355,6 +396,7 @@ async def create_container( metadata=metadata, public_access=public_access, timeout=timeout, **kwargs) return container + @distributed_trace_async async def delete_container( self, container, # type: Union[ContainerProperties, str] lease=None, # type: Optional[Union[LeaseClient, str]] @@ -462,7 +504,8 @@ def get_blob_client( :type blob: str or ~azure.storage.blob.models.BlobProperties :param snapshot: The optional blob snapshot on which to operate. This can either be the ID of the snapshot, - or a dictionary output returned by :func:`~azure.storage.blob.aio.blob_client_async.BlobClient.create_snapshot()`. + or a dictionary output returned by + :func:`~azure.storage.blob.aio.blob_client_async.BlobClient.create_snapshot()`. :type snapshot: str or dict(str, Any) :returns: A BlobClient. :rtype: ~azure.storage.blob.aio.blob_client_async.BlobClient diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/container_client_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/container_client_async.py index 7f1bfb5189b5..06829e09f94b 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/container_client_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/container_client_async.py @@ -10,7 +10,10 @@ TYPE_CHECKING ) +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.core.async_paging import AsyncItemPaged + from .._shared.base_client_async import AsyncStorageAccountHostsMixin from .._shared.policies_async import ExponentialRetry from .._shared.request_handlers import add_metadata_headers, serialize_iso @@ -112,6 +115,7 @@ def __init__( self._client = AzureBlobStorage(url=self.url, pipeline=self._pipeline, loop=loop) self._loop = loop + @distributed_trace_async async def create_container(self, metadata=None, public_access=None, timeout=None, **kwargs): # type: (Optional[Dict[str, str]], Optional[Union[PublicAccess, str]], Optional[int], **Any) -> None """ @@ -148,6 +152,7 @@ async def create_container(self, metadata=None, public_access=None, timeout=None except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def delete_container( self, lease=None, # type: Optional[Union[LeaseClient, str]] timeout=None, # type: Optional[int] @@ -210,6 +215,7 @@ async def delete_container( except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def acquire_lease( self, lease_duration=-1, # type: int lease_id=None, # type: Optional[str] @@ -267,6 +273,7 @@ async def acquire_lease( await lease.acquire(lease_duration=lease_duration, timeout=timeout, **kwargs) return lease + @distributed_trace_async async def get_account_information(self, **kwargs): # type: ignore # type: (**Any) -> Dict[str, str] """Gets information related to the storage account. @@ -282,6 +289,7 @@ async def get_account_information(self, **kwargs): # type: ignore except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def get_container_properties(self, lease=None, timeout=None, **kwargs): # type: (Optional[Union[LeaseClient, str]], Optional[int], **Any) -> ContainerProperties """Returns all user-defined metadata and system properties for the specified @@ -315,6 +323,7 @@ async def get_container_properties(self, lease=None, timeout=None, **kwargs): response.name = self.container_name return response # type: ignore + @distributed_trace_async async def set_container_metadata( # type: ignore self, metadata=None, # type: Optional[Dict[str, str]] lease=None, # type: Optional[Union[str, LeaseClient]] @@ -367,6 +376,7 @@ async def set_container_metadata( # type: ignore except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async async def get_container_access_policy(self, lease=None, timeout=None, **kwargs): # type: (Optional[Union[LeaseClient, str]], Optional[int], **Any) -> Dict[str, Any] """Gets the permissions for the specified container. @@ -402,13 +412,14 @@ async def get_container_access_policy(self, lease=None, timeout=None, **kwargs): 'signed_identifiers': identifiers or [] } + @distributed_trace_async async def set_container_access_policy( self, signed_identifiers=None, # type: Optional[Dict[str, Optional[AccessPolicy]]] public_access=None, # type: Optional[Union[str, PublicAccess]] lease=None, # type: Optional[Union[str, LeaseClient]] timeout=None, # type: Optional[int] - **kwargs - ): + **kwargs # type: Any + ): # type: (...) -> Dict[str, Union[str, datetime]] """Sets the permissions for the specified container or stored access policies that may be used with Shared Access Signatures. The permissions indicate whether blobs in a container may be accessed publicly. @@ -477,6 +488,7 @@ async def set_container_access_policy( except StorageErrorException as error: process_storage_error(error) + @distributed_trace def list_blobs(self, name_starts_with=None, include=None, timeout=None, **kwargs): # type: (Optional[str], Optional[Any], Optional[int], **Any) -> AsyncItemPaged[BlobProperties] """Returns a generator to list the blobs under the specified container. @@ -518,6 +530,7 @@ def list_blobs(self, name_starts_with=None, include=None, timeout=None, **kwargs page_iterator_class=BlobPropertiesPaged ) + @distributed_trace def walk_blobs( self, name_starts_with=None, # type: Optional[str] include=None, # type: Optional[Any] @@ -563,6 +576,7 @@ def walk_blobs( results_per_page=results_per_page, delimiter=delimiter) + @distributed_trace_async async def upload_blob( self, name, # type: Union[str, BlobProperties] data, # type: Union[Iterable[AnyStr], IO[AnyStr]] @@ -681,6 +695,7 @@ async def upload_blob( ) return blob + @distributed_trace_async async def delete_blob( self, blob, # type: Union[str, BlobProperties] delete_snapshots=None, # type: Optional[str] diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/lease_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/lease_async.py index b0a5e6693d7e..c372eb045b94 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/lease_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/lease_async.py @@ -9,6 +9,8 @@ TypeVar, TYPE_CHECKING ) +from azure.core.tracing.decorator_async import distributed_trace_async + from .._shared.response_handlers import return_response_headers, process_storage_error from .._generated.models import ( StorageErrorException, @@ -59,6 +61,7 @@ async def __aenter__(self): async def __aexit__(self, *args): await self.release() + @distributed_trace_async async def acquire(self, lease_duration=-1, timeout=None, **kwargs): # type: (int, Optional[int], Any) -> None """Requests a new lease. @@ -115,6 +118,7 @@ async def acquire(self, lease_duration=-1, timeout=None, **kwargs): self.last_modified = response.get('last_modified') # type: datetime self.etag = kwargs.get('etag') # type: str + @distributed_trace_async async def renew(self, timeout=None, **kwargs): # type: (Optional[int], Any) -> None """Renews the lease. @@ -168,6 +172,7 @@ async def renew(self, timeout=None, **kwargs): self.id = response.get('lease_id') # type: str self.last_modified = response.get('last_modified') # type: datetime + @distributed_trace_async async def release(self, timeout=None, **kwargs): # type: (Optional[int], Any) -> None """Release the lease. @@ -219,6 +224,7 @@ async def release(self, timeout=None, **kwargs): self.id = response.get('lease_id') # type: str self.last_modified = response.get('last_modified') # type: datetime + @distributed_trace_async async def change(self, proposed_lease_id, timeout=None, **kwargs): # type: (str, Optional[int], Any) -> None """Change the lease ID of an active lease. @@ -270,6 +276,7 @@ async def change(self, proposed_lease_id, timeout=None, **kwargs): self.id = response.get('lease_id') # type: str self.last_modified = response.get('last_modified') # type: datetime + @distributed_trace_async async def break_lease(self, lease_break_period=None, timeout=None, **kwargs): # type: (Optional[int], Optional[int], Any) -> int """Break the lease, if the container or blob has an active lease. diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/blob_client.py b/sdk/storage/azure-storage-blob/azure/storage/blob/blob_client.py index 3dd942365967..0033f93adf0e 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/blob_client.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/blob_client.py @@ -21,7 +21,6 @@ from ._shared import encode_base64 from ._shared.base_client import StorageAccountHostsMixin, parse_connection_str, parse_query -from ._shared.shared_access_signature import BlobSharedAccessSignature from ._shared.encryption import generate_blob_encryption_data from ._shared.uploads import IterStreamer from ._shared.downloads import StorageStreamDownloader @@ -30,7 +29,7 @@ validate_and_format_range_headers) from ._shared.response_handlers import return_response_headers, process_storage_error from ._generated import AzureBlobStorage -from ._generated.models import ( +from ._generated.models import ( # pylint: disable=unused-import DeleteSnapshotsOptionType, BlobHTTPHeaders, BlockLookupList, @@ -38,7 +37,10 @@ SourceModifiedAccessConditions, ModifiedAccessConditions, SequenceNumberAccessConditions, - StorageErrorException) + StorageErrorException, + UserDelegationKey, + CpkInfo) + from ._deserialize import deserialize_blob_properties, deserialize_blob_stream from ._upload_helpers import ( upload_block_blob, @@ -46,6 +48,7 @@ upload_page_blob) from .models import BlobType, BlobBlock from .lease import LeaseClient, get_access_conditions +from ._shared_access_signature import BlobSharedAccessSignature if TYPE_CHECKING: from datetime import datetime @@ -133,6 +136,7 @@ def __init__( except AttributeError: raise ValueError("Blob URL must be a string.") parsed_url = urlparse(blob_url.rstrip('/')) + if not parsed_url.path and not (container and blob): raise ValueError("Please specify a container and blob name.") if not parsed_url.netloc: @@ -162,8 +166,8 @@ def __init__( self.snapshot = blob.snapshot # type: ignore except AttributeError: self.blob_name = blob or unquote(path_blob) - self._query_str, credential = self._format_query_string(sas_token, credential, self.snapshot) - super(BlobClient, self).__init__(parsed_url, 'blob', credential, **kwargs) + self._query_str, credential = self._format_query_string(sas_token, credential, snapshot=self.snapshot) + super(BlobClient, self).__init__(parsed_url, service='blob', credential=credential, **kwargs) self._client = AzureBlobStorage(self.url, pipeline=self._pipeline) def _format_url(self, hostname): @@ -185,7 +189,7 @@ def from_connection_string( snapshot=None, # type: Optional[str] credential=None, # type: Optional[Any] **kwargs # type: Any - ): + ): # type: (...) -> BlobClient """ Create BlobClient from a Connection String. @@ -227,12 +231,14 @@ def generate_shared_access_signature( policy_id=None, # type: Optional[str] ip=None, # type: Optional[str] protocol=None, # type: Optional[str] + account_name=None, # type: Optional[str] cache_control=None, # type: Optional[str] content_disposition=None, # type: Optional[str] content_encoding=None, # type: Optional[str] content_language=None, # type: Optional[str] - content_type=None # type: Optional[str] - ): + content_type=None, # type: Optional[str] + user_delegation_key=None # type: Optional[UserDelegationKey] + ): # type: (...) -> Any """ Generates a shared access signature for the blob. @@ -274,6 +280,8 @@ def generate_shared_access_signature( restricts the request to those IP addresses. :param str protocol: Specifies the protocol permitted for a request made. The default value is https. + :param str account_name: + Specifies the account_name when using oauth token as credential. If you use oauth token as credential. :param str cache_control: Response header value for Cache-Control when resource is accessed using this shared access signature. @@ -289,17 +297,30 @@ def generate_shared_access_signature( :param str content_type: Response header value for Content-Type when resource is accessed using this shared access signature. + :param ~azure.storage.blob._shared.models.UserDelegationKey user_delegation_key: + Instead of an account key, the user could pass in a user delegation key. + A user delegation key can be obtained from the service by authenticating with an AAD identity; + this can be accomplished by calling get_user_delegation_key. + When present, the SAS is signed with the user delegation key instead. :return: A Shared Access Signature (sas) token. :rtype: str """ - if not hasattr(self.credential, 'account_key') or not self.credential.account_key: - raise ValueError("No account SAS key available.") - sas = BlobSharedAccessSignature(self.credential.account_name, self.credential.account_key) + if user_delegation_key is not None: + if not hasattr(self.credential, 'account_name') and not account_name: + raise ValueError("No account_name available. Please provide account_name parameter.") + + account_name = self.credential.account_name if hasattr(self.credential, 'account_name') else account_name + sas = BlobSharedAccessSignature(account_name, user_delegation_key=user_delegation_key) + else: + if not hasattr(self.credential, 'account_key') or not self.credential.account_key: + raise ValueError("No account SAS key available.") + sas = BlobSharedAccessSignature(self.credential.account_name, self.credential.account_key) return sas.generate_blob( self.container_name, self.blob_name, - permission, - expiry, + snapshot=self.snapshot, + permission=permission, + expiry=expiry, start=start, policy_id=policy_id, ip=ip, @@ -327,7 +348,7 @@ def get_account_information(self, **kwargs): # type: ignore except StorageErrorException as error: process_storage_error(error) - def _upload_blob_options( + def _upload_blob_options( # pylint:disable=too-many-statements self, data, # type: Union[Iterable[AnyStr], IO[AnyStr]] blob_type=BlobType.BlockBlob, # type: Union[str, BlobType] overwrite=False, # type: bool @@ -369,6 +390,15 @@ def _upload_blob_options( else: raise TypeError("Unsupported data type: {}".format(type(data))) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + kwargs['cpk_info'] = cpk_info + headers = kwargs.pop('headers', {}) headers.update(add_metadata_headers(metadata)) kwargs['lease_access_conditions'] = get_access_conditions(kwargs.pop('lease', None)) @@ -473,10 +503,6 @@ def upload_blob( # pylint: disable=too-many-locals the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. - :param int timeout: - The timeout parameter is expressed in seconds. This method may make - multiple calls to the Azure service and the timeout will apply to - each call individually. :param ~azure.storage.blob.models.PremiumPageBlobTier premium_page_blob_tier: A page blob tier value to set the blob to. The tier correlates to the size of the blob and number of allowed IOPS. This is only applicable to page blobs on @@ -490,8 +516,17 @@ def upload_blob( # pylint: disable=too-many-locals :param int max_connections: Maximum number of parallel connections to use when the blob size exceeds 64MB. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param str encoding: Defaults to UTF-8. + :param int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. :returns: Blob-updated property dict (Etag and last modified) :rtype: dict[str, Any] @@ -524,7 +559,7 @@ def _download_blob_options(self, offset=None, length=None, validate_content=Fals if self.require_encryption and not self.key_encryption_key: raise ValueError("Encryption required but no key was provided.") if length is not None and offset is None: - raise ValueError("Offset value must not be None is length is set.") + raise ValueError("Offset value must not be None if length is set.") access_conditions = get_access_conditions(kwargs.pop('lease', None)) mod_conditions = ModifiedAccessConditions( @@ -533,6 +568,14 @@ def _download_blob_options(self, offset=None, length=None, validate_content=Fals if_match=kwargs.pop('if_match', None), if_none_match=kwargs.pop('if_none_match', None)) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + options = { 'service': self._client.blob, 'config': self._config, @@ -545,6 +588,7 @@ def _download_blob_options(self, offset=None, length=None, validate_content=Fals 'resolver': self.key_resolver_function}, 'lease_access_conditions': access_conditions, 'modified_access_conditions': mod_conditions, + 'cpk_info': cpk_info, 'cls': deserialize_blob_stream, 'timeout': kwargs.pop('timeout', None)} options.update(kwargs) @@ -595,6 +639,11 @@ def download_blob(self, offset=None, length=None, validate_content=False, **kwar the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. This method may make multiple calls to the Azure service and the timeout will apply to @@ -761,6 +810,11 @@ def get_blob_properties(self, **kwargs): the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :returns: BlobProperties @@ -774,12 +828,20 @@ def get_blob_properties(self, **kwargs): :dedent: 8 :caption: Getting the properties for a blob. """ + # TODO: extract this out as _get_blob_properties_options access_conditions = get_access_conditions(kwargs.pop('lease', None)) mod_conditions = ModifiedAccessConditions( if_modified_since=kwargs.pop('if_modified_since', None), if_unmodified_since=kwargs.pop('if_unmodified_since', None), if_match=kwargs.pop('if_match', None), if_none_match=kwargs.pop('if_none_match', None)) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) try: blob_props = self._client.blob.get_properties( timeout=kwargs.pop('timeout', None), @@ -787,6 +849,7 @@ def get_blob_properties(self, **kwargs): lease_access_conditions=access_conditions, modified_access_conditions=mod_conditions, cls=deserialize_blob_properties, + cpk_info=cpk_info, **kwargs) except StorageErrorException as error: process_storage_error(error) @@ -876,11 +939,20 @@ def _set_blob_metadata_options(self, metadata=None, **kwargs): if_unmodified_since=kwargs.pop('if_unmodified_since', None), if_match=kwargs.pop('if_match', None), if_none_match=kwargs.pop('if_none_match', None)) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) options = { 'timeout': kwargs.pop('timeout', None), 'lease_access_conditions': access_conditions, 'modified_access_conditions': mod_conditions, 'cls': return_response_headers, + 'cpk_info': cpk_info, 'headers': headers} options.update(kwargs) return options @@ -920,6 +992,11 @@ def set_blob_metadata(self, metadata=None, **kwargs): the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Etag and last modified) @@ -959,6 +1036,15 @@ def _create_page_blob_options( # type: ignore blob_content_language=content_settings.content_language, blob_content_disposition=content_settings.content_disposition ) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + if premium_page_blob_tier: try: headers['x-ms-access-tier'] = premium_page_blob_tier.value # type: ignore @@ -973,6 +1059,7 @@ def _create_page_blob_options( # type: ignore 'lease_access_conditions': access_conditions, 'modified_access_conditions': mod_conditions, 'cls': return_response_headers, + 'cpk_info': cpk_info, 'headers': headers} options.update(kwargs) return options @@ -1027,6 +1114,11 @@ def create_page_blob( # type: ignore the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :param ~azure.storage.blob.models.PremiumPageBlobTier premium_page_blob_tier: @@ -1070,6 +1162,15 @@ def _create_append_blob_options(self, content_settings=None, metadata=None, **kw blob_content_language=content_settings.content_language, blob_content_disposition=content_settings.content_disposition ) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + options = { 'content_length': 0, 'blob_http_headers': blob_headers, @@ -1077,6 +1178,7 @@ def _create_append_blob_options(self, content_settings=None, metadata=None, **kw 'lease_access_conditions': access_conditions, 'modified_access_conditions': mod_conditions, 'cls': return_response_headers, + 'cpk_info': cpk_info, 'headers': headers} options.update(kwargs) return options @@ -1116,6 +1218,11 @@ def create_append_blob(self, content_settings=None, metadata=None, **kwargs): the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Etag and last modified). @@ -1140,11 +1247,21 @@ def _create_snapshot_options(self, metadata=None, **kwargs): if_unmodified_since=kwargs.pop('if_unmodified_since', None), if_match=kwargs.pop('if_match', None), if_none_match=kwargs.pop('if_none_match', None)) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + options = { 'timeout': kwargs.pop('timeout', None), 'lease_access_conditions': access_conditions, 'modified_access_conditions': mod_conditions, 'cls': return_response_headers, + 'cpk_info': cpk_info, 'headers': headers} options.update(kwargs) return options @@ -1190,6 +1307,11 @@ def create_snapshot(self, metadata=None, **kwargs): Required if the blob has an active lease. Value can be a LeaseClient object or the lease ID as a string. :type lease: ~azure.storage.blob.lease.LeaseClient or str + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Snapshot ID, Etag, and last modified). @@ -1558,6 +1680,15 @@ def _stage_block_options( length, data = read_length(data) if isinstance(data, bytes): data = data[:length] + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + options = { 'block_id': block_id, 'content_length': length, @@ -1565,7 +1696,9 @@ def _stage_block_options( 'transactional_content_md5': None, 'timeout': kwargs.pop('timeout', None), 'lease_access_conditions': access_conditions, - 'validate_content': validate_content} + 'validate_content': validate_content, + 'cpk_info': cpk_info + } options.update(kwargs) return options @@ -1601,6 +1734,11 @@ def stage_block( :type lease: ~azure.storage.blob.lease.LeaseClient or str :param str encoding: Defaults to UTF-8. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :rtype: None @@ -1626,12 +1764,20 @@ def _stage_block_from_url_options( ): # type: (...) -> Dict[str, Any] if source_length is not None and source_offset is None: - raise ValueError("Source offset value must not be None is length is set.") + raise ValueError("Source offset value must not be None if length is set.") block_id = encode_base64(str(block_id)) access_conditions = get_access_conditions(kwargs.pop('lease', None)) range_header = None if source_offset is not None: range_header, _ = validate_and_format_range_headers(source_offset, source_length) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) options = { 'block_id': block_id, 'content_length': 0, @@ -1640,7 +1786,9 @@ def _stage_block_from_url_options( 'source_content_md5': bytearray(source_content_md5) if source_content_md5 else None, 'timeout': kwargs.pop('timeout', None), 'lease_access_conditions': access_conditions, - 'cls': return_response_headers} + 'cls': return_response_headers, + 'cpk_info': cpk_info + } options.update(kwargs) return options @@ -1673,6 +1821,11 @@ def stage_block_from_url( Required if the blob has an active lease. Value can be a LeaseClient object or the lease ID as a string. :type lease: ~azure.storage.blob.lease.LeaseClient or str + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :rtype: None @@ -1769,6 +1922,14 @@ def _commit_block_list_options( # type: ignore blob_content_language=content_settings.content_language, blob_content_disposition=content_settings.content_disposition ) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) options = { 'blocks': block_lookup, 'blob_http_headers': blob_headers, @@ -1776,7 +1937,8 @@ def _commit_block_list_options( # type: ignore 'timeout': kwargs.pop('timeout', None), 'modified_access_conditions': mod_conditions, 'cls': return_response_headers, - 'validate_content': validate_content} + 'validate_content': validate_content, + 'cpk_info': cpk_info} options.update(kwargs) return options @@ -1831,6 +1993,11 @@ def commit_block_list( # type: ignore the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Etag and last modified). @@ -2078,11 +2245,20 @@ def _resize_blob_options(self, size, **kwargs): if_none_match=kwargs.pop('if_none_match', None)) if size is None: raise ValueError("A content length must be specified for a Page Blob.") + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) options = { 'blob_content_length': size, 'timeout': kwargs.pop('timeout', None), 'lease_access_conditions': access_conditions, 'modified_access_conditions': mod_conditions, + 'cpk_info': cpk_info, 'cls': return_response_headers} options.update(kwargs) return options @@ -2122,6 +2298,10 @@ def resize_blob(self, size, **kwargs): the value specified. Specify the wildcard character (*) to perform the operation only if the resource does not exist, and fail the operation if it does exist. + :param ~azure.storage.blob.models.PremiumPageBlobTier premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Etag and last modified). @@ -2167,6 +2347,14 @@ def _upload_page_options( # type: ignore if_unmodified_since=kwargs.pop('if_unmodified_since', None), if_match=kwargs.pop('if_match', None), if_none_match=kwargs.pop('if_none_match', None)) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) options = { 'body': page[:length], 'content_length': length, @@ -2177,6 +2365,7 @@ def _upload_page_options( # type: ignore 'sequence_number_access_conditions': seq_conditions, 'modified_access_conditions': mod_conditions, 'validate_content': validate_content, + 'cpk_info': cpk_info, 'cls': return_response_headers} options.update(kwargs) return options @@ -2248,6 +2437,11 @@ def upload_page( # type: ignore header to write the page only if the blob's ETag value does not match the value specified. If the values are identical, the Blob service fails. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param str encoding: Defaults to UTF-8. :param int timeout: @@ -2256,9 +2450,9 @@ def upload_page( # type: ignore :rtype: dict(str, Any) """ options = self._upload_page_options( - page, - start_range, - end_range, + page=page, + start_range=start_range, + end_range=end_range, length=length, validate_content=validate_content, **kwargs) @@ -2267,6 +2461,176 @@ def upload_page( # type: ignore except StorageErrorException as error: process_storage_error(error) + def _upload_pages_from_url_options( # type: ignore + self, source_url, # type: str + range_start, # type: int + range_end, # type: int + source_range_start, # type: int + source_content_md5=None, # type: Optional[bytes] + **kwargs + ): + # type: (...) -> Dict[str, Any] + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + + # TODO: extract the code to a method format_range + if range_start is None or range_start % 512 != 0: + raise ValueError("start_range must be an integer that aligns with 512 page size") + if range_end is None or range_end % 512 != 511: + raise ValueError("end_range must be an integer that aligns with 512 page size") + if source_range_start is None or range_start % 512 != 0: + raise ValueError("start_range must be an integer that aligns with 512 page size") + + # Format range + destination_range = 'bytes={0}-{1}'.format(range_start, range_end) + source_range = 'bytes={0}-{1}'.format(source_range_start, source_range_start+(range_end-range_start)) + + seq_conditions = SequenceNumberAccessConditions( + if_sequence_number_less_than_or_equal_to=kwargs.pop('if_sequence_number_lte', None), + if_sequence_number_less_than=kwargs.pop('if_sequence_number_lt', None), + if_sequence_number_equal_to=kwargs.pop('if_sequence_number_eq', None) + ) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = ModifiedAccessConditions( + if_modified_since=kwargs.pop('if_modified_since', None), + if_unmodified_since=kwargs.pop('if_unmodified_since', None), + if_match=kwargs.pop('if_match', None), + if_none_match=kwargs.pop('if_none_match', None)) + source_mod_conditions = SourceModifiedAccessConditions( + source_if_modified_since=kwargs.pop('source_if_modified_since', None), + source_if_unmodified_since=kwargs.pop('source_if_unmodified_since', None), + source_if_match=kwargs.pop('source_if_match', None), + source_if_none_match=kwargs.pop('source_if_none_match', None)) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + + options = { + 'source_url': source_url, + 'content_length': 0, + 'source_range': source_range, + 'range': destination_range, + 'source_content_md5': bytearray(source_content_md5) if source_content_md5 else None, + 'timeout': kwargs.pop('timeout', None), + 'lease_access_conditions': access_conditions, + 'sequence_number_access_conditions': seq_conditions, + 'modified_access_conditions': mod_conditions, + 'source_modified_access_conditions': source_mod_conditions, + 'cpk_info': cpk_info, + 'cls': return_response_headers} + options.update(kwargs) + return options + + @distributed_trace + def upload_pages_from_url(self, source_url, # type: str + range_start, # type: int + range_end, # type: int + source_range_start, # type: int + source_content_md5=None, # type: Optional[bytes] + **kwargs + ): + # type: (...) -> Dict[str, Any] + """ + Updates a range of pages to a page blob where the contents are read from a URL. + + :param str source_url: + The URL of the source data. It can point to any Azure Blob or File, that is either public or has a + shared access signature attached. + :param int range_start: + Start of byte range to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the end offset must be a modulus of + 512-1. Examples of valid byte ranges are 0-511, 512-1023, etc. + :param int range_end: + End of byte range to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the end offset must be a modulus of + 512-1. Examples of valid byte ranges are 0-511, 512-1023, etc. + :param int source_range_start: + This indicates the start of the range of bytes(inclusive) that has to be taken from the copy source. + The service will read the same number of bytes as the destination range (end_range-start_range). + :param bytes source_content_md5: + If given, the service will calculate the MD5 hash of the block content and compare against this value. + :param datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the source resource has been modified since the specified time. + :param datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the source resource has not been modified since the specified date/time. + :param str source_if_match: + An ETag value, or the wildcard character (*). Specify this header to perform + the operation only if the source resource's ETag matches the value specified. + :param str source_if_none_match: + An ETag value, or the wildcard character (*). Specify this header + to perform the operation only if the source resource's ETag does not match + the value specified. Specify the wildcard character (*) to perform + the operation only if the source resource does not exist, and fail the + operation if it does exist. + :param str lease: + Required if the blob has an active lease. + :param int if_sequence_number_lte: + If the blob's sequence number is less than or equal to + the specified value, the request proceeds; otherwise it fails. + :param int if_sequence_number_lt: + If the blob's sequence number is less than the specified + value, the request proceeds; otherwise it fails. + :param int if_sequence_number_eq: + If the blob's sequence number is equal to the specified + value, the request proceeds; otherwise it fails. + :param datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :param datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :param str if_match: + An ETag value, or the wildcard character (*). Specify this header to perform + the operation only if the resource's ETag matches the value specified. + :param str if_none_match: + An ETag value, or the wildcard character (*). Specify this header + to perform the operation only if the resource's ETag does not match + the value specified. Specify the wildcard character (*) to perform + the operation only if the resource does not exist, and fail the + operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :param int timeout: + The timeout parameter is expressed in seconds. + """ + + options = self._upload_pages_from_url_options( + source_url=source_url, + range_start=range_start, + range_end=range_end, + source_range_start=source_range_start, + source_content_md5=source_content_md5, + **kwargs + ) + try: + return self._client.page_blob.upload_pages_from_url(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + def _clear_page_options(self, start_range, end_range, **kwargs): # type: (int, int, **Any) -> Dict[str, Any] if self.require_encryption or (self.key_encryption_key is not None): @@ -2288,6 +2652,15 @@ def _clear_page_options(self, start_range, end_range, **kwargs): if end_range is None or end_range % 512 != 511: raise ValueError("end_range must be an integer that aligns with 512 page size") content_range = 'bytes={0}-{1}'.format(start_range, end_range) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + options = { 'content_length': 0, 'timeout': kwargs.pop('timeout', None), @@ -2295,6 +2668,7 @@ def _clear_page_options(self, start_range, end_range, **kwargs): 'lease_access_conditions': access_conditions, 'sequence_number_access_conditions': seq_conditions, 'modified_access_conditions': mod_conditions, + 'cpk_info': cpk_info, 'cls': return_response_headers} options.update(kwargs) return options @@ -2348,6 +2722,11 @@ def clear_page(self, start_range, end_range, **kwargs): header to write the page only if the blob's ETag value does not match the value specified. If the values are identical, the Blob service fails. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Etag and last modified). @@ -2383,7 +2762,7 @@ def _append_block_options( # type: ignore data = data[:length] append_conditions = None - if maxsize_condition or appendpos_condition: + if maxsize_condition or appendpos_condition is not None: append_conditions = AppendPositionAccessConditions( max_size=maxsize_condition, append_position=appendpos_condition @@ -2394,6 +2773,14 @@ def _append_block_options( # type: ignore if_unmodified_since=kwargs.pop('if_unmodified_since', None), if_match=kwargs.pop('if_match', None), if_none_match=kwargs.pop('if_none_match', None)) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) options = { 'body': data, 'content_length': length, @@ -2403,6 +2790,7 @@ def _append_block_options( # type: ignore 'append_position_access_conditions': append_conditions, 'modified_access_conditions': mod_conditions, 'validate_content': validate_content, + 'cpk_info': cpk_info, 'cls': return_response_headers} options.update(kwargs) return options @@ -2469,6 +2857,11 @@ def append_block( # type: ignore operation if it does exist. :param str encoding: Defaults to UTF-8. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. :param int timeout: The timeout parameter is expressed in seconds. :returns: Blob-updated property dict (Etag, last modified, append offset, committed block count). @@ -2486,3 +2879,169 @@ def append_block( # type: ignore return self._client.append_blob.append_block(**options) # type: ignore except StorageErrorException as error: process_storage_error(error) + + def _append_block_from_url_options( # type: ignore + self, copy_source_url, # type: str + source_range_start=None, # type Optional[int] + source_range_end=None, # type Optional[int] + source_content_md5=None, # type: Optional[bytearray] + maxsize_condition=None, # type: Optional[int] + appendpos_condition=None, # type: Optional[int] + **kwargs + ): + # type: (...) -> Dict[str, Any] + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + + # If end range is provided, start range must be provided + if source_range_end is not None and source_range_start is None: + raise ValueError("source_range_start should also be specified if source_range_end is specified") + # Format based on whether end_range is present + source_range = None + if source_range_end is not None: + source_range = 'bytes={0}-{1}'.format(source_range_start, source_range_end) + elif source_range_start is not None: + source_range = "bytes={0}-".format(source_range_start) + + append_conditions = None + if maxsize_condition or appendpos_condition is not None: + append_conditions = AppendPositionAccessConditions( + max_size=maxsize_condition, + append_position=appendpos_condition + ) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = ModifiedAccessConditions( + if_modified_since=kwargs.pop('if_modified_since', None), + if_unmodified_since=kwargs.pop('if_unmodified_since', None), + if_match=kwargs.pop('if_match', None), + if_none_match=kwargs.pop('if_none_match', None)) + source_mod_conditions = SourceModifiedAccessConditions( + source_if_modified_since=kwargs.pop('source_if_modified_since', None), + source_if_unmodified_since=kwargs.pop('source_if_unmodified_since', None), + source_if_match=kwargs.pop('source_if_match', None), + source_if_none_match=kwargs.pop('source_if_none_match', None)) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + + options = { + 'source_url': copy_source_url, + 'content_length': 0, + 'source_range': source_range, + 'source_content_md5': source_content_md5, + 'transactional_content_md5': None, + 'lease_access_conditions': access_conditions, + 'append_position_access_conditions': append_conditions, + 'modified_access_conditions': mod_conditions, + 'source_modified_access_conditions': source_mod_conditions, + 'cpk_info': cpk_info, + 'cls': return_response_headers, + 'timeout': kwargs.pop('timeout', None)} + options.update(kwargs) + return options + + @distributed_trace + def append_block_from_url(self, copy_source_url, # type: str + source_range_start=None, # type Optional[int] + source_range_end=None, # type Optional[int] + source_content_md5=None, # type: Optional[bytearray] + maxsize_condition=None, # type: Optional[int] + appendpos_condition=None, # type: Optional[int] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime, int]] + """ + Creates a new block to be committed as part of a blob, where the contents are read from a source url. + + :param str copy_source_url: + The URL of the source data. It can point to any Azure Blob or File, that is either public or has a + shared access signature attached. + :param int source_range_start: + This indicates the start of the range of bytes(inclusive) that has to be taken from the copy source. + :param int source_range_end: + This indicates the end of the range of bytes(inclusive) that has to be taken from the copy source. + :param bytearray source_content_md5: + If given, the service will calculate the MD5 hash of the block content and compare against this value. + :param int maxsize_condition: + Optional conditional header. The max length in bytes permitted for + the append blob. If the Append Block operation would cause the blob + to exceed that limit or if the blob size is already greater than the + value specified in this header, the request will fail with + MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed). + :param int appendpos_condition: + Optional conditional header, used only for the Append Block operation. + A number indicating the byte offset to compare. Append Block will + succeed only if the append position is equal to this number. If it + is not, the request will fail with the + AppendPositionConditionNotMet error + (HTTP status code 412 - Precondition Failed). + :param ~azure.storage.blob.lease.LeaseClient or str lease: + Required if the blob has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :param datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :param datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :param str if_match: + An ETag value, or the wildcard character (*). Specify this header to perform + the operation only if the resource's ETag matches the value specified. + :param str if_none_match: + An ETag value, or the wildcard character (*). Specify this header + to perform the operation only if the resource's ETag does not match + the value specified. Specify the wildcard character (*) to perform + the operation only if the resource does not exist, and fail the + operation if it does exist. + :param datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the source resource has been modified since the specified time. + :param datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the source resource has not been modified since the specified date/time. + :param str source_if_match: + An ETag value, or the wildcard character (*). Specify this header to perform + the operation only if the source resource's ETag matches the value specified. + :param str source_if_none_match: + An ETag value, or the wildcard character (*). Specify this header + to perform the operation only if the source resource's ETag does not match + the value specified. Specify the wildcard character (*) to perform + the operation only if the source resource does not exist, and fail the + operation if it does exist. + :param ~azure.storage.blob.models.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :param int timeout: + The timeout parameter is expressed in seconds. + """ + options = self._append_block_from_url_options( + copy_source_url, + source_range_start=source_range_start, + source_range_end=source_range_end, + source_content_md5=source_content_md5, + maxsize_condition=maxsize_condition, + appendpos_condition=appendpos_condition, + **kwargs + ) + try: + return self._client.append_blob.append_block_from_url(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/blob_service_client.py b/sdk/storage/azure-storage-blob/azure/storage/blob/blob_service_client.py index 24840a80e67b..33af6d0001c2 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/blob_service_client.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/blob_service_client.py @@ -9,6 +9,7 @@ Union, Optional, Any, Iterable, Dict, List, TYPE_CHECKING ) + try: from urllib.parse import urlparse except ImportError: @@ -18,11 +19,13 @@ from azure.core.tracing.decorator import distributed_trace from ._shared.shared_access_signature import SharedAccessSignature -from ._shared.models import LocationMode, Services +from ._shared.models import LocationMode, Services, UserDelegationKey from ._shared.base_client import StorageAccountHostsMixin, parse_connection_str, parse_query -from ._shared.response_handlers import return_response_headers, process_storage_error +from ._shared.parser import _to_utc_datetime +from ._shared.response_handlers import return_response_headers, process_storage_error, \ + parse_to_internal_user_delegation_key from ._generated import AzureBlobStorage -from ._generated.models import StorageErrorException, StorageServiceProperties +from ._generated.models import StorageErrorException, StorageServiceProperties, KeyInfo from .container_client import ContainerClient from .blob_client import BlobClient from .models import ContainerProperties, ContainerPropertiesPaged @@ -113,7 +116,7 @@ def __init__( _, sas_token = parse_query(parsed_url.query) self._query_str, credential = self._format_query_string(sas_token, credential) - super(BlobServiceClient, self).__init__(parsed_url, 'blob', credential, **kwargs) + super(BlobServiceClient, self).__init__(parsed_url, service='blob', credential=credential, **kwargs) self._client = AzureBlobStorage(self.url, pipeline=self._pipeline) def _format_url(self, hostname): @@ -127,7 +130,7 @@ def from_connection_string( cls, conn_str, # type: str credential=None, # type: Optional[Any] **kwargs # type: Any - ): + ): # type: (...) -> BlobServiceClient """Create BlobServiceClient from a Connection String. :param str conn_str: @@ -159,7 +162,7 @@ def generate_shared_access_signature( start=None, # type: Optional[Union[datetime, str]] ip=None, # type: Optional[str] protocol=None # type: Optional[str] - ): + ): # type: (...) -> str """Generates a shared access signature for the blob service. Use the returned signature with the credential parameter of any BlobServiceClient, @@ -214,7 +217,44 @@ def generate_shared_access_signature( sas = SharedAccessSignature(self.credential.account_name, self.credential.account_key) return sas.generate_account( - Services.BLOB, resource_types, permission, expiry, start=start, ip=ip, protocol=protocol) # type: ignore + services=Services.BLOB, + resource_types=resource_types, + permission=permission, + expiry=expiry, + start=start, + ip=ip, + protocol=protocol + ) # type: ignore + + @distributed_trace + def get_user_delegation_key(self, key_start_time, # type: datetime + key_expiry_time, # type: datetime + timeout=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (datetime, datetime, Optional[int]) -> UserDelegationKey + """ + Obtain a user delegation key for the purpose of signing SAS tokens. + A token credential must be present on the service object for this request to succeed. + + :param datetime key_start_time: + A DateTime value. Indicates when the key becomes valid. + :param datetime key_expiry_time: + A DateTime value. Indicates when the key stops being valid. + :param int timeout: + The timeout parameter is expressed in seconds. + :return: The user delegation key. + :rtype: ~azure.storage.blob._shared.models.UserDelegationKey + """ + key_info = KeyInfo(start=_to_utc_datetime(key_start_time), expiry=_to_utc_datetime(key_expiry_time)) + try: + user_delegation_key = self._client.service.get_user_delegation_key(key_info=key_info, + timeout=timeout, + **kwargs) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + return parse_to_internal_user_delegation_key(user_delegation_key) # type: ignore @distributed_trace def get_account_information(self, **kwargs): # type: ignore @@ -282,7 +322,7 @@ def get_service_stats(self, timeout=None, **kwargs): # type: ignore @distributed_trace def get_service_properties(self, timeout=None, **kwargs): - # type(Optional[int]) -> Dict[str, Any] + # type: (Optional[int], Any) -> Dict[str, Any] """Gets the properties of a storage account's Blob service, including Azure Storage Analytics. diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/container_client.py b/sdk/storage/azure-storage-blob/azure/storage/blob/container_client.py index c2756c4f8fb9..bab89ba6802e 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/container_client.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/container_client.py @@ -16,12 +16,11 @@ from urlparse import urlparse # type: ignore from urllib2 import quote, unquote # type: ignore +import six + from azure.core.paging import ItemPaged from azure.core.tracing.decorator import distributed_trace -import six - -from ._shared.shared_access_signature import BlobSharedAccessSignature from ._shared.base_client import StorageAccountHostsMixin, parse_connection_str, parse_query from ._shared.request_handlers import add_metadata_headers, serialize_iso from ._shared.response_handlers import ( @@ -42,6 +41,7 @@ BlobPrefix) from .lease import LeaseClient, get_access_conditions from .blob_client import BlobClient +from ._shared_access_signature import BlobSharedAccessSignature if TYPE_CHECKING: from azure.core.pipeline.transport import HttpTransport # pylint: disable=ungrouped-imports @@ -119,6 +119,7 @@ def __init__( except AttributeError: raise ValueError("Container URL must be a string.") parsed_url = urlparse(container_url.rstrip('/')) + if not parsed_url.path and not container: raise ValueError("Please specify a container name.") if not parsed_url.netloc: @@ -133,7 +134,7 @@ def __init__( except AttributeError: self.container_name = container or unquote(path_container) # type: ignore self._query_str, credential = self._format_query_string(sas_token, credential) - super(ContainerClient, self).__init__(parsed_url, 'blob', credential, **kwargs) + super(ContainerClient, self).__init__(parsed_url, service='blob', credential=credential, **kwargs) self._client = AzureBlobStorage(self.url, pipeline=self._pipeline) def _format_url(self, hostname): @@ -152,7 +153,7 @@ def from_connection_string( container, # type: Union[str, ContainerProperties] credential=None, # type: Optional[Any] **kwargs # type: Any - ): + ): # type: (...) -> ContainerClient """Create ContainerClient from a Connection String. :param str conn_str: @@ -188,11 +189,13 @@ def generate_shared_access_signature( policy_id=None, # type: Optional[str] ip=None, # type: Optional[str] protocol=None, # type: Optional[str] + account_name=None, # type: Optional[str] cache_control=None, # type: Optional[str] content_disposition=None, # type: Optional[str] content_encoding=None, # type: Optional[str] content_language=None, # type: Optional[str] - content_type=None # type: Optional[str] + content_type=None, # type: Optional[str] + user_delegation_key=None # type Optional[] ): # type: (...) -> Any """Generates a shared access signature for the container. @@ -233,6 +236,8 @@ def generate_shared_access_signature( restricts the request to those IP addresses. :param str protocol: Specifies the protocol permitted for a request made. The default value is https. + :param str account_name: + Specifies the account_name when using oauth token as credential. If you use oauth token as credential. :param str cache_control: Response header value for Cache-Control when resource is accessed using this shared access signature. @@ -248,6 +253,11 @@ def generate_shared_access_signature( :param str content_type: Response header value for Content-Type when resource is accessed using this shared access signature. + :param ~azure.storage.blob._shared.models.UserDelegationKey user_delegation_key: + Instead of an account key, the user could pass in a user delegation key. + A user delegation key can be obtained from the service by authenticating with an AAD identity; + this can be accomplished by calling get_user_delegation_key. + When present, the SAS is signed with the user delegation key instead. :return: A Shared Access Signature (sas) token. :rtype: str @@ -259,9 +269,16 @@ def generate_shared_access_signature( :dedent: 12 :caption: Generating a sas token. """ - if not hasattr(self.credential, 'account_key') and not self.credential.account_key: - raise ValueError("No account SAS key available.") - sas = BlobSharedAccessSignature(self.credential.account_name, self.credential.account_key) + if user_delegation_key is not None: + if not hasattr(self.credential, 'account_name') and not account_name: + raise ValueError("No account_name available. Please provide account_name parameter.") + + account_name = self.credential.account_name if hasattr(self.credential, 'account_name') else account_name + sas = BlobSharedAccessSignature(account_name, user_delegation_key=user_delegation_key) + else: + if not hasattr(self.credential, 'account_key') and not self.credential.account_key: + raise ValueError("No account SAS key available.") + sas = BlobSharedAccessSignature(self.credential.account_name, self.credential.account_key) return sas.generate_container( self.container_name, permission=permission, @@ -581,7 +598,7 @@ def set_container_access_policy( lease=None, # type: Optional[Union[str, LeaseClient]] timeout=None, # type: Optional[int] **kwargs - ): + ): # type: (...) -> Dict[str, Union[str, datetime]] """Sets the permissions for the specified container or stored access policies that may be used with Shared Access Signatures. The permissions indicate whether blobs in a container may be accessed publicly. @@ -689,7 +706,6 @@ def list_blobs(self, name_starts_with=None, include=None, timeout=None, **kwargs command, prefix=name_starts_with, results_per_page=results_per_page, page_iterator_class=BlobPropertiesPaged) - @distributed_trace def walk_blobs( self, name_starts_with=None, # type: Optional[str] diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/lease.py b/sdk/storage/azure-storage-blob/azure/storage/blob/lease.py index 731c625fe8a9..f4c5b227ded0 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/lease.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/lease.py @@ -58,7 +58,9 @@ class LeaseClient(object): A string representing the lease ID of an existing lease. This value does not need to be specified in order to acquire a new lease, or break one. """ - def __init__(self, client, lease_id=None): + def __init__( + self, client, lease_id=None + ): # pylint: disable=missing-client-constructor-parameter-credential,missing-client-constructor-parameter-kwargs # type: (Union[BlobClient, ContainerClient], Optional[str]) -> None self.id = lease_id or str(uuid.uuid4()) self.last_modified = None diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/models.py b/sdk/storage/azure-storage-blob/azure/storage/blob/models.py index d7c037d40931..5de52bac1a35 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/models.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/models.py @@ -413,6 +413,7 @@ def __init__(self, **kwargs): self.snapshot = kwargs.get('x-ms-snapshot') self.blob_type = BlobType(kwargs['x-ms-blob-type']) if kwargs.get('x-ms-blob-type') else None self.metadata = kwargs.get('metadata') + self.encrypted_metadata = kwargs.get('encrypted_metadata') self.last_modified = kwargs.get('Last-Modified') self.etag = kwargs.get('ETag') self.size = kwargs.get('Content-Length') @@ -431,6 +432,8 @@ def __init__(self, **kwargs): self.remaining_retention_days = None self.creation_time = kwargs.get('x-ms-creation-time') self.archive_status = kwargs.get('x-ms-archive-status') + self.encryption_key_sha256 = kwargs.get('x-ms-encryption-key-sha256') + self.request_server_encrypted = kwargs.get('x-ms-server-encrypted') @classmethod def _from_generated(cls, generated): @@ -441,7 +444,8 @@ def _from_generated(cls, generated): blob.etag = generated.properties.etag blob.deleted = generated.deleted blob.snapshot = generated.snapshot - blob.metadata = generated.metadata + blob.metadata = generated.metadata.additional_properties if generated.metadata else {} + blob.encrypted_metadata = generated.metadata.encrypted if generated.metadata else None blob.lease = LeaseProperties._from_generated(generated) # pylint: disable=protected-access blob.copy = CopyProperties._from_generated(generated) # pylint: disable=protected-access blob.last_modified = generated.properties.last_modified @@ -980,3 +984,31 @@ def __str__(self): BlobPermissions.DELETE = BlobPermissions(delete=True) BlobPermissions.READ = BlobPermissions(read=True) BlobPermissions.WRITE = BlobPermissions(write=True) + + +class CustomerProvidedEncryptionKey(object): + """ + All data in Azure Storage is encrypted at-rest using an account-level encryption key. + In versions 2018-06-17 and newer, you can manage the key used to encrypt blob contents + and application metadata per-blob by providing an AES-256 encryption key in requests to the storage service. + + When you use a customer-provided key, Azure Storage does not manage or persist your key. + When writing data to a blob, the provided key is used to encrypt your data before writing it to disk. + A SHA-256 hash of the encryption key is written alongside the blob contents, + and is used to verify that all subsequent operations against the blob use the same encryption key. + This hash cannot be used to retrieve the encryption key or decrypt the contents of the blob. + When reading a blob, the provided key is used to decrypt your data after reading it from disk. + In both cases, the provided encryption key is securely discarded + as soon as the encryption or decryption process completes. + + :ivar str key_value: + Base64-encoded AES-256 encryption key value. + :ivar str key_hash: + Base64-encoded SHA256 of the encryption key. + :ivar str algorithm: + Specifies the algorithm to use when encrypting data using the given key. Must be AES256. + """ + def __init__(self, key_value, key_hash): + self.key_value = key_value + self.key_hash = key_hash + self.algorithm = 'AES256' diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/version.py b/sdk/storage/azure-storage-blob/azure/storage/blob/version.py index 9ed9f5528271..be1f1106dfcc 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/version.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/version.py @@ -4,4 +4,4 @@ # license information. # -------------------------------------------------------------------------- -VERSION = "12.0.0b2" +VERSION = "12.0.0b3" diff --git a/sdk/storage/azure-storage-blob/setup.py b/sdk/storage/azure-storage-blob/setup.py index 7edf7eb60aa9..758fb8f8a0cf 100644 --- a/sdk/storage/azure-storage-blob/setup.py +++ b/sdk/storage/azure-storage-blob/setup.py @@ -91,7 +91,7 @@ 'tests.common' ]), install_requires=[ - "azure-core<2.0.0,>=1.0.0b2", + "azure-core<2.0.0,>=1.0.0b3", "msrest>=0.5.0", "cryptography>=2.1.4" ], diff --git a/sdk/storage/azure-storage-blob/swagger/README.md b/sdk/storage/azure-storage-blob/swagger/README.md new file mode 100644 index 000000000000..e09fca612d0c --- /dev/null +++ b/sdk/storage/azure-storage-blob/swagger/README.md @@ -0,0 +1,102 @@ +# Azure Blob Storage for Python + +> see https://aka.ms/autorest + +### Setup +```ps +cd C:\work +git clone --recursive https://github.com/Azure/autorest.python.git +cd autorest.python +git checkout azure-core +npm install +``` + +### Generation +```ps +cd +autorest --use=C:/work/autorest.python --version=2.0.4280 +``` + +### Settings +``` yaml +input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/storage-dataplane-preview/specification/storage/data-plane/Microsoft.BlobStorage/preview/2019-02-02/blob.json +output-folder: ../azure/storage/blob/_generated +namespace: azure.storage.blob +no-namespace-folders: true +license-header: MICROSOFT_MIT_NO_VERSION +enable-xml: true +vanilla: true +clear-output-folder: true +python: true +``` + +### Remove x-ms-pageable +Currently breaking the latest version of autorest.python +``` yaml +directive: +- from: swagger-document + where: $["x-ms-paths"]..get + transform: > + if ($["x-ms-pageable"]) { delete $["x-ms-pageable"]; } +``` + +### Use strings for dates when python doesn't have enough precision +``` yaml +directive: +- from: swagger-document + where: $.definitions.AccessPolicy.properties + transform: > + $.Start.format = "str"; + $.Expiry.format = "str"; +``` + +### BlobTagFilter +``` yaml +directive: +- from: swagger-document + where: $.parameters.BlobTagFilter + transform: > + $["x-ms-parameter-location"] = "method"; +``` + +### PathRenameMode +``` yaml +directive: +- from: swagger-document + where: $.parameters.PathRenameMode + transform: > + $["x-ms-parameter-location"] = "method"; +``` + +### BlobHierarchyListSegment +``` yaml +directive: +- from: swagger-document + where: $.definitions.BlobHierarchyListSegment + transform: > + $.properties.BlobPrefixes.xml = { "name": "BlobPrefix" }; + $.properties.BlobItems.xml = { "name": "Blob" }; +``` + +### SignedIdentifier shouldn't require an AccessPolicy, only ID +``` yaml +directive: +- from: swagger-document + where: $.definitions.SignedIdentifier + transform: > + $.required = [ "Id" ]; +``` + +### Make AccessTier Unique +autorest.python complains that the same enum has different values +``` yaml +directive: +- from: swagger-document + where: $.parameters.AccessTierRequired + transform: > + $["x-ms-enum"].name = "AccessTierRequired"; +- from: swagger-document + where: $.parameters.AccessTierOptional + transform: > + $["x-ms-enum"].name = "AccessTierOptional"; +``` diff --git a/sdk/storage/azure-storage-blob/swagger/blob.json b/sdk/storage/azure-storage-blob/swagger/blob.json deleted file mode 100644 index 6bb7a58c0d61..000000000000 --- a/sdk/storage/azure-storage-blob/swagger/blob.json +++ /dev/null @@ -1,7425 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Blob Storage", - "version": "2018-03-28", - "x-ms-code-generation-settings": { - "header": "MIT", - "strictSpecAdherence": false - } - }, - "x-ms-parameterized-host": { - "hostTemplate": "{url}", - "useSchemePrefix": false, - "positionInOperation": "first", - "parameters": [ - { - "$ref": "#/parameters/Url" - } - ] - }, - "securityDefinitions": { - "blob_shared_key": { - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - }, - "schemes": [ - "https" - ], - "consumes": [ - "application/xml" - ], - "produces": [ - "application/xml" - ], - "paths": {}, - "x-ms-paths": { - "/?restype=service&comp=properties": { - "put": { - "tags": [ - "service" - ], - "operationId": "Service_SetProperties", - "description": "Sets properties for a storage account's Blob service endpoint, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules", - "parameters": [ - { - "$ref": "#/parameters/StorageServiceProperties" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "202": { - "description": "Success (Accepted)", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "get": { - "tags": [ - "service" - ], - "operationId": "Service_GetProperties", - "description": "gets the properties of a storage account's Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - } - }, - "schema": { - "$ref": "#/definitions/StorageServiceProperties" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "service" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "properties" - ] - } - ] - }, - "/?restype=service&comp=stats": { - "get": { - "tags": [ - "service" - ], - "operationId": "Service_GetStatistics", - "description": "Retrieves statistics related to replication for the Blob service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the storage account.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/StorageServiceStats" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "service" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "stats" - ] - } - ] - }, - "/?comp=list": { - "get": { - "tags": [ - "service" - ], - "operationId": "Service_ListContainersSegment", - "description": "The List Containers Segment operation returns a list of the containers under the specified account", - "parameters": [ - { - "$ref": "#/parameters/Prefix" - }, - { - "$ref": "#/parameters/Marker" - }, - { - "$ref": "#/parameters/MaxResults" - }, - { - "$ref": "#/parameters/ListContainersInclude" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - } - }, - "schema": { - "$ref": "#/definitions/ListContainersSegmentResponse" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "NextMarker" - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "list" - ] - } - ] - }, - "/?restype=account&comp=properties": { - "get": { - "tags": [ - "service" - ], - "operationId": "Service_GetAccountInfo", - "description": "Returns the sku name and account kind ", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success (OK)", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-sku-name": { - "x-ms-client-name": "SkuName", - "type": "string", - "enum": [ - "Standard_LRS", - "Standard_GRS", - "Standard_RAGRS", - "Standard_ZRS", - "Premium_LRS" - ], - "x-ms-enum": { - "name": "SkuName", - "modelAsString": false - }, - "description": "Identifies the sku name of the account" - }, - "x-ms-account-kind": { - "x-ms-client-name": "AccountKind", - "type": "string", - "enum": [ - "Storage", - "BlobStorage", - "StorageV2" - ], - "x-ms-enum": { - "name": "AccountKind", - "modelAsString": false - }, - "description": "Identifies the account kind" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "account" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "properties" - ] - } - ] - }, - "/{containerName}?restype=container": { - "put": { - "tags": [ - "container" - ], - "operationId": "Container_Create", - "description": "creates a new container under the specified account. If the container with the same name already exists, the operation fails", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/BlobPublicAccess" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "Success, Container created.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "get": { - "tags": [ - "container" - ], - "operationId": "Container_GetProperties", - "description": "returns all user-defined metadata and system properties for the specified container. The data returned does not include the container's list of blobs", - "parameters": [ - { - "name": "comp", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "metadata" - ] - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "x-ms-meta": { - "type": "string", - "x-ms-client-name": "Metadata", - "x-ms-header-collection-prefix": "x-ms-meta-" - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-lease-duration": { - "x-ms-client-name": "LeaseDuration", - "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", - "type": "string", - "enum": [ - "infinite", - "fixed" - ], - "x-ms-enum": { - "name": "LeaseDurationType", - "modelAsString": false - } - }, - "x-ms-lease-state": { - "x-ms-client-name": "LeaseState", - "description": "Lease state of the blob.", - "type": "string", - "enum": [ - "available", - "leased", - "expired", - "breaking", - "broken" - ], - "x-ms-enum": { - "name": "LeaseStateType", - "modelAsString": false - } - }, - "x-ms-lease-status": { - "x-ms-client-name": "LeaseStatus", - "description": "The current lease status of the blob.", - "type": "string", - "enum": [ - "locked", - "unlocked" - ], - "x-ms-enum": { - "name": "LeaseStatusType", - "modelAsString": false - } - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-blob-public-access": { - "x-ms-client-name": "BlobPublicAccess", - "description": "Indicated whether data in the container may be accessed publicly and the level of access", - "type": "string", - "enum": [ - "container", - "blob" - ], - "x-ms-enum": { - "name": "PublicAccessType", - "modelAsString": true - } - }, - "x-ms-has-immutability-policy": { - "x-ms-client-name": "HasImmutabilityPolicy", - "description": "Indicates whether the container has an immutability policy set on it.", - "type": "boolean" - }, - "x-ms-has-legal-hold": { - "x-ms-client-name": "HasLegalHold", - "description": "Indicates whether the container has a legal hold.", - "type": "boolean" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "delete": { - "tags": [ - "container" - ], - "operationId": "Container_Delete", - "description": "operation marks the specified container for deletion. The container and any blobs contained within it are later deleted during garbage collection", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "202": { - "description": "Accepted", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "container" - ] - } - ] - }, - "/{containerName}?restype=container&comp=metadata": { - "put": { - "tags": [ - "container" - ], - "operationId": "Container_SetMetadata", - "description": "operation sets one or more user-defined name-value pairs for the specified container.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "container" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "metadata" - ] - } - ] - }, - "/{containerName}?restype=container&comp=acl": { - "get": { - "tags": [ - "container" - ], - "operationId": "Container_GetAccessPolicy", - "description": "gets the permissions for the specified container. The permissions indicate whether container data may be accessed publicly.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "x-ms-blob-public-access": { - "x-ms-client-name": "BlobPublicAccess", - "description": "Indicated whether data in the container may be accessed publicly and the level of access", - "type": "string", - "enum": [ - "container", - "blob" - ], - "x-ms-enum": { - "name": "PublicAccessType", - "modelAsString": true - } - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/SignedIdentifiers" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "put": { - "tags": [ - "container" - ], - "operationId": "Container_SetAccessPolicy", - "description": "sets the permissions for the specified container. The permissions indicate whether blobs in a container may be accessed publicly.", - "parameters": [ - { - "$ref": "#/parameters/ContainerAcl" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/BlobPublicAccess" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "container" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "acl" - ] - } - ] - }, - "/{containerName}?comp=lease&restype=container&acquire": { - "put": { - "tags": [ - "container" - ], - "operationId": "Container_AcquireLease", - "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseDuration" - }, - { - "$ref": "#/parameters/ProposedLeaseIdOptional" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "The Acquire operation completed successfully.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-lease-id": { - "x-ms-client-name": "LeaseId", - "type": "string", - "description": "Uniquely identifies a container's lease" - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "lease" - ] - }, - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "container" - ] - }, - { - "name": "x-ms-lease-action", - "x-ms-client-name": "action", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "acquire" - ], - "x-ms-enum": { - "name": "LeaseAction", - "modelAsString": false - }, - "x-ms-parameter-location": "method", - "description": "Describes what lease action to take." - } - ] - }, - "/{containerName}?comp=lease&restype=container&release": { - "put": { - "tags": [ - "container" - ], - "operationId": "Container_ReleaseLease", - "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdRequired" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "The Release operation completed successfully.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "lease" - ] - }, - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "container" - ] - }, - { - "name": "x-ms-lease-action", - "x-ms-client-name": "action", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "release" - ], - "x-ms-enum": { - "name": "LeaseAction", - "modelAsString": false - }, - "x-ms-parameter-location": "method", - "description": "Describes what lease action to take." - } - ] - }, - "/{containerName}?comp=lease&restype=container&renew": { - "put": { - "tags": [ - "container" - ], - "operationId": "Container_RenewLease", - "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdRequired" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "The Renew operation completed successfully.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-lease-id": { - "x-ms-client-name": "LeaseId", - "type": "string", - "description": "Uniquely identifies a container's lease" - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "lease" - ] - }, - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "container" - ] - }, - { - "name": "x-ms-lease-action", - "x-ms-client-name": "action", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "renew" - ], - "x-ms-enum": { - "name": "LeaseAction", - "modelAsString": false - }, - "x-ms-parameter-location": "method", - "description": "Describes what lease action to take." - } - ] - }, - "/{containerName}?comp=lease&restype=container&break": { - "put": { - "tags": [ - "container" - ], - "operationId": "Container_BreakLease", - "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseBreakPeriod" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "202": { - "description": "The Break operation completed successfully.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-lease-time": { - "x-ms-client-name": "LeaseTime", - "type": "integer", - "description": "Approximate time remaining in the lease period, in seconds." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "lease" - ] - }, - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "container" - ] - }, - { - "name": "x-ms-lease-action", - "x-ms-client-name": "action", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "break" - ], - "x-ms-enum": { - "name": "LeaseAction", - "modelAsString": false - }, - "x-ms-parameter-location": "method", - "description": "Describes what lease action to take." - } - ] - }, - "/{containerName}?comp=lease&restype=container&change": { - "put": { - "tags": [ - "container" - ], - "operationId": "Container_ChangeLease", - "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdRequired" - }, - { - "$ref": "#/parameters/ProposedLeaseIdRequired" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "The Change operation completed successfully.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-lease-id": { - "x-ms-client-name": "LeaseId", - "type": "string", - "description": "Uniquely identifies a container's lease" - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "lease" - ] - }, - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "container" - ] - }, - { - "name": "x-ms-lease-action", - "x-ms-client-name": "action", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "change" - ], - "x-ms-enum": { - "name": "LeaseAction", - "modelAsString": false - }, - "x-ms-parameter-location": "method", - "description": "Describes what lease action to take." - } - ] - }, - "/{containerName}?restype=container&comp=list&flat": { - "get": { - "tags": [ - "containers" - ], - "operationId": "Container_ListBlobFlatSegment", - "description": "[Update] The List Blobs operation returns a list of the blobs under the specified container", - "parameters": [ - { - "$ref": "#/parameters/Prefix" - }, - { - "$ref": "#/parameters/Marker" - }, - { - "$ref": "#/parameters/MaxResults" - }, - { - "$ref": "#/parameters/ListBlobsInclude" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "Content-Type": { - "type": "string", - "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/ListBlobsFlatSegmentResponse" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "NextMarker" - } - }, - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "container" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "list" - ] - } - ] - }, - "/{containerName}?restype=container&comp=list&hierarchy": { - "get": { - "tags": [ - "containers" - ], - "operationId": "Container_ListBlobHierarchySegment", - "description": "[Update] The List Blobs operation returns a list of the blobs under the specified container", - "parameters": [ - { - "$ref": "#/parameters/Prefix" - }, - { - "$ref": "#/parameters/Delimiter" - }, - { - "$ref": "#/parameters/Marker" - }, - { - "$ref": "#/parameters/MaxResults" - }, - { - "$ref": "#/parameters/ListBlobsInclude" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "Content-Type": { - "type": "string", - "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/ListBlobsHierarchySegmentResponse" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "NextMarker" - } - }, - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "container" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "list" - ] - } - ] - }, - "/{containerName}?restype=account&comp=properties": { - "get": { - "tags": [ - "container" - ], - "operationId": "Container_GetAccountInfo", - "description": "Returns the sku name and account kind ", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success (OK)", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-sku-name": { - "x-ms-client-name": "SkuName", - "type": "string", - "enum": [ - "Standard_LRS", - "Standard_GRS", - "Standard_RAGRS", - "Standard_ZRS", - "Premium_LRS" - ], - "x-ms-enum": { - "name": "SkuName", - "modelAsString": false - }, - "description": "Identifies the sku name of the account" - }, - "x-ms-account-kind": { - "x-ms-client-name": "AccountKind", - "type": "string", - "enum": [ - "Storage", - "BlobStorage", - "StorageV2" - ], - "x-ms-enum": { - "name": "AccountKind", - "modelAsString": false - }, - "description": "Identifies the account kind" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "account" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "properties" - ] - } - ] - }, - "/{containerName}/{blob}": { - "get": { - "tags": [ - "blob" - ], - "operationId": "Blob_Download", - "description": "The Download operation reads or downloads a blob from the system, including its metadata and properties. You can also call Download to read a snapshot.", - "parameters": [ - { - "$ref": "#/parameters/Snapshot" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Range" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/GetRangeContentMD5" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Returns the content of the entire blob.", - "headers": { - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-meta": { - "type": "string", - "x-ms-client-name": "Metadata", - "x-ms-header-collection-prefix": "x-ms-meta-" - }, - "Content-Length": { - "type": "integer", - "format": "int64", - "description": "The number of bytes present in the response body." - }, - "Content-Type": { - "type": "string", - "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" - }, - "Content-Range": { - "type": "string", - "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." - }, - "Content-Encoding": { - "type": "string", - "description": "This header returns the value that was specified for the Content-Encoding request header" - }, - "Cache-Control": { - "type": "string", - "description": "This header is returned if it was previously specified for the blob." - }, - "Content-Disposition": { - "type": "string", - "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." - }, - "Content-Language": { - "type": "string", - "description": "This header returns the value that was specified for the Content-Language request header." - }, - "x-ms-blob-sequence-number": { - "x-ms-client-name": "BlobSequenceNumber", - "type": "integer", - "format": "int64", - "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" - }, - "x-ms-blob-type": { - "x-ms-client-name": "BlobType", - "description": "The blob's type.", - "type": "string", - "enum": [ - "BlockBlob", - "PageBlob", - "AppendBlob" - ], - "x-ms-enum": { - "name": "BlobType", - "modelAsString": false - } - }, - "x-ms-copy-completion-time": { - "x-ms-client-name": "CopyCompletionTime", - "type": "string", - "format": "date-time-rfc1123", - "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." - }, - "x-ms-copy-status-description": { - "x-ms-client-name": "CopyStatusDescription", - "type": "string", - "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" - }, - "x-ms-copy-id": { - "x-ms-client-name": "CopyId", - "type": "string", - "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." - }, - "x-ms-copy-progress": { - "x-ms-client-name": "CopyProgress", - "type": "string", - "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" - }, - "x-ms-copy-source": { - "x-ms-client-name": "CopySource", - "type": "string", - "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." - }, - "x-ms-copy-status": { - "x-ms-client-name": "CopyStatus", - "description": "State of the copy operation identified by x-ms-copy-id.", - "type": "string", - "enum": [ - "pending", - "success", - "aborted", - "failed" - ], - "x-ms-enum": { - "name": "CopyStatusType", - "modelAsString": false - } - }, - "x-ms-lease-duration": { - "x-ms-client-name": "LeaseDuration", - "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", - "type": "string", - "enum": [ - "infinite", - "fixed" - ], - "x-ms-enum": { - "name": "LeaseDurationType", - "modelAsString": false - } - }, - "x-ms-lease-state": { - "x-ms-client-name": "LeaseState", - "description": "Lease state of the blob.", - "type": "string", - "enum": [ - "available", - "leased", - "expired", - "breaking", - "broken" - ], - "x-ms-enum": { - "name": "LeaseStateType", - "modelAsString": false - } - }, - "x-ms-lease-status": { - "x-ms-client-name": "LeaseStatus", - "description": "The current lease status of the blob.", - "type": "string", - "enum": [ - "locked", - "unlocked" - ], - "x-ms-enum": { - "name": "LeaseStatusType", - "modelAsString": false - } - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Accept-Ranges": { - "type": "string", - "description": "Indicates that the service supports requests for partial blob content." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-blob-committed-block-count": { - "x-ms-client-name": "BlobCommittedBlockCount", - "type": "integer", - "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." - }, - "x-ms-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." - }, - "x-ms-blob-content-md5": { - "x-ms-client-name": "BlobContentMD5", - "type": "string", - "format": "byte", - "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" - } - }, - "schema": { - "type": "object", - "format": "file" - } - }, - "206": { - "description": "Returns the content of a specified range of the blob.", - "headers": { - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-meta": { - "type": "string", - "x-ms-client-name": "Metadata", - "x-ms-header-collection-prefix": "x-ms-meta-" - }, - "Content-Length": { - "type": "integer", - "format": "int64", - "description": "The number of bytes present in the response body." - }, - "Content-Type": { - "type": "string", - "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'" - }, - "Content-Range": { - "type": "string", - "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header." - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." - }, - "Content-Encoding": { - "type": "string", - "description": "This header returns the value that was specified for the Content-Encoding request header" - }, - "Cache-Control": { - "type": "string", - "description": "This header is returned if it was previously specified for the blob." - }, - "Content-Disposition": { - "type": "string", - "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." - }, - "Content-Language": { - "type": "string", - "description": "This header returns the value that was specified for the Content-Language request header." - }, - "x-ms-blob-sequence-number": { - "x-ms-client-name": "BlobSequenceNumber", - "type": "integer", - "format": "int64", - "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" - }, - "x-ms-blob-type": { - "x-ms-client-name": "BlobType", - "description": "The blob's type.", - "type": "string", - "enum": [ - "BlockBlob", - "PageBlob", - "AppendBlob" - ], - "x-ms-enum": { - "name": "BlobType", - "modelAsString": false - } - }, - "x-ms-copy-completion-time": { - "x-ms-client-name": "CopyCompletionTime", - "type": "string", - "format": "date-time-rfc1123", - "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." - }, - "x-ms-copy-status-description": { - "x-ms-client-name": "CopyStatusDescription", - "type": "string", - "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" - }, - "x-ms-copy-id": { - "x-ms-client-name": "CopyId", - "type": "string", - "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." - }, - "x-ms-copy-progress": { - "x-ms-client-name": "CopyProgress", - "type": "string", - "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" - }, - "x-ms-copy-source": { - "x-ms-client-name": "CopySource", - "type": "string", - "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." - }, - "x-ms-copy-status": { - "x-ms-client-name": "CopyStatus", - "description": "State of the copy operation identified by x-ms-copy-id.", - "type": "string", - "enum": [ - "pending", - "success", - "aborted", - "failed" - ], - "x-ms-enum": { - "name": "CopyStatusType", - "modelAsString": false - } - }, - "x-ms-lease-duration": { - "x-ms-client-name": "LeaseDuration", - "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", - "type": "string", - "enum": [ - "infinite", - "fixed" - ], - "x-ms-enum": { - "name": "LeaseDurationType", - "modelAsString": false - } - }, - "x-ms-lease-state": { - "x-ms-client-name": "LeaseState", - "description": "Lease state of the blob.", - "type": "string", - "enum": [ - "available", - "leased", - "expired", - "breaking", - "broken" - ], - "x-ms-enum": { - "name": "LeaseStateType", - "modelAsString": false - } - }, - "x-ms-lease-status": { - "x-ms-client-name": "LeaseStatus", - "description": "The current lease status of the blob.", - "type": "string", - "enum": [ - "locked", - "unlocked" - ], - "x-ms-enum": { - "name": "LeaseStatusType", - "modelAsString": false - } - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Accept-Ranges": { - "type": "string", - "description": "Indicates that the service supports requests for partial blob content." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-blob-committed-block-count": { - "x-ms-client-name": "BlobCommittedBlockCount", - "type": "integer", - "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." - }, - "x-ms-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." - }, - "x-ms-blob-content-md5": { - "x-ms-client-name": "BlobContentMD5", - "type": "string", - "format": "byte", - "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range" - } - }, - "schema": { - "type": "object", - "format": "file" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "head": { - "tags": [ - "blob" - ], - "operationId": "Blob_GetProperties", - "description": "The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system properties for the blob. It does not return the content of the blob.", - "parameters": [ - { - "name": "comp", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "metadata" - ] - }, - { - "$ref": "#/parameters/Snapshot" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Returns the properties of the blob.", - "headers": { - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-creation-time": { - "x-ms-client-name": "CreationTime", - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the blob was created." - }, - "x-ms-meta": { - "type": "string", - "x-ms-client-name": "Metadata", - "x-ms-header-collection-prefix": "x-ms-meta-" - }, - "x-ms-blob-type": { - "x-ms-client-name": "BlobType", - "description": "The blob's type.", - "type": "string", - "enum": [ - "BlockBlob", - "PageBlob", - "AppendBlob" - ], - "x-ms-enum": { - "name": "BlobType", - "modelAsString": false - } - }, - "x-ms-copy-completion-time": { - "x-ms-client-name": "CopyCompletionTime", - "type": "string", - "format": "date-time-rfc1123", - "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." - }, - "x-ms-copy-status-description": { - "x-ms-client-name": "CopyStatusDescription", - "type": "string", - "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" - }, - "x-ms-copy-id": { - "x-ms-client-name": "CopyId", - "type": "string", - "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." - }, - "x-ms-copy-progress": { - "x-ms-client-name": "CopyProgress", - "type": "string", - "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List" - }, - "x-ms-copy-source": { - "x-ms-client-name": "CopySource", - "type": "string", - "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List." - }, - "x-ms-copy-status": { - "x-ms-client-name": "CopyStatus", - "description": "State of the copy operation identified by x-ms-copy-id.", - "type": "string", - "enum": [ - "pending", - "success", - "aborted", - "failed" - ], - "x-ms-enum": { - "name": "CopyStatusType", - "modelAsString": false - } - }, - "x-ms-incremental-copy": { - "x-ms-client-name": "IsIncrementalCopy", - "type": "boolean", - "description": "Included if the blob is incremental copy blob." - }, - "x-ms-copy-destination-snapshot": { - "x-ms-client-name": "DestinationSnapshot", - "type": "string", - "description": "Included if the blob is incremental copy blob or incremental copy snapshot, if x-ms-copy-status is success. Snapshot time of the last successful incremental copy snapshot for this blob." - }, - "x-ms-lease-duration": { - "x-ms-client-name": "LeaseDuration", - "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.", - "type": "string", - "enum": [ - "infinite", - "fixed" - ], - "x-ms-enum": { - "name": "LeaseDurationType", - "modelAsString": false - } - }, - "x-ms-lease-state": { - "x-ms-client-name": "LeaseState", - "description": "Lease state of the blob.", - "type": "string", - "enum": [ - "available", - "leased", - "expired", - "breaking", - "broken" - ], - "x-ms-enum": { - "name": "LeaseStateType", - "modelAsString": false - } - }, - "x-ms-lease-status": { - "x-ms-client-name": "LeaseStatus", - "description": "The current lease status of the blob.", - "type": "string", - "enum": [ - "locked", - "unlocked" - ], - "x-ms-enum": { - "name": "LeaseStatusType", - "modelAsString": false - } - }, - "Content-Length": { - "type": "integer", - "format": "int64", - "description": "The number of bytes present in the response body." - }, - "Content-Type": { - "type": "string", - "description": "The content type specified for the blob. The default content type is 'application/octet-stream'" - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." - }, - "Content-Encoding": { - "type": "string", - "description": "This header returns the value that was specified for the Content-Encoding request header" - }, - "Content-Disposition": { - "type": "string", - "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified." - }, - "Content-Language": { - "type": "string", - "description": "This header returns the value that was specified for the Content-Language request header." - }, - "Cache-Control": { - "type": "string", - "description": "This header is returned if it was previously specified for the blob." - }, - "x-ms-blob-sequence-number": { - "x-ms-client-name": "BlobSequenceNumber", - "type": "integer", - "format": "int64", - "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "Accept-Ranges": { - "type": "string", - "description": "Indicates that the service supports requests for partial blob content." - }, - "x-ms-blob-committed-block-count": { - "x-ms-client-name": "BlobCommittedBlockCount", - "type": "integer", - "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." - }, - "x-ms-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)." - }, - "x-ms-access-tier": { - "x-ms-client-name": "AccessTier", - "type": "string", - "description": "The tier of page blob on a premium storage account or tier of block blob on blob storage LRS accounts. For a list of allowed premium page blob tiers, see https://docs.microsoft.com/en-us/azure/virtual-machines/windows/premium-storage#features. For blob storage LRS accounts, valid values are Hot/Cool/Archive." - }, - "x-ms-access-tier-inferred": { - "x-ms-client-name": "AccessTierInferred", - "type": "boolean", - "description": "For page blobs on a premium storage account only. If the access tier is not explicitly set on the blob, the tier is inferred based on its content length and this header will be returned with true value." - }, - "x-ms-archive-status": { - "x-ms-client-name": "ArchiveStatus", - "type": "string", - "description": "For blob storage LRS accounts, valid values are rehydrate-pending-to-hot/rehydrate-pending-to-cool. If the blob is being rehydrated and is not complete then this header is returned indicating that rehydrate is pending and also tells the destination tier." - }, - "x-ms-access-tier-change-time": { - "x-ms-client-name": "AccessTierChangeTime", - "type": "string", - "format": "date-time-rfc1123", - "description": "The time the tier was changed on the object. This is only returned if the tier on the block blob was ever set." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "delete": { - "tags": [ - "blob" - ], - "operationId": "Blob_Delete", - "description": "If the storage account's soft delete feature is disabled then, when a blob is deleted, it is permanently removed from the storage account. If the storage account's soft delete feature is enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible immediately. However, the blob service retains the blob or snapshot for the number of days specified by the DeleteRetentionPolicy section of [Storage service properties] (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is permanently removed from the storage account. Note that you continue to be charged for the soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the \"include=deleted\" query parameter to discover which blobs and snapshots have been soft deleted. You can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a soft-deleted blob or snapshot causes the service to return an HTTP status code of 404 (ResourceNotFound).", - "parameters": [ - { - "$ref": "#/parameters/Snapshot" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/DeleteSnapshots" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "202": { - "description": "The delete request was accepted and the blob will be deleted.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - } - }, - "/{containerName}/{blob}?PageBlob": { - "put": { - "tags": [ - "blob" - ], - "operationId": "PageBlob_Create", - "description": "The Create operation creates a new page blob.", - "consumes": [ - "application/octet-stream" - ], - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ContentLength" - }, - { - "$ref": "#/parameters/BlobContentType" - }, - { - "$ref": "#/parameters/BlobContentEncoding" - }, - { - "$ref": "#/parameters/BlobContentLanguage" - }, - { - "$ref": "#/parameters/BlobContentMD5" - }, - { - "$ref": "#/parameters/BlobCacheControl" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/BlobContentDisposition" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/BlobContentLengthRequired" - }, - { - "$ref": "#/parameters/BlobSequenceNumber" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "The blob was created.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "x-ms-blob-type", - "x-ms-client-name": "blobType", - "in": "header", - "required": true, - "x-ms-parameter-location": "method", - "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", - "type": "string", - "enum": [ - "PageBlob" - ], - "x-ms-enum": { - "name": "BlobType", - "modelAsString": false - } - } - ] - }, - "/{containerName}/{blob}?AppendBlob": { - "put": { - "tags": [ - "blob" - ], - "operationId": "AppendBlob_Create", - "description": "The Create Append Blob operation creates a new append blob.", - "consumes": [ - "application/octet-stream" - ], - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ContentLength" - }, - { - "$ref": "#/parameters/BlobContentType" - }, - { - "$ref": "#/parameters/BlobContentEncoding" - }, - { - "$ref": "#/parameters/BlobContentLanguage" - }, - { - "$ref": "#/parameters/BlobContentMD5" - }, - { - "$ref": "#/parameters/BlobCacheControl" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/BlobContentDisposition" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "The blob was created.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "x-ms-blob-type", - "x-ms-client-name": "blobType", - "in": "header", - "required": true, - "x-ms-parameter-location": "method", - "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", - "type": "string", - "enum": [ - "AppendBlob" - ], - "x-ms-enum": { - "name": "BlobType", - "modelAsString": false - } - } - ] - }, - "/{containerName}/{blob}?BlockBlob": { - "put": { - "tags": [ - "blob" - ], - "operationId": "BlockBlob_Upload", - "description": "The Upload Block Blob operation updates the content of an existing block blob. Updating an existing block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a partial update of the content of a block blob, use the Put Block List operation.", - "consumes": [ - "application/octet-stream" - ], - "parameters": [ - { - "$ref": "#/parameters/Body" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ContentLength" - }, - { - "$ref": "#/parameters/BlobContentType" - }, - { - "$ref": "#/parameters/BlobContentEncoding" - }, - { - "$ref": "#/parameters/BlobContentLanguage" - }, - { - "$ref": "#/parameters/BlobContentMD5" - }, - { - "$ref": "#/parameters/BlobCacheControl" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/BlobContentDisposition" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "The blob was updated.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "x-ms-blob-type", - "x-ms-client-name": "blobType", - "in": "header", - "required": true, - "x-ms-parameter-location": "method", - "description": "Specifies the type of blob to create: block blob, page blob, or append blob.", - "type": "string", - "enum": [ - "BlockBlob" - ], - "x-ms-enum": { - "name": "BlobType", - "modelAsString": false - } - } - ] - }, - "/{containerName}/{blob}?comp=undelete": { - "put": { - "tags": [ - "blob" - ], - "operationId": "Blob_Undelete", - "description": "Undelete a blob that was previously soft deleted", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "The blob was undeleted successfully.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "undelete" - ] - } - ] - }, - "/{containerName}/{blob}?comp=properties&SetHTTPHeaders": { - "put": { - "tags": [ - "blob" - ], - "operationId": "Blob_SetHTTPHeaders", - "description": "The Set HTTP Headers operation sets system properties on the blob", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/BlobCacheControl" - }, - { - "$ref": "#/parameters/BlobContentType" - }, - { - "$ref": "#/parameters/BlobContentMD5" - }, - { - "$ref": "#/parameters/BlobContentEncoding" - }, - { - "$ref": "#/parameters/BlobContentLanguage" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/BlobContentDisposition" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "The properties were set successfully.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-blob-sequence-number": { - "x-ms-client-name": "BlobSequenceNumber", - "type": "integer", - "format": "int64", - "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "properties" - ] - } - ] - }, - "/{containerName}/{blob}?comp=metadata": { - "put": { - "tags": [ - "blob" - ], - "operationId": "Blob_SetMetadata", - "description": "The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more name-value pairs", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "The metadata was set successfully.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "metadata" - ] - } - ] - }, - "/{containerName}/{blob}?comp=lease&acquire": { - "put": { - "tags": [ - "blob" - ], - "operationId": "Blob_AcquireLease", - "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseDuration" - }, - { - "$ref": "#/parameters/ProposedLeaseIdOptional" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "The Acquire operation completed successfully.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-lease-id": { - "x-ms-client-name": "LeaseId", - "type": "string", - "description": "Uniquely identifies a blobs's lease" - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "lease" - ] - }, - { - "name": "x-ms-lease-action", - "x-ms-client-name": "action", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "acquire" - ], - "x-ms-enum": { - "name": "LeaseAction", - "modelAsString": false - }, - "x-ms-parameter-location": "method", - "description": "Describes what lease action to take." - } - ] - }, - "/{containerName}/{blob}?comp=lease&release": { - "put": { - "tags": [ - "blob" - ], - "operationId": "Blob_ReleaseLease", - "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdRequired" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "The Release operation completed successfully.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "lease" - ] - }, - { - "name": "x-ms-lease-action", - "x-ms-client-name": "action", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "release" - ], - "x-ms-enum": { - "name": "LeaseAction", - "modelAsString": false - }, - "x-ms-parameter-location": "method", - "description": "Describes what lease action to take." - } - ] - }, - "/{containerName}/{blob}?comp=lease&renew": { - "put": { - "tags": [ - "blob" - ], - "operationId": "Blob_RenewLease", - "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdRequired" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "The Renew operation completed successfully.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-lease-id": { - "x-ms-client-name": "LeaseId", - "type": "string", - "description": "Uniquely identifies a blobs's lease" - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "lease" - ] - }, - { - "name": "x-ms-lease-action", - "x-ms-client-name": "action", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "renew" - ], - "x-ms-enum": { - "name": "LeaseAction", - "modelAsString": false - }, - "x-ms-parameter-location": "method", - "description": "Describes what lease action to take." - } - ] - }, - "/{containerName}/{blob}?comp=lease&change": { - "put": { - "tags": [ - "blob" - ], - "operationId": "Blob_ChangeLease", - "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdRequired" - }, - { - "$ref": "#/parameters/ProposedLeaseIdRequired" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "The Change operation completed successfully.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-lease-id": { - "x-ms-client-name": "LeaseId", - "type": "string", - "description": "Uniquely identifies a blobs's lease" - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "lease" - ] - }, - { - "name": "x-ms-lease-action", - "x-ms-client-name": "action", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "change" - ], - "x-ms-enum": { - "name": "LeaseAction", - "modelAsString": false - }, - "x-ms-parameter-location": "method", - "description": "Describes what lease action to take." - } - ] - }, - "/{containerName}/{blob}?comp=lease&break": { - "put": { - "tags": [ - "blob" - ], - "operationId": "Blob_BreakLease", - "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseBreakPeriod" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "202": { - "description": "The Break operation completed successfully.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-lease-time": { - "x-ms-client-name": "LeaseTime", - "type": "integer", - "description": "Approximate time remaining in the lease period, in seconds." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "lease" - ] - }, - { - "name": "x-ms-lease-action", - "x-ms-client-name": "action", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "break" - ], - "x-ms-enum": { - "name": "LeaseAction", - "modelAsString": false - }, - "x-ms-parameter-location": "method", - "description": "Describes what lease action to take." - } - ] - }, - "/{containerName}/{blob}?comp=snapshot": { - "put": { - "tags": [ - "blob" - ], - "operationId": "Blob_CreateSnapshot", - "description": "The Create Snapshot operation creates a read-only snapshot of a blob", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "The snaptshot was taken successfully.", - "headers": { - "x-ms-snapshot": { - "x-ms-client-name": "Snapshot", - "type": "string", - "description": "Uniquely identifies the snapshot and indicates the snapshot version. It may be used in subsequent requests to access the snapshot" - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "snapshot" - ] - } - ] - }, - "/{containerName}/{blob}?comp=copy": { - "put": { - "tags": [ - "blob" - ], - "operationId": "Blob_StartCopyFromURL", - "description": "The Start Copy From URL operation copies a blob or an internet resource to a new blob.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/SourceIfModifiedSince" - }, - { - "$ref": "#/parameters/SourceIfUnmodifiedSince" - }, - { - "$ref": "#/parameters/SourceIfMatch" - }, - { - "$ref": "#/parameters/SourceIfNoneMatch" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/CopySource" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "202": { - "description": "The copy blob has been accepted with the specified copy status.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-copy-id": { - "x-ms-client-name": "CopyId", - "type": "string", - "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." - }, - "x-ms-copy-status": { - "x-ms-client-name": "CopyStatus", - "description": "State of the copy operation identified by x-ms-copy-id.", - "type": "string", - "enum": [ - "pending", - "success", - "aborted", - "failed" - ], - "x-ms-enum": { - "name": "CopyStatusType", - "modelAsString": false - } - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [] - }, - "/{containerName}/{blob}?comp=copy©id={CopyId}": { - "put": { - "tags": [ - "blob" - ], - "operationId": "Blob_AbortCopyFromURL", - "description": "The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination blob with zero length and full metadata.", - "parameters": [ - { - "$ref": "#/parameters/CopyId" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "204": { - "description": "The delete request was accepted and the blob will be deleted.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "copy" - ] - }, - { - "name": "x-ms-copy-action", - "x-ms-client-name": "copyActionAbortConstant", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "abort" - ], - "x-ms-parameter-location": "method" - } - ] - }, - "/{containerName}/{blob}?comp=tier": { - "put": { - "tags": [ - "blobs" - ], - "operationId": "Blob_SetTier", - "description": "The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium storage account and on a block blob in a blob storage account (locally redundant storage only). A premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's ETag.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/AccessTier" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - } - ], - "responses": { - "200": { - "description": "The new tier will take effect immediately.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and newer." - } - } - }, - "202": { - "description": "The transition to the new tier is pending.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and newer." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "tier" - ] - } - ] - }, - "/{containerName}/{blobName}?restype=account&comp=properties": { - "get": { - "tags": [ - "blob" - ], - "operationId": "Blob_GetAccountInfo", - "description": "Returns the sku name and account kind ", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success (OK)", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-sku-name": { - "x-ms-client-name": "SkuName", - "type": "string", - "enum": [ - "Standard_LRS", - "Standard_GRS", - "Standard_RAGRS", - "Standard_ZRS", - "Premium_LRS" - ], - "x-ms-enum": { - "name": "SkuName", - "modelAsString": false - }, - "description": "Identifies the sku name of the account" - }, - "x-ms-account-kind": { - "x-ms-client-name": "AccountKind", - "type": "string", - "enum": [ - "Storage", - "BlobStorage", - "StorageV2" - ], - "x-ms-enum": { - "name": "AccountKind", - "modelAsString": false - }, - "description": "Identifies the account kind" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "account" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "properties" - ] - } - ] - }, - "/{containerName}/{blob}?comp=block": { - "put": { - "tags": [ - "blockblob" - ], - "operationId": "BlockBlob_StageBlock", - "description": "The Stage Block operation creates a new block to be committed as part of a blob", - "consumes": [ - "application/octet-stream" - ], - "parameters": [ - { - "$ref": "#/parameters/BlockId" - }, - { - "$ref": "#/parameters/ContentLength" - }, - { - "$ref": "#/parameters/ContentMD5" - }, - { - "$ref": "#/parameters/Body" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "The block was created.", - "headers": { - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "block" - ] - } - ] - }, - "/{containerName}/{blob}?comp=block&fromURL": { - "put": { - "tags": [ - "blockblob" - ], - "operationId": "BlockBlob_StageBlockFromURL", - "description": "The Stage Block operation creates a new block to be committed as part of a blob where the contents are read from a URL.", - "parameters": [ - { - "$ref": "#/parameters/BlockId" - }, - { - "$ref": "#/parameters/ContentLength" - }, - { - "$ref": "#/parameters/SourceUrl" - }, - { - "$ref": "#/parameters/SourceRange" - }, - { - "$ref": "#/parameters/SourceContentMD5" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "The block was created.", - "headers": { - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "block" - ] - } - ] - }, - "/{containerName}/{blob}?comp=blocklist": { - "put": { - "tags": [ - "blockblob" - ], - "operationId": "BlockBlob_CommitBlockList", - "description": "The Commit Block List operation writes a blob by specifying the list of block IDs that make up the blob. In order to be written as part of a blob, a block must have been successfully written to the server in a prior Put Block operation. You can call Put Block List to update a blob by uploading only those blocks that have changed, then committing the new and existing blocks together. You can do this by specifying whether to commit a block from the committed block list or from the uncommitted block list, or to commit the most recently uploaded version of the block, whichever list it may belong to.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/BlobCacheControl" - }, - { - "$ref": "#/parameters/BlobContentType" - }, - { - "$ref": "#/parameters/BlobContentEncoding" - }, - { - "$ref": "#/parameters/BlobContentLanguage" - }, - { - "$ref": "#/parameters/BlobContentMD5" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/BlobContentDisposition" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "name": "blocks", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/BlockLookupList" - } - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "The block list was recorded.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "get": { - "tags": [ - "blockblob" - ], - "operationId": "BlockBlob_GetBlockList", - "description": "The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block blob", - "parameters": [ - { - "$ref": "#/parameters/Snapshot" - }, - { - "$ref": "#/parameters/BlockListType" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "The page range was written.", - "headers": { - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Content-Type": { - "type": "string", - "description": "The media type of the body of the response. For Get Block List this is 'application/xml'" - }, - "x-ms-blob-content-length": { - "x-ms-client-name": "BlobContentLength", - "type": "integer", - "format": "int64", - "description": "The size of the blob in bytes." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/BlockList" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "blocklist" - ] - } - ] - }, - "/{containerName}/{blob}?comp=page&update": { - "put": { - "tags": [ - "pageblob" - ], - "operationId": "PageBlob_UploadPages", - "description": "The Upload Pages operation writes a range of pages to a page blob", - "consumes": [ - "application/octet-stream" - ], - "parameters": [ - { - "$ref": "#/parameters/Body" - }, - { - "$ref": "#/parameters/ContentLength" - }, - { - "$ref": "#/parameters/ContentMD5" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Range" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo" - }, - { - "$ref": "#/parameters/IfSequenceNumberLessThan" - }, - { - "$ref": "#/parameters/IfSequenceNumberEqualTo" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "The page range was written.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." - }, - "x-ms-blob-sequence-number": { - "x-ms-client-name": "BlobSequenceNumber", - "type": "integer", - "format": "int64", - "description": "The current sequence number for the page blob." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "page" - ] - }, - { - "name": "x-ms-page-write", - "x-ms-client-name": "pageWrite", - "in": "header", - "required": true, - "x-ms-parameter-location": "method", - "description": "Required. You may specify one of the following options:\n - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.", - "type": "string", - "enum": [ - "update" - ], - "x-ms-enum": { - "name": "PageWriteType", - "modelAsString": false - } - } - ] - }, - "/{containerName}/{blob}?comp=page&clear": { - "put": { - "tags": [ - "pageblob" - ], - "operationId": "PageBlob_ClearPages", - "description": "The Clear Pages operation clears a set of pages from a page blob", - "consumes": [ - "application/octet-stream" - ], - "parameters": [ - { - "$ref": "#/parameters/ContentLength" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Range" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo" - }, - { - "$ref": "#/parameters/IfSequenceNumberLessThan" - }, - { - "$ref": "#/parameters/IfSequenceNumberEqualTo" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "The page range was cleared.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." - }, - "x-ms-blob-sequence-number": { - "x-ms-client-name": "BlobSequenceNumber", - "type": "integer", - "format": "int64", - "description": "The current sequence number for the page blob." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "page" - ] - }, - { - "name": "x-ms-page-write", - "x-ms-client-name": "pageWrite", - "in": "header", - "required": true, - "x-ms-parameter-location": "method", - "description": "Required. You may specify one of the following options:\n - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.", - "type": "string", - "enum": [ - "clear" - ], - "x-ms-enum": { - "name": "PageWriteType", - "modelAsString": false - } - } - ] - }, - "/{containerName}/{blob}?comp=pagelist": { - "get": { - "tags": [ - "pageblob" - ], - "operationId": "PageBlob_GetPageRanges", - "description": "The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a page blob", - "parameters": [ - { - "$ref": "#/parameters/Snapshot" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Range" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Information on the page blob was found.", - "headers": { - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "x-ms-blob-content-length": { - "x-ms-client-name": "BlobContentLength", - "type": "integer", - "format": "int64", - "description": "The size of the blob in bytes." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/PageList" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "pagelist" - ] - } - ] - }, - "/{containerName}/{blob}?comp=pagelist&diff": { - "get": { - "tags": [ - "pageblob" - ], - "operationId": "PageBlob_GetPageRangesDiff", - "description": "[Update] The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were changed between target blob and previous snapshot.", - "parameters": [ - { - "$ref": "#/parameters/Snapshot" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/PrevSnapshot" - }, - { - "$ref": "#/parameters/Range" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Information on the page blob was found.", - "headers": { - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "x-ms-blob-content-length": { - "x-ms-client-name": "BlobContentLength", - "type": "integer", - "format": "int64", - "description": "The size of the blob in bytes." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/PageList" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "pagelist" - ] - } - ] - }, - "/{containerName}/{blob}?comp=properties&Resize": { - "put": { - "tags": [ - "pageblob" - ], - "operationId": "PageBlob_Resize", - "description": "Resize the Blob", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/BlobContentLengthRequired" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "The Blob was resized successfully", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-blob-sequence-number": { - "x-ms-client-name": "BlobSequenceNumber", - "type": "integer", - "format": "int64", - "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "properties" - ] - } - ] - }, - "/{containerName}/{blob}?comp=properties&UpdateSequenceNumber": { - "put": { - "tags": [ - "pageblob" - ], - "operationId": "PageBlob_UpdateSequenceNumber", - "description": "Update the sequence number of the blob", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/SequenceNumberAction" - }, - { - "$ref": "#/parameters/BlobSequenceNumber" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "The sequence numbers were updated successfully.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-blob-sequence-number": { - "x-ms-client-name": "BlobSequenceNumber", - "type": "integer", - "format": "int64", - "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs" - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "properties" - ] - } - ] - }, - "/{containerName}/{blob}?comp=incrementalcopy": { - "put": { - "tags": [ - "pageblob" - ], - "operationId": "PageBlob_CopyIncremental", - "description": "The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob. The snapshot is copied such that only the differential changes between the previously copied snapshot are transferred to the destination. The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual. This API is supported since REST version 2016-05-31.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/CopySource" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "202": { - "description": "The blob was copied.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-copy-id": { - "x-ms-client-name": "CopyId", - "type": "string", - "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy." - }, - "x-ms-copy-status": { - "x-ms-client-name": "CopyStatus", - "description": "State of the copy operation identified by x-ms-copy-id.", - "type": "string", - "enum": [ - "pending", - "success", - "aborted", - "failed" - ], - "x-ms-enum": { - "name": "CopyStatusType", - "modelAsString": false - } - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "incrementalcopy" - ] - } - ] - }, - "/{containerName}/{blob}?comp=appendblock": { - "put": { - "tags": [ - "appendblob" - ], - "consumes": [ - "application/octet-stream" - ], - "operationId": "AppendBlob_AppendBlock", - "description": "The Append Block operation commits a new block of data to the end of an existing append blob. The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version 2015-02-21 version or later.", - "parameters": [ - { - "$ref": "#/parameters/Body" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ContentLength" - }, - { - "$ref": "#/parameters/ContentMD5" - }, - { - "$ref": "#/parameters/LeaseIdOptional" - }, - { - "$ref": "#/parameters/BlobConditionMaxSize" - }, - { - "$ref": "#/parameters/BlobConditionAppendPos" - }, - { - "$ref": "#/parameters/IfModifiedSince" - }, - { - "$ref": "#/parameters/IfUnmodifiedSince" - }, - { - "$ref": "#/parameters/IfMatch" - }, - { - "$ref": "#/parameters/IfNoneMatch" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "The block was created.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-blob-append-offset": { - "x-ms-client-name": "BlobAppendOffset", - "type": "string", - "description": "This response header is returned only for append operations. It returns the offset at which the block was committed, in bytes." - }, - "x-ms-blob-committed-block-count": { - "x-ms-client-name": "BlobCommittedBlockCount", - "type": "integer", - "description": "The number of committed blocks present in the blob. This header is returned only for append blobs." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "appendblock" - ] - } - ] - } - }, - "definitions": { - "PublicAccessType": { - "type": "string", - "enum": [ - "container", - "blob" - ], - "x-ms-enum": { - "name": "PublicAccessType", - "modelAsString": true - } - }, - "CopyStatus": { - "type": "string", - "enum": [ - "pending", - "success", - "aborted", - "failed" - ], - "x-ms-enum": { - "name": "CopyStatusType", - "modelAsString": false - } - }, - "LeaseDuration": { - "type": "string", - "enum": [ - "infinite", - "fixed" - ], - "x-ms-enum": { - "name": "LeaseDurationType", - "modelAsString": false - } - }, - "LeaseState": { - "type": "string", - "enum": [ - "available", - "leased", - "expired", - "breaking", - "broken" - ], - "x-ms-enum": { - "name": "LeaseStateType", - "modelAsString": false - } - }, - "LeaseStatus": { - "type": "string", - "enum": [ - "locked", - "unlocked" - ], - "x-ms-enum": { - "name": "LeaseStatusType", - "modelAsString": false - } - }, - "StorageError": { - "type": "object", - "properties": { - "Message": { - "type": "string" - } - } - }, - "AccessPolicy": { - "type": "object", - "required": [ - "Start", - "Expiry", - "Permission" - ], - "description": "An Access policy", - "properties": { - "Start": { - "description": "the date-time the policy is active", - "type": "string", - "format": "str" - }, - "Expiry": { - "description": "the date-time the policy expires", - "type": "string", - "format": "str" - }, - "Permission": { - "description": "the permissions for the acl policy", - "type": "string" - } - } - }, - "AccessTier": { - "type": "string", - "enum": [ - "P4", - "P6", - "P10", - "P20", - "P30", - "P40", - "P50", - "Hot", - "Cool", - "Archive" - ], - "x-ms-enum": { - "name": "AccessTier", - "modelAsString": true - } - }, - "ArchiveStatus": { - "type": "string", - "enum": [ - "rehydrate-pending-to-hot", - "rehydrate-pending-to-cool" - ], - "x-ms-enum": { - "name": "ArchiveStatus", - "modelAsString": true - } - }, - "BlobItem": { - "xml": { - "name": "Blob" - }, - "description": "An Azure Storage blob", - "type": "object", - "required": [ - "Name", - "Deleted", - "Snapshot", - "Properties" - ], - "properties": { - "Name": { - "type": "string" - }, - "Deleted": { - "type": "boolean" - }, - "Snapshot": { - "type": "string" - }, - "Properties": { - "$ref": "#/definitions/BlobProperties" - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - } - } - }, - "BlobProperties": { - "xml": { - "name": "Properties" - }, - "description": "Properties of a blob", - "type": "object", - "required": [ - "Etag", - "Last-Modified" - ], - "properties": { - "Creation-Time": { - "type": "string", - "format": "date-time-rfc1123" - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123" - }, - "Etag": { - "type": "string", - "format": "etag" - }, - "Content-Length": { - "type": "integer", - "format": "int64", - "description": "Size in bytes" - }, - "Content-Type": { - "type": "string" - }, - "Content-Encoding": { - "type": "string" - }, - "Content-Language": { - "type": "string" - }, - "Content-MD5": { - "type": "string", - "format": "byte" - }, - "Content-Disposition": { - "type": "string" - }, - "Cache-Control": { - "type": "string" - }, - "x-ms-blob-sequence-number": { - "x-ms-client-name": "blobSequenceNumber", - "type": "integer", - "format": "int64" - }, - "BlobType": { - "type": "string", - "enum": [ - "BlockBlob", - "PageBlob", - "AppendBlob" - ], - "x-ms-enum": { - "name": "BlobType", - "modelAsString": false - } - }, - "LeaseStatus": { - "$ref": "#/definitions/LeaseStatus" - }, - "LeaseState": { - "$ref": "#/definitions/LeaseState" - }, - "LeaseDuration": { - "$ref": "#/definitions/LeaseDuration" - }, - "CopyId": { - "type": "string" - }, - "CopyStatus": { - "$ref": "#/definitions/CopyStatus" - }, - "CopySource": { - "type": "string" - }, - "CopyProgress": { - "type": "string" - }, - "CopyCompletionTime": { - "type": "string", - "format": "date-time-rfc1123" - }, - "CopyStatusDescription": { - "type": "string" - }, - "ServerEncrypted": { - "type": "boolean" - }, - "IncrementalCopy": { - "type": "boolean" - }, - "DestinationSnapshot": { - "type": "string" - }, - "DeletedTime": { - "type": "string", - "format": "date-time-rfc1123" - }, - "RemainingRetentionDays": { - "type": "integer" - }, - "AccessTier": { - "$ref": "#/definitions/AccessTier" - }, - "AccessTierInferred": { - "type": "boolean" - }, - "ArchiveStatus": { - "$ref": "#/definitions/ArchiveStatus" - }, - "AccessTierChangeTime": { - "type": "string", - "format": "date-time-rfc1123" - } - } - }, - "ListBlobsFlatSegmentResponse": { - "xml": { - "name": "EnumerationResults" - }, - "description": "An enumeration of blobs", - "type": "object", - "required": [ - "ServiceEndpoint", - "ContainerName", - "Prefix", - "Marker", - "MaxResults", - "Delimiter", - "Segment", - "NextMarker" - ], - "properties": { - "ServiceEndpoint": { - "type": "string", - "xml": { - "attribute": true - } - }, - "ContainerName": { - "type": "string", - "xml": { - "attribute": true - } - }, - "Prefix": { - "type": "string" - }, - "Marker": { - "type": "string" - }, - "MaxResults": { - "type": "integer" - }, - "Delimiter": { - "type": "string" - }, - "Segment": { - "$ref": "#/definitions/BlobFlatListSegment" - }, - "NextMarker": { - "type": "string" - } - } - }, - "ListBlobsHierarchySegmentResponse": { - "xml": { - "name": "EnumerationResults" - }, - "description": "An enumeration of blobs", - "type": "object", - "required": [ - "ServiceEndpoint", - "ContainerName", - "Prefix", - "Marker", - "MaxResults", - "Delimiter", - "Segment", - "NextMarker" - ], - "properties": { - "ServiceEndpoint": { - "type": "string", - "xml": { - "attribute": true - } - }, - "ContainerName": { - "type": "string", - "xml": { - "attribute": true - } - }, - "Prefix": { - "type": "string" - }, - "Marker": { - "type": "string" - }, - "MaxResults": { - "type": "integer" - }, - "Delimiter": { - "type": "string" - }, - "Segment": { - "$ref": "#/definitions/BlobHierarchyListSegment" - }, - "NextMarker": { - "type": "string" - } - } - }, - "BlobFlatListSegment": { - "xml": { - "name": "Blobs" - }, - "required": [ - "BlobItems" - ], - "type": "object", - "properties": { - "BlobItems": { - "type": "array", - "items": { - "$ref": "#/definitions/BlobItem" - } - } - } - }, - "BlobHierarchyListSegment": { - "xml": { - "name": "Blobs" - }, - "type": "object", - "required": [ - "BlobItems" - ], - "properties": { - "BlobPrefixes": { - "type": "array", - "items": { - "$ref": "#/definitions/BlobPrefix" - } - }, - "BlobItems": { - "type": "array", - "items": { - "$ref": "#/definitions/BlobItem" - } - } - } - }, - "BlobPrefix": { - "type": "object", - "required": [ - "Name" - ], - "properties": { - "Name": { - "type": "string" - } - } - }, - "Block": { - "type": "object", - "required": [ - "Name", - "Size" - ], - "description": "Represents a single block in a block blob. It describes the block's ID and size.", - "properties": { - "Name": { - "description": "The base64 encoded block ID.", - "type": "string" - }, - "Size": { - "description": "The block size in bytes.", - "type": "integer" - } - } - }, - "BlockList": { - "type": "object", - "properties": { - "CommittedBlocks": { - "xml": { - "wrapped": true - }, - "type": "array", - "items": { - "$ref": "#/definitions/Block" - } - }, - "UncommittedBlocks": { - "xml": { - "wrapped": true - }, - "type": "array", - "items": { - "$ref": "#/definitions/Block" - } - } - } - }, - "BlockLookupList": { - "type": "object", - "properties": { - "Committed": { - "type": "array", - "items": { - "type": "string", - "xml": { - "name": "Committed" - } - } - }, - "Uncommitted": { - "type": "array", - "items": { - "type": "string", - "xml": { - "name": "Uncommitted" - } - } - }, - "Latest": { - "type": "array", - "items": { - "type": "string", - "xml": { - "name": "Latest" - } - } - } - }, - "xml": { - "name": "BlockList" - } - }, - "ContainerItem": { - "xml": { - "name": "Container" - }, - "type": "object", - "required": [ - "Name", - "Properties" - ], - "description": "An Azure Storage container", - "properties": { - "Name": { - "type": "string" - }, - "Properties": { - "$ref": "#/definitions/ContainerProperties" - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - } - } - }, - "ContainerProperties": { - "type": "object", - "required": [ - "Last-Modified", - "Etag" - ], - "description": "Properties of a container", - "properties": { - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123" - }, - "Etag": { - "type": "string", - "format": "etag" - }, - "LeaseStatus": { - "$ref": "#/definitions/LeaseStatus" - }, - "LeaseState": { - "$ref": "#/definitions/LeaseState" - }, - "LeaseDuration": { - "$ref": "#/definitions/LeaseDuration" - }, - "PublicAccess": { - "$ref": "#/definitions/PublicAccessType" - }, - "HasImmutabilityPolicy": { - "type": "boolean" - }, - "HasLegalHold": { - "type": "boolean" - } - } - }, - "ListContainersSegmentResponse": { - "xml": { - "name": "EnumerationResults" - }, - "description": "An enumeration of containers", - "type": "object", - "required": [ - "ServiceEndpoint", - "Prefix", - "MaxResults", - "NextMarker", - "ContainerItems" - ], - "properties": { - "ServiceEndpoint": { - "type": "string", - "xml": { - "attribute": true - } - }, - "Prefix": { - "type": "string" - }, - "Marker": { - "type": "string" - }, - "MaxResults": { - "type": "integer" - }, - "ContainerItems": { - "xml": { - "wrapped": true, - "name": "Containers" - }, - "type": "array", - "items": { - "$ref": "#/definitions/ContainerItem" - } - }, - "NextMarker": { - "type": "string" - } - } - }, - "CorsRule": { - "description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain", - "type": "object", - "required": [ - "AllowedOrigins", - "AllowedMethods", - "AllowedHeaders", - "ExposedHeaders", - "MaxAgeInSeconds" - ], - "properties": { - "AllowedOrigins": { - "description": "The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.", - "type": "string" - }, - "AllowedMethods": { - "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)", - "type": "string" - }, - "AllowedHeaders": { - "description": "the request headers that the origin domain may specify on the CORS request.", - "type": "string" - }, - "ExposedHeaders": { - "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer", - "type": "string" - }, - "MaxAgeInSeconds": { - "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", - "type": "integer", - "minimum": 0 - } - } - }, - "ErrorCode": { - "description": "Error codes returned by the service", - "type": "string", - "enum": [ - "AccountAlreadyExists", - "AccountBeingCreated", - "AccountIsDisabled", - "AuthenticationFailed", - "AuthorizationFailure", - "ConditionHeadersNotSupported", - "ConditionNotMet", - "EmptyMetadataKey", - "InsufficientAccountPermissions", - "InternalError", - "InvalidAuthenticationInfo", - "InvalidHeaderValue", - "InvalidHttpVerb", - "InvalidInput", - "InvalidMd5", - "InvalidMetadata", - "InvalidQueryParameterValue", - "InvalidRange", - "InvalidResourceName", - "InvalidUri", - "InvalidXmlDocument", - "InvalidXmlNodeValue", - "Md5Mismatch", - "MetadataTooLarge", - "MissingContentLengthHeader", - "MissingRequiredQueryParameter", - "MissingRequiredHeader", - "MissingRequiredXmlNode", - "MultipleConditionHeadersNotSupported", - "OperationTimedOut", - "OutOfRangeInput", - "OutOfRangeQueryParameterValue", - "RequestBodyTooLarge", - "ResourceTypeMismatch", - "RequestUrlFailedToParse", - "ResourceAlreadyExists", - "ResourceNotFound", - "ServerBusy", - "UnsupportedHeader", - "UnsupportedXmlNode", - "UnsupportedQueryParameter", - "UnsupportedHttpVerb", - "AppendPositionConditionNotMet", - "BlobAlreadyExists", - "BlobNotFound", - "BlobOverwritten", - "BlobTierInadequateForContentLength", - "BlockCountExceedsLimit", - "BlockListTooLong", - "CannotChangeToLowerTier", - "CannotVerifyCopySource", - "ContainerAlreadyExists", - "ContainerBeingDeleted", - "ContainerDisabled", - "ContainerNotFound", - "ContentLengthLargerThanTierLimit", - "CopyAcrossAccountsNotSupported", - "CopyIdMismatch", - "FeatureVersionMismatch", - "IncrementalCopyBlobMismatch", - "IncrementalCopyOfEralierVersionSnapshotNotAllowed", - "IncrementalCopySourceMustBeSnapshot", - "InfiniteLeaseDurationRequired", - "InvalidBlobOrBlock", - "InvalidBlobTier", - "InvalidBlobType", - "InvalidBlockId", - "InvalidBlockList", - "InvalidOperation", - "InvalidPageRange", - "InvalidSourceBlobType", - "InvalidSourceBlobUrl", - "InvalidVersionForPageBlobOperation", - "LeaseAlreadyPresent", - "LeaseAlreadyBroken", - "LeaseIdMismatchWithBlobOperation", - "LeaseIdMismatchWithContainerOperation", - "LeaseIdMismatchWithLeaseOperation", - "LeaseIdMissing", - "LeaseIsBreakingAndCannotBeAcquired", - "LeaseIsBreakingAndCannotBeChanged", - "LeaseIsBrokenAndCannotBeRenewed", - "LeaseLost", - "LeaseNotPresentWithBlobOperation", - "LeaseNotPresentWithContainerOperation", - "LeaseNotPresentWithLeaseOperation", - "MaxBlobSizeConditionNotMet", - "NoPendingCopyOperation", - "OperationNotAllowedOnIncrementalCopyBlob", - "PendingCopyOperation", - "PreviousSnapshotCannotBeNewer", - "PreviousSnapshotNotFound", - "PreviousSnapshotOperationNotSupported", - "SequenceNumberConditionNotMet", - "SequenceNumberIncrementTooLarge", - "SnapshotCountExceeded", - "SnaphotOperationRateExceeded", - "SnapshotsPresent", - "SourceConditionNotMet", - "SystemInUse", - "TargetConditionNotMet", - "UnauthorizedBlobOverwrite", - "BlobBeingRehydrated", - "BlobArchived", - "BlobNotArchived" - ], - "x-ms-enum": { - "name": "StorageErrorCode", - "modelAsString": true - } - }, - "GeoReplication": { - "description": "Geo-Replication information for the Secondary Storage Service", - "type": "object", - "required": [ - "Status", - "LastSyncTime" - ], - "properties": { - "Status": { - "description": "The status of the secondary location", - "type": "string", - "enum": [ - "live", - "bootstrap", - "unavailable" - ], - "x-ms-enum": { - "name": "GeoReplicationStatusType", - "modelAsString": true - } - }, - "LastSyncTime": { - "description": "A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time may or may not be available for reads.", - "type": "string", - "format": "date-time-rfc1123" - } - } - }, - "Logging": { - "description": "Azure Analytics Logging settings.", - "type": "object", - "required": [ - "Version", - "Delete", - "Read", - "Write", - "RetentionPolicy" - ], - "properties": { - "Version": { - "description": "The version of Storage Analytics to configure.", - "type": "string" - }, - "Delete": { - "description": "Indicates whether all delete requests should be logged.", - "type": "boolean" - }, - "Read": { - "description": "Indicates whether all read requests should be logged.", - "type": "boolean" - }, - "Write": { - "description": "Indicates whether all write requests should be logged.", - "type": "boolean" - }, - "RetentionPolicy": { - "$ref": "#/definitions/RetentionPolicy" - } - } - }, - "Metadata": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "Metrics": { - "description": "a summary of request statistics grouped by API in hour or minute aggregates for blobs", - "required": [ - "Enabled" - ], - "properties": { - "Version": { - "description": "The version of Storage Analytics to configure.", - "type": "string" - }, - "Enabled": { - "description": "Indicates whether metrics are enabled for the Blob service.", - "type": "boolean" - }, - "IncludeAPIs": { - "description": "Indicates whether metrics should generate summary statistics for called API operations.", - "type": "boolean" - }, - "RetentionPolicy": { - "$ref": "#/definitions/RetentionPolicy" - } - } - }, - "PageList": { - "description": "the list of pages", - "type": "object", - "properties": { - "PageRange": { - "type": "array", - "items": { - "$ref": "#/definitions/PageRange" - } - }, - "ClearRange": { - "type": "array", - "items": { - "$ref": "#/definitions/ClearRange" - } - } - } - }, - "PageRange": { - "type": "object", - "required": [ - "Start", - "End" - ], - "properties": { - "Start": { - "type": "integer", - "format": "int64", - "xml": { - "name": "Start" - } - }, - "End": { - "type": "integer", - "format": "int64", - "xml": { - "name": "End" - } - } - }, - "xml": { - "name": "PageRange" - } - }, - "ClearRange": { - "type": "object", - "required": [ - "Start", - "End" - ], - "properties": { - "Start": { - "type": "integer", - "format": "int64", - "xml": { - "name": "Start" - } - }, - "End": { - "type": "integer", - "format": "int64", - "xml": { - "name": "End" - } - } - }, - "xml": { - "name": "ClearRange" - } - }, - "RetentionPolicy": { - "description": "the retention policy which determines how long the associated data should persist", - "type": "object", - "required": [ - "Enabled" - ], - "properties": { - "Enabled": { - "description": "Indicates whether a retention policy is enabled for the storage service", - "type": "boolean" - }, - "Days": { - "description": "Indicates the number of days that metrics or logging or soft-deleted data should be retained. All data older than this value will be deleted", - "type": "integer", - "minimum": 1 - } - } - }, - "SignedIdentifier": { - "description": "signed identifier", - "type": "object", - "required": [ - "Id", - "AccessPolicy" - ], - "properties": { - "Id": { - "type": "string", - "description": "a unique id" - }, - "AccessPolicy": { - "$ref": "#/definitions/AccessPolicy" - } - } - }, - "SignedIdentifiers": { - "description": "a collection of signed identifiers", - "type": "array", - "items": { - "$ref": "#/definitions/SignedIdentifier" - }, - "xml": { - "wrapped": true, - "name": "SignedIdentifiers" - } - }, - "StaticWebsite": { - "description": "The properties that enable an account to host a static website", - "type": "object", - "required": [ - "Enabled" - ], - "properties": { - "Enabled": { - "description": "Indicates whether this account is hosting a static website", - "type": "boolean" - }, - "IndexDocument": { - "description": "The default name of the index page under each directory", - "type": "string" - }, - "ErrorDocument404Path": { - "description": "The absolute path of the custom 404 page", - "type": "string" - } - } - }, - "StorageServiceProperties": { - "description": "Storage Service Properties.", - "type": "object", - "properties": { - "Logging": { - "$ref": "#/definitions/Logging" - }, - "HourMetrics": { - "$ref": "#/definitions/Metrics" - }, - "MinuteMetrics": { - "$ref": "#/definitions/Metrics" - }, - "Cors": { - "description": "The set of CORS rules.", - "type": "array", - "items": { - "$ref": "#/definitions/CorsRule" - }, - "xml": { - "wrapped": true - } - }, - "DefaultServiceVersion": { - "description": "The default version to use for requests to the Blob service if an incoming request's version is not specified. Possible values include version 2008-10-27 and all more recent versions", - "type": "string" - }, - "DeleteRetentionPolicy": { - "$ref": "#/definitions/RetentionPolicy" - }, - "StaticWebsite": { - "$ref": "#/definitions/StaticWebsite" - } - } - }, - "StorageServiceStats": { - "description": "Stats for the storage service.", - "type": "object", - "properties": { - "GeoReplication": { - "$ref": "#/definitions/GeoReplication" - } - } - } - }, - "parameters": { - "Url": { - "name": "url", - "description": "The URL of the service account, container, or blob that is the targe of the desired operation.", - "required": true, - "type": "string", - "in": "path", - "x-ms-skip-url-encoding": true - }, - "ApiVersionParameter": { - "name": "x-ms-version", - "x-ms-client-name": "version", - "in": "header", - "required": true, - "type": "string", - "description": "Specifies the version of the operation to use for this request.", - "enum": [ - "2018-03-28" - ] - }, - "Blob": { - "name": "blob", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9]+(?:/[a-zA-Z0-9]+)*(?:\\.[a-zA-Z0-9]+){0,1}$", - "minLength": 1, - "maxLength": 1024, - "x-ms-parameter-location": "method", - "description": "The blob name." - }, - "BlobCacheControl": { - "name": "x-ms-blob-cache-control", - "x-ms-client-name": "blobCacheControl", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "blob-HTTP-headers" - }, - "description": "Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request." - }, - "BlobConditionAppendPos": { - "name": "x-ms-blob-condition-appendpos", - "x-ms-client-name": "appendPosition", - "in": "header", - "required": false, - "type": "integer", - "format": "int64", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "append-position-access-conditions" - }, - "description": "Optional conditional header, used only for the Append Block operation. A number indicating the byte offset to compare. Append Block will succeed only if the append position is equal to this number. If it is not, the request will fail with the AppendPositionConditionNotMet error (HTTP status code 412 - Precondition Failed)." - }, - "BlobConditionMaxSize": { - "name": "x-ms-blob-condition-maxsize", - "x-ms-client-name": "maxSize", - "in": "header", - "required": false, - "type": "integer", - "format": "int64", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "append-position-access-conditions" - }, - "description": "Optional conditional header. The max length in bytes permitted for the append blob. If the Append Block operation would cause the blob to exceed that limit or if the blob size is already greater than the value specified in this header, the request will fail with MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed)." - }, - "BlobPublicAccess": { - "name": "x-ms-blob-public-access", - "x-ms-client-name": "access", - "in": "header", - "required": false, - "x-ms-parameter-location": "method", - "description": "Specifies whether data in the container may be accessed publicly and the level of access", - "type": "string", - "enum": [ - "container", - "blob" - ], - "x-ms-enum": { - "name": "PublicAccessType", - "modelAsString": true - } - }, - "AccessTier": { - "name": "x-ms-access-tier", - "x-ms-client-name": "tier", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "P4", - "P6", - "P10", - "P20", - "P30", - "P40", - "P50", - "Hot", - "Cool", - "Archive" - ], - "x-ms-enum": { - "name": "AccessTier", - "modelAsString": true - }, - "x-ms-parameter-location": "method", - "description": "Indicates the tier to be set on the blob." - }, - "BlobContentDisposition": { - "name": "x-ms-blob-content-disposition", - "x-ms-client-name": "blobContentDisposition", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "blob-HTTP-headers" - }, - "description": "Optional. Sets the blob's Content-Disposition header." - }, - "BlobContentEncoding": { - "name": "x-ms-blob-content-encoding", - "x-ms-client-name": "blobContentEncoding", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "blob-HTTP-headers" - }, - "description": "Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request." - }, - "BlobContentLanguage": { - "name": "x-ms-blob-content-language", - "x-ms-client-name": "blobContentLanguage", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "blob-HTTP-headers" - }, - "description": "Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request." - }, - "BlobContentLengthOptional": { - "name": "x-ms-blob-content-length", - "x-ms-client-name": "blobContentLength", - "in": "header", - "required": false, - "type": "integer", - "format": "int64", - "x-ms-parameter-location": "method", - "description": "This header specifies the maximum size for the page blob, up to 1 TB. The page blob size must be aligned to a 512-byte boundary." - }, - "BlobContentLengthRequired": { - "name": "x-ms-blob-content-length", - "x-ms-client-name": "blobContentLength", - "in": "header", - "required": true, - "type": "integer", - "format": "int64", - "x-ms-parameter-location": "method", - "description": "This header specifies the maximum size for the page blob, up to 1 TB. The page blob size must be aligned to a 512-byte boundary." - }, - "BlobContentMD5": { - "name": "x-ms-blob-content-md5", - "x-ms-client-name": "blobContentMD5", - "in": "header", - "required": false, - "type": "string", - "format": "byte", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "blob-HTTP-headers" - }, - "description": "Optional. An MD5 hash of the blob content. Note that this hash is not validated, as the hashes for the individual blocks were validated when each was uploaded." - }, - "BlobContentType": { - "name": "x-ms-blob-content-type", - "x-ms-client-name": "blobContentType", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "blob-HTTP-headers" - }, - "description": "Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request." - }, - "BlobSequenceNumber": { - "name": "x-ms-blob-sequence-number", - "x-ms-client-name": "blobSequenceNumber", - "in": "header", - "required": false, - "type": "integer", - "format": "int64", - "default": 0, - "x-ms-parameter-location": "method", - "description": "Set for page blobs only. The sequence number is a user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 2^63 - 1." - }, - "BlockId": { - "name": "blockid", - "x-ms-client-name": "blockId", - "in": "query", - "type": "string", - "required": true, - "x-ms-parameter-location": "method", - "description": "A valid Base64 string value that identifies the block. Prior to encoding, the string must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified for the blockid parameter must be the same size for each block." - }, - "BlockListType": { - "name": "blocklisttype", - "x-ms-client-name": "listType", - "in": "query", - "required": true, - "default": "committed", - "x-ms-parameter-location": "method", - "description": "Specifies whether to return the list of committed blocks, the list of uncommitted blocks, or both lists together.", - "type": "string", - "enum": [ - "committed", - "uncommitted", - "all" - ], - "x-ms-enum": { - "name": "BlockListType", - "modelAsString": false - } - }, - "Body": { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "format": "file" - }, - "x-ms-parameter-location": "method", - "description": "Initial data" - }, - "CacheControl": { - "name": "Cache-Control", - "x-ms-client-name": "cacheControl", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "description": "Cache control for given resource" - }, - "ContainerAcl": { - "name": "containerAcl", - "in": "body", - "schema": { - "$ref": "#/definitions/SignedIdentifiers" - }, - "x-ms-parameter-location": "method", - "description": "the acls for the container" - }, - "CopyId": { - "name": "copyid", - "x-ms-client-name": "copyId", - "in": "query", - "required": true, - "type": "string", - "x-ms-parameter-location": "method", - "description": "The copy identifier provided in the x-ms-copy-id header of the original Copy Blob operation." - }, - "ClientRequestId": { - "name": "x-ms-client-request-id", - "x-ms-client-name": "requestId", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." - }, - "ContainerName": { - "name": "containerName", - "in": "path", - "required": true, - "type": "string", - "x-ms-parameter-location": "method", - "description": "The container name." - }, - "ContentLength": { - "name": "Content-Length", - "in": "header", - "required": true, - "type": "integer", - "format": "int64", - "x-ms-parameter-location": "method", - "description": "The length of the request." - }, - "ContentMD5": { - "name": "Content-MD5", - "x-ms-client-name": "transactionalContentMD5", - "in": "header", - "required": false, - "type": "string", - "format": "byte", - "x-ms-parameter-location": "method", - "description": "Specify the transactional md5 for the body, to be validated by the service." - }, - "CopySource": { - "name": "x-ms-copy-source", - "x-ms-client-name": "copySource", - "in": "header", - "required": true, - "type": "string", - "format": "url", - "x-ms-parameter-location": "method", - "description": "Specifies the name of the source page blob snapshot. This value is a URL of up to 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would appear in a request URI. The source blob must either be public or must be authenticated via a shared access signature." - }, - "DeleteSnapshots": { - "name": "x-ms-delete-snapshots", - "x-ms-client-name": "deleteSnapshots", - "description": "Required if the blob has associated snapshots. Specify one of the following two options: include: Delete the base blob and all of its snapshots. only: Delete only the blob's snapshots and not the blob itself", - "x-ms-parameter-location": "method", - "in": "header", - "required": false, - "type": "string", - "enum": [ - "include", - "only" - ], - "x-ms-enum": { - "name": "DeleteSnapshotsOptionType", - "modelAsString": false - } - }, - "Delimiter": { - "name": "delimiter", - "description": "When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string.", - "type": "string", - "x-ms-parameter-location": "method", - "in": "query", - "required": true - }, - "GetRangeContentMD5": { - "name": "x-ms-range-get-content-md5", - "x-ms-client-name": "rangeGetContentMD5", - "in": "header", - "required": false, - "type": "boolean", - "x-ms-parameter-location": "method", - "description": "When set to true and specified together with the Range, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size." - }, - "IfMatch": { - "name": "If-Match", - "x-ms-client-name": "ifMatch", - "in": "header", - "required": false, - "type": "string", - "format": "etag", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "modified-access-conditions" - }, - "description": "Specify an ETag value to operate only on blobs with a matching value." - }, - "IfModifiedSince": { - "name": "If-Modified-Since", - "x-ms-client-name": "ifModifiedSince", - "in": "header", - "required": false, - "type": "string", - "format": "date-time-rfc1123", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "modified-access-conditions" - }, - "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." - }, - "IfNoneMatch": { - "name": "If-None-Match", - "x-ms-client-name": "ifNoneMatch", - "in": "header", - "required": false, - "type": "string", - "format": "etag", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "modified-access-conditions" - }, - "description": "Specify an ETag value to operate only on blobs without a matching value." - }, - "IfUnmodifiedSince": { - "name": "If-Unmodified-Since", - "x-ms-client-name": "ifUnmodifiedSince", - "in": "header", - "required": false, - "type": "string", - "format": "date-time-rfc1123", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "modified-access-conditions" - }, - "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." - }, - "IfSequenceNumberEqualTo": { - "name": "x-ms-if-sequence-number-eq", - "x-ms-client-name": "ifSequenceNumberEqualTo", - "in": "header", - "required": false, - "type": "integer", - "format": "int64", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "sequence-number-access-conditions" - }, - "description": "Specify this header value to operate only on a blob if it has the specified sequence number." - }, - "IfSequenceNumberLessThan": { - "name": "x-ms-if-sequence-number-lt", - "x-ms-client-name": "ifSequenceNumberLessThan", - "in": "header", - "required": false, - "type": "integer", - "format": "int64", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "sequence-number-access-conditions" - }, - "description": "Specify this header value to operate only on a blob if it has a sequence number less than the specified." - }, - "IfSequenceNumberLessThanOrEqualTo": { - "name": "x-ms-if-sequence-number-le", - "x-ms-client-name": "ifSequenceNumberLessThanOrEqualTo", - "in": "header", - "required": false, - "type": "integer", - "format": "int64", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "sequence-number-access-conditions" - }, - "description": "Specify this header value to operate only on a blob if it has a sequence number less than or equal to the specified." - }, - "ListBlobsInclude": { - "name": "include", - "in": "query", - "required": false, - "type": "array", - "collectionFormat": "csv", - "items": { - "type": "string", - "enum": [ - "snapshots", - "metadata", - "uncommittedblobs", - "copy", - "deleted" - ], - "x-ms-enum": { - "name": "ListBlobsIncludeItem", - "modelAsString": false - } - }, - "x-ms-parameter-location": "method", - "description": "Include this parameter to specify one or more datasets to include in the response." - }, - "ListContainersInclude": { - "name": "include", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "metadata" - ], - "x-ms-enum": { - "name": "ListContainersIncludeType", - "modelAsString": false - }, - "x-ms-parameter-location": "method", - "description": "Include this parameter to specify that the container's metadata be returned as part of the response body." - }, - "LeaseBreakPeriod": { - "name": "x-ms-lease-break-period", - "x-ms-client-name": "breakPeriod", - "in": "header", - "required": false, - "type": "integer", - "x-ms-parameter-location": "method", - "description": "For a break operation, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately." - }, - "LeaseDuration": { - "name": "x-ms-lease-duration", - "x-ms-client-name": "duration", - "in": "header", - "required": false, - "type": "integer", - "x-ms-parameter-location": "method", - "description": "Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change." - }, - "LeaseIdOptional": { - "name": "x-ms-lease-id", - "x-ms-client-name": "leaseId", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "lease-access-conditions" - }, - "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." - }, - "LeaseIdRequired": { - "name": "x-ms-lease-id", - "x-ms-client-name": "leaseId", - "in": "header", - "required": true, - "type": "string", - "x-ms-parameter-location": "method", - "description": "Specifies the current lease ID on the resource." - }, - "Marker": { - "name": "marker", - "in": "query", - "required": false, - "type": "string", - "description": "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.", - "x-ms-parameter-location": "method" - }, - "MaxResults": { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "x-ms-parameter-location": "method", - "description": "Specifies the maximum number of containers to return. If the request does not specify maxresults, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remainder of the results. For this reason, it is possible that the service will return fewer results than specified by maxresults, or than the default of 5000." - }, - "Metadata": { - "name": "x-ms-meta", - "x-ms-client-name": "metadata", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "description": "Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information.", - "x-ms-header-collection-prefix": "x-ms-meta-" - }, - "Prefix": { - "name": "prefix", - "in": "query", - "required": false, - "type": "string", - "description": "Filters the results to return only containers whose name begins with the specified prefix.", - "x-ms-parameter-location": "method" - }, - "PrevSnapshot": { - "name": "prevsnapshot", - "in": "query", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "description": "Optional in version 2015-07-08 and newer. The prevsnapshot parameter is a DateTime value that specifies that the response will contain only pages that were changed between target blob and previous snapshot. Changed pages include both updated and cleared pages. The target blob may be a snapshot, as long as the snapshot specified by prevsnapshot is the older of the two. Note that incremental snapshots are currently supported only for blobs created on or after January 1, 2016." - }, - "ProposedLeaseIdOptional": { - "name": "x-ms-proposed-lease-id", - "x-ms-client-name": "proposedLeaseId", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." - }, - "ProposedLeaseIdRequired": { - "name": "x-ms-proposed-lease-id", - "x-ms-client-name": "proposedLeaseId", - "in": "header", - "required": true, - "type": "string", - "x-ms-parameter-location": "method", - "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." - }, - "Range": { - "name": "x-ms-range", - "x-ms-client-name": "range", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "description": "Return only the bytes of the blob in the specified range." - }, - "SequenceNumberAction": { - "name": "x-ms-sequence-number-action", - "x-ms-client-name": "sequenceNumberAction", - "in": "header", - "required": true, - "x-ms-parameter-location": "method", - "description": "Required if the x-ms-blob-sequence-number header is set for the request. This property applies to page blobs only. This property indicates how the service should modify the blob's sequence number", - "type": "string", - "enum": [ - "max", - "update", - "increment" - ], - "x-ms-enum": { - "name": "SequenceNumberActionType", - "modelAsString": false - } - }, - "Snapshot": { - "name": "snapshot", - "in": "query", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "description": "The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see Creating a Snapshot of a Blob." - }, - "SourceContentMD5": { - "name": "x-ms-source-content-md5", - "x-ms-client-name": "sourceContentMD5", - "in": "header", - "required": false, - "type": "string", - "format": "byte", - "x-ms-parameter-location": "method", - "description": "Specify the md5 calculated for the range of bytes that must be read from the copy source." - }, - "SourceRange": { - "name": "x-ms-source-range", - "x-ms-client-name": "sourceRange", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "description": "Bytes of source data in the specified range." - }, - "SourceIfMatch": { - "name": "x-ms-source-if-match", - "x-ms-client-name": "sourceIfMatch", - "in": "header", - "required": false, - "type": "string", - "format": "etag", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "source-modified-access-conditions" - }, - "description": "Specify an ETag value to operate only on blobs with a matching value." - }, - "SourceIfModifiedSince": { - "name": "x-ms-source-if-modified-since", - "x-ms-client-name": "sourceIfModifiedSince", - "in": "header", - "required": false, - "type": "string", - "format": "date-time-rfc1123", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "source-modified-access-conditions" - }, - "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." - }, - "SourceIfNoneMatch": { - "name": "x-ms-source-if-none-match", - "x-ms-client-name": "sourceIfNoneMatch", - "in": "header", - "required": false, - "type": "string", - "format": "etag", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "source-modified-access-conditions" - }, - "description": "Specify an ETag value to operate only on blobs without a matching value." - }, - "SourceIfUnmodifiedSince": { - "name": "x-ms-source-if-unmodified-since", - "x-ms-client-name": "sourceIfUnmodifiedSince", - "in": "header", - "required": false, - "type": "string", - "format": "date-time-rfc1123", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "source-modified-access-conditions" - }, - "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." - }, - "SourceUrl": { - "name": "x-ms-copy-source", - "x-ms-client-name": "sourceUrl", - "in": "header", - "required": true, - "type": "string", - "format": "url", - "x-ms-parameter-location": "method", - "description": "Specify a URL to the copy source." - }, - "StorageServiceProperties": { - "name": "StorageServiceProperties", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/StorageServiceProperties" - }, - "x-ms-parameter-location": "method", - "description": "The StorageService properties." - }, - "Timeout": { - "name": "timeout", - "in": "query", - "required": false, - "type": "integer", - "minimum": 0, - "x-ms-parameter-location": "method", - "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations." - } - } -} \ No newline at end of file diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url.yaml new file mode 100644 index 000000000000..9119a7ddee70 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url.yaml @@ -0,0 +1,2700 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 74be8f46-d292-11e9-bdf7-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 23:43:27 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource80c3118a/blob80c3118a + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 23:43:27 GMT + ETag: + - '"0x8D734B65926BCFC"' + Last-Modified: + - Sun, 08 Sep 2019 23:43:28 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 74be8f46-d292-11e9-bdf7-001a7dda7113 + x-ms-request-id: + - a0db2b43-101e-0047-169f-66f960000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + iO7TnwykZDfljclH2MsyzTTNuAMQh1oqjR8hB0luSbrknYlRexWEZnBPSfAtlE+B0RH0pWL7t/6+ + c/yzHSt4slB9ygwfqxbOItYWybJzxTLpHDe5c4AQjuf0oulmc7ET+ExHU4NHL5onl54fmqMhaTRj + Poz2w8Imx2MwXg7bpERafb7ccq14NTq0UdSHCHjP5C8Gunl86y4pP/rj8CkNZHZ7RlLImnqKXV0H + 8hyOLlJaLCWfkBnZ4mz9n7i/Sr8R7mh4EN0vAA6jpkQ9bAFdzN3NCZod60sXhQJT7k+VhDYjL2ak + cuobPtEs2r+w+rW3AT57bDNXC4N50pqZ+V1CZfBWohMju3VITEVCHBnLnhLcPjse7hKoJYEkGVDh + CVmgRxNMrLiIGe4EBHc/ChP8P3juFZa1Gum+l2zB3IKvWBy/XcGFa5tbmODtCg3aLjN20xXVY7/u + 7oJtjfx1i0tgZujlat3SD5vyCgKObwetoOWf13LRmtDBahTToFdGfWGAvUN+vdFRRkq3/cjFZtdn + ODGGzRwwFUkDAq82ZTSfNrOTi5SWXlDTiI69JUENPUu/oHzxRXWmd89shdAHDagQGoOZ8a4N60cL + 8TpCtbNlJWuZiZigjVOeV1WR4Lb0LSIPy9k9qIvGxEipgfnjOji3p47vaqtJ3IG+1BDjVrEVZhDp + x553yLdPdguclOgA7N9cFqQgmJ/FMO2W37Hx0qTbuEbZ8NFCgTC4kXwrsoSo3zYXytPLtoVp9ReT + 6BYmHVB8tFPAg4s4a3PsftI0MXIaLlDkezt8NX347mKPy64Z+TTMq4oTqBkP3zExayC9tW9qgMYD + HCC2b0jljLGHCYlzvwXcqykt/Rdn+RW2HtK+naT9ajS2vd/R76EGM9yUAqecDgLlAc4JNP0uqrIB + E2cC5UHGfKN2Qxu0EaJkloITgy16gb9uZQJVpNEH1EwwKYSUR6Dguui9Y3GEwDpOoVlPuqT1SRXM + jyqfm+q4Fwxhth2+H/MuA+3vZLDaZBsc8eWC7lFMH1/+Q1R7ib/eDTLQpwuiK4Dw/rpWiB8kMOgR + zwYGXTH9qnhmHUiH28ltgxxP2jmHozJDjj1NG8gen+HHjO8fbW8eo7Im+w/YbnGsuSLxhBN/dhuN + pqvDdOrDSf0LWKp9f8UhXnGmy72baA0MTTIu402F9Nfv6VplVj+Dm8J2F8QJxsaOh5IlznRe369y + xIpRhmXBSlz+Iud6CFcgSqZJUTpJ59dDmcUaNaZY2J49eplpjtM91SdA4SWDtOY6+Fuq1JUxz8up + HEWqY4d0NgQ8Nqf+sjGV/V2akrlynXU1B2bMfpYLVc0rYIbTOkLfaxZHgL2Kn35roGsofjm7L31+ + hRbcwKm2Yx2vYByFRB8JD+oDFcLZQJ5yRHm7WeN9tgu4r5FdhXB+vdTCLkSIy0FWYFGwScIpSh6n + wcrSOT69zQLNtZt7R4fAPQ5vBs9uQzI6pMNoePpcGK9t5xs0rdExugMLVAwOUto/h3R0EHQ8epUe + qfvav9y4O1nUIyj1rxr0O70u5VLEIyxTauyYzvA0z2iNc5ex3/KAh/sCgVwKZauS41Km3RzhFLQg + qij3320hs+ePaz8+RkVMSPyljk91UoKkCxomh96k5qMK7zfwmnYLM3E0n/0vR1EZSVzOLmudYfdE + wEzxU4vl/OPtavMVRoSQCmJU09PGyoIGpcr1t/toAs77nUjUFUCDF0corkKgXo0WrvgVvGSwKD07 + 4wpXydyi9kwlhEJGJJ2PPjEg5zi3qhEbrqVU91J3We+nhDSgbmQuaprHYqTVn0kgoQp/y4BLq6rd + Dzb1YY3k5V1j4i7IqCsLTiM0kxcoJwprXk+R1yl8SJCdqVm2DSZuDHjr5/1gtxXLProom7AKMomh + oUsP2twd6xVDFjEtsuNh7NsYDRDibQsBT4QYbD+MFOG+xcsTpLxjusWssqgI82jx+ggUBGGrQe/G + 25UBO0bcbtAjE3fI091KOV8MMz+ZWO25x99e945ClYMBGW2jsCiA6dyh5xttzp4TcU25w7xQBsCN + RVZX6sI6wP4ljWbWb/xYa5ycvRJoP7rtO8jAF7s8rdjaZLi5LdPIE9sMiYGvuVtCm9HDdo9ebwix + 2PRcR1f4FNFiD6LNlXrFPfLTEfbzW6SD/qc+Z5tyZfm0k1lbvS8dU0D5rEIiXcNzFte573ramQ8a + n1Lj6YgjZWCZA6wKGcPhzJaqAVhB24/XJI9kd/amk4C0vZFYcp973KfwcB1SHW2kkrrIbFTVa3po + j3gmmSa67g5vBu4YT76MhVLeJz3H1FKj5rqgTlOThe6XB6pJiE9XrHtEMZexKRV5PuSsyfPCjWVG + CzrpKpaHjl6+YXlXI0RZGLTVnj7Y4fMRWEYhqXxBtx3AnKTpEh10c4KHJ2oH47+GCcB8Tt1+Qyl7 + 9cnw7/RNJUkJTWZOoUReEKJ4YkzYSb+1e5aldWZgfqQ/c0Dy3lZRWFV2nUpad4VQAocoh4jjM9Hy + 1CyZfHzi5bWc45JZyHmBtkPK31m6MBOMDDMcMEgN2y1ebsK7CNnwErbjUq8ZBsTkDBcqFDPLACj9 + zRpg3+kzBtd70XBjRanbIkQ8IVop5y3FmBHxcqFQO2zs3AmdMUo75fKF0ZZ2lpZYyWspmL7cXFZf + NZqq6NJqabZHsA6xGAmzziyfC347nnTO3zRaEHK1wXiwVAYYBOuwbpIBus6yuphMI3ylCl0EN91E + qwFUMH/ENQlgIpvpRK/iiwrQpoJIQXg9rkdTTQhvFSn41mVOeCrRoIGCWMG1yjMYl6PQmsLUNUCH + 1dBwKi+iswNHCX3jjhCm04kkcpUp6MRel+pZFmndc9lt1Z4TYz82Po8rgCbWfnbMgB4zaGzjn0c7 + eXCvl4gO5nMlERZz27HnvgHbNeZi1mSyYuc5jpP7F2Zkal0jaJnUilQdI7G6BTGucDwNax+NnEyA + THuKaq9kQaapwPNuY20d3zsj/RV6Ivs85T+alLXU8wnCmZyrRrbpv92N+mIonIpt07EYPsTxUEzU + F9dj/UMddMO7D/xK+4QUtnhC020qy59zsuB7IXYrnIztdPFbwdsDmdw+2/B5E1CvIcId906Ff6By + C+ZegbqvFyhY6F55jpW1IvXxGQV3adt26m5d5zyFD9mSh2zECNxjEhmcJfyn4eN0mPo/3ctBMQCe + HkApMXFgUqXUi96ML7h0NgGdNKzImdaONCzrVLi18/6ifOCFrJ5O4sPEOY27wZsiWrH2PNjTy9GE + xKQ9mGPKrOYk6tcvTmld2tF+Som5F0TJrS5qc+Lveki0lcHbSj2utTuHwZibk1nRF/MhrhFn7brx + Euq76NY3H6bkCy3R/Fjv+nU/w9lJY8d9M6ZGhAzRRlvpJVW2vQBudpy7POAvUgUjovgcysoeWGIi + TaamZGUAaLGnfgZLZJnFW47USvuiOiY8zEOEbKsea9xMJczzsyLqKgbyZt+Jo6YwAtlV/ZJ6BsqE + SYscaAA3vak/kgthnL59vsrCQ6yVXG4bgld2gTHadDUEq5/v08ohDi2pOyrcqlThDo3AgIi3hny3 + Q4Ba43S+tp5GkW4qWYujn79Aop9fACgrDSUvdeRKJSPugJgoksxXrPdHLuZYaf4/B7VjiJ6OT7Yr + 3h3uDFhk2Vnvm+4aFzRl03buYeFaAPYSZNkGMHpMYF2KYpu9ryBEGInmGVImcsCmYM6n3OGDlcgH + wjU3cU+/+WoR3qbmUnLnTL+osIj20IqDmDvZOXBwz54RKmjNYf47jpvMrDRcLQPYI1g0TsBWTCs3 + RbWByPgj1/nxd/kB+5xfRFRH6reGJkSvDC9oTdxav/krAAwDZDZ0+H3AaImZy9Wz0z2nuc/Zfbbk + 2LT8ZrNs6u6dPhbJKCX11oYN5+g00W94XGwiEJlVyenWVkBereUuaNWFEKMFLqITlqlVZj7kMDEd + 1jFdTAxBNAxR1uockYnMZFdvvVs9A20esZfoVNoiE88karBIJVBygb+M1u80JKuoLb76QLbj+WX9 + dV5D7EzdfsmPow30BvZwq+LoZolayj1sLXN/58Ybo0oB1wY/9uDRYK/y/d8gVDqkE/h93DJC75tz + rx2leWmz4U+1Y41hfd1m2uogPpGepXT1B3gxBL9bfqP7gV9tK7qu/PS6CcFPIhOAoE7XwSXIYZGf + scTTadeXHHjFk7bZ6HNb8UO1gMEC5bVtnha1spoeVe4WQU7LNoF2Z9ucjFjtvrzBY4Vmbg7RJsMy + GD2wCBczYCaC1ZXix4Ng3akiMrEQHDnwx0vcvOrFpwjdM3SD1NSLJVctk0pZz4NbZhNeR3mFCqfg + E43aI3a5R1/xRkt3Gzd2btwcnbFebQhMXRcycyE/gamuIuuB906mwfdBOTCWFe72GpDvQ7s1AhRM + dQPbFNFWspsu1tA9+rC2OULpPHf3ce8mSl2yWxcxD+RLa6Q5aq8sU7a3wzK20I/uF+cfEfcd59lj + deX91d+Ysb2AYwYYOV0jPai00SOukarMAB+LI9Dth9/kXwad8y6A/vWyZiZEBp+3G4vC/o8ADPL1 + mKiJdl/n3HK4x0fw56gt43Haw6gqeTRwR8GgwXdGehEz3pH5/Ot7cFjF9bgs/h0JTys3O1OqWREf + 7RkSEn+saYXcRzTxHKJ3kTsp4EQIjwV6yk7ZwTo85q5H6o4/8Sf1uDUr5c+Sp7bVhDXIoa9FWYsF + 28VlXMbob4QNZ1DRFczAQUWWOSQIaK7JZ2JZ84AGNtn6+H4dBX6TpPiQXvhI9sZ1PsVgpXh+JPvN + hbnI5EfUz9EOBgvIxtmWL0eiMXVqA79uKyM/kyog6URE4wdHKDP0LZbnnmdJOnBnxBRS5PrJnnf0 + W57HlDaMjsRTHcgGn4DACXRkY4JuSySz6n6DZfPP+wVI/fktFYkcYCQNX3eegzB2ANEpoACNVumL + WH5DFZVmcck1Frbxyio8FP7EU6yzdK3fh9ApZMFGetuhXK7Fdr3JDNXAB+VEvSKcUX3s+TBDmwoK + tU9RCL4tCwCuYrxaBFslJ1QPSCkuJdZXaFnICAo8I3AixyWkyrLNsTR8ACt/T21WcgQDZMXR6Ib4 + +i9EkbX26A/IQNPUfSf+2ezclkV9hGnOX344ADNMgBXVeJXFZwoTEPKlHPdAYj9poeYyAiVDcefp + aELrmu2vP2EyT2381TLRYZxwAjSpq3S5xTAnamItnKShFVttSkVDOEaEyNwPmHHdp42XYPyRNJlV + i8YRcFFv5RxX6AkxM7WYgvAsJpH4KXztwdpIB20xySwDVJ/jGEFTSX9QqJtUa+R9pIiC0vhGmbAc + 73cR95iEwSWNaj8ozvIj8oCg4XvsUq6B86GuhWEU/aa0ciryDcFgX7llZressZKPIzwnDb/5DJno + 02dDGTDRbOrawSO4k9ILT/nNGtSW9fzXN+JqznN36PCQPoYDUTJnGC17uro1uciLYdA7ovEJW90t + OdjXhduSP3/wNouCFcspuwOKUk7Ki6WixFvkKVJGRIcLzqk5ocZOOeWo9Hf2ZLbg3WBtWOOPLjeX + LnJHMOEI8tuRNrvGYZnKwRjSYwpbWRYXZgmbOTFRoRMrqpJGBc5OrCMki5Y7W1LilTlkQ8bJITwJ + vqkYe4tDqQDbYM1T7lvB9XWqxm7wsoUQRm9QzoSa6fK7JIarPy2bGOrB7CBCt+hkTnxkX3BRUQUO + de7WvVY9dzhnB2qtwMgoeek3RIsRnVdGIYqBq0UXFZZKI5pCdJLG1qsz48RMADEQNlSk4KnkJdR+ + 45Ch3FON39YjqmJsekqVghkx2GXDFcJE4zZ0D2g7FgORRe5qp07VuhNa2aU69aJDgYQ0KukW6Pnr + lyCAbT46GCPzsdip+Z0xRH1fiY4RqUl40YoUC4QDGjZ3v/xPizmHoOdpE7owDdz1g1LSYvEpSdpj + QElBeHDXkeDs0DmyB1WiLqQ4FnRgzOGRgCAXLvuUKquqa3quD8XyF6kqKsCBZIb1ONq89vOP38wk + Lz5wtJEPI8CaeMq9dleQLGQWT0WCkSg0YVJpuhwQJ9c4lA+MUIrZDXRWEEch86YM8i5TIXbuxbx3 + xlUxS8FwMLqWm91AUL+4imO2FyV9jPW5dKnAb3hBMqtZkvc1jBPLkL5px7+Hto9/Zw66Rf6wmqVP + D14jKmFlSA8Qzn9/+uLDSSsmJuri/RhrltiFBugLf73V1FtzCbPbXwi+noaEPM+Jqjy4vn+X8yYY + APmfecVWqk2dCQY0Y8scfOT3fgRqf7eejMAJHyPe0J1Zk4/WqxnDTBAu6arfZdbgAT68xYMUXGM3 + pSeKjGYuAagCqxvbeGgbSYzgl26Q5RYfAYQw+t/QpBu/eCtYaKZoUW8htdiehDXxIUsKVaVd8I0R + cTKNcO8zsUK8DyU5xHo7ROoRrzqMv9QfUZlsyrGdZyITGUcmamvsEamPvRtkJ3rSz6Vct2HB7Nlp + 3FtgxfEaukts9Q9EC3DtpE4K7wayXOQoPw8jvFfLEvgguVfuOsS9F81KzmkKGaiEtBQcFZ5xo9ka + OWEkvZrK/RQfcVBhNWLEGass3aNbzHFkSgXryN/UV6ecoN0ElsnjZ2KiuV+vICzEbKdQUvw4zEQy + ovUBUDP61/HhSZ4ugZUaNGePtBgMuR1cIvcQmZPOMuP6/Yns+HNr6a6noBpJuDmOlJaUUdTIBCUV + AuYOeQtKpzuB4EOm2aQG0nLvLQvBGehAmlUsJnuAy+kgSeCe/JRJQBw/Ksf1tKVPIvmtJgNSN9mx + euX4gMdedkv303Gf/ZXzkPLzaDZR6Ls5oBoHlICk7Mtvzm3LskMFWrdWZ4HxS5yTXpVyUiXAy3AY + zBLWaRg/n68f0/VxeefqjJumhVqQbjKu9qgIZ+vIGZ7IQOCw3Ra/dLLLfpB3l2JnvN10UQl+08Pi + lCJP2IEOfR5D2n7XtMiwzUK94LoC1+WKhAWPHoTpeDuU6plRDBIB1quZvVQiYLnyCInhJOpasZ1Q + jwjDoh1qwSszg6OZ6HyY9nG/6dxmm0+qh2SIDnjeTcUwFMCyr2eS7rlvfU7KSjapsgMtr1+/YNFS + s79OTbW34A5i5C49e4a/SNJxnN6mfAWvR53nl4vS+edG9gQKwauI5bUQDOkn9Z5WlCPlRGv6WRHo + H1aXImMUjan92rpXDyDUVI30PLTbdSB73+jxQ+nZLnTERNvWAjLovykKFIt3t2J5/Gnzx5yCqjNG + 7gjffS6AgyS0E2LKUYh/GHYxkm7OdqhOi6/kCIm5XYwRMl5KbC+kJa0fMLckzpFbCPKn9oBCiYaY + +kTyfuWtx+e4mpvkwRlK6FKTeg/H3ucyedqHLhQ/HgSdHsaUwBBuD5fscqJMiZvlDIVtRrwOGhKX + A5aBrwMjKAv6SD4fkTPGlbLynfeQEU7PVOOiWjF2NNQkhpUEey8YPY+fTbH088rk1+Cun+WcZEWy + qbRGFLw3PHd9Hw1OvZZNnzQvZAfgqYlouzEIItiKEQOOaB+RwnsWN/ASW3YRQSJHcbthw94LxEFG + jcg9wQHACRfvPhVX8dAD9CU2KAGQO2io/jZ2nqboX0U996DV+R/b4u6YqsASJuMo6ge6BxjEu32s + QVGV5b0M5YNN0KYO36Cm5orRM9trElq5ve1Yf2f8sz187Bs73ceJbj/ibafkS31SxYHwvSsIGqqD + VEPnm4WAvKZcxgHPRnUE6BVNM9XqclMWffMEjTflzmwbvxj5xh7cj3zhDgS1Kwi3/dX3UDVqRvqe + QDdku95pKl+0GcWwL24Wnhlur7TBGsh++eUkb+ihInKBAYGR0CGdjJSssmGaPHCQSja1LqvG+FmL + htA20CEOcBaQiKIQP6wbLVehJqieYdRxRcAqyz9vwK8kdVb4rgFonFg+i5VqJdSR0IUf5TmJj5hj + d1c9IcIRYchiRVdLRITfwaAXLr0r9r5Qocni7p3MOvJn09vPw88XwBHAa2uyd4pHSA6KCJvEeoNl + RGEzhdO9uE5ELoWjau6Swc5lODOajGtGg/cDVWqntud2ZpSl8xpaYR21tg2nNRh+k9pNZ83eg2h4 + fAU1YpiqYDjIGyzQYIwA3bltZ13lniPsdNC3YpnI1TH3TWX4dT6ZObeOkh1kz7a2qu0+KxpWbS9q + pfDpWYFL/E+doojAayIV4qMXTZdrREkrB2xfVTeMZa4GDY/Is2O4t5sULptSYaGuORHztJdrqQir + CoSAJZuolMzPaEGGHW9zn27LMgbZ6TqJQOOxkQ4iL5m7Pr+Q3N0BKY8ah/iAyUIB21wNcgGUswS5 + BDunFuHQrNQTysObtOWqo2wS70dGVVK3AtM5oLq7yhOvRSdEO9IMsgQTwM9B0EqO9MUrjuIZDrZX + 9ln57gFoJHnlQZ+uiydOY1rwmgMoE+i5UxSR3koRMb9l9GCMqZtqnFUvU+ZbAdGKYb/olWAGMyYP + DvaEVTpyc7PUxo6xC1/8ijdXdbA3p8z+EfShEW0/ci8SUgt60GFcgUneHH0zNtqmrM2jePVr6clS + UPz4UTFCOh6Cyrcxdxzd+taAs6e8yUtHxYyO6YpyH7KhGPyg7mTcpGcnER7aSOCSrPG6LVlCrKWn + olHDxRG22GunvMXz/eSTNrUBk46U+2zMSZDaskcNe24XLVaERL9Fm+teg1xisFPpCrHv9fmCd4RB + Ri22H4ZiQ8R6qOqjZF9EA+orYSEeqqXoUEvlBjaKriVZ3ViCfqMuXomNyo5d6UOJRnWRKcdCAbov + Tfd/6TH7mRraY/GEDPAyL86RH5cVF3EFox34iQifTxRWf07coYsGRYEpnsO467r+cc4/iCQ81CFD + E7p2EcPP6z5kXeTJA2S7VW8yHynkxlyegoRtvhfldaKOqIHapuo5dByGx1YBMndjUPafTUpIQSvF + kb96MhRYZbTGtfYsZWm3k99XPTGjDI3XucgehSrDJc1BsCMWnUgU2SaQL7aeF7PA0NA0n+7IRKso + Tj2Cwubwkkc3bGWIEPr3+b/dQO5er6K5R/rBm6vQ8VuFVw9jP2FylMVjFnzxNQEoM4xDtTTUpKpz + 64WX7b7Qp9WANFOJXWnHvP0UlpVKM0NNemkMSQCzd4odgQE63xhucjckvGxnSOksfyW7eTNgIbRj + +xBs2HWoZnaLIy+by2ZN5fFBl0F+MkKSVxVN4s5hOfhcndO6YiBrQEUy4+KZp0EpOtX+kINqw40B + jaaN4IEo1oUtvEpmYsO3cZ+Wu7isYFkgAD+YlpODvM49fyehOhoaVyUEnAQkaKo6QFcoUzBDoG71 + 0Pe/9jgFf7qJmUImWzj9qroyV2RDqmaYxLBbEsbPiZsCjWSU8Q4is5mEfAqUgba0Gfh3VQ4hn/W1 + NZ9o9M1vpaCma/LebWQ4nQuwpCAU1JRa4n7RI1fwNnqufH6B0sjfpphoYzzcRwa63VeNi/oDiURU + bAv2cwL4gGaQ/Qa2zeWEczwAaxrrEeJrWwLmoAVTE0E8+FM7qJzxckwjfrw0Ael1XkN3f+8GNWXR + i5HZdfuVE2rZ06Oafu6g423Kg14jOXtfIZap8Z0fks7UPn/FQR7vP/OtGwx7IDcA7nYR261U057H + SOtf793YVZ1+SvVcE+174qHbHBf5B7bYQeQ2wH41JeQ4I45EH1PQVTtzB2WdnLzwaCfYp1YKHO2+ + XH4uj+wewb8f+ev4EB1WXaGYYUxeL5QPWPl0dFhfl394Vi7s+7ZU8t7GdiRuvJu+Z9KKENzmj9Ii + kWCCNRrcwqR69S3H8JL4QP29nSQfBDHXyTGOBcctCRs8dzqbECrBQ86gOCeGLI5HbM41WAWMNXyy + zSnDFdhExzlll80TlgXlYUC2eTu2KQc3qJ4yMem9QXmsXc0TGDTm2rgALYjge0lbl69y4YzRD3er + 0H0Sne9Ifj8ClXWt4AQHdajWqNNAKDhe+jyWlP4207243jcPGm09wtEX3Da+iLlKhV/vv68taW3a + H8PdjFvQbxSNWt5WbajLlraWrMdrhrMi0CabB4QSj8NowRnJv29rkYJxPtg9inxZrwoglGyvhYpc + 8duYGVAF51EtMdLVE9lDM0083Yahl8kVNOJiHuSOQYTYlENtM+6PtVSVhZj0gbaIyQb+ANJWSiwE + H4dOQ1aEjjmWC2uOFnJHdbf3DWi6yXilES+2cZZp6urZ4AHBLVcnZEQ0Lv7lQ6kJAW06uV6m1qGn + YT1GCz+TxAnQ8YUuq6J67n3PCPfWyoRTtZu8ADCaJmeR/AG0pNKvQiI8WL8CMizaexj4gnc8jfCu + AAY9cJq2dv5P95Jw3LdBHtVMmE3QJY2ZiOZjqUeQ21doIO7KjzrgarOowV5l6IptvBb+7Td2KGRe + amJ7o5g2PWwZlGwACmTt658UYZD1PtL0CIX63ceem7N6UiKtvovdCGNZYyxUDgJ9dwLiT0fsx32C + aNbSXbCxQLJKQ7DjHw56As80y3ALu3QhO3hIuge2fFFLw1kaueL08ghHoZIL1rSEOrFgqcmPjGG+ + 68vfeaxvBD7o51uFeRlkjeLwhNW4cBOuhiRwb9B05T6msxqyRK6IaRCQgnagKIpNVTaeG7WWH+Yj + YGwMof3nLET4CntdFNzf6WotiGv7JvvV7V/R1o9DYdndbzk08GR+gXS4OSb9EIQ1jY8hJGX2YDQ/ + KmD6pwlD0ZiTWpI8hwIJjltoCTxUB3bHCQBeRRKBnrWcm44LcQa++Zp+zpFjlGDy6oY6Uu8uzqXP + /R1ZaE90s3382K+SVod1hkxv4bG/XT8cMU72wFCKhPEOQ95QUInCdAkxqIYu4thLD8dAJR8aRg+h + oOG/XahirT8JIXHfktCM1ic2Wo21hFZmHaJXIyH1J9f8gMq4YsLoPIpJJnuAr3MFmbl4n2ZiX1xR + +8M57TMhqROTftBDE59pjgBZyjz4jmeSBfTcqzqax7tkcF14kyzgCZDUwGR1LH938g+YiER49loK + zwMS5GEmMEW1kIENUsRCPciiy0CySVidaYM94Kzd5nWx1EU08KLteUkBLhIVI62xFgadroBDtxUN + R7yZ+utyzLosN5dGM/qsEczw1593sSWuLz/16pqVdNbjE4O/CXyGDMTX0ZF7doLSMUo5NcmXRDZc + gNOmpx2JgQElDaDO1lH948zS6EfQbqPcOLjWmOrbNIXr5oll6SPX5Ulv2Egc8+1XAkX955Cj3Yr1 + dfkuoIj0ghRoZltH3gQuBcv1iOwH8ooyzCyxFYpS2Jb2ks/Xw0RmdcO+FSkZTko91vp06RNcbsCg + wpYzNCkovQDRi/napzdg2670mvXmksnmpuoRLHYgxWHFUVP5rLngilYinTnq6OugHlGjNu92WQJE + OsdVDr7FSlF4/g4khF91H5BF/X3OHBURxhbxFs9AfE3YpfZHQCP6S7nHmTy+egJSJldkSvNx9e0a + /Z2Hl5Y9rFSAbhajxDeotBEsSz2BEFTLUn1CLCRCSLAvFK0pCh/eHFl11pf7fT2mBGsp7iXhEK+P + u/JPsvsv3Y3FhPPEuc+6iIiBk/y3pwGuUixcCJq+s7Z9i+ldL12xfT+XjFSmiVtwvmVjodQPL1Ed + QbD6LIMnRpeGREa+We22VratOfHY1OemT8UqdRSD68hRXs2wRlxXqIKSoWHIp3Iom8Fa1AzGNjHC + nEK7smZZibjC39/r29UMdOIzpYhUjk9cJfYqk9hk3ig18kXN3MdVZR3eolK+TnTdFOsOlBjv3IDP + Q2g9P4KWNcZERB8rKvksO2JyGTpWLu+21j2lCZEPJB16VavAqo9o7px4+SU4p9CAQD2kyTu8VUqi + ao1DC+eit1Hw0j8iD5zut3Brbe+88OUkuhYWJ7WbymAT0NND2+NQpF0IUkBLdy9r+ffpzlH4Gebz + w7kxuA1D6TXWz5VJ4XzEzEY4UJgUEqhD7uQXYbZ32qMewVMlHZ2h+gJaj2bu9mAHvMkH/JO5bGLM + p5XrOxlDKeq5BED8bfjWQ1tCYXdnch0MK4w5Tf7U2EPb85ldsLaDJUEVEq2+M03Z6wJJjK+3GYOi + giS2m8lCR5C4GenmCbpi7t5sRspdp5frrsFoHgDm4LHw3uqGdCp5g3tz4S0HK8g3aEdROJckso18 + PFAjb0IiZ/d/ZDoSKuAquhrXG5B6sp+2oGc2/Hohlwg2dg9PftbQ6rDIxjGdTHgYTZRWt0UrcJEW + HpJiGBc1jSZ9rOGyS0BFqqXONmvAM5GIdocYGj5uhFniUVfWSxB0bThgyVWiXEQyu3Tgd6g6j/Ua + +aXjCygXEHGSuhSuoZRIOMJjMP4MIf5bo0HY4UPK43xtXi1jLptjEBkaLsoPV5gXLTGTli4O4mwL + wB6dsJKUOBqy222hBcjMwB/wdegkCTe0RgtJScR7WHZTVem8uRst4FBJtNDdkN8c1WPmtdEnJf21 + igQ0KEbsKy2mDm7+4xkCOdAzOwzga9Cq6SQrvM4Kn7wD0KzYq+iQ9K+tMoZbNrlWvr/LzTTRHlYI + bZr4tUpBKpOj8NjlzsSY4JHbZuxu4Wf8tdea3GONV341o7io/NmN6K65XL0cMcTnJpjWmdQmTclL + DpV7oCCdAyKATN0tegnnh0sBzyYn8iGo6vus4oDCqaOYi0xTgeW2XIffITD3ayE2tXcA42/3lk/x + bBDccUVBNb5OGpr8aE90XOEBXiHjgD1vY/ka4lLG+WukAR5KwSmRNLBOUHjAWtt6dIc5cElcAxab + 6eXnP0BI0EzyJcjeZdk9DLPzqCn0yanTy/d7KMUQypSj0ZCqMBgI39oHGcKvxeHA2ocHWJNjq5VG + /ZRIBbsT6TkuP6YW8vJJA3mqgXAjGXsEGErTRdeMUEgJUcQcQ9o86Lo4AajCh5peUjHnnTs6PnOF + 8CZ0RQl3d4pTdWk89sIUsxmuuDt33wowO4AeawkBTnb2EtkIOqTMlji8K2/jIvErP8fu7uxwqUDs + c8JlYNF+STQGiYtpInx+5QNpz1DJXqs/vk5sX8FIuZHdUzGaYSPP0997hLixV50PNPIUqq1U7UxZ + KAV1+ciOzrJdf+o5Re3I5BGdjIeStufFWvZ+xZO0k9cbYOL8hjcPZEq4TcrSv12IxguzxEJqJWXA + V94RqR0pKlGRYLfDD00PzuEjJCPYTzZPdWbK4JY3YhQJkFWgmpP4/hX00hk8TIR5T1uqkVYeQS+Q + bCxJKaZBeDgMHw8O8RtFYDrK2sHKTAlB1zUEQ7UWk1aDPZBIlcw02sOpsoERO5Swy5d4pOHPxd0m + uks7X0nkoM3SHc64tkQwrDj72zUE8YAiyKOzHV95+y8LcYbONfgPuZ5WAz2NFJbl8CRqsICGmMnc + vQxP/iaSkPG0QT2E+SC6BwemxQqfPEFoBgi3FF5b8A7FgYAzkEMAgMiwJANsnGjpTTyvQu6lkLXR + RPCWhQL+Ea4kD7n764C334IzPN7s6L00d4CJFAkeGVIHBNBlgSqgUUqODnCI1ZaT24/OJz9HVig5 + PDWSmFAr817NzjWY5KlP1vWY1W725WWA3T47KjAsfFCGmtTLHQBbVL6Ub/T+9mYo3KWOni5GUdFC + XR3ps4jg/uo1OkKppRoQo8ZaERm5rn7H24EUCKVdCi1Inhbx37Y2qHmn9PrS/eDEI6Yi2Ol7rOZI + WXIzpBop4p5dHHOVGmOQ1jOjX6UfVhDKI2+cTPrC8ChjZ2cZJ1lI/SchBdrqq3EHsgOT9FTaLDKq + SAaygYe++FSV75QOK4cnuo7JG/d632L8rS41Zi+nefnr9WlJaYt039SPSP0LwT9/Gsh2WJ1Bt79R + cDXTSncGzGa+TSN2c/OOUWCsjb4QoNoqxW6t1LeBZYL26znRCmvsR9r+mKpC4CniAGIWbgh2pRCC + xg2J1oGLCcwGYpZYK/bpGmiT0NS2Nd3t06O7+luLqgnNAQDQ/Lf8K0tVO70/ma/blM85mRfyWQjT + ceutJKDwzI0XTdGMaJVIVO71GVz7kVrNUIp7XQneMOM6X6ChF9mnWackjdJJYp3OM0yKrA5qoFK1 + Fr8rsnikUgppfyxJbDaQmGBgHZl/pYvktov8/TWACyaGysV7Y/K4KC9eJHjr1OtDQUy5XAPiDK9/ + 87AGmmatEPEtaNWsmpAcUEzMhWQ3MxjvSK+mxPFJMewLtlG9MiQYjO0OAT/+Tw2wHoYtJmo69UXo + CuwtDa4olktZUm6UDuw9YUoXgJ1mxnV7w+eKvjwB4x81YzJYV35l4l6Kf2XzlDgEKAnS69l06wBu + tUKKtPdDbCWfHS9QY6BI/ehip3paNu9UKe9Rfd61M3ZoytR3Fa31Al+Pq2+wfN95Qo4tT6A7YIKM + +7nZDiKC50hmEWKwJM5VhE5meifQT11b3qxz5CZh7pwkrU8V8i0Zscc6S76VT/JgdSCB9Rojou0F + ucjScrfq6pUheePB2hCqzgSJnHIkP5C/tyKou9d35G1xlDUXXkLbDxj1hbyZOEPBJDHDbGIh6T4Z + xXjYs2fEd7mse+jHMxtAOOtBjSYeMkTTft3k8Gah73ZQy1sog+To3aJgbyaGuxuQ7cpi88KddCBM + bHca6vNwCudC7mB7WezGB6oYCrbRO+pV8KrUjo+XjGr4vKPGZd5bniMe6BcplZd+6laM1HGCyt5O + 6qd5yiqonREm+NIQtkl90rX2x/L7+XUyKIXEqhwsoQ3iHx3hyrpRyKMNM6tMze7e4WJDq5TO8D7a + vOM6sD4gdzYTX0/S05lsPVQPv+MFghnWzSuv3+oM0KR98xcN93n1gj8DR0WyWnGWHDA6lFXKJTq6 + dlXbpts7ZfRuvRh8Yhr5ZHSnuJlf/Bb+QuPblHKmh+A4Uv4STfd6D/VcGL6Ky+TLGY02+pS5IPDa + B3GiRV7lkO9vShh1Jc5Nc7Nvh9vtKTvNPvLiSlPZn1KyBCvggOpNeOuGnkoIGD02LD9UljghOSrX + 6u/DCzxGGagR/G4CjHdIsTSnj/c+jLqX3BOqDSgXeGrq6VI8Lw7WFKTceidVCny5JmVOiWL42XVk + fBISm/glsfH94PPSlSWC9aDV8jm/AFLYt6rt2+eswTqSd9LDXmJTid+wp/6zqs01uWSw1t5v8pte + +KXwO4w29D86UocMIH9QvGaIc4LPti7P9xv8+q9PpmjT9dvaO7uWiO/PrIbqvuFcaYkFPUmuQsgv + 8NZvQqO/1jpOOAk6AP6YKfAsL1K9y9Wj81zgTJ09POKmcejGglrrfl0JyBLE1zB+1LobFREsh0C5 + /OwzITT5ZDjV3P0hKEkZLz3ZGNU1Y6xUaqDxAmHPfaXCTChRSaIPSp7rgppFh9TmHoAvnwfZTeLC + xe3QL0Ash2X2lRva3LW2GeYZFHrLqN6FFHBY0skKeLdaS+JOPQGaXei2Q62d3YlJSyo9LTaxXrbW + aXcEwn0mOsrTOwIxDe+SX7ss/IQZmaVCcut0QHryf3xYZSAEyLGua7YHcI4EPVgf2eVzWRLswTWP + ohSA9z+y6MKocz5ZDGk26YqZy4HOk/FvMWWym/YacioIrTx0Akar5PFzhPLSS2owBZE+cCgj7nUN + kV+ATd5/hDG+5Mafv+AGccJTORnohy0ysVjYJuYDbvJr2PptvMrVO2s6dvfOMCo6v/Qhfoitk+qu + Qel9lxKL1wRsL0npOJwxtjf4O1yf3r1oIQ3835hrvANTqugZZCvaSvtPace0plAtgvfAxG+4+skN + BZNUcgHF67w2UyHjqHrJh12Gp/P+MuVw1vNUdj8sjKOT1xfpgSIZ5HJJ8pnGWM6BkR95G/idFPVn + Q2T7c6Hk0Ho0VIKkynN/D0ZfTJHJ/ZepwpB2xNeovUg1O/oa7Gi0EPW6Qq3KQD3yFSVozsb3OkaA + PNhtA9lOpuZcGNzDAhDHyQgXJQDgHWHq9dEFgSXm5BO1m/j7WTMijbXeEEz9Bg5n2VTIxC7JGN0u + WXoxUpRSa+L7ywgkuqF6dyjd9/d6rw4bUi9sIVEa8ea8fT0jBG0uA0aKEnwtvQPGtmLyo60sRqYp + ClX+u/uJHgvfvQxIeKQZYvtW1TQKoIPa74/pi99yPIuNn0ONCCfsw5o+FFZEqpOabokwjIjdEkaS + e82K1wLJA6JZ6a9kz8F/cuRuaxjh9E9Kx+kSFU3kz4/9iWyPCSX7UlocU3KAb6bF+QoHwVsf8BbL + oA7lyofFbq89WlhjFx1zwYDzEC5MEKlzLnVyWP2rr1iuMwwTf4Mmisr0U7qN0HyAEvKAh60VaJ2C + fH+BBYrrtpPpy5aQXiarCSJnASf7b5hewQ9Q1mwBT53GvLF62Su5rMjRbhM9Zl3tcdMw4rzik8Wz + 8SQJ2fzyw1x8fzyTUJHC8T0m+VJ4hNiKUE9vv6TqUknecdlCBp1aNsZnPgPiFk2Ura44a2pCrqrf + ykQAGZ2fZYowm5Fs8D69WwWEnO3tzSGaxcdvk5Xaz8Hd0PHZhrt+EfYYW1GvNEQFn+18veP7HNOV + n2/WC6w5IZLTlebtCiNmJjMjkUBKAMWE8KzPS/qEmPI/ZDEzQ+ZJNxwJgpoG67HtzB1vMu14dK/s + 59DhlWsRyKkxBa7qULHthvogDZZpAAAU4SNwtW0689vfPaG01kLTnjL0F/KaS2/MJUz7stRLu8qx + h65yQv4kSZcRwO48SRSfjUdMmolxX9Q/9NBwbNzuH66S2InlY95hlIRi+E726CVUljAMYPXWbsGd + ULJFpGuxB41ogRUuC32X3Y3UaO7n2Q8Ig6qQZuQDbj+x6/J9tW34v6MvWTF8CzsLBxK9pyk4HCaR + 4HJQqS77x1yvG1rlHJXkpovBFeq/qwqZw7d1n2qCwTKeVnWpA/Fc+JM93TLtktibnOhXH1iNYHTe + bOwVuGjBX8tbyIRWiwaSOxgzNsVfVIe6c0sqz8R1gpDD4hn+FFX8Xr9BtUMTHbj7LtOT5iM4KAca + 23a9R+IqeiBG8zrBY2gcYskQlECPshOVxD5A5Pk2JCKEqUFMzvfQlK2jm2LxwwDx9kKcPx8UQQFN + QZJYOI0XgcQ46TdtoNrnfHt4PH1+tKwRDd0wTHi4cfPGP1m6b7kfLeJjQKd05hR6w0pReFDbWFSR + 9gwjyc33Na2jcvQ09CkJdAYELaLMk3mRXn7hx9od0mOgPIKoaNxaQE6j2JhfSi8+LBR+dilEXpvN + IjrExExnDaxr5mEFxi0AwUQSMYCBjEAiM1nDhO1hGRp2gbyszV2oWxw8VSvArKLxULT1JQEuYp1P + 3UVjbs9sQDE3a2WPtCsTMTrz7/xMomdqdqhiUKd+qI0TVRGGrGl9tKFXJ43D5fs4oJ2CYwSvQ2Cz + GLwoAegIpGJ7T/QwjOjae1om/uCu7jrtXUMf85l60Z+OTV8606zqmG9cpy9tGneyusrV5tvlaDvg + ws3xZupTzqAO1T8DTxrZ707ID5f8dDryoXypfW7DBiPORz/ld7f2R2HUkYXpQqJu2aT5dE1m/uUP + bb99tTZU1U0TebDhOAleLqhTwrbN6MCWyNdPLHDgzzyko6rVfa5Pk0BQTKJiasFGqZsAWGTk95dZ + y7RAc9FOLGqWklPYPYx5PbAxGMp/RmpSt1SgICGUqr3E5gFMqHEMTRvZBP0+K4m8BN581E6YA9Y4 + TANn36W2w7riUOS1C1bLnER7OF/PgbW3pEA2Px1vmpnAb1OK9QhcD9r284BC2KfybtbKcL8R08J0 + LmZzv+zILPheUgcY5wUmF+iuqxfXWDWo10Plzx5YuilGM5hKCH5D6iCwGjHbb6kXWlRv8adUhrqL + Ws2awp+vULnNDp9l6cBW/rca+vsXLSVKEaAIaNPwOqGUd8vGuw17GqpHnzpsQXLXfYgEcmuE+jGL + ni4e7/bjeiVyEVcqJGf1voV+zRr6tzJXir5VnufrfNTFWeNUU4dBWTutKwhtTSk+3M2y5F8245df + ZwypY1xz7XsJ2FOOj9dBUc6VHPVpRTNEZwN1BuZjhHlLUvDROkSC7VlV1iscd/Na8crwHgI2z+8b + JGqR6wxB0GJdDkRD2GMWQ2j3koQHot6qUnF6L51Vd0K9sX/69g17A5RFgI0UjMpf5fffbwEzq1Be + 4p8P5v377yJC1JcgG2CZIwPb0dehCLsL93TqbPwTk/r6AKXretKMV9gCBmGBtpNC3tRGtisPw7Sw + FsLzfqTUkbZFITmttvuaTWkj3kBbUmANEqAPYRuG5vKv2mS/IhQikyUFIQid9BEBnJbBH/KDbGOr + gv2kkY7Ie+8fFDcuCcV3CNwaR+IVxLsRoPtKNfsW/orwhM+DXiiYg/2XJ/HnPaiEIVMAbMqPE241 + UjGflDS8qlJtC/Emle1qgv7nmSX8FYP7Glm2ZLzPDT82ISQBzzsUZ8gI0Tc/UnBXRQAn2ziLSgfl + CR5xW20TsG0pMnEGSRxOUZrh03zq7LBffh8K8Pd1E8XH3lUfL266pZBZWHWaajqTJcC6o1A07g2v + Ag5BBbsdg/2LkofWExEfAEtx2m4MOlq7jN/w/HRBnzuxfgfnrKeV9KTzbTc+HHOGoTNMD2GjImBy + 6pQjWv34z8qeGekI27IawZdxd/35G+36Yk4Pufv9I2OmdvRWIG8wl7GGP8iUFeOxm0NyPxQJP4It + EywXJm8Mw+JRxjiCJ2OjSqXOLNoUl07bERmRBuLkg5ZdyZaBcVbFJ/KeXkNXpP7AXJX7XtSD65NQ + 33FH7gGoM7aD5ssmc05yzuCJOqH3FwSDhYf4BxRxJM8I5kXrLoJjftDOWDPP5SJ/Pvlv+XIUuSz7 + +wEo5BmQ/N2vl7ydKPJx59AL0G2FITlPOxydCFy3Uc0h6PtfdmTge4OKV/v0t2SIwtqGVD9nkaOZ + ZlG3eVwPbz1gahmi1ZyAWwAfknd86OOOneBYAe5zRZfRHuML3UQrHeiWCH+pJVmdYw1IlAf22afj + PkaNNnJ3HFVxrlgYdObtPDQ3qtdBd9IeRPeKKlVKEsG4yrKpVC6Hz6olz5CgGEPBN5m7upRCqFPI + VjE2ht+L52Pewlovh9KVTqUf3S9nP+/nliHPLpZXQ5Z40Tfgw1kjoCgNt9U9vXtoFb+3Txcze7qm + pnd94xtYEX9SxgMRlfQz9L7XGdk+2srvxFe6H34nqtkwUAZQUg2jkqeX0Hw8ewRDNAVhEndpIKZh + 6/fczaM9goOAwmMw31lmOPV7AlCroPXz31k/OlbP555eB+qbtlgjKZHwkiLpJWyQagBZIQ3N3JlT + ivQFs+RopPn48HFLlKMoP7+WI551+HZA9zEpja8yT6jYvWa1P1qX6qB2MAXKW8TtfjshwN+nLIr9 + KO4qHOHD1Ri+nCzgf5O+rxbyTFkab1TAPIzQEmM1SNrM0Vd7TZNPGT4Nn8uTNx5paEDuyz76SdFI + z6oJLRDtLLVq2NzWjcd9RVqrNyOysEtep6YsFtFdBD+Y7DG+FOsThMmoUv0W0nTnDvObqyMog2Be + KGyZ/oB3WbML8iWfcOz3GvGHlMNQ301nAl1L5YkUrP5bOQjzqEsi55RaETNq2HwbYx6ppG5NA4Q0 + ZkdYsatDa7Qb28QMo5ZwI0N6VJM4ctgGpNd+868gLLiM1HKJG8iqw2wIub5tpNQ+NfFdU13HzcIA + hfA3weMygWu+kYe3Vpfax5NDnu85LhNY32HWqhN167Y28twZlpyxO9ciQ5CyOkw5AatjS8unWBhX + KlLqxgpxfPFQx86Uo2HiX7JImfn2z0DxPoEH76bXCsuZTjW7lWFEYiQciYOVaYohoHHEGGMtU7b7 + C8Z4KppKAlAcJVodR0GvxsWYETX6Q9oY7AulFkTqBLphl/6B5pl5GvPB92E4NTbmbtzELX/7e2uY + jLnGlvQpgufJAdQxU94gddF0VBFAjHri/W4GWkcPJ3iE7E+14mo8pfp2Imcs21musEeiEk/U/PTM + Y9hlC7K3epQdXdy3tda2rS3FUR0kgFBFTaFlwAL7MG9ICaOuaa1n+SMrZ53FNcvkMaYBPOrNWLpT + jhofSTFqtmXxdokx2oDnGsBq7g3ASW5WMyB5wCc7GTOAwSd/REuDgW6swWovGRb8a14da34WBXoj + QtM0NIyH6x490oM8X0dsg0p9kt1ZT3ZKFBBPIlcK+lIWpyXPCqDzPesNr/CXAvBZ0VAZdsLUZbax + lPKcr0xca8IyNYfkEpbzXWkaoiUGUst72yz9JLcGjmr0+Y6Nun4oEov1zhLStqHRkDxLkpBsGsPx + c+mwcKKGzX39I1bDmLOoddof3eXZ+xq/DbhrBMpXE5h79i7Bd6P2Dd8Rrb5KOs/0BnmZhvfeKoNQ + NuoZvzPeFChYaoSKJ0pkBMqvBIjl0mebS0Wn/cZv2c61sRqZi1SwuOMNkGYnASwAmPmOPtCJscxH + xDsIn5WxrbzwJoMbNXaOrLIFN+KAgTaEszzbqPQkd6yJmqfnSZRpVEpDSSh3zZDVDmez3mhAe2hl + PTE060dBGNhc/aNmUJIjn4g39C4RGWg1ZxbPvxAkMxTL5+ZNFA4iJ1afgTE/7xQDtUyV64PupBmD + iGpMOBG4d5i4yByndIGBcgDqsk0OcTU/jKDROUirQajDen2Lm452dpTlvKjwgTnL1v4cxc357KHx + UFOz9+n3v38A+fE4S1jyW8uFmqCq7NPJh3qeykJt1xWaY/AulJnYepqHRJErD5SI0+jwAkhNQHBY + FbMTr/Tbev21R/NVwrJIGYoYnDHEW/gS2sm2sNae7vTMQkxNmRenpqNdxqQUSgDWESosJYvssptY + 4gdrnWX0l1GZEEjKAfyBP+aKiRyS2tvUO0qLEiy2NdFEO4l4TLI6lC05P0PXao7+9YGw4pgAst++ + xcfgsBDFItSpmnTJzMTrXPycJrbUMMHZpsYqi+LqkSZlDmCPn7nLF8NwEBfvQ07aDDNS0/KhVNcH + H8iBacrmNnZbFJ32ptlOm5QaSQIom67B9plq21RGT9CIVCvMtexJi+ED7DVVAN6oAE9F8aLfF3XX + nypJUlskEEAnrvbGJi7HKvcYmttKJrdpQjJoxTYU7UKSWdg5rlGEj9y+H0wcdgY+RwZxboRsmGD8 + dF5VM/FKIpVcjsoexcmW9N8ThXyU7ELPYS9s5u1FdsuKEds7qqfyRsoq8MBVOERHaHVaSDaejJJ9 + fpPdJuWy58UC8Gdco1yneE3svogBvXcCde89wdTw6p5jBsYOI5ihIPXLXy3KhHfxT8PvSpl+ev5I + DQ4bQHohs3DrFVvUtfd38OQtLzQ5AXsyLd6qZ/fz5YhynHs51QRZ/leSV5NnkF/OG1PeAUkxaIFv + 5/z6YRpOtMOesZV0sKG0xbbtFNBXe2KW+OetVB5wV6SZ2uO+J3YFhm9rZp4ekKKvkB1Xb/NvqZLz + poGoQtUhmQr5ATbiWWnMeZQCC2FAYr77ivzBOufnsewr37iABezovKbBcXSQl1qVpNZNvOm2leSV + 4n9CxjISOaU2RqIEVtshfFvo6OA3YhA41dEqrLZpXQ1+cT6IBtDILh+0R3IuVUZPP9Ea4keyIfwF + yDxauklTQ++dRKTgPeo0JAY3nb+EMuUR0Lkuv6Tr3FTCPq75BkoHl81DmoGPtOAOt0a6xG41h0lo + cvJzLm8jt41n2IIbi0etvvnVemns2Hbujl/sa1xUgcvYhhOui5SAb3983ZxHTW8nUVrd63l9jPcK + cuT+Yjzl3kVy1i3F6ptUaH8VfEsKgXMA/REXXj8EIvkzHvkQ7rhVa14SnsQMneYYm08+6W1jGdvP + lcKpgqbz2DzvUHOgLnQMd05k0CmrjTR8aAFqw8oclOHdZq1mlG5gJ4M15n3nvx5aNQQ5gJkiMste + 09rJFL5kKE7Ah16jZhn6YI9WqXRntuPyiY3rXN2wB/G8GVi41V7KJpjM0RgnXA1foATnDbOoYmvu + s6VOqFfVceIxUH+Kr3/WiJALLsgKyByGar6EbQZgF+DvPVeXzX6hfS6pEShoecD8atCpydAREHhI + VedeUwankK7VDLS8oX/YRCKU98j+dRxJWAcloj57V+BpKQuZAoP0cSvlb4p3j0Lnnw12SJhf8YcA + gigoOnrC03AjxGx/9WsiCDdw3wcVW9c9buhxpb6EH0RMwtWArPEEYa9WuxCY3zhz48Pzlxb8mOIV + +w77jmdQuva0xxpMgrNjuOiZDd3dApcSJnTpBTzzVsB6qCkbZ0vYe3fB+OlQjCsSr8BX7vOustwk + ReA6TN3+bB7mEkDd5DJU4PwJ8ugyvcT0pPkxzVIHnKR8HI6Intpu6FaQjkkywC7tjM2SI4RIevct + SQTWIUQMK75lAokLuDHwjwKMfmUlPTq2yhVgZrzzFt6x46QiMdcDJMm2m+d7LEUjQYG1Lp9F99ml + A9mqRavVu/1svk0JAjHry/rhEAfkbGkVvx1/9XuWOXT3lb35/Pb2jq8yb9LR2kiAfelgPrUrP36c + m2W5DrpR8+JK6XTjJC/Ej+h3wFK9zdxdZQAF10MHEXSmukf2B7nJSXdz5bwS9exV2N9nNrxWECLg + 5l99YqvRdH/LDYXnlu6YZdJkWF34y+N0m4u1g5YS0ohW/FrpujCh3euhgUZ9tzG81I7AkVYwmK8f + 9Mk+G1rS1smqRUoK6kPgEmyqCyBLaeadNPGgNzi2lUqw1xNqhWXd8VU46oFa5f0v69zGGLjvzEq5 + d36/No8zTtsuOEvBXihY8brlu/rawXZF5b8aOdHonA44Z3c1YotlYMkcD53VAQr0spd4ZgNtvI2d + 7ZyzM/pK74groKWETEVNp3GY2ar8XuJlFffyg7sjLXMazO9cKesLfn1wo22rcLbGKt3XQOI7BQey + 4QYgPVQTQy0CGvzNf+E8Us18Mn5wMOfuzdnUtMhntSkPBZkzTXfZGwPR2gxfqBGWcV+mvuFvielx + DBc9BjGKyDEyDCKiWX0ZFKG281QZn3QsdJDUydrjZLjfuyK6Yai6ZQhkq1xYhxU6v1J//ffskfv3 + ksLMIR8lA7/OQlvlxvMt+FYxS3CEFiD5vjpD/lPv18AzNirPLRHtwdxi/R6Y9F9MNVrq7uGEwe1K + VSybpY6nrV7m2nSh7fgBmeN172GUwzg0Dotb/i6DrG/IbTSaFvlJx4hA6GQbkchC5aKN3gRYLhvC + Z0wu0NmCzKDJLE/FtfhuRqfVoqANC6pDmcNJF9ZzusQAfrBS0E/T0cidXZSSW4+OMj1KNhavInH9 + BKQxJnmg0+wbeNSznjnXCCg1wDHRJUPtNbg4Svmhz+HqD6R3TrmfZhIlmcPfGkgCDWim/alu27Vf + 5GhFFisUCoO/a2yCqfbBElhVTtB+n2K/JryGH8omquUbvg8DayV/Jwl/4O1M09/nZQDhFNyO9fTq + RWevDp8Veph7vK1WN0m4jL14x7xNQ1dspbD6bW/gKtZTJxpAMsNZx0MQuCKJAuGr+cOJwoFfIUK1 + UBka2ntPOoUUvjWOJR04Wz70k6Pm/GFpsKs3i0vukDDaLY4NEU8tove9wG4xF6hZAKN1NZKzScBh + 1RjHuHTPzgFy9KYrQx8587hXXq9rt3vyPgdJsegws3uepOYffjJR+g2ox9HceJ9D833xXNnZexMV + Z5TftlCDzouAeX88TLl8yhYgC7XidJjuhw53vQVCu236m6o8w91+LQOLmMiSTyWkay/jlWtRSUlc + Lgx2rNXkvb6/V5EvnKr+nIO7fkghb1416I28zQzRqQApSHK8cCpdDHWjVemagJIiXNW8UDj6zU13 + CM/BAB5TbhLenkLS10xa2F9PTsSzcxW/xi7ZvFt8iHVC6pv7I1XBfiqJeHwqdcshN7+8tCtMDsBm + bLrS7WMfBMqxi8bif/UGO9skOyru4Pyv94LXjblV7P55jhzY56yv06S7/HGXdsm3ZIpr1A517Psv + Rhj4kvfzMuI0wGKOqZyb9NYzf1IV3WTw7FXiCKIDuA69Q/ic0ykAo5sjBEk/ApEeJS4bn4x4nESA + Mqc4paMWSVOEE8h8NCU8iJFVZVQVQEd9LqhFCY0JpG6Tv6+ass0ULnijz1C99cHlmlnFAyaPv5aJ + kemYjGN9CiAv11jDf0vdE6sA/jSBLgk1auWI/V10gzIOOrT9JI4Cse06ayPY8XqHmHk4u7jHEJzM + w9HDzvOaWML2Hl1uxfChvZ1aA14ntjS/f5GFJoSA23JViWxq55xBO8Mf4lbQAMgb4894XRjNhJof + Obu8kuxg9upUW7j0TnZFGDTAYUWiMlAlW6MQydrBpIFYmglEc4V3wCtn7isuFIDXHFfCUHFe4hyj + ixyaPCnG2T5BhVtC2gR+umn3ycLvCRT7QqMVQNo2XIvY9VPjepvBQpvSZ9wfTyg8BCz+9UeEjhdh + UuQCxCyNjrD8Ar0/9LfYvH5stTBxXGHIAu5l6Yuk4y7mR632JpIic3mG1lZtyj+dnds82iu7uVeV + 41qcnS6lvk89POipuZ2sOVdOgj184GmRtkpr08Fn2javdSxN4IzbXiZX6oOYzt4ItbXNIoU49nbP + J1cWTU83l/VSUTrCNEI6HgSZdMsZJ8/qJaIOZoiQsH6A+zPHetBF0ezzCAPfaThYemqgavotwb1K + EollFYJW/JfIYzSc7ru6VGiMSWDyLpHFYuDmJ/up8Cet23Q1sHd9wMd4WCyNgEjatytBkOSgJwLP + kexck5ayPvRH/Etl2qw5PYbPQswAPUGFBHQe3MqmY0hVyCe5HgLFnVsEUJkywz6D2eb+KCKk5Ugg + uMEIOhT19MxDAf2ANQ7DvBxjXdx3+GVR0w2GE6rXf7O4BB8lCyPEFVO69VW8m5Uopp7QVZPt+iiz + 494rUAzqrT/DKoo7JG63uGeWFgusKvM9MxnoowLa028ViEDYOEX9EQet1T94B9A1H6EaVpb5x3HE + 4aU7UabSzjaH3oPJp5F5YdGzjKdkV96c4YOQYbS7euLvRbd6bsuDRx7XaZXZtOdVk89XQaYEOxYC + SERa1J7zJf26x4DeVLf2RKGIvhy8PT8gKCNM4No0ERjRH8uKlOfCWXVZUFoNHv49V7/sEA2bgo5O + Snx1NizKJt85aSzYo4hz5dOQV4vbCq2AGYQeRoAFCIxOzQWhqTwKCr8V33mgqNELXhCRFHO4i0pK + oCzOl2K7Qnic+XegqMYTwdEYp42MDBhsPCtTuOKLCRupLa0glNRfuynUGDxIu4u55qlozRIDAR8t + c8Iv6MpgQBNXbuPEEJgOr+wCWhW1+edQNQgtxLWGHIaewid//S9gqDqCOYw0QFiacl0OPn/EdCNb + IRHW8Lt8S+yvWDGHqRhtIrj9AZq7Ordb5EJYS5/VWDn8QBiffSoV6JIha5g78RAAeVg0hCisOefY + 5wG1zge7GUP5dzaxEH700TRMkF3Eac/a/LKLa1PArl5hhp7WblBNvWnROB7q4k0SMpbme8sdUIsP + blK6zDaRxoExNM/akFfUC0bZazfjtDJc6OU4HCZGksrqJrfr7w+NMrlwVFmFzg3PLsrvcEqYTuNh + cfA176Uj1F3w4v5Fnw20Y/tBTkIfXDY3vxVVzkVqouONgAqjaPY2kjxcVEGz2kEV50uXc4r1yogS + NyyiRwC0PvOWvl5yfpe06xL91peHkqGuF3ta5tdFZ7ebtc390esfZuWrK7gew59GaWWKVbHX7KPw + thTnZqYm8JD6ao/51lUWWQkAXuIsm4iRNqXV1BdSyeEfrIdHQTBH3vgyL0zGETOwP6wt/dn5V/0P + 4Al3ZTJPkxXHHblRnbDC+njRKHSgXowOfnuRMuDBkbfGrN081gqC4KBdxPf7bqqKWgOvezoqCZXy + xGafRoNUz/bv1qvyqVk5yj4eUjrwPjlkclXjLqcfOqD0tLbrozx5Z6JZfta2dXu6VqcDY+BSbfds + FPly9H2ioojJn55TxXNiOY7jLWTICM2hsmtDg29ew1Rn6HM1T9TzqkVfGhYpYyE1eutq26XPmL5J + 182pi/sMjQ3KuNEKivra3Z1qCfs+dKmc2dqAckxodXL0ocaOhA2HiJPLkiqHgd78NXjYjcBAIMlk + DeJyBTaoIsE7MzYpZgDGF9JqCNUb3icjBB79s+f7bz0anvW+Vlo1fuBeMYCggQobznHKyD+eFVce + M8cVvhBJiChERhpl9oBJxLt12CRTA5nxE8H7KWuv8A+ep9jdQgVEkp7QDGjcNCM/N9frJVfxWfxb + grhanHrhK37gvWKksdrI32zyi3uRtgh1A0AF6QjRgqJv92LL4y2A+KBHk/MCd8sGx3PFjpxH+CeZ + d285OLeMz3RmoOUU85cTdT3U7PRwi0Oh1/AgcFPxTAtkQ1OkiLmgqVBzETEyuhPFqPT0S2GpRQsy + FMirl/hsPcVTcekKb9GJSX+omx3DRD0rBqT4CpM85bSQlqW2OOIonxlxI4UFln3aU/1fz7UBbfD7 + TrSUgs0CiOz3ajYQ8p05CjEvzXv1hsO5/lmjbcMT0KzqxGiyoVJXcglKwqyDcfSfqV+2N/EiWl/F + M3K4HbYj3IpW6YeE62u5tDiF9cRwsMzqEUi5AWOQIKqTTnFoFt2KsjMRbgU+d/xVj9w6TPVVDSmF + Bx34xs7nL5w0jPSBNy2HXnSeq5dt07HuC8kKzpZff5ER6STB6SMdnfO3WFKy1tI1wX1E1GgLkKM0 + DRAw7cY90j3Gj9lkzhEeBPk7c5kx+zmALmovIiCUsPVqp4FTOu9tmq77ialPLd6t03iREry2n7of + 9yTT5xsBjlkuk8ObfbYfJRodBI6N6OCisK74RZIeNJA8G+xpB6Wtdy4wM/5gZVk+8dAnBq+jm15F + XBbIV44nCCxkDYq5WemVdIEmaE7Fgz/ywNJfwerGyQGEhZ6BboPJTEdW8RDGBPFJozmC2GqIzJht + vgNlm6oXtoqgDCIHv2PChJDxoH+A0lPPLNA/9pXGj3rPK4RDNfy5JPHNp1PXkm6TjOMsyPfRAoUS + PhRKngvERNC/FQEmu/avx8hW6W5URCku1wH3y0LgbL7e2sqon4PbzCEA2Vcf3WYMEI/iM/TA9zrN + Hi19ft9Y7NfR1Y14Y6dqveZch1r4x2h7UCIosMhounDFZdcW6ymnKvlJeOcu20oWoPAPCBPl7Gi7 + iZK09ecpKddkadVPjtT+nwaxqmrvnXDoRZB7Q1Aryoerp5+7MDA8kFXVEL9sriLctvmxR0k9oswQ + 64SQmzQPOOTSwNmdUiHs/TcO6EGUMdiR9t0UCLlCfrKZYTJeTN1nILV81FJ44l6Yf3X9ScLLoEJe + z7hkRGxmog7AEXwr9CDRhUK1YNjwQJG059g+8K7QjW4D3AHv1cmpHfRT7nUOSMGAuFt7VwFqa35u + CU2ZSYeMFGcwnkW/PSIM2FdWuZKXit+RUWqjbeZWrFttOAU1QtWbqKncwL4uY+OqIxPHHncgSJy3 + VWqtwKp67tZAmJf4pJTdu9Q4KIA4EffkpcBsCE3vjoQPUEtweWa9eqyO66wYVYEUMHivk690tNWK + HSatV+rTqOnb5E55qwoGwoYVVnzlrLCc2QaiJIsDxwjgT2Hdd7ZS3Ak9yAcLmKfgkP3OujFxPNQP + JqdnjtgUeE4lB48eJDptF+dUT0733WDsnBj+FhhdE3eNu4PElDxiqPugUpghOzewbo4CqKnfBURG + 0kaCV0Vwuh0q9iPoPKWTL7B1GI5bx6w1aw1ZMCgi0fLZb2cTkVkXByJIr/MvS+TfT3vXl0JtXcnh + 8DUTA0THmiewDw2t6081snu18SX5sPMOFg3Pn2/N/MrGv/JjVd+PIK5udO/ZWp2XzsVJ0m+MThdK + XpanIry7JHu+FC7LxurSUo1p0PrlKKxdG96/eR4WjHWomjXnX9AD0pF4jqFOEnyKU8JbnN8XdrMa + viE9UFIbRaApIzdOxVVOMmIqxGw1eBtVss8H2rI5lro/PFSQRCUX2oWxTZHJXw3H7YUS6010gUXV + RKSSO15eInruy1M/QoCZlhSL7DH3d+/XjXukoKAVU2d+qg+uTonVKQe+t0ZdOMZODarehSO50sfu + Ha83i6wpWKUDbiboKDhKc+jiyLrZsSWv64x6DEPHU6eAgwgWwOJYqXxIwml9nuUy7tIC33Gy+wIk + ouIZaMMsdrHRow+sCFoL8oAYYtdx+64rxjTjdCYRsafCeWFMG6gNjtDFAn6GhVWi5J+xbdPGDQ7Z + rX5Ugrio5UQD5dgJ99m5Tkf2mShEJT0z2Hi9wg/swy+vOq2035PW6S5QCs2ZG7nJVSeZ35FlC5w4 + bdB5RzzVsVwWQLtsTZxKelqzw9ilBb6VqjirCbmWsjZ3XtXiBhAYq2AyNCeGQ7/4W58WmuLI7r8h + mVJeyf3S857Lu2BvsNRU2JNre/lSchHkkJj24NkBYbNQ6XL9KE1YSYDNnpFiQ0zzRUe9hctofhM0 + +rISniaj1dheMBQgunhlQca2JgOcPpUIlNP8RD8kFPxddwO4QxotczrFLMEb+Jb+t7BTu1chBwgg + 4RwT8+6x7ndZZ2dbvKBAaFTZD8kxfZLwQbRNisYtw004bkbXhgXFeV50Xm8QwMJJ2hf9T3PfD3k5 + 592K0xYsQO2Lrwqckr8IpqRIe6cuSATu0pKqmoibAtKOPbdNaPf0BT+U9QO1+YxHzo1sIyRPHVsX + gnJvaAYWz9k8/cYku+b802x//O0F+QLppqsAOar1c57EZGwAFJLAyBzAAcZy9KTnYdtwVlgY/gHP + eigUgbJkFxPwa2Pu0N1uPIRexO9yLoxo46Q8Pn/5opuKg2RNIijz+0IykE+hVELQd6G1Yi6/yFL3 + ox6IJ4KZkaaettLCLzZCnr5NkO9Jl7DexuSggOOWG+Kwxpcpw5Ws+0QBQi+ruc4LYwOyB9yg99PV + KvXWb6ExIHHm72T1HJDaMiSAG/2CtMhaK7vbwWRPMFuzWxeXeM5l5LM12SiHQnetVHB4PhDpcOf0 + dGutXfu6bKWHMsm4QAOlyyEUdTWPeBK8JW94+KEcreHb2zbTjXOlEhOENukuH4jyyfXW3KNhiOzG + KhzOqT874BSWMms4Qjdxfa67aHZ6loDj6N/FhOAtcg2M9OiXj4ZDF+VNgqixeCi3LiVex7232CZo + C26MzlY/YE93gw8pvzbB8Y/Gg/UoVK0wLhw1GrdIANYl+M4xHWYzqfr0xylojx3+Ho/IjfBgdI8N + Nr1P80676pJ5K9PwHW6FvFWvCuCgF2MrJiZd/MCENbIQB7goboIrSg+hZ7yhtVTmLwEbz/xT8e4f + vbB693VD6NA0xBn0TXLl52jeqU532YgcOBM+6DEnL2+G9CRL2zlCj+qcDHlIDtTEM7xNc4qZmbXc + lDoS7zhAwNS+j0EiPFDPSOSzLT8rLe1rMuwWNPRR7Eh07fq2WL4CesY4jXHNsCRbmrbVwdCk2uio + sUAbH2IwVhz5pahMy8FhcOX0ePMglsZyRYVmBp7VkvNsaN7OhwXyWmyo8TYLrvs7GBUv0wbN8wiO + X6B7oR2lTjp/OnVr+nfLJLOet3heJCmUk0FpWNRt9535X3opZ3ABJRD+vImF56N2U6uh6Cjtquw+ + vzrJMlX0gPEm2ie/Zd3JCM2fQwQKtHsb4RyVHBQ9A0GPSDNY1MvFNwJJEMEoX472ZNYN6GwrTNTX + OvJzbk3My81fdFR6kTlAlA+8ZI2Bmu5iquOk9HSEG6XbILVIjpTvICKLgYd01S/lW+I63fYfNoFJ + cGoDYxtETSSA28COwipyiWj+1tmHjJqb3mnPp+u4LeF9CTLuCQ0W8ZHsGQm0g7mkfF4/A4ibMkxk + Gfsz0UZb0nqIV4CEYNxXgFycpCPVnmPYn+6zHOIl29i9z0CNxshx/lDowJRVAoRgsXqFSJeieuZU + rU4EC34MWrqyDHWzJ2eqWj4Xz+SMiMYPswU4FwNXpozABhHwUvTQgbtmVtpt9rcVMiBHjzSYIzc9 + 1FJ/wmLzWb0IOirXoxqFAAT1Mmmtks6mLMP6va+5b0M4Ca1jSqJXK9RMp8lKvLq4YSzPv1am/uIc + u4I77X1ISSAPzqekDolNsByPvVt0Tr93H75RO/44wCXBXr3OSem7JSpg3mugoaPXRv1Nq4TJDba0 + CvG3UznMauwc6o9KkaBrTixxCUavrFYh1hclws9M+u+Se6yz6lt3dgs+wuubylcZb8OdExE4qKkI + cpIP2WXSd3NhNGwgXtNuX3GsPSWLieD4URrzQTN+qQUKpqo48rjIsT9OKpW8Gz9b9S83LVhUR/0d + DJhnH0nFJ12lb7pxAkfQfM51Vfo9QrZrDNHD/MitSIop7080GrAEQU192bFo8UURr0aOSYqdt65P + 8VXCsOUA6tCf56ymzkIcS4icL5IW1gVmXrq4ziW7Xscud2TPZhsp9/6UB1/1v+8ekeeI9ChTh+nX + TXuAE+57RhMeU9srauHJoSvdxjtRbf3tEavv0BHCTEx76zzkrCdZax4V1J0xnfk0D4+Z84d4p8UA + Vpq1ndMF9XWONw8czzCsRted28H8vDRELTD0BGUG7Y7xe7JUe4MvoQATEvxFQ9ZAW0XWp3KzRPJn + PBVfyYPZw3dmr/x7mraVtKl9xwQAtyRdA9/NPaUdJvBqzBOZlAh2X8C3xcEOjYpmGMpS5hU1/dfJ + I3F5P+ufHY7AIaAjOeXcNBsVQWBR2ArNKqozTK8W4vAMj9aCL+0Ykvq4Ni7UrE0kgxq5L8f+YF82 + sx0JPEkEextR5pIc6AvdvfMCpE33EeTLtZ3gh3lMxnh0vFsCmTVRoZGf9EqxksuF0JekIpQCd7I9 + euF+U5zuAKwaKkV2kTkzBeQRR7+4CguOp/BkVDRpsuTPXxbAaIExsuLVpOQiUKABkouh5cWAq5VN + qGXWMPAT9CIN152cL7yMThjAASDDLvBaHgcd/kkuXpxkQrXiF8NFNsliWjk/8xVzKqFWGevI2kip + MiU6PVjLjAZDWrPUnF0XFoBQtOIbuRcrRH+pqMHApvskQL7lJUL8gPa3vd6mr6w88l2+IuM+avXA + QbpeCviwP8wzXbNaSt9RwtXB8Nck0Pbn1fTJoOHB+Dv1aoSxvxGWs1tanFBzec2TusikvQsXFPqr + ssGsapxJxIyDft8CQCODrTSXLTJDyYmnWWBxjpF7v85U3P4VGidjrclrcHZiZBeo+h0gv+U5rjN3 + x5pMDnBwU2eCxPCD79Z8LOV5BS5F2q618mQCfSWuB5VvccbzbC0dn6tMRuZoWckvc9OzIKfKZw7m + UZpogNpqpjJSDyZxmFIPPR+5KBxElGO+Jm/L/ctPeWQ9pJRc/HmuXrJoRz/Tb/uaUAsIZGcd4noi + KfsB6WGiRvW9omuJ3vX1gA+wzbcE5ggEHaoInJnSIDLwME4FsRm1I7mkeKtMhSKDkOEVb2HEAWfX + CG5RSsayKa1gvdI26XmFrm6g9AEUMvqTMauOTx3x4I34+2fDzHDDFYpYHRSLp4EtQs5vDqOP30Gu + pB9EsLu6bIvY7ClesZ5miWPImnXpHg4oijukhzqFQqdErk5YwGGlA1+nN0dods535CO8l0ckpzhE + 4VG4TIRGAvcAFt6AVMdzLb4F8YAVIIeAlpBU6vDSyh/q49OvgFWBsfonx1R6v74vrgEBnHLqqZ80 + Um82U2A6nbL2+ticliqx1Tdv37iH2J45YUJHsIZvd7hhHXdU0rdSeDwdxKpyrc9Ydkp6Kj60Zg4O + Zrcde5Xfcutdsod0YCBps0DGtes5ruz5ifpxpXBtkr6WuyYSzegaJAL33mHp8CfSQLSyZdqK2kzy + TJ4APKQHPTK8rc9wZHAtZ0Fo7MblDd9XAcBFVU05zHB/iUxmgGKknxB4zxIHifaX7zUC9r0ewWKI + 1CgEKaYZScOmbBIj9GmIAMohkxl/LF0ho+RIeJfqSMCDASFPluba7YqMhWS7PObfOeISI361BCnf + BLaeTXqSmC+wA62cc2GVGF5PDOoUuVWZwktzmHUNBVcAsVdoKRSxNnUmzQrd8GBj8JXeWDKq2EQ+ + 5BPO6xqARr7j3YxpIC0HS49kNKnCnPYnKM3qZ6+KhKwavMX0ujUWh+BDfE5ED4/AJP0o/n1VkZ+z + eptK4HzBWPo0LHPIwCvoL2MftU2c+6kvmXpVvj/wJnwE8iWTHEh77+3lUjaZ1BZDXYIFMHqoEFJv + aZZDrl7GlaaId6dH1N+96kIiVaTJATuS6h331fY90bspGlOVXeQZCvw4JVd0ZMu+jesXUywZ3JIE + QwnI7fTdCtoj7ixGMjK8E4XHNBbLpcxjb9PQmi4CxkTPsNdZqD1TzbiDHYeLz5upDTpuQtzBx8pY + sFlc+wGMwTdbATfnmD2v157i03OOeoQuFV/4fypI/ptSMxLzX12VMxeg4wPxWNBPUKq5vozktSKK + tUFPscvdbxbNVS/bVJ9Yv5kMsgDrFLNw9doUoqS8Du32kc92IEFHg0gm5Zh/snQ6iVifDUNNMn6Q + RPL0ilQH8Uxx++40hbqSlkgCgugAbXzsFH/EkuaCj8oFDC/fLmnUP5jfqcUFMSN7+eXxS3aky0+B + klIdwdMD2qfHoGPUJkT6wCIznEqZphnEqlnXYMzeVo7TlS3+TexIs/u+XxJC+RUjnKGGitEYhVwb + Ro7G7wyuTeCVdNq3Ri9/L66wcYlfMGG6hn0M2ahgBwDJBu4JVhLzingcq5o76OMBrcEP7IKS+Fnc + p6cL9H58+pIA0Ee2AGdUMqBbTPgyEYCwR6NtOi9rVkYrBE7Y70mltQQbt7y8NkrKIiosf1Xi+QsJ + 0/M/0CiK9BxNP1nAo+MJ285dsXC8qhs1DNB9PbyrqHiRHvapznF1HYLVVdjTyj0bWz+8Dq/Skq/0 + jzprPOhRI9ZQelWepTpPZlIQOoTo4Xcadk2C67Wz3X3o24EjaCf+46x5c/4qlpMHkSJYbSgmhoAJ + Fa7t9JYsmay5UPRvicbm3U0gWjCQ+8dq9KwTfxN/c7nkWXjSvCqFWJta5NohHabRY3ZHLcnzbk/v + C+NEpjprQUcWxNCkzcHYoHSsH4emQo18VDI85pjQTAFF6itN4LlTX02rKlZP8eff5MKCfQAQxVjH + kGB8UXQSjWFawXHHv5+PJUHFWXhpqcKwYRHeEw7TZ8k5QDqOv3iplC7xvSbTo3qxgJHsoSIaazch + 5pwfzWg5fKNGkgEAo6u2sp9ss10oiLKxnTu4ewVNfoo1TCoz3j8rTtVNdwatZnOibU3u+j5yELpG + aMcKIWvhLSWg5sD3Eq3cOQZE9hxeLjxPCzpLAZQdiHWTdJ90FHLvdjbfR8jWxREYokRoJZ6fPFU2 + AqkmdOS95oSDuYLvcUZEr0wwLkWqUgVmG34EdRjCrVs4jbUbi3mFYRWKMfE23qI9+k6Wurcy7Ip1 + QBgF+A97LewSettx6o59NJl28YdCa0EfoyhWoJTXn3mObuxXpHPrJgb+NexpQ4Iivql7M6XlKjqW + FdtWnzQWyAWoWwRAR+7BmOWsCo0PqnJoDO8CXeMTQZLVlOZvfs68LYNLFGNbic8gUxIYjzlZzQRE + QodFtwmuiEcY3gFlVJ3ZnEj3j4sRT0v1Pvl8BzhCsbPb77paQhxNCsrN5k/lr51VNGWEq4Wk74dy + uZQ5eJRJscRA+Je18TAJAR1PYRYSgbp33BlqURWpRsNavLgAZP6wTVceDX0d+7ab/V3oye+eoRtZ + lXcME2PZsja6gHr3GZTtM5fAmqSCPXbXCCbz8ne2HAo3K7SMMFi3Sj5nO+zxBnhbhnhRYAHJDEKq + A0Gp3SO3scX7sZYKb2MSYuL2qATtGocgBM+FrWBsws9+R3pxnvhIl5/pYH+Du27SBz2vrC99YR6l + c9kgTPw9eNuF8B8Jfn4yw8RZ3h1+oYjNWFkNn69jsHRQumF/O5i+grzHzoXEs6NqsbOo7SSjnmHw + OtucYK5Q/q+53f08CO6LeqPw3kXeOJSy8YJv4kEm5LI/u13F7XEwiHZTsM2RwKQwJxLqDS/T3OWl + r9u0Kuqp+QN8f4ChT8PHVoc3pj4VcYO0mwyTMiTn7YBrJ4RFwaQ9CMGukZPEowaJTatf+m4vmFny + CeZyAdPij6cATAi3irA+rx6Mk60LyTiOXLHPRcz9H8plxuNMo4eirAZjXdY4OwRqnAFfMBtvvm43 + 1ia+kaOMIQe5H3R8s/yceXQ2wklr3HPJoaUz4U8q2omi7KMmSvaz3R7BKFU9rgZeUJOhsjz5PMC1 + 8xFY+xSaIm7DoSePyMZ0sXsuXU1UbYfPKcOg1tKdkWoHY/PItD7NbdAtH869dRnAqv69s7ikM+A6 + zT1VnqHiTsV5SbQ3Irpt6Xbc378cSX1yN6s+8+lw3sfu9tRveiADz1jTRRXRsKVOhn0ijRC7pa3t + 2FlpyqIHRWCfn1gBzWcRUuMOobGAz+LUEEJ4PrBprFQEZF872uhGC85VjlENds6AbySFvfQ4R6Ah + IKzzPWfJYxADF97afJENSuOohV5NFQnZIeok24F0QtVY+LOYnRocd8i81dxpxVxqd7+h+PsVZlFQ + EWK6bcxgBSX0BnusZt7iHAJq3V7xDRmoKupq68U3S1HJzPCxNmNrvN9/CQ183Lj2hlRQbSCjoXBJ + kuZovb8BR/n2Z8F0ZpaE2EdAsUlV8VMiIA8++Vkyv4z9z28g4E783H8wjZ8F+YxCXIB+oqzzMI1t + VWMgK6DwijsJPcgNmKWwARDiRZWbA3UU5qWSdiki+dFJ6rUnGHREXxg6D5sT7qMNX9C+Ed0iAC/t + a2nvnOUpLxqNQiiqwGEYgXt48c3+aw/API/5T+UvBiRSKz3kaemjEg8cpKJZPTJeRn2GzQsGeWF6 + kA7d3NBm6x1NMIDBGq3hCl7K0u2FjYD4uBpdAcfLGJFs1rQ5dninQZTVNBW/CM3efkcI38T2rH5f + aaQDqa8UiOfjT5aNhiOmlCcb51XNpWN5D0UGepK37bJNY1uV62RXG580NtfuoR9MF662uXkacRM3 + c1RK3OLvn/rbFHqPfRigWmjjEMZP0FMdbWidns/l5cAwdA0mv+Q23viPxVD3NHMiE+dQDM+2qH0U + zp+lsixF0vUPCzyLBwS1/QDb3nq9RD+DyV1J1KCO7SPd5tjbge2gWgArCrcHQua+5Mpp57WHLE1e + cOwSbk4VXjkBD+avyZgZ3iz2gGtJCl8iIPLWZcrVCvLJMg0RX2CEC5xl41Nv4tv6Vi8mULhUPOxS + 4ys+Asyq4vfcGxZyMsS5dVqJlYuUMsyM50Nxvj0Sk1Yv/QzT/D2Q/A7RGbaJ4ElWroo/a9cZY9nl + f+yWQY1wJHsVNp2acB94fMB3hhFW4C9N9yjIIviTU7UKWqcp1g/wHwHMw+XtKLcjg3DOsmbtSwUc + 6oBSBfPnaK5JBcHjcbRZ3pqMo2Dep5oY/KU1h98aq0UxkgYb9CKBNRsLnc2mIbs9YxzP4X8TvV4r + 91iygkdn02xiWichm5wtkYrPtFTFZRqlxOcrx3v9alku5vAqmdCCfH4/98zR58F75UdeEMRKFbkh + vJjY1alJ1lxt29i0hTLGQTQLHqQ1kvFXu3TbFsZbZbmcezV2u2mGs7kNGzNS0uoKaQyzpjk8yDUV + ce8UV+oi1lbTi4z6zNvdR8t9cCxiZZTDMkqnXoveMWY5DL1LBZcTd9fK0UbgX+t+WDAwtG0cu0mR + IZcjgv2cy2fpEXu4KAVGYrvotirbGZu04klIRXmvXhRqN55753fAkRaT1FKTRromAeY4S7YeDXyz + BtSXOlG+8vmYyUS7fKmADSDyDSeBu8ysAn9xHbTXbdqsFds3gnNPeoH5bg0dY6aBO6EQDxTw43ng + k9HQsls3Sj9Dxv0MIAI0MIzRVEh6RPUMpUWzPsEmEOh6qoPrNkqSzvI1x6y1B8JghtSIfMxY1WlT + /LkRe9r0YugSxxyiOg3Acp9R4t/wF9+G5Yp25e15ABoeZa9mHu7ynlTyUOfENqWJv5Ak0NyYBuBq + yLwwq3V3wSkHQCenDEDakIEydZTPb/EH7pnpSYMJKJDvevs66L+3ybs+e6lSK6gCxZ8JUWNRbXKW + Ke/OHVRaJZRjPguA1go1cjgX8+1ZlJZ+6E46LNfKmWMfSeCJPWEkEFIbLvkip5OAhE2YhCkXCxYB + d2pcTL9lcLGH8JjoNAA1BD4Yr1i2jgQ05+QzDL54W5qNM7Gd97lm6gI6dziSFZKgCRLezngn4DNa + JzIu+ZXenkGdZyErRFyhFMHF3BcB/Z4KRVRPDV5lVPKklR2u6A0ron+zdIoFpYBvzlZKaQv+oFfV + rgxG4DPNkqc8MW12BfxVyfzT3ipMnu5UnR6NLZcaesiJ5x9gD33ZNzgZ8ieXTz33Q5Pal6P7ogTl + 3yPsIBR7FmEn3HuV2IQaCmK7Qi7fE19xZZT7kK411mLDP3y0GShhY0tojGGSywFE/ixcvGqnK1Ux + w6hOWg88KdQUrM7F1FqmwYYMMFNXFbG/Vg0SRDE/WcnjWl8X7WU8ZqjubxzLgaKA+SumEnioIFtX + Ojbdidm4kpqT64Utp4TZcJtjbYW03JpZwBLOrqPk8koR4LitJXcnEftLSslmK9P18rbxBLqfsR6k + edeVauRzKJLpESCmaKmoGttgEQlP+Mg2jo5U9MnFM1pHmcGFwC4o/cvW8fu5fdZNuZuFA3VtpuvR + u0AxKTBwtIRjQcL2Xze6dqYiPHU0TvOBbR3SLHgrqguIlu2G7h+IDBNDPhEsOjfJrDiN1tu2PuA7 + 4c+ZvQep0dYOYzNWsXbS6tve9Ua1kKO1C89i8pW1LEEt/VH++bwA1KOEmSHNB5x9cF7l861FhsBQ + GzdAnOc/SPhXF05/lQEFBDF4irO97UPy1THl8vEIESWWHJxHsdiQoxgckaR/80WYP12hpenAUN/S + uHq/z8v4IcJid+0zV5AokoS03wLFI9gTfCmDJAcz+1DMBYizI2zo4q2fFyTgcpDz/ahOXNHsSiFm + cQaMeCF0HZ212UFaygSFYsifWIfPUusRWs984VeieajboE/pRdhyzfEzLyYs5CqjfxxS0SA/dcbt + jMskzLGOOEe/mzR/fxnesZU+/sLMLEyVUDMC4Lz0Dot23NKPpp7LB/RpZBPS95/5Aghzr7xFKKVt + rZjXiv2RPqt3B+47eg4B9V7sWmngQ5uv94kh6newnniPTSGobLjJlfWGzPIzSWFaU0g1u5QuSml3 + 8glj8zdLBrEICa7Qft/ibc+Ej8YW6nhho/2zfIPNMdOR8fx6dpeObRsXv67psn3eu6T1vvRBlLaN + t8eYELaWysPB95iuCMTLItBgyl7FHnCtRNex0FqMecUwYkxs6nMhsH5eIuyIXO2TXJs/Jm6EvZK7 + OhlLHCvM17s2oSZhGW/XUZu+MjvlbabBXDYZPti23ME1pcSkqj/sivwGyq8kLaD9gmzunWEAwQbm + ZCrkFNavWiniRh11XXM9LjkLzMOZvYLJW7Ih8UR+HlRvJoKfqwghrLWB3IxLniavr+cy6l5SB4VL + 1NGpC9XSj0v9NOM9w+5cJd12ewowx8E3VN1pFfL72rVWHyejTg5Y2iNxqN+YO8VlYG9sKlnHi1Qc + d54GtJtQScsd21ZR3qYFLdu0VKS7V3OC9Xc0q8NCT59wJsKFiHWmLL1iVkMomkTNdi5jIDRc/Itk + iyqz4iwa+pI0734dBYcRWVz5/L/pi/gbXnNcd41Mspx/gwZzJIZjR6j9L1jNS+FMxG4mgzw7vM5x + o5r1O0LYy89BmYOTL2nm+NJLMfJsSRTyBX1GneWH6jzZxnG/Il6ClwBLa+aUH6qhuM0TbCYltDtn + iJGm/vYJq8jr31YEO+DjgzLrM/y5IkW3KF0C7d9363jFk8cdDxs/y6OlX3YkQ8aaash7OXQS0/eM + RmEcc3L1m+kbN/VaZBqIX7GqVaJuOZ3gXemdfsjSJUMW5VpsPJM3kGYw8pjx5V2JcdF5+YYp6AEb + YDXdWW67DDe1riP3sG/8Ztcu83BPP6bUmiYSxLsC3HHEpevmhE5yrW9TDJfjQAdjF++N6VWXMtXS + pZlrOV1z23f9sAe+2KjRDFqljL2cDdehPAqWBdFNkGp0ynZte5bABEwAMZNGPAvMCfWNkyuNBrrU + 6V/n61RfG3E6G/NcLI6Dc6xssdlVkORpl/PYH44FVo2MipAWfFHQjTy6fWJjmAWoTxj0JD6mwSBj + VyS2KEVxdZJnludIYPhmh6KlKlP6eyT0OllfddhRB+NKYr1nrZEtjD02HhCqf7/TKAU1b2nkCp8O + g8ZoT2mMwMlotk5Zb5f35M0PvvqHVqPV52y6R2OjvrT5BIpJ5Xz3ojg40wDPVFyWTFwTBQWfDR5N + 38yEIe+jay8cY5ZZtW8g3EnKlYHCLGrVUrfdL8hG37KRWEe+E9S4d5uo6aAH9xv2KD27wKPupCI6 + rHsYcF+ZhxrZzL0gkcuu/nNuaTAspsNsdnSsyOiK60pBKPGP8fQc0kNu1rYkzeroQ2c4LybeI6OK + FzvD39qRwCoJXJWZPLnG1NvUVeLW7MwgUyjW1ApI4RlfG+UPUxjSmAKHy8LR0B6kpopt/ieG93ER + sNX9mIdt3hVgPl1Gt8L08xj3U3RTgzdGog+Jwon3fJUiC+nBr8+DcpFgGcjTosVMtDdIlD39g0/c + 1pmYuahXvyVc973nTyooMra6TbjdM9oHDYplDiiOeYUI9YgwtCtnUs9F8VwWJhqRkCnTW4g2oirO + s531U1Ry5N9qzUeXRbswPrDAUObO8SRARwHNFjhc9g09r60aK3cJXlzwEQqcZAtuJ1AboSvdA8Y0 + bNFKC/ED7BZ2kQ8IFkjtnYQ/rms6zMG/lAQzYpMSKIQARSnxLrrVKBJTOYDEwBRCRyW1MGZC1erp + hBFE9GUQJyYR6mMcAEm2G3WktMg8+UcOSIXB4esu8DZDNj9tyYya156SGZBXv6syKLLtp6hDYVmt + OUm22esNsT+r72ZE9JiE6eoIJaMTzPA5I5+KhLtMT1Zl9Z2aYYwDQFl89hsSgcbjPGks5u4uSWR3 + a0aqKs6huEEE6t6nxDSUxRqVQ7a1jtYr7ytNpt8/scKjcnpp2A7lsE/Afdtkg8XeZUEwKx7XNgeQ + +aCzNi7g+w6wTa5pizR/iEkISwwaZ6RYiHC1wL9BSsDquauUbZ1v7K8ENOH60faSZB9QSLDJVhnj + 05Z045VeMpBJcXx1cCLvKx7AAkrR+duLBJ00tjhrijEFU35pMMg7+K5QVrhls04AJ3d7jdNEPiF/ + voGBlJ0i7PVBqZZ77kbnGlpeCy115vNG/M1nT6x8HnahMiiox/Bju6DbSr/iHdYreadlUuiK9HtQ + 0wdwOOjssvbDDxSWUMSNfGDIdZLOp3adMaR94F+UK4YWX3qem1ERsUiKGDY3w04TTDYjc3ylZk/o + 0m97uu6uEJNxrDo8ztSMIpqdZhUVP9J+BybCj2d6YgXqkSPtLLjq4C1f1AqXJscT2uzsqG9F/kuQ + snRDw2Qqeih01uQQmFrJDd2Tt4MIGN5/VsQJo3lQdiwcggeQdzO5B+2dG1JXm2nHmJ6umLF/rd7T + vrcg70+/0wSg2YXbzrUrnAzAnyOhiGM5xXzAoBG6BapCU0L5FQ7KnM1EpMDaTQ6AftF8atT1w+Kf + ADPWcUjBoksdxECHQpJE04sw2Dc/XGWdLf7uZytNnZlmRAnShaAmNR+YrILxiQ5sRVTB4qvssKTi + /O35lFFYPe4FFGoQQFcl8+8LYh9waGR+YKM315lUrUt8o7OSeN02bvevKbCj3e8mOGdXOvPsEe7O + I1GysAJ8CFxjYz3rtQrnzIXcYoHV13b3sCBxIc5658aWzYZXgsqORbrfH/dhAiOop7Bpy2usLJgk + AMSySBI6zDDqOi5DSXKIDDDv8D8ejrdWYwPT9EeFDAvz4sXs9L3OBJGQNjxmVNIG/q015Qcz49cE + ml8HfYiogDuXCSKUtMDw70ArSxu4cw0g9fM2hR/mlvkDkGUxkzRKszHrt3fFOtNrQ5tU2xhowt0k + enqrd3hf7SNPeY061/LuKRztK2/Hpk7uc/U5SAb4aDuL6z3K5X+Lwa/0SbdLsxX+tLDRnd6AV/EB + o+J8vCbG3IhRCqXxtfUTLvK0MctQ8NxZrG/oo+wcmu0ppmGGbjYmH1Poofy9Y1Jipy23WUQaszhD + QFRHcEUl8jt4y32Uql0PvQu1F3SZ9QdAF5H4Bl+qH9+ehR5L0u2nCVRQuRK2/C1nj6giEQb8fY+R + XHEAmFmG2B7MKbBZ5rJOhM1SzIs5TZqcU1H75UgYei5K0yYNF7W1dVpMNomGGY3fIKY62x1ctAM2 + kWiob/7pAq1JWr6CiIbvb3bmBVUj3qoTyMtEEQl2euSbT3+rhJhTIYZVW8IVlI0rcKB4epdnNRrs + +RBxR5kLdJymleLsIDbHQTinK4QWPCTKAb2Vo417s2ausBkOMjHDqdkZq2708DIIwB7h7QMYGQny + kgUW/hepjJVggoR1osqKP02x7JH5dJ9WpnckQOjLrJVxxffnLLDqr/mP8xU+FFXm9uBhEZ949Fpr + VU6tMaCnJJIIiMJVkkULSUZeG97QwxYQ1CvrGUbmS+IewJVuC6dldlp9zzyQY3xXkSA27zaCP0Zm + C/qy/Uc4cjV+47xsNjEG7VvkZLus4S0UKJat8RT7MZrQo/JF+G/DNDM2rUbyqwOKU+wn44OjZOp6 + 8jgDzfM4zG4/zo3II8HOkQoI7GT9QzuvqpGvjC8EMWvkkG/ykyZ1v6EJrr/2QQEoUofId37h/a3u + MQ8DOJQ8pMy8ku+epQBKl71bJ9rK6FWK0vi+4b7DB4jLSgBHVmGaffP4NmMlUQxIYjuaoFvvQXTn + nnUND1hf/VmzK2WS+R4Ceq7+/UrhuUVAoKuI8JRLn9AmKAtApoOttq0gPDMVqafrmaZ3pWNmwUuv + mNc9+Fcao6/ZEnCv3Oypx1pc660QVGsF89KApV2aCeIPrMWw18yjjE7r5t/BW2x1bJ25gVGGoBYd + zq3ArkH2NFHbZfjFn2oT4mIYTJhhP3SVPCywszN7f9aT8nSXF/zvD2uea3kEaQtaWZzeZ/nR3Cg3 + CrzsdnqBeEEvfePnWM8neIT2ecO1KoFkV3gLzzd+UzqNKRfK7lZOVvTuYsn3hgcsLV6mbecR6vAR + 9p6u26eoNZ4obsD6759ic0rREa8J7R1OiqYy7kdFJ9bBFOt9wzy1QCVdJodGkijVeLEb1vKa2L8V + H7cJHjDBusWKNRBzsvjzLhCddgMOTw79iBvCKl0sXYLGnn5TB211Wl9quQJeEBpivgsb8VeYShue + hVaxgezusrN4a67CwzhlahLgg88Ll1mfeoG08qFU2s5KC2vyFntwXJfvT/QfmKRl+KXtX9DYjwaZ + cPMvIBhPUQUNWbgCocdieSvwpVMs+XiuaYE3JtHaAlhmu965bIqiqiasIdwMREKoAk8jG+gyvNSw + og8oQFL0gReDIBr6vm78bmypduzqz2GqwAmOBJDu6BOkPgby2jT1YCmQTr9KePMcW3QKJ0IlnoP4 + HNa6l5sYgSJYjChzb+GJil59zcHmWbrJyLqxF7aPqkPNpTK34Rje1Rs3vtp28ZmygIfWtpIgzGQp + InpKcYWJqCuPpm4NXoYMd5W611WPpB7k4D+xAIGot0a146sjGyrqKXXalGtuQxe90gTjXdLB74UE + 7zjSv496uf4xKOS2UlPsXW5geJ4PdbIcqt3W4CJ9YRcLb5SPiZDgvPzFUhoKpAraW5wO6yZK5F7Q + LKBW6uavjvMB8JmxZkaIo8Aev1PVRfi7caLcQahBNU6V2jBtHZI5GtGZVQS/KvngejVqgpKWosKf + kPS4AzM3BuPhnAu0bl+3e42tPFjNUGD2Pzr24BMOBn81ZCdWYK2hjx8v2KTeSM2PNH5KNvVyWkg5 + eglrd8TuXUsgb+jckbA0nu4gjSrQ935n2EYvLggphsSNw0Z9M19cqBShoZm7fwsLJ3/0BF/YmX6F + mZL25pB1/qHCZc+BX0qVtW/fPLVQ17nC7EuSFsQAhXvTjZbePDT742qpCdrl7QauUyosVqXoPudw + 2KBSeKKTe85Ro/wqAA2SnfivUV2gMwt9k4KjfSr5kPDeqgCehCSW5vFmpCI0rcNUvmXVyuJrf+SK + vu4hUApBG8137N6Yvp7Xs8dX9CcRQPMEpr91fh7VLlkvkFBjMMF6qHdbKFe3YDZU4Mf5ecftioao + jNSRNS8qvXW3P+WHp3RAmScBD/nNZTSgSfXld011M0FhP2gOM3AudxyHRHkdw81cWIsGMNgfEh39 + M8wHr/LqNI0chr1Tst5TRfO6/nZEYBhwOfSDIWHziSDtQS5NLNRSWdGGawCdhkYAAdy081Wx0Aze + bqao4BCY9cg0AlIoG0eYkZr9JwGAjRMdQA50wKa9x140w+4xPR8zXkM96UuabvvbDkwaIO6TxnYl + UagZ62ImMPbBNfLbcqnntxkYUQT5AqpBzAA6ndcTssOiTcfJOdAQ3c45RkODs5zhobnv8wTL43Hr + tjkDBuwO0uVEz9aKA2J9DspV3nZnreTc5ph5FMhIpL2w6N83e0TB5jx1DF7aaimWKLCX9/XVHGRw + yn8T7zubtOmNfPIZkMzJMc0W9dI3p2JtkKqyfjiPlVC8zwPLADwurYOD/X+iimivN7GrYuBfC9OA + 6qHhiT4Rz9adM92gpy2L1F6JgfGg2mJuPKzv1XOB0Rm1g5vFWW53ww8U/NVqW5XsoyB4/QLpfUw+ + EGWX0gaF1WyaccSlkEMAUytuoQn9whXIBKUuwmw5OJWiUbv2ioAwH0FzMOqblqGjQ82KCXAFryrT + vnQY4dZDTgDu8lJ2rk0wYwUBq8zHfklirKoCrJsSI7hR9cK6iOOCAOyxwiBwgBw9HflvRwwSJfIn + p/PI5HHLxpDQ7gXm1dDqeBZn40irYpcAYFJ0/DoAKKY14/AdNdG3I8ua+M8MYkyEHO5m/XkBmo4Y + ryqPtweUDXjDwmPtXWE1n7oHsN1u1nmySMHmQV/Fdd+4FCVqLq238hZUl0891G+XSzyVwcowLk91 + xcaFifQ3vSgpZLezm/Icr0GvrHhegnQ++TsuHPnDwH3x52iabFWvgREG3RFugifKcCdHQl/A3c0F + gP0HQ3+IxxqGL44EVYN7bzkJlfpbw+Fh4pPnGbbvl/n8AoD6NCuoj7XWnIZQBiPiIcM8gVb3rRnC + ngj7ThUl0fLWHr59gQ8cQ9EijJ7myqcP8MZX/HurbexVXMgLKKYI3Lz0zXqe99ed56vcgAcwM29j + W+QUmnkoQNFlvetYgcLMl0cwPSLIDehEgzAT5aIwjL6Zh3DFi+FQPIdHRPJ10wTZzj9JVdvE65bS + 04MOzVuSEk519J+JYE652sWicKv01acEWcludQwL0SGkWz9TP3lPlZdx5K9SuhPt7HJTuOaiC5V9 + 2+NXhSAwlguK+Q6sy+FgTjScWdbUYOLlP6Mp39SVQO0bIgXgdlrK33Nfa3xJ5Sq8+wTLbpjU/aAo + g63k+fDydHhpYIMsdnjyUQmCYIUPk1WxHbF24uupVFcL1Mo2eVxFUMOpeKQcB1tjYZ+tbq9bCii5 + hC6NKaijC3m+cMZ2LYfJxJkGeHPyTZBr4HPzlvZwfNB/XNVTHG5WLuyKnzjGYUFO4HeGi8B4Wt2j + HV6ycf0oYc6vhmNY9VaSUIx2IDvDsSHf3RjJEupYpu3x/EhjM9aYSQNppNqtJne68nyh7H3CcM4J + OeGY6X0TZK6Q/MUyclFp5HB/qb7RPNjCNlS4qmGSQHryV7dMUgvBZfGYDzzuVHBuma3ZDcOvNcbG + kl6dzD8DwOVtddQasD6ec5pGzUJ30DjlnUnZHJwiz6mmDng0pc3Fu2FcCLuNDsYEihmmf46KJLQQ + fLrZrhQnm1fniyA8yry844cFBAaKXCTSrA7cQDoUxuMhq2fe3L53IKlSxOfYm3IoN7omq7cRogKW + 5anQMg3Nw1Tf8g1rtvMJAN7lfzSKF9dyeuUtJSg/iLND3cAzp/tf7zhRzVUZNfDGisdExyZFPF39 + zM2nWLO3YHHNktEfqBNGEv1rr87AfqdjdHx+OAqeaF6lUtLFLqUXmzs8qbh4gonF8dOXaOwwghGD + sYqtiLCC5uUWTClFRj074i4q8OBJ1uxZzz355A9/7eHos/LEhvx8VLJLnvhmd4z3a1mgGI55Dqyb + nLi4BQ8zwzbgoO+CEOqBnrtWuPaOA9vb9JOUgafR8o5C3Jle2t9AEYXYgApLAdeq0jrrforO786+ + D3EcgGjloZpyDR+o276oiNzG0lxYyDQ5GIqDmg2iZd9qOdEZrLar9zAJpD3VQwi9j+P8w5gp2wVb + Kf37Tx2aHXrhVBTDJmmVv9MdDXytkrGlqIgqS5JxSTC/A2pA3rvo3crxxnTupvEMaF5nUI1bGYkE + gXnV9kko8ExZtvYXYqlYevh2Jy0RmA5UkZeyg4shkowR2cpfsS0iHm0+RObRMZVbUqsqwg/HPzIH + eufQdZZEbeoXmAw4QS5ycfw5McaSrH5hZCLRHbJGLJJW+w6Mdfnc+1P3JVorMtntkfo1FVyG/qHV + OKvT5BJIQe6E9Ff11/SvRJQkoAL6/OCY2eioJmElbnTsi2ULWysLN9dwbPccnEjDYToMvKYlvPP3 + 3kYKQ4n1RQ1TgvjEnJqTxmxJPnytvB1C0KSp3BNbBMwt7ZwbMWj08TrlbMc7hJgawIdfhjyRZYoY + H3mMTSscX8pAcwW4ADOwpCVaWPb7UqgcPB8c+q5duiLMJFwIIv4WqYb1wnCV19UQSH/nFwyf8BiV + v59GlHsQnsTiiCdITPqSJTQGTaRYfa7H4spQUIG8NDNpCcn92usr6sLEfLFjXEhohi/HjblY71PY + lCaREyM9eWwr0dtqD+DGjinvJO0BUS18bbQk0DKPaZBF19N0sXdpsNiaSPtG8gD6fqbZWbw3SR4W + ScvMTukU8dEYKhtEwdZ60gAi7uD+3T9BeMWinpPb8jA+dQrIAL2LcIVpXZoSCiMuN4yNacrXlVmB + gbkRKlm3YvafZlJilNWhUOQYiLy0c9yP74sBGNGwm+HyHFvIX7xXpQPAhoPQFlhiGQLCO647nUOu + poHK7wDZSNh/fyQqR+Fej+zcywga9bSuNkuFjvczJp0BvLJ5sBU2o+CY9JUdtPKCX/6omR6lUvNF + IR8XgHo1bZmSsxg5+rZwh/nDs2MEwGJKONGw+3ZKJCWiGdIN8vI2L+0BFrX6ydJH+ZdmGtST/rZl + YBFCQ0ohp2Qeeax7T3/hzljcVPQn+0kUyrq/MDethFc3OP78biTYoBfN87LBAxoPiXauU6IIv2CB + WEURs0FiM4+pOQ1Mi7px7251VIvzmm4N8whXpnBmx5CVgXmwKLAYkep67/musPVJQo0IjSswy36j + iJze3vUch0evWf6Hq/kuPLy2QkUlIsIhYKy5RHNgYjZslFMO+kwav76f+m7k/WuqQE2cwMB7qV2Z + HkE79p6TYdqdFJe5PyUm0xCup+X6YNbgdQqIRKmey1JNArYRLbDzvq3v0Fhl2dnM5JZaUSdnHEGr + 0G+l1cXSvkiN0DNyo5qtWmdfZYTKoHwtuSn9pjtHwqVKeXuJEVSlnjAM00eJC5gEvsM/cYXDaRZf + y5UROU10VpNA7UJypsZ1X/EUWZo75csv/K/T5UbOsto3CbHF5QbpfjcqEdi/mlx/kwtXoe+w0B/9 + vdDiUyglm8Vun4pGZu2cXHLNbHGQiFxtWMJbEf5HhCp/crwLavSLB0PTx0TDhuW6urkwpRjPLDdm + 25YQeMHUZSGxgZKwHOnueitiYs/v4BcD8QPVljpycKuwWDufR0b+bVtAFZmSitUZEzX8ymZbuIiT + PeVRHOLJPu+4AX2Lk03nLun4weGFarPMi17FTIfDJvyoJULiZdwbxDj4vz2HF3tDHEx0G6ysKPj7 + bNBsz0KsWhGOmNTXP3QioOMy9owlWaCtfWsXkKPf+6s9U8krNKvw0F/hIEAGe9uujBDzJmHvUQLG + UQvDYvlqMuzoi7EqNVKV47uDcNjAg4OSsx7VBxXjw6bcadrrCEMAYvMkxEsTHzHFFB+mARTleCq/ + aXhpx4aEJkMNe9/T9xbuKkFgzu1oEzbkFnWTNAB16ynXhZK1MmnM9uV6t76AgZ9xGlj2D1HBOc2m + 7bmvZNKWk1KyXzWEE5rakyg+7DtOCvLs4ILtm03vbFc/0gQMBWadwWZj1m4Y4Lo9jm/4eVecBxC1 + wWTxL+1Xu+Jxpma2OvvGgUhhlT8OnQc513q91Twwb2wKnx1kSciIkxDDZ96HJPpICiDVpZpZigOg + 4IehY4bbHNyB2MBEhswxciwhqLzY+hKyO2JYb9xKb/CR6PKtVca1pb4EVJJsT2SRGwoVHUArABL8 + yD/Wd3V4osj3DfVx6s5FGDTh59AtvyIhze+D9zRpim1Ay8XsN1LoB1ZTNxxmKsMHaa1PtOgIdY1K + l1PQKdlXiiqYq5xD5YcT44Xm6gOQA67BcGyYtDA90Jb6+92HdbG6dazSQni+EOTelTM+EVDdQwJL + eILaey1kNJW0hlVT9wKzeKKcerL4teWd/ccMpLFQlKCdGXgyK+2eHdCpNG+xFxYKnalDmSNbNFRG + WZt7ZuVgtNOWwfh7G0CC8zhvERziyitmLehnmxSmczCTHdU00x50AGnL+dZN+kmWosjFECByeCpn + ugto3FLxSKNbQmDEEmBxUXxEBOlPjyXzrMVOXBHGM4LymYd4f2Is0myxJTpTBIYKCzmeB/HOpxaC + k/PnucAN7hx2VUxxxl0NwPbkSIxyz94a1hVunhfgr9vOF2NJ99+kKrpMCZV25EVmG+5SdKRBtuSE + Ijd7TvQgcOqnHMtj9j7Lg0pg01CJ0RMZkL7OohbAH3khalTNhl4QpanvUiY7693QAKAWPiixn0VH + qg83rpIabm1xFsHJ1yTVYWkBtlOrMvhXQmWcJOHsWlI6XucBi/HYMqY2iWuZRq0sxMU55RbdWlTt + bRpZhLaPVK70s4Eai+TcgFlIzo9fhz+/NyAz2S1jNuPmd9f2dRaC0t/+5UJQNkbVnrevLaMRbBmT + w4CCOvYtHulHfCtzUGwqwdRi1tZ4XnjpvMqDV869Xz668/D4AobKRjaIjMnZ0XhhA3LeRsLvsvPK + AWhxaUANWYd+l/t734jOE3APPjoMCm5msGQw7MPaUTXUDjEtntsS7IQTCZda+i6u5/HRJPK4J/oI + 4GP5HQ92qX1Ik+JloCDnnyEY5cojKKq6xatLlQP05msSIpe2SeD8fYhqdNUF1p9bH9jxN+yRWSc+ + 154ayDfaBCRiC+dqfUOQJEmXA5B2ceGzyMlABMSBrcZYbShF865bD3r31Ua67oajUlIao1Wj0DtS + kA2t9zdqWILOOpeZ7HWnc+5/f3oC69/d7j2QkdWHPHrqXHADRyRcrS1z4jugy4UAexRavFypHR7B + ERKbrOm/X5z1boLE+MWKb9zqfVJ7mt/3HqxOILoC0sqNQi/GxoVieO6gOg8/BOQDJvrPI1OWCc3J + +gGaQTpkXc6YUcLYUsMtea+XOvuWkquY8AMzBBzlcsRLX/tJ52mvVa4y21ehR9YjfCycK/3Hdpa1 + +8g04w1KA6T9FENPRPjFNN38ij62+ViA9hRK+AqfeQ3fg2sJZbGtdbO+ulwwFSJB/hPfoLT1+UZ7 + JZKUGv1VDo2G59+MNcOeRbX2639PlaZrROZcGnMb9D5I72MpuDfqkWT9WJWL2rmku3QqwqpgSuqx + +ZHDMIldh1GC2o4prC/mnb6sF3pLufIDtEiaQSXum+1aUkSo1fKGP78Ikrr2kTbs3TADmK2eB82X + fN3AStGNRseIQYizUa60FjnJwXi/jNLGSQ7t9QqkCCnGagO6ZyLsyFTrxmRsk9JBEESbOcpWJrho + 9jiIlnUbkFRgOlECIPXlP/FwzNc4sYAbd1rV0n4d+YCWz3FX2GXO2Ud1uKwJr61XyUWdqyTVdI01 + SzbAUBd0dodpmKv0eX2FmTaKoZs/wRgL92Dm0+RxB1d1FPK8DPNpUbY9magYw/kUkA0fwETOKuRj + jOCZ6sBTt3gmF+dN9zh0IcudEKwGIIPlkaPj0KijcMbET9cJpVrhc5ZYqMlL0Ku9buPfe7rtqOCU + Wj4/Z8QnhvZPk+2iXuDpmKleJgWzN8M44VfCNx/cFZbTHw+VUrLjQQsYz1YMwhqyq813mPBKzcHp + ryyUvyaycJydHr6z8g/f3laGAdEwRQRqXrrWZIYjGVYMow4WR7AwnNjJpfS9XoocVkN2d6jngppo + sOTY8VSy4/SixUxxfKyhBPfoYjFGYghaYExRUGXJfJoGJVfSzFrAzUavMUeBfO7N/bMCnX/2sXgW + anuYENrHlcVwjQIP2NPiI3uyS/BfRsBTp6+j15IF9KFZKXyQr3CuMM7ewr2fAItVrDdthjiSM9V8 + /FvtOOih20ho1Z9eEcnPvGKABH78p9fQwSt4RfFIOdK8dNffaxSx3TuTqjFuwQ/gC6nSHYOZGX7u + rcEODsVlSu7lP/4xlxwaCbxvZDEk70bL/W4SEVQf4b9xjFQMybjcS4jHAGuYgl7LpD8FT9UdF4ti + phPAlH4Op5V3dPuDvHpHrUfaVSIiLGGETLT+4oXCbYODBrzJMDRTngzEsIW+4nwYG0xTghbFWjxK + 3ntmdr3lvkPE1CxPoYf8elHWspa6Fu/V03u0htB4NpT6XqlaQO0RPjgA4OzDejTmPmIWCu1b1990 + xLihuBrgSgBSwckeKLhJIIK7vS8hkWGLBcpoGNx/lUJ7YSw9nXnyzwy273u3/o3ACbxOhOuRNCPJ + E9mRDAMI2I0F5bMPTR0/Ie45K8tR99NUIB9GXT+G96l3YdS9Lb8aNi36vS/Hj7LLZm4gTbupDV5H + ok2y5bNrZRdoNywmkagNcoCXpI65XYmsGgDCXyBxdy2tjwbAlgIKMjZ2ApCihh15hDV+qB55o7lE + UkrdBH/QwjJtHMKPodp8kjtv1pyQ99M5kKIptzb7Xk/dJhNf0Hq6NF0rKFw09IHylXA3OcBa5i6W + Y3Q/LKxeT5hu9N1RZCgkQ5cPWhFYxyUob45V7wTUp0vIk4MtDrkl7kZiPOOw7d1LRMs5x6aTHX0z + QFWmWAUemowmxZyVTiAFFrGRwBbpvpJKQ7aB4uq+55GOcyXtJuAZqzBwz7A/NFIHDm2YfKmRRRhP + JgUUTQ/Fg3EW+UnLSfadKK1Y1c0h3rVNOZzvqFzZ05X0kl3aoKZlDyBzGwIl/FLrWJjC7poh2w4V + /TSwgQbjk4iWLkswBVQlFDa1I+2aLmL1LOU+LFK4KiitWq8mb0yiGgNQe+nMxyYg6/ZFtpIDNOTV + p6+mEZ/V8oeOfvBFPYi+pHK69soH/KxkNCv4U2Af5tfFN9eHI87xcRnyHSG3oGfZp+/ffnTfeDDu + 4qkYwhxO0Jfcqu+18Nnj7NGFv8WW6oHFEfAPAvPwRpOBp5Ks4xjwCjyR4EEV47Hx0eIzHfiCXPrC + 3Xepnspyxo8DP4/VKinV4TKtj1rNkegUbPntCP0GPV11NT+4O1PU+85AgE8KZlwE3dUiP4gHWABc + kbUKPz9/8iSpD4HvhqeHux7ptBgImU6+U8j7wUgXzohzfCGCm+zN+RcjwpGD2g6FqT3jdWhlMCn2 + hWCM8BasHvS1PvdUk7C9qu8OwtbJIWT9e+9CcC6jEgBZySFq2zC0cvZj0jkoO3GI3W1K3IMpsvas + IfA8c8xv0qkZdN7K6jFrkG/98wb8XpTFiLha3pEgMKQ0VfgLobu4KijK4rCe2KCfzmddPDgosRUf + VzaQ5HV8rSy/Ij3knrD5c++rwjV4nWDRyVN84Wk8u3CVQsAQeINACnqeT+DLZDbXmcOkN4AKG801 + hiWP6drZDCsZbvYEDtjxrozBiUnaLZTLVKJ5I5pqYhL3IcxcDm7J04pXrbdrfnU7rk0QciiQCQXd + +pyjL+JeTs68I9Y9sFbZgh25mSh/rRl9MTWXTkXRAwjHkwlVOzlFSCz8RUFZgQ1CNl5aKu74Uxc1 + 0dq3iaKwWHBHkF+ogzIZQqEYcGHkSxorEp3sTpqeVM1uririG14YzzIjEx75TCmuLxfDMEjRr80/ + MKibhe/oz9WQCFMD7SqPi7+uYF5PF0NVJL2tl6vIR3Lbl5HPyOhOVbTBDOxK3e6iYELHLCFWri5C + l6vG5sL+7huJ1IT1lPvaySNP45+bHCEUEOZ4Y/j2J4NekrVQvaGDoSjX7sjEqyeeaFHi1VjEG/0t + ZukQrikZSO/aGPCmeyPd/C1D57sEF/mx6zDyVLgudfRF4Gr33/m3PEamdJg7DgronTCMKuZBpC9U + W7+yY9DkSBboNxDaLJAbSx6+W48HaWD8377aHgGHoXVPh0o6jOT5uoDpp0xzSMfrIP1TkVkafVSF + NgABoJZxg9HDvsdrinQwmqbfsYSumsznGfNNATQUPUawWqUOglQ1JCAfsuK5EwWdxWlOaagmtiym + NYdbf6v4YvyguCNJ7i8IX8O8k/2xz6SR6HE15tpNPjDK4MBdDMuyp7ZxIKMLBRNIXWGYJJAaVM1R + G3GujI7KPJxCcgM00aUSQa3Qu/xWN8VRbk5TnrTh53g6HGf9ycYErMR39rbQtqwUGlj+jQlBgMLD + zq3GOrvPAZLcnjtX1Y31dr9IcmJX3xr7zp8HmoQ0D3IXtk0WgyCGFtEOrlVNk/XszQl924iJuPyG + 2aLjuvBcsHdz4dPGQkYLaDoKV109pSacm6n2DwrbLTOQ2J4bEYBKRg4rsUvcfi548D8Fp7BpLvmq + LI+9ljqSEWLIbfOkjPD0JdYjj5ee+Ii7+9hkGRohogJZ1Vg4MEakITojFDewzzrBnqB+z8iDDQhG + kyhQjLtEa3NssPAtvqzwauciLIk4o1Yex/O6hD78iLNFSsd/5u6R6pc/00qhCf7OUtnVe8yg/JOm + nSKzLqxa2M9gd4NhlK362C67tV12fCrciGgYi7NjXJC/ic76RpbJFR3xqiQxtp0kTkpoRy4tJo6C + b2fm0mT8BC6ENIPs2Gm19shmPBTyaeuJIdWxXPiZ1f4YBTG13v6K8IyP31xcZduBLBbUJRkeGPof + VnZ11gwIPE5l8CxF1D1Pre08fYTsf6EHl8u6K1yurdgPT3Z1qbTGp93nNM68Kxdr2Zb0d7i5rp39 + VKqmp1mtkWBhtml+8aY+eSeTgkbCNe1dStq37MoBrRs/kEAlx3g1fAMMSlyofs4w8B5ane3Jmtvg + U47jUkAehSyK9rnruw1FQaDZJi56I2LjRpjP9sHErL2Dg4DEIHfCkxrCGmvZTyddr7HoTifG3j+i + gFCznMAv1b6TlEmHGXQZ88a56JAEX+Usf8EWDwIiTwG2kN8GI+TYK40IYYs0AYf+bkxhlzLdQIbW + 0ovZU5fHK/kzFhIPpWtZBBtGz6lpITdRV+kToNuRqyUoJeSl038nkCpa40ztulbYn/pNCO6rF/wv + GRsbXPrltGNiFQxatssOEIoscBgpKxuEegsig7jsVsjqOeUyO++euaKIu8a1OPXRHU1kGYsGIZtV + Ke3w7lsJKa0wHcOqDPpIE9h/79X34B6lG1SLN+1XhJjno1ANJJisJHQUVkKzAUl43kz9WuzJ02s7 + HD85gs3RMcRaYZ1wu46SlNeI9wjYb6GbPf0nQMcF6lZ3zDIYi2D0p6K0F6o+gZxyf/rkKBNosr6e + Ac4dyFEATopg35dBXq7pTLKdqFxRASTnD83TU6e6rZrxM64CbkpgQOEYe1cOzGKJDNqw+Wzn13Qu + aHbnzMLSv3nNlW98A65c7TKFBq8eUmKeYhVu2y6FvYl7PLht16fBR5PrfaXVMT7JtzeGg54Fy3Z/ + QWxueI7+HhaWp3HMPaeBW+G6+bICD3A+rSAZlq3nNdQICmFqg6dNbcqLTbD2GI8Dv8xq7t2rkhWj + 6n4fbz/gSg2gzy8/VPsI+oNlGyUwgvRwX3NqJUeaoOwIy7TaxcJJv8PD+tY8qLtiGS/yyGRVOpgA + Bn5icgskbkJxDG1QAWcTPe08F/Mn0i5D+IF4EjSo4mfQIaQHL4hVPUDggqe6rqgCfvEokMAcRPoS + 2ytl7gShiQZZGZVdSnWW4QC7SdelerRS56/Y+zmY8+e20VMuEGtihMGx5Jj+gTeRpyuxFKIUORgY + 3fUStlpFD2KOg+NIa8KpTRHhv8Oy4jTf1OeGAX+7kM85B5ub4SzdRENN/H/c/rBXlnUl3RZ4KPWm + PREkXUouAWZvaA6Qh58MCcwAOwQGyCCspA4Ne28SuN++P7i88FP0WMW1XcQk8YvT3GhvYrdYjGJS + vGm0noWGOmVR0C01yFxsuBD+qy5MfRAaK6fkXnb7WcG1Fxt/JMJiEOcQNxJdYjCWnKWqfM37rJFL + C6LAcRKF7nQw8f2mhry9eSxIe8prl/gchmu9Tgrg4hLNsu3MbC2Uj1bOZyulA77O+kq/g0OJ3ZB1 + qa4tSTijU9yoGN4i53WhT5D+TG8ho9+LIK8MLMNrNzVOlqpR2Y+f6oCmhcDJCBcf40Cj1jRuGFu7 + avB2mehB7wF4ZWtTl6geZmKBm3m4ioJkwUNHA5NPfm+HO7ASUDg0S3yobHYwfYf08s5a6YGhYy37 + e7Wnf3v9gkh18kDMMnPRXVTaWvuF0V0WMJ/3xpsXbL8dCIi0AMdB/ElrOiHqSTQ0hsoqOq2Ghpd6 + C0NT4RRhXx00d4imhNf3/rbP+5i77/40TtXIBHU1RpqjVCjHUZryO8Ft8fk/ApF72Jwb9Ahvb04K + WsvRdCQWibs903DzfIJtT1Qpdd40d+1l0f2rWDIep8JJyGA/uNanjEb6JQiBmQw8I1+brHq0OPHe + R+hdhbRrAg4NqEE6kaMfGSYEYkmu3KfatqCD84mjJXDW1TGVGSBLy8fTFGpnVK+Uz8dz6j2m6/fV + ES4igi68s4lVY2Vs+RwcvNWs+q7Y6nd/qfZy2iBn5lIWD56CPt7TUeum1cIFPgqpvpRPnbSyq9wL + Nv1HfJyaRdXOTfLEYeVoaU5zOuTrlPV/chd62yfSRPfynYbss0/ZQncRG9Q07zNUbn/bKlviIHOk + weS0aKL70n5hJ0AkfQ0oIP3JTmm6mNSlt1QF0krH24phDaWgVhge/Nom0BCfpxL7HEmnE8sZ9ndt + utgNY8OeCVGbIPkggu34McwGJbaui6BAgjE8EcGYwXxpI4E4UI++lWmBZZjw2tiTy/wrqQXFmRqQ + d8zPdgzLJhXwXF+eDnbcuWJzxamsZsdQ0BR1EIl+7Nt4KDgqKCHSFKUurS+LiHZiJYzlbZ9kNfoB + s5GxsQZ8ZbixRz4Hxbf4K+EHzgHEu04q2WC3rxTHbusg3rg4EUH3rlNKWaVdhmfQ6nzUCY1XUvd2 + 49vsUTZJ3JOcqe6weEH6mrVL11wWQjlNXk6iP1+8di3W22CqnV56O2EtrYqo+e9cZswHGBR6pdTh + Ci7glr3GGSP1mhlJbbYBGtY+Q2eFJFiC+RDjw4B/+a13kNWo7HbSNucFJcO/KGm1choRqf0AT3EN + ShsLlEp9kxWfsezRqYXDXvB4mduc7wxBxL+XBi0nZZjGIi6kCGV0lUfwCMY2G8fkDsnUsUYadA65 + zrzQr7KII0obsdymIKcOAHasbsSKl5XiYkyRUK4SZmLmuUcYdemy73uUn3R7LYKv+DVDtBvyYD/K + 7DSpD45dPab4Hyud369eLNgulrc9v+hF2+nXyuFtLMHfz99U9nF8ub+Q6P7yutKiPC6OWeUkr8kB + tc2PTsEgve1PHL0xpFBLKRUvc13vhO/N70fYAcZ1o8XXRqD2uwQN6N5+34hAgSvceo7+49hVUP3l + YPiEn/T86DGgNAeCrKVpUDCcGj13Si8xh1wvfVieJV/XrVM+a7TsQ6dLidmDOm0D/jDEukcrSCUx + zRvfIlg1/qVmu0jfW3HFtiuU72jjUEw/q4TLYNSR2+PwxqGtEB7Lxjepm0dYVzyuDUhrw8zR7nxE + d/Uluyg2uNl5e1IcTWYIqs8ALCFvJpCbFtLITR2Dvb9V16hKytxvXF8dQWW85LLhx9JOULsI54vC + VvBZJ1RzT7gllctN5HUOXqvPe1ya2BBEnaSKjHU0sAEh+xPGbCbDe0zoeWneBbPd0hlofYpNdQ9x + UxMl0qh66AzEHMchmGmvgJ4CdZNJ1cSxqbvN/gdshbAdv5pUVNue4U1gJaIT5RnbiA167SysJudS + 6oFE7jveMpuzRaVNMDuCa8/fRLqUoD9tryBzhjPu2ZErkvaSfJy5mmpbQmnFmVZJv2NVPuq0C7BH + QB8WGDScJnZQ1S5LHorqp0HFwWA6z/fvKEBVZsWTNePsj7uBNjUuf/EivmATEG6Ql5W14qWrGkJ3 + ya39ulWMeg02Lg5zRrRz5z1JndIvoYdDoqbRbflNQYapCmVp6I+yHdzTETaR+QMVdBKTKJMUjCAi + P4fQNSCcF6O13290cofF0LCjLf7Dl1kKaK+MRTQgEIl6U1SQOrFTug0DfD1C9p5ZJRdX5fLPNqOI + C67iO4jdu97ZqvzKdm0U4hK2bsPcDwk5diJV9KOn30k/9NvUSewCgAZIyguNvZtNpljD2R1YWYYQ + pF5r1qFe9/TCygQWVxOFuQ292ZtjM2o1+bU2+nuHtEOgMlFGn3Ke5dtYMKfc2xq0YOQxoacyD8KT + ONQSNN2Rj5oDzU9rtWpUZqLdU83sVoqv/hod98Fqq8cb48jJWIJGeutuNEygtHdQjvAD47yzM5On + M1ly5e2PEoR+dFZg5tdpWgmEOK98V+xqCuR++lUPpOrzBCvSgSiGzaElj6LMO7XhduWS0UUccibN + YS8/lCh3Jl/Noe75WVNu2ekSm9siqW8STRPFX9rwLgz1ad/aKSpzvbIRfx2Nvny02ljnP+8Znpbc + hLKyy88h9Mw+QwrqVGoNre2Y1NbGU7ZvKm4qLhrpVS5OKF8K+JxRY6b8jcqY0WQhNmch2/xKQUaV + HZ9gfa7AnL2CahcjTOIZtPKLXcW21xieH3D323tcXUO71kMklwpcIpURW/LMLMOlru9A4/Q4i02N + GAoVJ1+h/k23Qu1gzypaLndUiUQqPjc8t296ZB1WhKa3wy8/elbimStPLAWsrd3lbmzRrI/W+B8S + iv6eG4xWucZ75gl0xm3+m/VoUUdXdGc2ADyTwSDHFrMLd+olaIWKIFW7zFRN79my170eduw1IXDN + fBIBkMSs+TgzPg5re+M8mk5RlyXKwPlmyfDuOQWZJwYeMXxiPDJdKuetJZYV/nwcIyedIMrH2TBn + vKawxfi5S0nsJGK2qKuK41rFbAZ2jJ/kJ2tSaZMrwOcdnVbh1W8hn15XvWFaxKd/0GIQZ2QAROw3 + SQdsuA4KzuBxvcrXgwCeoBujCGc0q2HZKFMGSRCcOikSeLe6C83mQuGJiniu7e7ndkkW+jh7l30K + cOjSVn/5aTGxVjtWNr2YCHKh1I5jJpx+8rIiTUnm2YLs5oWxSXGmk+vZ7fWQimOA54sr2+fau8d9 + kt7CTtuHJK7KcqE6D649m0Yw41tAUoRrLZDxkscWmVP0rwMfS8kZIPZ2p40UiIG4CM9UR3UKSloD + G4Nv6tjByoi/RZFPaJbxQQ8rU24CXkxEDfrCNIgahVvt+uXxC81bCqx2pa+MpG9bF1X7llwZktt3 + xMOvgqL9ewvkdvB6+vwUJS+BL9d6eGpIMiaNLu0P0B60MjcJvUrWj33xlljJUwcIZczez2fFTrmk + +rKixEtAhYunJHkPwDHIljZ3WJKPmV8by1St8fL4EklsWVi49WsZDZAwrHoq2xKEaqFpRWiHpFoE + tinx1wj4B8seaobeCioX/ap32DuxWMSJfRbeLuaP+Am4Ynp5ggr31STH79zACAW5E8oScahB8Ess + XSOtu5OGBo7VxhfUEyUSvFPkATXKHozs2JENN+kAZuPgrdkYCgYKBc3RqLfaBpGxvvNHVDuSwLVM + E0hYxiK+3d4joW6KpIF0P8z8glbIbLgIPjOWmOK7NyRU5oNQenENan7b9KkPa1DBnw8bUaItdnpk + t1EaWB0LAGEDZLtXOSPJIlP6HMGejVWAobV5eY1S3JMmh4kD8GG8KBKhcXrepzBGt/bFieiHM1ml + qjFfpbjdFQT91F1WudC49CnQM9ZVb/RDSxjFaeUQnz/sASo/TQ+yj9LHg5izQGRK5EkfeLaK39k8 + OUOlsGYDXz+q0ElU8PDbHNgeNA0lodnSOwAh6RTCtrgDutzKdZL005IIgGy/CcvWb8GZLAU+zCgb + 5+bRqEOD4l8N19saCqyzyBrC0JzM/STjW2BJJrY8G0VWXLyUVvpioxChZqDegSegq00kii8wz+tn + Ck+ytPM/uZMYuqwcmwBrlXqaqbx3ECbPwdNxtDwsqgAWvp3mDrmi5wAHTACEddin+2JsEIpqq16v + dB+nVroNXvG7QZ/dHuMnOBVCOxyU7bwit/CmkW3Biact0x1pqObq5eFgUDCs8psJ+Z7E33V+i9Fy + Ln3H3fW488mgewFDJbW8Pr7VAYP4DCbksxKvTrEsahl3aBKOBvn4TPpSY2Y5aIaaBWmG8WxK1lOK + 02bikd4S+xVG5Ibw8wif/h7CxDpJgnQpHNC2DaafZwTIy85f+edE5ZkAgjHePUGidh8jfQ3Aq8NH + trenHR6EZWO4r4FIVjejBdpCxFqEmrkgbcabSF7KTs2H7NNQLB4ro/c7UyeWwtFNM0lZSTMs2COc + vNBX9UqJIHnCLMbOfWWTQsDtVXkzAbN7lb9KT9DMszwIdk1cZrg5bvm+NbVg+eDWOPSm2248K/7L + +3YnOfdIWKXmB44MqSnOV0WfI7IyFBoHKu4Gi5TE86Ssip08TkeoO7NpHJOQ6oY+pDE+h2juBQ9f + 8+i6gKx5GPmBQmJwHpu3P1wbERroJaG3zicBfH+zNsy508vDKkwQcU9dpHInAwvWZewoziSStaCc + 2PLAEZ/WReJ/DWGK7uZyvZY+dpthREGjl0kG2XH49zdwm60iCJvQyEWtC9cgB/tIw7r9BT9ytzOC + LWLQC16iCXzOvRUWerWvW+yRLGSVhlU+G3llM26UwrSgHGxfr4RvAMeNmphVCMTVadg7t3S6GiXF + pEOzJT1eKjLlW05gckIU9vU0qLWjEh5pwKUCX94ya9HXy3l3SsSye4NJmY/STdi0avMlocEr+ZbG + lmGYarTr80nYxRipvWh4/bgUTVaLw6GQPDpHtmD40HQLC7crDrilSmA1VV07zeuV32pc75CCkjv9 + gfXmz6G2w0PE5wwPeCjx3WeSrloy8kIwgzZqQQRBPIapv5WAbi4FO/T5l6LYiqnkZ1n5jgGBkdyf + 6gfm8Zn45T+MdaEGpEryKmTNuTs6/IF2J5nxrb7HKxUXc0ZNoWsVabXt2fiH1ANeASMGpJP9D8nF + qtAIrJEUepPFke0qclxWUWWpJXLoql+dW/xiYxDdo4maZvqheijZMB3pEGrOqhuZ40DHJWToj3nu + n8zwkK4q1f12GkdjMxebeuemqdw9niIFejJfhZx2rGKnkz6q2CRi/B3DEdhnajtKHpMXUrKGsbKJ + NwWYuTOpNXCCEHFS4YBO136xLvpOJhCJxDl8nQKMcGmUP8Amkn4hbr+27Mr5HDNWG0Vh9yvCX/mG + vyUQBNKVJDbO+n6uAUzoTyfdF65NJdvcAYn4Whi6s4SPFm/4+4uJ2cWH9oxm4nuCIvcmhQGJngqe + OvK2qAGJwEXCtgg9ieeP3ZJf4Ucp6aVB4ZFZULznMzqrOavT3XADEmZapYC+I6yo4nLkJvSn5s8q + ks+8A4OZIUSYsCfkxoVxydq3/k0PKNeA4MMCqZ8NsPh3Lc+ZciLR4EHDYu+Vgu95godw2PnpeTKw + p1HhitXLUoXqOrwPhGxTKqEeMV2po/utJzkDqwYKl114eGlCNPSTMkArUrWkAhgHMm74Xo3ECfGV + Ad5Cxsdhprca2yxsv1lyPvowKIpC6savGMGIpHxRss28pBfp1DHY107s1I5PGx/tEHZTQ8PfW2Hb + R/L4eOYjs/nj5bIVYoAwK10YU5140kz8NURbjjY5piYpqCB/8jnUxtpKFfu9qdytLTIN4o0OnhCV + sHQ7nb5lvJ0l3btpjnmgWWhG0ip8PR4zneQjnQvFkpHSAGG5Yjjojgz0tcPamjdjTvPrzTp6XK/L + Tn4gGWcBgOhl87+SpjOHYrCp2GXCONY1X7aeAQg6MdAjXQXkb7Dmc9TSmV/Jv4RCSp6GCTMWchUx + lHxD2BtO+HcPbcEj44M6MnYl0MW2HNfp0fsI3+2rsWEwjrrt33WbpsVf1xxjKj4U038oFBAFgdY2 + ZK4abvups7yXAJ0kS0iNtTBWVRsMBF5EcZ/pMi62nx3pXT7QPXv2x1Cd3ZVZPybmjizC39JOh8ta + mhrkHXP0BafZPC/6CdpCdHSUGtdxFouULFuulOkCJgqhTAM+nDmhuIFfjKxfbUnEvqwF7/KlrkcM + HS4VYoiX8wAkx+hEVaWLU8XnfHqylE0m3Yv9h/TPrHa/rF7DTll8o2XCaJjuM0s/BFAmntFvdIIh + qp5Y1mGmdQA5WlTTfS5swB+YELexQst5R1D36Fzb153vaz9S2u9yg2df4bJpBTBefOKvEZSwhv4w + BMYGMQqGcCu/hNwdGl07y8a8Owv6QycXKzCR9RD92vNFsERTfzxQfaUdTD4UMK9MOFIDx6KlVnxO + 0Kcd13X0TlOQfv6kPR/Zydc0iedjyn2sBquZvSORNPTqptNUa4Bn6OU+dMy6Hq8qGQCNOV5pSm5z + DyMFCa2QBJJHKqngU76AVdJx4cYJWXd/BudULA1sfRgOtuiMWBzX3qO2Li3gS8vQ2lDGIb7XDeNz + 223SPysW3ejjUYpVBKmwrSevG/ztcJBo/M2CbNSUA9YdXYGAg5eY+oWORFlkMOgHO+fd3OYSNgdo + 541i7RpWDnm7fMZ8Xm0rTIPnkAxcquK6ikhueo3UKbLetJsE/sr5xP5lQ66ILYoVaT9oXOkRv6Nz + rtmWRc0r9q/Kq59sxWktbnX66xf2Zr1MqmYhAwhz2/Ir8DDXn63goapKG0nb6lSesWh7NZWjZlal + J/RWhB67+FCk5eU9dpL7Gnhxk/X0+QTigEOvlIcHvDlLMVGFE2+CDcHeuRZJK9bY7ARO6IfyRteP + MWmRjTD1e6j3ZRLqNFW9+oEC2WyU2oWsyossFFG88uKQOo3uUFefKIyNe6EaIu8YO8G99rT417m0 + rBklB0B4U54vPfUGw4U3Ze+wBYVRVuUds9XmzPzsT6DJnp0D2qkBBfgLwOHixk1j1fx/kh5tEdxZ + dWZSrKpZCziWHtdEpkQJgvF8EnlWS0/WzbDPlFdNLbJAUQWWyVvmvYd7D6kMDe67a2qU31CO+Tpg + FH4tkJsoZUcijabIV0zXO2n1SuNwk6smvWnLDYxqv91X9tFgcgQ906NMFeMVnI6A6tyDNyDviOOa + T28jOVbhhVd5RyS5vtEih6MubA9pIh+pgUe1JCu6UzgJukdByo8CFCVzJrot3rUR976gZz8k7HrZ + xdEPjCOdpW0HX+Z3J/T00kTiIftl468aPbK/zJIlPGIJ+X+c+tgIGOxyoaPplTDi8bxhCeBDqbLh + qzj9UJhxC2c1vbZ8VmwLQb5lSbsqLClyQ45iN1Ft/VE0pXb097p7Ac8LDazlNjToJqVnUQrjUc/F + 8uK2jduy3dC1Ubw8YqunE3jdjYCdp/bO/SF9cfPsAjjWmSjtqmr1bh3kiFO6o1/6hxWdYiirXJfv + Aszn5g2q09Xx5gPSOopDFwmqKXlVQdtOTk132MMaa/dQUaqppWR6DxppilKsD0c18Z62qyMzvhHm + vDZ3H9jl+5BlGZnHkZYRkgJ0hfo1uWTkcf6DsJC8wkOnmfV4Lx4g9wtQUTXtqw/H9pDOkk+qWBHa + w1JmxlccYB/lMld3+RA9MYB16j5EcvW2+JkmoBa3r1dpM1xYr/bcAye++DkLLm2s2cn4Jt04s99L + bnkCARBDzWyxVIYiUvsWmu8kiybwtYGES+s0+UjMntseOua/uyNsjllABc2tlwk2qe+qDs9qbGBi + 5xk/HcCJoLEtndADJ9HpzUNTZCjrpd0/jlO4ndULPHyiGF6hvfTO4iRLgKo0pKTzgJ+EtgdVVyzP + 7jMgbstL78QYjQ2H8bP68XiVSOas7d2QWQ+oh5hWt+fc65LS/BoslrhTwVhERQYcIakzEESR1Cu3 + XowngCy9NeWY9MyB+knmBbgiaMN/chx9ZJWcNG73xT875aDSSxCboDeCnFGOJR2noq2HZUsVjSM2 + rO6d4cJ/1bjIQXUzVOek8OReymdY9VDZLzwINzHXmCEF7cQboQW0D1ZyiP3NkaoKOJXQXC5l2GXs + B37lKmJDz0gRVT7VtPzYzsyEP2QLJ4cYAcJgoD4seGNBv3QT9I/jcKTyZSyE6fpYywxrPD43SYRJ + RMGL2XxX+Xt56S6JBvW0Mp5DWreHT72/AVmmrNTg5mXd2+cwkppitMPQukVXgY6fHdlSrZUesrTf + TqLhnS6lYG+GeU0Cd2fzStVFwIusALmYeFYePF4Igx7sfH1u1domkgpYDszpSW5DLNia3iSS6aS3 + eIPhtqFoVB10l2zHUp9SxLZJSzATHFVD16GXuzYwx1+oHipLLxvPZNgHGKXcWIWqAj+LXBLe1C92 + dfrpg6WN1GtAQg1KZtQFZtGF5Y5ZzwQwXuRQzgA4JV+xB2z5163HDNPWSI1/PPkJDym2XP5m2OIB + 7RQfxCVMXG0tsaHwrsNxGjKjq4I6afVfqePIBB978yXA17laGivLuJ8TBNvbr375E9cGk3s1KNIj + S9wkqvhdfnchc4E7XihWVqxVR+dE84IvXi9M+q5vN2/hy4YoGgIiDC0nQ5ChZpIv0sVYuYYj0qsR + VTi/9Btg1FQCSsLfInj8U7MHI5CkCAj7StPs4PqnymLDXym62pn+zA5xOcfSX+0QDQWBTdARba+I + w8xfo+aYLDKJR0zELJOufwp8x6UQa4ysq2/Fp5Ijodj04JC2lxht/ljuni0VQQIY0pr+T6KgO9Dl + waCEOfIH6NZKRfWvmzn8GUY540OdWV8VKZLgUu4B4giWzDIPnL/CbCFrZlql05fqPXPP3mqxrOzO + dpDxQtBLW9Vv88bVoObRLKphQrct1qppoyVZM+DGnx5RO0tCmoaGhBm3n0AuvCHlnDUhu2arrTb1 + OwwLaLPB4nMnBD6ncA6FawOQdGeq7kIWeJOum4DclNfSCLzzCmytjlJ9s8bnZqXh+a/nSn67HR8Y + ZD9trTDseq1pLij6FWZJP660bOy2vX8D+p8II6C4hMMXVMvhG3BhQQOn/KyiCNeCl1R8lwVfP6EZ + O3vmDGEQreKmxoUhJrV1THPXv97wiTUSh0U92y2LyUEBM5Njj10O31eu2A0+31V6uSZsE5MmjRGd + BPnoevm9nQRmHD806HrOLI4suWLOd7qJOCqZPweGh0sCMo8gcSKcjbhzAkZGMfcmw7xthjF0x98k + Kb7IZkEpftSuZ383sXH2rEn+lnu+43fJEegX9WV3fmtZNRt1wpOgoTFvmyJeMERMp6EfTvQxz3a8 + B9Bi/oJPz38lj9qBgw62QIkD16UDU+K6eOMfx0TzjOUVSOrrozQ07UJFymu62P3y1OFZwXKwhBMI + 8YcGFvU8fL3BuXrkwcQWug3Y8Nyd+sZBWdKEXhsZCyFBSqlvTWkPxB0Hg/zc+d9YbsnAC2FHaIEs + 0Vc8Ci5l+iu8cpSdROqZQoqobUu5zwOS+h68pDfBtgglp9D1rQYUQEtAK0H210JJSthUYAq/ASku + +zCV1qOkAlKdCH8AB4ebfiZ18jMh8M11S58OD29u9YHZSq8616g04UPL7GO8MWLsVSBgYxPGAz91 + 6/JOQGaz9j6+lOsLaytSsHK0JVS3yCHjbZSmozO1NGGQkH1nputYJJVrdyWRuXqRVMkVMZjJPN9+ + qQ70ELtkncz7tzq4nG1zPZA3A0Z/b4b9IXGE+JtvrSB87YtXf4414VqAXplvxrj3ub+RvTsHAyjJ + I9JrWdha+7wKdMBulyOIYk61GUH7+38/dGXbiclN79k/VZTQmZMRyHIPv3mRCUj9Ly3CgsCPQFrz + JQhsTlRGv6fP6v21IE8Ds60Kx9Kiv4/3vvMVqi6+4XbAEHAjcNbjwle3VAY7tGP+T5ZslutY7tUU + mY8kh6BgsZT08xHQZoUR/hJ1uQDgypvhQc6yi+g8PxO73EzBge3Qb96JDHfScdEIigrUE8GjEvNf + KaqrUaGmjLRjsnuEoh5OTXEmT7pcCIpPKq5u2fMKpQoFDH06f324W6JgtLmUulYuFN5o0irFSkSt + Jpt9IrihElW2flAFLjwdeEhLFXaIj0rV0+3FXXSpoorKHNwEAKqQbOClmSNeCqWvAgdt/GgG1ejP + AhVj7qc2UN94qHyQ4XpJsybVmBxMOMi0X/WvVz2JWi7psUVLUVaCBgKDXfKd4lpQrWXN0EcIqhlD + 6uL2qEFpbWeH6KHvEnx59quu9yi74PdGOxEXI2o+orygds5YkPWuQx+XPhkYkY2DgwIPoM5HoLO0 + 5KyYyYDSS2I5aKexl4DxLX2UVoB7slvpj5X8ht2lwoyg6qCCLMtab9e+YeWsqcgPj/laxHn5iAZp + CNqX2lplP55RvqxfUkRCe00cVWU9yXQFwZlbsRzPf/uR2FvGAU639GPfy4dQ6sch5e8GSoKtCmH7 + Kig1GLfNKaLVwKLh31NhWcAS6N5yFXEnjwoR1ECbg/Xuae6i397yai/BlZ8OyyPoQw0MxYC7JhJ0 + xoOX7s3gjyaC0S/x4FIhHchh4a4LC1EO/BhBHtCgJKpER2epTfmlkbPt53VUUEEkR4jIfYhzHnHm + JRwVTgtBbZUVqvUfEzMUpO3bw8EYMB7RTz15shshnC8E0nwblF0NrV010yeYsN9ZnD8zuEcKVL26 + CCp5BH1F+dk+IwkA6lTnY0G4ozdgEpy4GUATsF7PWlT1E8LmFpGeSH/8z6RUG710BcZMfvpkSn2w + COK87bQdrenx1Nozkz19oIdj3NdaFwKa81EWZ6H+HQBccJw8uyNK18W9S87W9oqw186+kgXpUGa7 + 8xrRIpl+KGULJQ2acFtgqBwSJb+cvRuWDhsSSJTznVFE8jt9G6pInF+fpdztd1RK45LvRvOHxlx9 + PQofbCU24R9VlO/dwjSSXlrrAL31Zwa9SVbgmPtowZIWjbGUqeSQPLEv3rwe1jI0cLkPLESa9v3O + z+j2ikEFSBUheqpdASi7hcFgZHbRlQnT7NFiZa0cQtKL9yPZZoPmviO8VNYuCwafPHD1cwety5Oa + xLeybOW+CDHyVHjqTNdA3WBO6SxvabjwP53gnxh50Sai2fML17pdqtmdNKmHYQLYR0HtNESIAbpb + SnQnV6gG9d7l59kdkZ+Bk7of1gnm5GT0Rytm8L5EGOnRMgkzAFZICdlys31DbopupgREiRPPcigu + nzOUumJsbRj8pinJSeblcMtmX+dJeCcJlxpN+iOxknxbbAZJ+vRT6X82dhQcEt+xp7rkm5zyzTLA + DhSuQ9ENLLqH5vXGhfiaMZcbpmvbCz7jjFx/qXkIWqHdJZ1jwBcqHTgU/oOeJ68DlenC+QFNyVHG + mRQXrMWPrgcmP5g3z90Si/GxWaHeCFduqYrMrglZjopkYEFqOUuwE0SXtpPXjT1UdZ2u2Hh3D1XV + CencoUfAua5g1U8fVhFWk4RTkBMK7PQRio3M6uQ5miZHuYT8sAIYiRiQRbPH5Yk18e4+2oyY9ebB + 5BUrArwBsZ6IDUcR6QCRSyIj6ynF2hI0Bcxh3HDdiyZSGIanT4HZdiKJMoeUuU7L5/qiqKYrbVml + EQrzWty4iRe3CucQ8swIPJ0u5FjKN4v5XRqu5M+IuPrMrDtaGoJ9XAEht0cy0v5SEJggZBLZ64T6 + GMjAJxyv6hK4gqEx+DzLA/JxMs/6Jl2KpJtA6526ReZgt+4WCpnVskxSEcVx1TSm4Mpu8/3y0WUr + XwiNNjvGagXddH+42UrKTi71ZsY1FkLFggb0dUw5MT9Uhh1Bh3ljMxOyKvRBU55HKt858Ub8m6sr + Ms/A3+1VMAXIzegqW3pNog4TLlns9jDr7qCbuV7b73uvf386ArenykVGY/g/lsFOfFMeOYyDgpUU + xQS/EeeQ8+4YI2KEQSNzDcCWoAa1S4cuU8AkZIoE+efLWfjdCBOOXdIHCUGzDOVOBBSpOX8gL450 + Hx+h0b9kXeJY/e0iFEwEwkkCQuUhFlgGuJMRdqqwdLyiJST0A68Ly53Mmy02AuzdFbZVDHOCv6VI + bZkCKYLtC9JuWyWWx9sLJBXLUxxEA2rnuEHTeHeZ00Hk3uUeULXhhNqAOqNZxWrzqP2zLi+JjEGG + sPK5toQca5MF5po1ALPlV4cRuZSXPLgYbUamH92JnOF2oDgFDaLEaeGpY09sX8EG2HblU96q4pz+ + jRYklcVj+W1LD/7MDfD2Bbp3YokZEPjJMmvnAOhK07YDWuQjSuQ7GHtE75tjZs1A2hkDj3JFI+ta + kUH3+Nmo8nEpbtpnZAMWT2gjM2Nf5mZbCA0DhuZNWBa1sz/A0xZOqmNtG5jLTG1ApsJx+mkl4l+W + l03ardyC/Wno+5g8M52GGiCH2UoHAo5+P+qRcCOu4hWqU3CDSh2UZk4xKuEyKwH7n0aPpuwUsxSY + oOy0razYPntWozC0tUupQTpJFqcQfQOtYq9Ggz/8fap3XvFNN2qUGoPbb8wVVNEVpM6egFUMjkux + jdN6jfzvbzL4E0H8OeXryGOMH1RYnI0C2VyNQEpgxuhR6iPwOXoEkkFtHhTRbfhfpjOLxlBu2qSV + 8BuPqGR6Bd7oTI2Wz4B88Pu6ZdwMUzrqyFmBDEGJPEEhClgYC5JrZIahtEOyTkcSDlC1GEhViyIm + vPau2lYIsSKlrPcWahKE4AFxrFrIMMtpfviaXdMAONy2hQCUnCNSKGaE4YxeWmAUOjrkXLfOBHpr + ExFETtKNaw66QZUo4YoiRiFBaeeOp3HWbZD+qu6NSYcCHkJErvmSwe1vicaW9pXtslCJbu2c+/Y3 + ZIWPDwzrLQ9JQSueeDeuEsqambZtYOf59VfvjXcwUPs+DnOxMtTVGHIv0fkh9TUOFJ3XpUIWWEPV + xbrFx3bssWPx3CjV7bx3BwcSfS+eT9D9HhZga8guv6KcZBsiJzMAA7YEj53qFKtJXKZHOfviP+uL + GUyOKKd1VqQiweEAvOxT8DwDNZAtTbd4WsCy0m7KHCXgsCVaNkCUYZsADlXm/dwW7KCn+9QW6qy1 + /tKsNoDp35lDFoBpC6peCsaeFQ1abYBFBaCz6QHJkbN42nkUKLzuzgxJaCzDJr5yCCN3Kmol3Nc+ + lJDpx8stNRRdWQZW5hcwv34HFz/pYvsWPGwTOj/SmY/CBIrMAcz0bxu4Nd5GZKLDK1vaRvurxj1c + wgcxdoouDcXbekfQibWW4mDaC6Mh/u1uqSa4guWNIuFJVPQ6FV3F5AOl3pp18oEMrMfY5OhNSEtb + BDc7YS53EgoFY1yD/uGEKwaN0hFQ1LmxbKpJ/vetct8FO7GKJx2LFdK3jjFYhVtQR2fN5QmLaIDb + m0WnAmzSO1E7qUmWzFbSNbDqG+CJ3HsIZhRUaUD8PcMdfL8RKrF7aR0CptYcFqDPCr0IUyyNwceq + EDwOLll6fDcfwEBbaI2zSt92kFKb0IUi6g68VkhQcbNd1qwRGNRdVHWi1uV6BmIEbva9EY1f3lay + iMtWpXiycMr1beks6j0KeXfaoQfVavBJqzLhm5ztVxNL/JICbUwOUpRFd9ChW49whfqYktK6ErdV + 673kumBRvrjhosCUQxDfLGbjF7XJChbj6lakbT0LVFywOJM6yPDg3N9CMerhmFpt8pTrVuwSvWBc + csyYyfI5fLnGRLIo6b9Hlr0nyHUzG7Ulpg9R/OjI8HiqjxNIHLIDDhFF204GtZmhKLaJQceERXDU + zqDZdRUIVr4vbAgWgiKklOWWFTlePTvPpe3Pchulw1PHwp5xKRkhR0vUMKPEAd1g3gUcz5k/A2qR + KV0AmgsXkh5oVzOrTIVej8cavkclGGA9nFzadnoOPzR44/iP865CY6l3bI5hKsMVpXexyqfbuJER + 8D3XH8CPlNXsrCGLHmZL+e9bjA7uerD9IMLs4xjyCW6S+UZ7bqIY9MT9g43ZGGAChsC1M/XV+nQZ + hrznC76nmsock40NPM4UF1PglqnAa1HYteH8QPYeW2iGV6LLE0qkszNiTcnVUIbbXSd1CzH6UGJu + /CZd63BC7gRznhvFYUo1+hjXntkclwsZ1ecSg9iqBrh9RsOcOmKE+A6dPAfFuA0CLmhe5OwEynYm + mM5sAxwNw9UM/YvbgAgcuCtlrMDA6IcyZD4CjQoK8MpP5A0/ZMPLyTfnMXvtejH+31urdzQtuDus + o20CQbh8kmR3m5jaACKx5pFp0Isl2aUabc4WPDFt5ndY4onWtc0K/aDcdbzX1KKnKaK0Vz2HM/ql + Jd7jM2mQxxfimtRFUN8uBYs4iZrx9CQ//uBptWfANq4bH13X0CInY80eFIw1Y9+YuW1qc1YvIyhK + i8iDpVByeTgFhRqulIvGpA7gnM3ryBds0A1ujLTXe/fbm7xGIFlYJiw5+SYxwpTnGMDvZQtXyLe0 + drGG1hevLKdKHK+IWOiGAu1irwJPoOHq+SwDxmOzQ7qeIJ2P9NJ4eZEKWDTqfoiqAenZO7xz/ReJ + 2B0O+gCqlb9knG0fFf40JiyVXusdfYwGOCinXxxTC4ya9eaATm+M8WquEA8EQXkigC6aaJC5j2dU + pb5ftOE/gWjM1WglT6fMwHcfSP1KX6es2KYQW0pt31pbf3Q8QmJvaHwhCB5rcxvcomNDlMCFQlZh + m2fYBic3fTyEEOiH7eV2PEtH92MokVCTQqe+U5NZm12nQE+Ym3eRcc2Oa0JMDRX37zjx4gObEssI + /cFKm8TCd7DYan3GHFg6vBmq1sAa98rLTZ+FsaffCwqms3DaKl2nnbEgJjRnXRuJRACqsTO+rbis + O7KkNUesHGYUlOYI+m2oS1XGdFEMQCKVLQ8UJdROVurSGGi7N2XsJJN6sd79ntG9fDtAyY7NQkFo + 2p6Js3ArLKONeTccUVoBNsc1CCZj5shrRmnOPqhxQ33Iz2XQa0b3goa6xe/12LNrYpvhf8rIFBM0 + siIhQsl2990NPzozg50L/TQ7DelV05fhZzxzEPGOWoI6KYXID88ootxdtDQKd4MmkPdKM5VNGneu + fCaOXuhR5wO+fO4bweiU+j5XLgp+6Z72cnWlbu6vU0rDBs1dfWQN7uGtIV0pI/UlO2nKOV1PArDm + qGMaPqHGnKy3cDuBDLH4NeR3ORLhsCM0WkNfiEf+RW9+a5dRFTU1KNOopGqOb4fEvfuRhI+0OKp8 + mHUIaKHr+12gA8bzzWmruLMoCI1iXTRzXZ45ljiA12kntYGYCflJ+JcY5L6nPQKVfajQxaQBFbwK + TS2FW/1ui2gpdGvhSUEOPpMDjfBaxllqks9tiEM5f9cKf0TZm0+whpQ3dasfikJVBH3UpWmA2IeD + ClG4zV42GCOpslQnNZbD+j1Px/vJlEPNJgeQc3HrWmXLgxpUTJ3kmCGpIGz3hpdj0r5s02sYz0WI + umHyCR4rWtONIDXKdcdf+KHSmpfItcfvSfcWXMA5zypQVIL1XUKzVHf8FZ22i4SjDnsdmVbjNrZF + RQZBp3i975lMV3Z9pZ4F0zMJY4OxkVFrREiJHk0ox2kyftA/zxSuoLQBF+UgYTudk5eoqJiLrSOD + zdbp2EajtjrvtON44g7tiXVtPlMg8VN3u4FRnDKYFfDaMc9g80BnqfeMrRbbRgPZL04CpyVVxMV2 + /rAN1PQbvtfupFYa9XO2S2IKlRibV/B6+ZUndiqReEkqMX+vn2ycMmlzpaFcyWnKbp6rpOliKsgT + i5/m10nuLFt2ndvhYO7wXpTDi1e0uIeqOkZ0uO0LFTTvfIirji4PVyEKceCbKzZt9LHn4mJl21O9 + aH1kDjgzc1SHViHZpnosHfhfEqYoflGC77DMKPN6dJZklOKMVljElvOVOsSgvhSPLYHoGukHlKp9 + KGJR33GhGUgRf6u+ltC7FQMVA7txk99dz5M/MKeOzJHWbfTe7avHd29aa54nfKsQyRVX9KfPX+Fh + 6gFGvXVbHELmAhaZdvOYXe/2i7SrxTle/DNwXWLIWAVK0A3Op9x4w5f0XuiNHG0IWN41qjxjyXmv + MfNit8jb5d8Z1jwt69sYc8YZ17M0q0NgdDT3FRJeG4RCQskurWc4Wc0pzkxXBddPYA0jSpvwbxj3 + ct5vrRi0vZFmIb1CmllIB9pxPcFE3jtbXtMoOco+EElirHBVqpPL3ogc33P0RXyMbFcI+vZusP0S + Bup1f3zQ0GWGO9m4ul4nYD1uqFqWCwiTuzL6jR/bXwsyPh4P7v5UVg3gbO5VHef50Md0KtklUQ/b + gxmhTExt5v6a0nc9s07lDIwawult0to1tq6vfWMC6QHLOXnypSE8NWssGNlChn8bQlMBiJMUynQF + FWoOZKkIQOraPXOXC5lq1GkYt9UNQdy/rcc0DmJtxl4ksX1jGSMJJ1esFkMVVlo00LKdUJgQzeLR + QBvj3cXxjS2WK4kFvYymc+WsClNkZA/hz8gfqFu/Tn/JtWzFjJWtbx5UeoMk+G7B8MV4WYg+UTbs + XbiUBMAsDXBgMc2MVhyGT6De9Qc1n9SQI49ya7oDpLWRsWXtNGrMsGBrOgNUHk1lNhWdwIO7EQ1a + KElv3JCX6PIcAE01e0/LxdyazlcFtgpKKjXYp/lx/vD7Uuy/z4M+p7C4YoqasVXFB/J1/NHDeoo9 + AwEJM3GKS/tKTaltXmNrVysRZt6hdKowIieINytd3p24kxDTLq1b1lEirSZDESkrLhuv9vMMBCPi + rp0sk/WqScTUVPzjHbTKTb7oukVEwOSW/B6isbp8iUQyFeOUc/ak8e9vfb0e8b7eQTmOFRJq3BqQ + bVRVgElY+EaaTlPRLuMRhleog7G+EzBsOBBsqWt6E+aaPJGGI37sAkff7eSRnslmYhkk3bbYkF4Q + ArOyUYbVFb23xNWR78B79BxPheRG8KdnnHBW8C2XEJte+xgKePZ/OfS15uimaJrJiyPhWwzkhNkn + 7gJcnN6Ua1csAbWY+Kp3ZbQ8zmqHWuvAb8Ca0HXXZ3pfH8B6bMrA1UevdLdkZhku9spSz1C3aWxL + KdcS3CdVZWzXcOFKBiH7y/MCLNvG1DcsxT7dH9iKJeIVk5g9A4OKJZt43AlZUrpFTiByKUXKiTaa + FkGaRmNgTYKb8K9Yi8t1unGuTuZnaFXVSHACLPBTxVk8hmm4njYE2QEVt/2yz08TaROfvo8JSn5K + mRNelyjB2OFnfey9BCn+sXhLl3PfEaRwwF66EtpTND+4A28sKCgDI4+A2Uzf3E99GGprb5jvqmox + oAmC2Pge4pdyikw8Ua0ZTMb481KpB5ZijfMdJCTscxeblPPLVgslrm/S/WsDJ3LhsXvrlKg3gmnR + WbQXo/xyEg3kEjqZ5zAIo9YyJyvwpKCMIZACF/W/1pDDbhe9RxCUs12nKdUQtIz2KV/SZJSO29ek + HKYmogXNzVD8LWpgQdW4box+2Vwv7Bax0wxO0GDuT0QwsPqqkeR1PZtnYH5BKUCwyjrQ7+0akHUz + 5SSbjN+VuJ29oZcHWPkQkaIY8SvBaRvQ7TKgJOAe3+W2gSRjlSpEIhzE8apq4FQ4rOoe/q3G3ivW + k9xPWajdT3fuxna/wAPF2vStsHh8aG3TC5NPyHVJy0gs1tPnzjlohGYMcbKIyQCnUQN9pSq5HRYf + z/lZqwyde1+14Hll19xTjoBILOBzQ89wHrmvMfc4YpkQ1KPA2NtyNkTYMeZuJTCgERJtP4FwEZqr + 5W0pn5tEQIUWiHLep+FvlpH8t7xIudIsTgW/RFr2bOsNvMXFEcgW546liYAfr5vyEWr7u9d24pOs + me8GYeOq3KOfx/EyBfGV9BqrCs9Fwbma84SEJCfU9dFqEPZ9RhvhD+TNSVt6hVH2Apk2b9ZuUAlI + Y2yJcJTUYQaiHTF2GSxpG3mRDot74imhR27WbJn5Fa/jRsSzOA8pPnIW0KAEPhbQZq6hFteb1trH + JETj4/mPZcoMZGwfZNlNNIuNyeiE5NDOkiaZKVZJhfV4n4WlWfIR3XLZ2RbNcCpXEi9msi4/Gilu + sNgM7QQnPEM7kEKK6vH9ddwl+KKqjvPNaC8sMU1P86k66WkTQHVyGU0iLW9rPuPb7WjxFEHf7iqR + wKgNGScE6TCeRHQP2UknjYpH/CqamTJZAIuzM9fsyYW1CPVFCRSjuUmAlpm56eZxBL5/7f5GZqiw + im/HZp7ImHW1pBQjbiPy+3mgjDhzkeZ5HFx5LfED+2Zv+p1b9S6kmvkgnqVKFdXUDnTshZzgWtcz + Yy3yJDn1d3CVD58lt+njjHIG5jpu9q9EoszPUOp1nExilK0mScwHIbHilLoqFmKypee7LUEf2HAa + bhrHb6cTxxX3Vhuu31sLVYpI5kZXsJawQYVVtKootniavPp+rfc1xGacNAdpN69njayX4QeSi/sR + E0UiphMX9I+xHClqmVZ6tWBM2WC+OtZpzEEZt1mkjsqgmc7WZwz1VQyKpJjee8eN46Ha+/qzZqAF + 1VCVEDKdBDo/I3foIPbvRrBxODCoynG+9E6utiSUHgtkV27Ceh+mDOv78Tym0QFaUvwSz4jiESMg + /liEOHpgK54kIjV50rgxVXoQyOAMGFQPrUV60qZkT03XhYSss/H1r59qjUDXKsEwe7MMIczm+c/4 + Yb7VDpAmyieEZrd9l2Sc9eukkejV8fVmRBpHOur5tH/xPtWxlFb+8mrHsqcsjt/6uo2/dXefaOto + UXumJrFVgJplR4vPAhd51tbqIHpXsL0aUUNYJuY5pkD7e2wfIUNb72rwwqep02Bja5MYQ4YVcKBj + BcOmaqU0VLtKY832If0e2V6W3Lof2YS5xB2Ju/ShnSPYGpWS6LjAVfh4ScJX560xSWMzsbSiC13m + Buls+JBkb/BBxyy/pKuynp8rhMfqmRC7lW83uzqruulViEn9D1QPDfmM0e/eMy6QCVMNU2JAN1QN + zQYPOOP6TtIAAClBkU+IZTKz0YgFPviwJHlmY3XxVc1ZImrgFddj6ff+3dnbUK4Bb3GYub7K8E2+ + 2cYLkq0ZjfHFYdOtNaa/nWOWEuSnY+1oyPyZlxuSX6JdwATsExSBEaHnpRAIpIRgtFko3lAyZecr + vrG0/pzpFoc33vFz6mOOfHuhU+29wUxa6jZ0JA4UZyYQIZeKp03K3rHp3yPFFVYD95PFNA9dYt7r + aErJkr3DlqxPIONXRZviwRmv0m1HR8TEIAxVWyDDTaCvZCi0x8sWP1ulu9KhE4oC+oB40eC5u3mO + +mAxuMemIqkIVGhalJLSWPc/tux5N8mw+IuZcMAaiPFw9fAdvh3TItKPW83t9tZ1yr+pGOVaRFAt + u4tKLMcJ7vrNwZItJ8iHpo8qOIQBWLfdVteiwQQ1hhDjxfSRjhwwkmzGUXhXOq7o3luqm9YjBBie + XuuuJ9QTqvavLc3xpLIvptp8myYwRpQYFjCMdwPEjsgp2B6nmljYRc9sQxlYbkuwLUR3tYmZWtrN + OsepSs22gtngGkPgz4CL4p+cBOa13qnxv4wdxIOFRpdw3wb7ACorP5pMBWBhXvsxPG5El0Ta0wN8 + 9OdjDiwrVzBxZxisFmov8mV30J7PGzXtQQsXS12hNWPV5Ctp3x4wbCsevL4Ixm3w6PKEMu1uRZDV + 2MlbxdErrrK7Hmi/iYxk9KiITfhxSjIbB3aA9ol9o3bA2bHCAsEA2HpOkXkL27YOk+y6nIgbo0OJ + 7CvVaU9AULxmNKsps/Ir7ojTMyMAnGJkrkqjrSu132P3vw3pzBRzYSGVM5CMjEn28uOV3gALfiuY + SzyMrpmcM6LabNEETSUf/ocf6lEA6k72buuT+ufJtQWf4rC2NRLQiOjMjnzSneY/3yZwjCJ863GR + 09CG0ZiBx0tqHnsTbT3UbU/w1HxyRDfz9FEcovuxqmjv5gyeCVWiHdKVCsO2LNmhdMjMAeYVyA2R + xEHOh6iOkwLE9OXgWqAcBukqkJfrIP2kt34EX+a9tfSy3hjz+rLS/hvnDOFXBK0Zb5grqfXuIsBU + 4sG6+hA+Y/mRwxK7+XcOxL05bKXeXF3YnVzD3tHZZTgMlxKfWZg98fPzpttGA79IBa+fx0He6eQr + vgMUr7UAFtSQnQG7sk2p51gIfzGFYxkBX4vUf8reX40cc5Fd3xDz5Mk2HwiM5QJfqQgaEosfad0C + /aYcBYjhn6JYBYLWfqA6MzjJ9jiIUyEtz7HqRTlcjN/wVcZB9E56TSvJp6PNmGzm70E8UOmq6OdI + lUv4qU+qTb6c97Fj4688UYTaTFL5FyUi0qx8WbaFqFNy0z6f3eyCVbaTmBz9PHpbh03DydwlaHSP + CRBr5mOGkhyADuTajphXZ5HCA47i/fQjeMCN/tFBwa9x9+FJZfI4PMp/emRdYBy5T4mALSgHmiDy + fZcfSNoBFzX7tCjYNntB2YQH5vcQcd80YaMHYAd6Hb+VJ8q59ETOz6R0HkQDX5xqyJ4c3cGcwca7 + kxCcPy/Tsv7oPT7AdTgLEPP6ffZTdsnrYNeB02Vf09+o+99LyI1+F8DFuay/fR5pqXN7pDrObIv+ + C7KLtl7HGqifbGp0uXRifzMOQCTJ+sxpftEE/IeFIl+ZfXtT09aIWmEIVKUl0Z0LEuTHrfaFp783 + 58U2re9wykLBozkZhPhT3xS77idqclVHVftDCkAn7kmtJxtgYLz90tzRZXS1ipeKfsdyBqFQxq9w + C1LOV54UfX8OlzuF1WAMxr7qE6xdqBmmlSQrBY+9/APKm99Ar3++xDY99napf7jWVdLbQwgWfofh + J0WFXESEMGbVmYcVebku+sdMlbjPB5/rXzMk8Oxf9BcWePRKJbuU+V4opkq3ppT1nsAEOnuy6R1j + 881jNKGRxhx2C59ajGNBuX436FavvCLgkD4iE89KobPZMGKWpNz8ZbzDBKnypCU8FAfn8a5Kf9/V + q/aL/qm6RkR1Q2WcvXyVbv5wuZmu8xuF08joewja8ymyk03O8DWjBaukaGmmQDDyn5S0S6K5da7R + de4hPGEnE8OQRAiY2X+OM+1VG21WCF1WQK1gLFOS8FpRDg1fj3B0j0WibcdgcumNyU5U/vELIavw + Os18SzueM8tjGhc5X7wpnKprHhtVCFVkyZQ+PpofojUg3nqS4gNkIDKwfxOow46LGoSto5w1GfxN + b8RQ4fG6qUvg4GudNbRbvWQ1W+HZUSJAicTvKgjebLqgYZM+9E9CcKmjxeYKzra6t+5meYRu/HH2 + 0ZID/EjnOoZg1HPVleZbhQgQtPKtNtElfvHmNyeAronGUuRjxHjSTNehgp4jkDyYveWiy2ct5N4x + GV2LWMgx6/Dr3A7Az8ONZyS+smMifcCpMtBPd/RgoHY8RYMcq5TVGFVt0vHZRwPmbLaxdSo+JKGK + zqs8U4bfjj0LnQU8gceAXGsk3pQ5u+7FbvAoDOnUung8UPN/fsNBXfF6H5oSCWVNK+PVnT9R1duX + qAmwI7x7d3E5aLN7h/huvf1stThGN3nI0CF1Z9QqZICT9/0zZ1sDXG3UFWUN08OfPjdfFzZFLS3q + MISpePdIsPib6CmCW/szry9lDCSSKMbi/jtxaTD89XQj0G/GxcbpTlZAJXNUfh3l/ZSP3jBS3lEe + gjxM74dKG8mHpiwSVlbvyVxgrmlZtA5zgJVJwvBoRPtf0ol4S9I/82rulmUcfBO94xlWJs99+LCN + p+jRZdshJNgPzPBbsKU8HBlnhfas0FRTUr9/c/WIVnz88FBEC4QjO9ZHv8vDtWeWzXhuSW52Sdbh + TSgPPkFU30cJBbuTGzy6vThdlpux37eQWFPRVfvtodNzaBTDdRniBWSBp3Me+cVRR0nPs3oUSR4E + 8WAncX7547T8KxePghX8AzuknEbLJJ+fk2DYK/oaz1uregPXFWltpDIlXqIygL101l66AxHTRxbu + RbJ9otGVeA0iKhT7Vooqkk7yKHavIYXeG2c7y5V8VbjQaG/mJCyNJB8UKJgV+N9jva7jsX7RCvYg + GntfFhEPsOCIquW58BqepKBbGb0Mz85qUCQSZ4j2gxN7LK1ff9inuuXm8Mse36b4NjF8jDnYKdWh + PGPevxLXeYWbFsysTytVi2ThXBV6roS+95DpRnZ2zr8YpMJDkiJHhU+w4kCC4McPF+rKI4LvQ5B9 + or+UnzeNWH1m84yuiZ8oqw3eov5z1qds8BHDSiedFlup1wsGZfoSbjpxemaGfFpw78FYIYbtX1lK + P4kL2axyzVCF/qP66fb4gwy9MjXIsd953aSjKXl2/nBB7z4HBE5TUGhn8XMF8zfeJ1RG+EwL+/HT + WZsUHOjxZaOO2d0aL7Ghg2qniewTs/P5sij84a6xlSKSE9vfF0BnebK9axYokW4dFiw1dor56zkU + f7I2Qd8M0R2ug9V3gVZloimZU3Uz9jB+Jt72qxN+R0ieXD8/jhOw0GQ5I47qpXJzg1ftqjHG1shY + oaHmaogkAy/xDjZPKUtviW5O/taLTPGRGnjgn9/BN+u9XZpoQwj4LNgFbgYc5WQ4ZnCO7PKpRxEB + vZ1vTrzdj5bhvTPC3rZt56fsSq93xpWnyNJJp3yz+iQkZ+ycaPdS43TdwUJRzK/2aveOlnHK0ATN + YOGJTVcl80d/mVoV+XYZRYpbBxYnqHVkFiuYlP6Ea+OX8RNmQDMSTeVW+cE9WBXLxTw7Vm0wjgZO + LyZGZX07GYZmp4tfC0s36ITBhZ8bwBOQSC/2Z2NlO9UzAvopNAThXpz13rCT7PXO4jpgWrCtfjmz + dWBBj/TX0YGwY4hnXou3YXGfKvQ9gnwvnphgvt9mWKNYGyhBdD8yDiMIPG+zb+E8mdZJQo9dZnO2 + u1RRMq1sU0dTXP0mc6biHeEU8djd1+Gp8Q1gExzvTAWz4VKyzBbr+lslG/td9eTkPwWkRpLCFyU4 + vUSgHVH3aSd1+ECUncQs3JFbBph0MMcMM8OTm2MgKEWzlmyVR7ujrykvUyxnkcCu+QjFM6kxCpDz + x3Vjbx4a0Awrhno/CRkmtEMgu64NASZPEPREd9Y3yX43ApQLQ4CDa7y3951hVWXZQ0TB/C9S07pu + zvjglVrX+twziY8TZaKL0cla1yj8oKu42cq5xFA2JF9fJzevGi7nHCoIEZw/wmPzrk3OK6JJX9cM + k1hPyte8WY1ZCv2wwwQAr1dbBndEslxE7RqKaPCNuH3P7qzhp5eFOdFqjbXzZPDHO4BKFbLKeQB/ + By5SuL2iKk1FdFukZFuJdVyjymSxDccXiFigGuaYoNtfSNhtm9wXsDjViCICK4F+RdFdIudZEHg0 + DN3PbC7oJxj5GXuAHNMVhy9P9v7HZUzlJQ7iuuDeaPkpxQBoQl5wJabxFHdjyCn1ymZGcYTjsh5C + RIJIhPnu+YWgsYERrKGrBAQZFgrXb0F2cr1tOz2CjsA30iwgMR0XVc6oAtdQ7MzouJ3mpTQoCwOV + VNaQth5EKQ7JqnVssM9e89xhgdXFan3opTB95IqMhgHzUCAjlyqUhOCBzndJs6bm+GhaeB4WsD2i + 4r7ep9JD4gpX9ifMnRV+uLJGt1KnyxCpIo6HFGL2wXJksTLTGKxStyYdkwmxkHrAugYdLngQqw8t + fqqd7QBgnpNVuJV2ZvcccWGy2co7XohDzfkNmFC5E+N9b6C9ZQ9r96ZLune7EYxmfT+LGXUX7Eqh + Aw+ScZdEjtvEc1J0Vl/PjL5mP2tLBkjvgcPIA1VOYAUtSPioyHlduMUFdTi9F9yRuT7V6LqJeDiK + UK8arwuI9lZbMdzjyDfdy9YDymeAYKS7Yul5j0SwCEwXT6RWSVEIicHpP33TWYVIj30DQPAXCatb + 8q+9tEntNmjlsFM273FvL5uveyKAjQOAaa5q1s+7WTT34Gju7A2hPJ2qybQgt+0NwZ8v97upyoY/ + ovs1XmYtEoVvZKNrv3E1cqkrTY43ecpbe+xd1mdOaKG8jtZZLuui1v5jNxJS5NB9dK2LgrVDMd0e + BiEqjZ6qIs/GyYJps5zSHLGVhYnJq9bmsVhL9wv+moiM1obGcqGbogeH1/Nf/OEZkAUjImDjL/Wg + QUKpPjUVmRHaeHMduPSC4i3p8lt9QQI25m+Kfn1K6X+Ou4p8C7I9pjR3MERkBHTV/V3t2xkepfMI + 39FrX/JGBePfmATfc1ghBW+oEpq9dqcs8n1LEhS/RVnq2quY7NMA11ZuO5sx8VAlhig+Jwnh3OT6 + jx103bZZhjRnYeiRKYDzwN6RIH8KXVZHb4JxrCwNcRbUcOK1McOnaIPsHOyHRmVQStnKLtv7NNWV + nJYcC0vMMYxZ0ofvVyZrx2/xcOna7ge0n4wTBBgPd1B2GdoSh1Rh4yRB3l86Waq+R3evqam7QEUe + 7xtXIqd8CVU0aADANBp0KfwG4KEnRX0WK81UyItjlssYGchy+QZY72+Gs7qwxpefDe/eorEkeF7J + Y5SmwFq8m2aCkbpc6XQkstLaohD8IRyJEcU1CJQ4Z38ZT7iiWuDiUSKin+eFp1t9inDM07RsHvYJ + i9PwaF2iImdII7W3+ff70zaL14JWVywgL5J1/spOcivY/dtlei3mhr9RXftVIIdu3r1YOnUJhwuQ + VR8C7xguUz9dd43c9TFnMqNfPsYSl/CWX1k0LQBYq/NqnGWa6KKkUWoK7vPgYzexOSmp2ALk61Fq + RPpXeeLqQP4D8o7yLucCkGNKzbmJN0tlfWK7iITd3jE8OYhocRKgsz3l1V4ym83m/lIqLw4jwYMA + 3jPJGB8BfNaCc5kkQc9+6/FwXurl3fENuvYXyj7fwmIXNFsEHBAv7mdS7Y58ASaSRBK2ZiKZjzAH + T3i25eHFwEOYxJ19JT7ZptCTwedABaTRdaDpWaobCyO8Vh/KhcX249AT6K6CJMGCAxNiFobIV1DP + 4bhwfEkgazutchrgKQaJVk6rZAvP180jfWDp0yIgfylJjVxUlmuhfPQSfkbbP+Qq/DOp7ATvYNRA + 8MQz8SmOC75vkgL6uUHdYff5kh/zEpu3xkW1gdWTJbIj851ytX5m/WdvkeY79hlkDfqJo/AZHK9d + 1dBE6CZmU+5tLmMlv3duN38sNvNXPcXlZIkt9zjaRN9SIdqVF2LVlWWK75W7oNo/xtjPE27Jx2xn + wNr1K78CfcvNlvIS+1N0YxhHOPGSwIGquDvXUBjkHzWoz7u62eNXkyrle2lw4lVmlS7gNutSM6al + 0E8+3E2KgxgG4Bsie4Cp62qPw1r2MsEIuztx6u61Tq4LpU9uXibdOwwTfAqN5hb4R+bVcsr8bfvI + Bpo8vTxag/lSUlIIRZB7YBU6lu9HDrf3CrirU6rBBOiOJAORKYoyIpyI3bw12/weWrT9E/PXVVN0 + 76OZcXB7ZzvhOZIjgflu3nOif+bOkoTovPGTota5oOI/F/6py55EkGRHMx9hDT6xey0BA2UaPmau + XXWlmD/GKtzyeN8uXLvQkNW/77+ME9Ux/IoyWrJeLPMnQBuV8uTXX+SLSJlfC8LyRc1EkQJEJQmW + CwShjCIBfzVTW2CHcRJH93u1AigTmqVVIGgqFppcxJtHV6ryJqsNASgyPK5bE4VFjk9exWjh6XDS + hI2R3MdXJp+gAtZXKdsJOKyHJrm7daYHSNiKGUyw7rsvgVam8fkeLKX3EjvhOQNMExHH51EUChoi + 1e3gCzMl8dIoy0CvteLySeTcqXph7zlSDLIo4/4nTRL6qT3RIpdY77ItfJv7f+UHIY2Ku7KimT+R + OqlLnXofVf6h9C1zYoz3KvfMepZr8M6R96CMmIfxwMinfd5GckSDEp7ik9h72dGXfx2r9I017bIw + trlKDFPhwyMXtCJOSLaKOhUrpK8MAlo5dnZOJBmptOdgeiNryQEuaWTYRa5eqiVCon5Y4QNqsZtf + ABdldgxhzt/318OIsx7glddiqp0kZ/67G+4XMDIhNWmWqwATyO7rggE5cMYM5k9GcXHoBv3ilDtx + 2TTkGBwOi+363m/DpTA0nDWGs3LpgHf1PxYw4v6qqSvKlUnn7CZWz4caC93o9neWfhpBD896DMP8 + eVyNnnVa0LmJ/mUzqDSszIXTuBAKlbIvvy/E8BXNHLfvJ4pQb0YWaxlt8zw4ez7uhF07QzEqBweK + sqGWfj1xPZh4db2/VdDUhTOlfeAczye2b9lZdITB/dIDq+SWZSCMAXLcQBZ2/EJr+GHEzVsIsedy + O1dlLPfQORa8gELsvb+gOR/9aqp64QuGUJBUouw2vuHw4PEPG5lu6+Kbf7KjvE5TUPOmZAkTj6DN + z6mAaVLHOY1sUYqyZEbzX8mR+4suMA2S5SHFD32l7d65NqflkQ7k4ywv/GwMViGchM27ogXu3WL9 + 5F/HqZxmh9vd55Yd865P2ORCUsjkfkn0f838RAzsiGKQMkjYNZeZPPaiPpPHaZUtiG5VyzmJjl5y + QzUnbNvkKNymcuisp9Nmh0o5qlEJ/lxfacBk++7D/n/IYjG8Myx8XzqvHA6vGkyyVVGSKVlmwBIo + Tprls2ETntzYhBFJ8wFoOD0UIN9cxAQR/DLU71pgrIWqRROq8v2ocTs9RHQSnNPtTd8XiLvgZPC6 + lMNKYUNtgke+LWuWWBBoiy7UGSbuEnVdZHUF5xOwuirWLlx0RYlXwpz60mCOGaLg8cobtxfFEmeD + Ud2WcrFs8MwOY+0bbkMPPD9M0txuCnGhFupmX1qc6rde1uw/o+R47XQJpi2z1tFXoTZAMYxKq1jQ + ctdqaDXNTeheWRjeCv7s5YVzDuTxe1OHkJXTioie/IaLw9SRX7zaEXhmkELAB0tTOTu0OjqTb/V5 + eFDEMFuBRRDzJX8bL63lFcyA2vD5TKIzbt0PeeksqWl7/IuUn4iH9XW172fZbmrB+GJZNgOTGmmj + a3zPuhhi96VWHU57wgFzDxk9D9e29hCJ79PZhwUo/BjAIIR/mifFeBBqeKX7UNtE2pN6QRZLOpt8 + jWx595fWUYDV265AjKehnCxcZRSDM33JgT4c2Y4oUlrecXYTGsr43Jmy5zcK1r7lDRS1nZpZFsN0 + 5ORtuq9swo3M2aKLjGnYrpjmWPgcCanRYxVAIuw7yQRqPR7ZRxjwlP4v4nnjetUVWsYXA3QSva55 + R7l1jzTm6BxxZIRMTl/7xppMAwdgFl+tt54vBaoShZM2/lnwCg/zENsLGxTyf1mFnHfxA2EzQRbx + nnZsdsnJQ0KLIzk8UalzKADwnJj6PA39mQYLDbANaOKvymtWFVtlqyiecy4IdKyrEPXkuLhEWlc0 + 5qfgha0K2BgjgHngXgqm4Zjgd8eWqKKnhsuSS5Lc3PMvvFc61qtBOkLrdIDAeL1e6bZA5y4ZjIdC + 12vp6IAr9cZiinUKf+FlaYzXYAMzyoSfVU0ff7mHJmwN/gbn16LoAZ2AVz150qbFGyAL7IU2K+tL + pt+mMJP+c+vnXxYN9PYLpFykjoZy7qCiHdLUkbZ/cRaumL3sFaVV2usAjZLNx3TVyy/XhvvzTyJh + QJ56agu34+dOeeCirL6Cb9fUH2y5cixI5borMsfDqhKSDHmK7JKsdXbg/jcuXdnPvOcn620MpCn6 + itzE3iTkjdHif4r9En5yBzs9/SQh4EIYaF3m2hnb8UYiaPsY7I7ogMwJUet1JPiEkytDu9NnwOtb + ElRSxrOOiSEExDqOTOXAuHYrS3hTTcw1Vuwp9HNPfC4GmHoKjHvMBJUK5u79H/sNM8JoURsZGbGl + OvGxJriuHolZ5X+MGMcA+Zwn+N1MFmL1cuOTmE39Aw+6pHOG9w9Yd82NRdSxbYhUhqjJRObn7jMi + eOQ10I0UemMgcLsxirXfdZwlT7oMo7WfwmFffRUgLct8lc5pLbNRYSUzeH8eSuG05F0HNs/o0tyg + vyuTAx97WRmlkc23kt5Nud5DgtmATSIdnO2WzRIocUmfdPwdciverMFewdc5pxY5b6M0DB9ntOce + WkomTNOhzSL1YAOfUZ7beKjZfMQlldo2qgELRqwbay3vbEiHy5XO2h+MqivcY01wXEhed4lshB/1 + RyX8TnJ/03HOo1oKFHM0vInnR2O7i+dUiQFx+GO0hXlPrLZAPzF2j1JuqXRMrNLKb9QlqCw4TdMf + L8w9OMUkL+GvWTV35nPj+5j4PMaZPpROL9mndRQEyQGW0lr97hJMDlGJ0aC+0vRsRv6dzB7IayIc + zTfsujHFFInL/WNyjXuBGTDMeXLySvdC4sebe/3Ujss7+7Uqxfa7qydnEO5+FZ3R8cPlpFX5VPHG + y/kA+ZQ75M28gIKQwgfORrfg6fjtlvSTwcNM9uIuLHVR5c6vbyb9gi3qYGmUmB4cfovI8QHdoCGy + vfy3/KxXEctWQUI/o6Y6iDLCDwRtFXSdudz6Y9wEQEfcr6iNsNxmjRxVwdSrrflitCZ6LFuZZplD + B2Nw71qIx9pu22Qc6A6Gw/AXLuor4kYHxPZKeZe8QuHzk9ITPM9UH2wADGT3nUPuxOKr/ChScHmz + uIgv6bvATeyCxClFlXJvzF/VXuUnbyFR2+3nUo4EzJ+0wGInkHfy2XGi15sxEUA3U5zbSdPLZ3nb + oy0G6lWjRwVTJ8FJKBvpSRpsu5VgMIDsc+VHFO0aG3cyr2ORS4BlknUNMg8vBOkgf3rfyL5JexYh + RgwSs7Z5NjY4vFSV4EUMujhYZkjGdvcGaOYzxY9lWD/aDQdlTGbuyHOgzwWUs7gYRnyu7Nm2tov8 + dW12J0++JeetE+nbwTJq5Jzha1yLtRZw5wQcTuFSHmrRp3RAfS7Y9sBu0VLlDXfEl0rEWrWFiXhO + kPbreqIB4qzYg0dig8+lxZe5isx60iU2ufUa+mb6r0Jjgo6Yup1j+xmGy4Oy0GALsZUconlvVAf9 + yUN09pOCPlwQlBvzy6vLFOgUTYbR6yq98l4SpAs+5BbT7gi+E9x5+NQsvOYVZZhey8XOxtoY05tJ + Ipuhinb0PN3OFhnKUqRpdEEpaooFFueKhErCD4tf3ENb20TDN3+gYDlECjkVjf4HmNnhpp4d11fR + iMFe9qyg+ypLDxd7p6ZLpD5hwUm0OATLzdVFoWUJprM4KaRC6hEzgEa28I1s34svChVpGbqLSrtV + Od/jj9yIrNo3E1HNPR/Ty0QqLR8uDBUS2PUoNSWMpmkI8GxGsIStXunxQdxWexm7AGe9Feq8oQ0d + B1dI/fb0sjU8fWQYBhuf/udMpApsgrelbvmDN/Hf6lhob8Pdj2Qr1B9nt04Qj3KcePq8Vpe6fYkU + QthL1bzP8WS8VwKoFrie4a4DExLFKKSXOOI9nvsUuOmp35JI0rJRCFyj2nZ9o4hT99CXupkdtBao + Q+3OrvwafwA1LTghn73wlnvAWd54QL+cB0XGefkFc4Gua8t75WTqZUlGBxWpT9HNzxEZxW3WxJsM + MMHMhZYyDlLI7+UF4wXBVtYURwp1nowx4dhgQ1mxc2RBBPzgSR+b8kvmtftAVb1imUjHu+/I9pVw + Pm/qTXA8tnIGvJYRKt7xgUZfo6m/8oly+ap9ztbIra5XLWSuSudci+eY/oSlsERdchailP0pstd0 + 1j3JRKEFeLp04hFy0lf1Jbza24ed7tp10UeU5uu1nCPrrzmbMVd7UHoWvS8DoThSgmJroHi69/3n + 2Ezhf1An0l4kbO9On9Ijw9pCd++wixJzo/6P2r4IJpHWMWO3tQGKukQzh3OKjnLEvASx2Rrty5Cl + X18xeGSFqeUIpdG+DaC5LX04CgWbrFKgJ+1yXh+z1aWEuG2QYz+oXAALfqA2pVJzJU4dBKi6ALtH + GPhMckyFoGLeEqRtfkC1ZrD7jhs3wrSJ0Z3xy4wj81EiYm71c3g5aYIP2EZqkAFd41NU10mTDSnx + 2MPZEzzhqst8pzNeWx7TpA06ZdnV8kRBCeUZJpgLlS5FzMh0Dhy82owYiG4868prA4ILiUxJeECj + fOHITJvZPyiGC2WfSVM87d6tQ2sUhYvWMtUWlGmBngUImOVRd3ua/iDBrb+KPZV+bTAvkIFQVVPb + 6uvCxw6CwEWK1YbmdEMpVvYNvsHtYA3BEZ3aiLmw4SznAFizcKta3nvar0qvQtVIiIHfercRIt8R + GxhU2TUUTzIJQVWSuYiLv644koPGjY747Ho/BoqNaVn8lb86vysyTg/J0sc3OrAne+01CLUuUEc5 + uDMU+xBiT1927ZwVreXeeZP7RwA5xafq7SCDq0g7PAgSUKWR4L/GPWCvHhAEsOgQzdAECWfsfV6m + Y80xIXbcxg3rCUuDDDhBKIrR+zVHsSuhU6g+Q4sQU4KgevpQfmgkj19UDLw3k3QfbPgplQs3/lPf + VaEU2i40U0Yb2VBvFvlKQ0D3ugjGoN9ma9I7kAcHL5q6JEBkVHcHbL1Iv656+MB3ZBVHtr4hq7Xs + xRwNB7/u7x0LAJV0FrDoGvt8iYHHbGOM1tHExLIL1+PYpoLDqSGV72vCd2l88PsjaUJ0P3Nz2mVB + 7QG7YmQHHxBgI/qvsIXYP2CNCeclb2WcaGzCZHk+uFFSfqV8INv1MgPByP6uu4uWbAH0GhZst2BF + XCDtJwioRc8G9tn2Qrjb7rBrfqrnQ15TdpWaj/08daeFjsqdYiDsCLi8HNZErwYxFyKvZcYoCoxL + lvrlklRAIGHs9JgpEF+BXphXcQmmteAzYLhielS/PSuYQDBNOQ9Gb6kSIJ3SpjfSMO6U9FCNlMT8 + d6PNx8ti6PvJLSLcETi2mHHfBq14NrWmG7ztXyP34IOOIS7Vichjk08UU/3a9qC4xXTSOiFepPHd + zzSJFHuaC6uuJ489poc08zYPEPO42oWsOKqsJqlBqwBlN0tq7AT11bKlpqEcuop/e59J+STgjzmU + Du0lh95S4WCr6SYRlIGsv/09vSSJ2hvfUitv8oqMCWU+gAQJ2i/b7D4usCI0P5JYyuxU304F68an + dCiYHB066JYHXPa3V30DH9A3t/043qutHrgCPCC23B480zDobkcl/U4PwM4Fme5XPuGCrMAWfgfF + QvRIoIm2RyqBtlujutsTcQqTOnl4OJDyQNt/95UalokOVekWKvT3uCmxK5EWF0SEFQ7BNh10GIzo + laIbzHklheAyW+GjoFUnb9lKRjCmAvdxq2OCUOQDB3nPCI0R0TnOA9mn4uKA4EnHu1pIKE8AuHuz + QKIeR/Jyz/Vm9KGrHPKbnN8irW07XSBAZfNxNgp/+ZCI416S49gQzP2wmoUBNFZXZsV03om5+rGa + kDSwocxWgGgn+nYC9EMTghFioRG6pJ7dJJb6N27TRFSgeVLv4xurg+hd1Oe0dOVVdqgaVXnjfBG+ + jIC9xvf8Wr+1IWFChsES2xu2i9FHmgPmK6V+jgZ2m9t1sBS8rp5QeUvdc2GtH7tM2q3JV/7hZIzw + kPFHdiRCwitoOYiQW6Au1PLK8MPmWJ0RKzXLsQpimtOo6pjO8UhpfsIUKIWlIbiTm178AC6O+MSa + 5CIqI4ovXZ46nyqt/V43y9R4qc1yjPdB0kHv+wUKlwMy5ECNLoxhGxqAhKHjnoZRRrave6OP1ekU + cLfuq+I6T9N+9h9Z3ikZl+iC15XsdZ4Y3XE+0xiI2CvxPcEvjblJ6h9Mlq4Ehv70WwokKsBkjwZt + lusjq3ueMmcbytHUd/Cc9K47LyXwZ5zEW6FwYaOgpBbrEfabrkpECZdUMhG8TcEcHi4Xh+imEq8R + YONKHhh0qbNY4sXTW6Ha65BfvR6mAa+E7viZnO9FsM/7F9i3l2XEP8FbzSqLTN3uiOFBUOS7q4Bi + iN62Arv+KXG1qCEiIh9EzVXoOG4ZTEHt9MToiM5PsiikytxjeUxjXcyYVLFyNh+96GcLD3LjvK0E + BNdVtwqUGw/oLTqsM0c4eSG1YuOsmUtM7yPjOSdnC5u/YOMLyQBmks3gLnMlhpNoOJztUtdNMIjH + zZjNa+LOIF3iOtm6kumoZzUidzevFbyTMzORt15WiR/Fczqw5Hk1drZbabBMd/P7N9mpYtXNshuV + rmH7LJiD618erG1fe82oR6my/llsj5IpZPTvbIwuxyV8xw21ePeLyzhijLZzpOBNGPDyHKOuJ95Q + UnMvOaOD5O5RrRrZyTRuzd/p+RRcI5GaqiMPK0mkdY8kCRVJdhkbWgDz5eEBQdpQGoUMv+ChuO0z + oquisfNdyX77DjIsBnfJDYQNAz2d4E9YqrOxiKdxdpP0/D5HoCCrO2BT6NKVkFRgObxXkLhtAoDb + K4a2MDDjBPNDfYRO7wWcDhrgdMN2cGEoL9IlLRKNXyOGe8ratMtWgG9iF2EzSkXi0bIv2J3MpHC2 + iJrUZZl9SAd3Ubyk0dttseeUv+eSl5m9NQtmFZHSF+y0PuFOVxL6xGEgjN7OCmym967z02GLrEW9 + MW4kqWYeJdridBdlYHUP8VMIv2jMhoZc/dOKel1wPSKgNtuhXvdJgcRUUardlu4GsjKfRhBbuj32 + yIDgn9B16OIVzDvtJU6mfkuhJSpvtAICBJZvMV/0vfUQBrlqgznohkMkROlUiNXKtF+I6acdFpTu + SRaXGwXIZ2jVOOCCcKh5YWjKHteg6+ujHedxGEm42AvtHhd3vvXhxQ7A2uI34D0V02yRpJ9t7Mzu + VbIjDwY3D4jcgF8LT8wwS5fcken7n5+qshvjjX4TtF0rNR0w7SUv2IT77izOZO0Xd2WdXULouyDs + WDavQ5jLANkGtKXuhkcDHRhLuvE/J9KrV4xePUDDCEo5gyXuK5wXvWD+KuV814mTo5gGD3QPhQip + u55xrgUnrGFns+12QXfQ5DLR569Jiwk3CzR5P5sQ5JoftEVg+ztM2UaSITAWE/H2oGcfLdEyHWsy + VN4tHNvEwoCrserH608U3PN0qJHnQWplcKMmwQs2SSSXPvzObNg2jwwvQpg1cI1+BfQ65Yeia+qq + Yx8KGDYpLP1jKW9vq5cvu8NjhSB+aE5rFM32DmnxbTZmfnMiJfNOhiaISg+pqBu1qKln9hvQmFlj + G63zwEw1WvNiEYYn/qgI8On036icqsaQPIWsABucdBVpX1uD58DVegawAIfhzZjbn34jZh1z8dDD + 0IpOKfnltJuImY9mgiPplovV/X7nqugtu5t8Kb3j1XKF251Kvq75kDJwNIZMHbozNHbB+IjvNiki + vC9RvVspu2t57EQkuDOyvcam6siQZsQ+9pTCpOJJS26gCL39NevGSbzSz9zgwMRlzRRecQf+Co19 + ugHp1KmEhfjpotwI44faDwrNFb2zGvmA9FR/Sv5dWXTXXCzGjZzW8EC1MFbJRGqsR8NrJaOB5w5j + 0JiPad7mu0zxcUh1llp6ngCwLPx/dWIDGIJgslXTHJ1NXamSm0sdH4FSN/NKkMIWrVYZZpk2KcsY + +k+X6dVs0xe9ecFb7721+D16KYgQaW5IA2XiLnaJ5E+KZobzBT8a9G/qn0a4Pe2e74WilKSVutAP + 7QshlIoh+6GFAAXbHT6rPo06vF3RAHUcjHyJ39eH7Uc+OAi5lo+MQlPJN0PGzGMTmSRh0M+GWOB+ + 3ssYJQZfsYHAiYxu9omLn0MBY2KZzXHMI3XiMBmehTijq9bI4fbgg0VYeQL4vxTFHE4cpi9wdmbB + kzmXQ9CKoHnA4atLzP1o36KGXeYT5J06FVTTqLiJMqmfkms5dglpJ6h/AJ+Hs8F7Mhx7gr0fUG1b + 5e4m8zSbu++QGnikeIbM4e2CVz8NYIVN0J+ROMWEZQaBpGw+Zv6eDwyrvNqA5llMFeHbDF3vkKqW + vImzIbzza7/nDGKOpZlzeVk49K5xkV2oEkJNJq+JR3Al3hsxeTM+LAFsPaVwXLETtEYLEcD0s/2A + 5iYBXILcJfYd+OrGaM/krI06V1tvxLmwj72Y8+6Ah58FovnFhxyvqhM9ClDuY0UHrYgvs5bMabmW + Q6lpCjsGRICuXaqJahesPLlmzufmF5QAbssD6jKy6NZQb3zC7oS09TLgMYXrOoIRsy5FWi9LEPTI + 1ImvYsoW3mJqw5jnFpeDWYdBE8HeCx3Ce/ww6DkmpNvKB8rKQzECROnW66DeTk97oDS+OT4SrBeI + OSoqah7vxes4vYyWdB+pWIGzqpQd4TNmF/GLm5gZItQ8SWKxb+NZQXG3tbzoS9ZErpFyQ9yUUum3 + GL4nybx4WdbkSyl1h7Uw4Dxr4FZXOrsBbSM+8+rJy7/Ysw7yMEuMI/QXShygCvGEDXc3GUMQv+yw + k9wS+Hhu+QHI4/DIcZv54U+79FVTFy8/cBvAZAqgLk6BII0WikztSmvDQpfUNajh7qvdCXPaF5k8 + I3FCRxuzsJq40VLzSC4cg1JtwDErl9Z+VrB6Fv120JFmOt4zAP1eRSwF09aowoEchdbqwolxZndm + FPsuaEzwXukqqNAnfW6/V7zd2t3NeCAAsHEAEPJLYfyDtXYGsOv5LoBjkudTZUj+Z/kZIYrqD9fp + fxLK9PlG9MW4YasjOb0iH21ReCub2JMdwfAPmJdyd3Q+X0++jx9qRdHZbIhbZJle6aK76Ctf90Ps + EMvk0C60EcFXja+RZZucTpRosAPD6+PEcxH+sJENLBcMX3APVj+sJ4+0EUfV3DFddoih04I+3NQH + lmR6mDraeavh2GQ+jSCamnkrpp5YUHhHjBb2vTejjHuxAq4vpZFAs3vtwLGNis1r6UvK+H19vzph + 5rzBd/MWsnjbDhg/DTn7BCw8N+APFcHyD5gYhEoX+9StozK2QVoEGGkYdEz6gdSb9rnHpi4cdta1 + 1V7PUTTr3PjJ0OKpBAwYv6qP9zAItVKcGHDQBHaHIHwzwPkrxYsTxfK0T6stnTp98TWG2ebGdrW1 + 9XfCCRGIO5RylZdtK0CyQ0zCClpE+LrrId9BX90dpxAQNLGUeOXczrmFAIdvHrWmST7e33DbmQap + 7df1qPCQ6vLQR3jMMW1DPZhB8ItNvlK9c8NIszCyUnN+aXnG9rmNTXZBkeRmAYU75SUqL9pwRdNL + lDiyIQjq1Vt8t7LNAR4LNemwy1iLjke+Ckxf8AQHRfkI5hud2nebgDLhChdg3UCR+aTEdxvEdb/1 + pVA2uw7VEXusDS+a0oisZLKlgUYLjXp3eisLQvQxP0PgVDmu8lweeGvdcv36KzksoarIidNvPg1Y + ih072QGGCZv01mu4lzRHC3dNR9bb7tLftKTHsLFe18khqrt2vJ0NLhvev5KVZ/p7kYFWHyBa+O80 + Ve+Q0qM6I4Jrj15QHAE4rjKh8P6IgvznuN+T5SWy1vHblR/K3PQOMnTx9X5Kmey0w2gHAgHhlRaF + QRHcSJd1+OZEuRW5RZMek7JOWDzWNPLQDHzcClawkGzlGAnJvCvSy44XoL22xlH5+rNNGxvbRSYj + uyAfKloIH4GyF7D622ndSAJB8MlNsyvsA3skadelfaYstFs3uKnDe5jZaw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 74fd4ed0-d292-11e9-921e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 23:43:28 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource80c3118a/blob80c3118a?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 23:43:28 GMT + ETag: + - '"0x8D734B6594EDEC2"' + Last-Modified: + - Sun, 08 Sep 2019 23:43:28 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - 74fd4ed0-d292-11e9-921e-001a7dda7113 + x-ms-content-crc64: + - UyN0g5X5nPA= + x-ms-request-id: + - a0db2b53-101e-0047-239f-66f960000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 752821e6-d292-11e9-a491-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 23:43:28 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer80c3118a/blob80c3118a + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 23:43:28 GMT + ETag: + - '"0x8D734B65968A7FA"' + Last-Modified: + - Sun, 08 Sep 2019 23:43:28 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 752821e6-d292-11e9-a491-001a7dda7113 + x-ms-request-id: + - a0db2b7b-101e-0047-4a9f-66f960000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 753f3900-d292-11e9-aae9-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource80c3118a/blob80c3118a?se=2019-09-09T00%3A43%3A28Z&sp=rd&sv=2019-02-02&sr=b&sig=FAM7exDgIb8xcVwrzjKQnpGG8ew%2BB/OcmLMeW%2B5Lg%2B0%3D + x-ms-date: + - Sun, 08 Sep 2019 23:43:28 GMT + x-ms-source-range: + - bytes=0-4095 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer80c3118a/blob80c3118a?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - MtRQZduQ7kx9FG+oxmqLmg== + Date: + - Sun, 08 Sep 2019 23:43:28 GMT + ETag: + - '"0x8D734B659824A90"' + Last-Modified: + - Sun, 08 Sep 2019 23:43:28 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - 753f3900-d292-11e9-aae9-001a7dda7113 + x-ms-request-id: + - a0db2b84-101e-0047-539f-66f960000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7559e0e6-d292-11e9-ade7-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource80c3118a/blob80c3118a?se=2019-09-09T00%3A43%3A28Z&sp=rd&sv=2019-02-02&sr=b&sig=FAM7exDgIb8xcVwrzjKQnpGG8ew%2BB/OcmLMeW%2B5Lg%2B0%3D + x-ms-date: + - Sun, 08 Sep 2019 23:43:28 GMT + x-ms-source-range: + - bytes=4096-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer80c3118a/blob80c3118a?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - k35jQp5JZBD2ebIjkqSYtQ== + Date: + - Sun, 08 Sep 2019 23:43:28 GMT + ETag: + - '"0x8D734B6599CFE89"' + Last-Modified: + - Sun, 08 Sep 2019 23:43:28 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '4096' + x-ms-blob-committed-block-count: + - '2' + x-ms-client-request-id: + - 7559e0e6-d292-11e9-ade7-001a7dda7113 + x-ms-request-id: + - a0db2ba7-101e-0047-769f-66f960000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7574285c-d292-11e9-b4f7-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 23:43:28 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer80c3118a/blob80c3118a + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sun, 08 Sep 2019 23:43:28 GMT + ETag: + - '"0x8D734B6599CFE89"' + Last-Modified: + - Sun, 08 Sep 2019 23:43:28 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '2' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 7574285c-d292-11e9-b4f7-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 23:43:28 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - a0db2bbe-101e-0047-0d9f-66f960000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 758a9c26-d292-11e9-9068-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 23:43:29 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer80c3118a/blob80c3118a + response: + body: + string: !!binary | + iO7TnwykZDfljclH2MsyzTTNuAMQh1oqjR8hB0luSbrknYlRexWEZnBPSfAtlE+B0RH0pWL7t/6+ + c/yzHSt4slB9ygwfqxbOItYWybJzxTLpHDe5c4AQjuf0oulmc7ET+ExHU4NHL5onl54fmqMhaTRj + Poz2w8Imx2MwXg7bpERafb7ccq14NTq0UdSHCHjP5C8Gunl86y4pP/rj8CkNZHZ7RlLImnqKXV0H + 8hyOLlJaLCWfkBnZ4mz9n7i/Sr8R7mh4EN0vAA6jpkQ9bAFdzN3NCZod60sXhQJT7k+VhDYjL2ak + cuobPtEs2r+w+rW3AT57bDNXC4N50pqZ+V1CZfBWohMju3VITEVCHBnLnhLcPjse7hKoJYEkGVDh + CVmgRxNMrLiIGe4EBHc/ChP8P3juFZa1Gum+l2zB3IKvWBy/XcGFa5tbmODtCg3aLjN20xXVY7/u + 7oJtjfx1i0tgZujlat3SD5vyCgKObwetoOWf13LRmtDBahTToFdGfWGAvUN+vdFRRkq3/cjFZtdn + ODGGzRwwFUkDAq82ZTSfNrOTi5SWXlDTiI69JUENPUu/oHzxRXWmd89shdAHDagQGoOZ8a4N60cL + 8TpCtbNlJWuZiZigjVOeV1WR4Lb0LSIPy9k9qIvGxEipgfnjOji3p47vaqtJ3IG+1BDjVrEVZhDp + x553yLdPdguclOgA7N9cFqQgmJ/FMO2W37Hx0qTbuEbZ8NFCgTC4kXwrsoSo3zYXytPLtoVp9ReT + 6BYmHVB8tFPAg4s4a3PsftI0MXIaLlDkezt8NX347mKPy64Z+TTMq4oTqBkP3zExayC9tW9qgMYD + HCC2b0jljLGHCYlzvwXcqykt/Rdn+RW2HtK+naT9ajS2vd/R76EGM9yUAqecDgLlAc4JNP0uqrIB + E2cC5UHGfKN2Qxu0EaJkloITgy16gb9uZQJVpNEH1EwwKYSUR6Dguui9Y3GEwDpOoVlPuqT1SRXM + jyqfm+q4Fwxhth2+H/MuA+3vZLDaZBsc8eWC7lFMH1/+Q1R7ib/eDTLQpwuiK4Dw/rpWiB8kMOgR + zwYGXTH9qnhmHUiH28ltgxxP2jmHozJDjj1NG8gen+HHjO8fbW8eo7Im+w/YbnGsuSLxhBN/dhuN + pqvDdOrDSf0LWKp9f8UhXnGmy72baA0MTTIu402F9Nfv6VplVj+Dm8J2F8QJxsaOh5IlznRe369y + xIpRhmXBSlz+Iud6CFcgSqZJUTpJ59dDmcUaNaZY2J49eplpjtM91SdA4SWDtOY6+Fuq1JUxz8up + HEWqY4d0NgQ8Nqf+sjGV/V2akrlynXU1B2bMfpYLVc0rYIbTOkLfaxZHgL2Kn35roGsofjm7L31+ + hRbcwKm2Yx2vYByFRB8JD+oDFcLZQJ5yRHm7WeN9tgu4r5FdhXB+vdTCLkSIy0FWYFGwScIpSh6n + wcrSOT69zQLNtZt7R4fAPQ5vBs9uQzI6pMNoePpcGK9t5xs0rdExugMLVAwOUto/h3R0EHQ8epUe + qfvav9y4O1nUIyj1rxr0O70u5VLEIyxTauyYzvA0z2iNc5ex3/KAh/sCgVwKZauS41Km3RzhFLQg + qij3320hs+ePaz8+RkVMSPyljk91UoKkCxomh96k5qMK7zfwmnYLM3E0n/0vR1EZSVzOLmudYfdE + wEzxU4vl/OPtavMVRoSQCmJU09PGyoIGpcr1t/toAs77nUjUFUCDF0corkKgXo0WrvgVvGSwKD07 + 4wpXydyi9kwlhEJGJJ2PPjEg5zi3qhEbrqVU91J3We+nhDSgbmQuaprHYqTVn0kgoQp/y4BLq6rd + Dzb1YY3k5V1j4i7IqCsLTiM0kxcoJwprXk+R1yl8SJCdqVm2DSZuDHjr5/1gtxXLProom7AKMomh + oUsP2twd6xVDFjEtsuNh7NsYDRDibQsBT4QYbD+MFOG+xcsTpLxjusWssqgI82jx+ggUBGGrQe/G + 25UBO0bcbtAjE3fI091KOV8MMz+ZWO25x99e945ClYMBGW2jsCiA6dyh5xttzp4TcU25w7xQBsCN + RVZX6sI6wP4ljWbWb/xYa5ycvRJoP7rtO8jAF7s8rdjaZLi5LdPIE9sMiYGvuVtCm9HDdo9ebwix + 2PRcR1f4FNFiD6LNlXrFPfLTEfbzW6SD/qc+Z5tyZfm0k1lbvS8dU0D5rEIiXcNzFte573ramQ8a + n1Lj6YgjZWCZA6wKGcPhzJaqAVhB24/XJI9kd/amk4C0vZFYcp973KfwcB1SHW2kkrrIbFTVa3po + j3gmmSa67g5vBu4YT76MhVLeJz3H1FKj5rqgTlOThe6XB6pJiE9XrHtEMZexKRV5PuSsyfPCjWVG + CzrpKpaHjl6+YXlXI0RZGLTVnj7Y4fMRWEYhqXxBtx3AnKTpEh10c4KHJ2oH47+GCcB8Tt1+Qyl7 + 9cnw7/RNJUkJTWZOoUReEKJ4YkzYSb+1e5aldWZgfqQ/c0Dy3lZRWFV2nUpad4VQAocoh4jjM9Hy + 1CyZfHzi5bWc45JZyHmBtkPK31m6MBOMDDMcMEgN2y1ebsK7CNnwErbjUq8ZBsTkDBcqFDPLACj9 + zRpg3+kzBtd70XBjRanbIkQ8IVop5y3FmBHxcqFQO2zs3AmdMUo75fKF0ZZ2lpZYyWspmL7cXFZf + NZqq6NJqabZHsA6xGAmzziyfC347nnTO3zRaEHK1wXiwVAYYBOuwbpIBus6yuphMI3ylCl0EN91E + qwFUMH/ENQlgIpvpRK/iiwrQpoJIQXg9rkdTTQhvFSn41mVOeCrRoIGCWMG1yjMYl6PQmsLUNUCH + 1dBwKi+iswNHCX3jjhCm04kkcpUp6MRel+pZFmndc9lt1Z4TYz82Po8rgCbWfnbMgB4zaGzjn0c7 + eXCvl4gO5nMlERZz27HnvgHbNeZi1mSyYuc5jpP7F2Zkal0jaJnUilQdI7G6BTGucDwNax+NnEyA + THuKaq9kQaapwPNuY20d3zsj/RV6Ivs85T+alLXU8wnCmZyrRrbpv92N+mIonIpt07EYPsTxUEzU + F9dj/UMddMO7D/xK+4QUtnhC020qy59zsuB7IXYrnIztdPFbwdsDmdw+2/B5E1CvIcId906Ff6By + C+ZegbqvFyhY6F55jpW1IvXxGQV3adt26m5d5zyFD9mSh2zECNxjEhmcJfyn4eN0mPo/3ctBMQCe + HkApMXFgUqXUi96ML7h0NgGdNKzImdaONCzrVLi18/6ifOCFrJ5O4sPEOY27wZsiWrH2PNjTy9GE + xKQ9mGPKrOYk6tcvTmld2tF+Som5F0TJrS5qc+Lveki0lcHbSj2utTuHwZibk1nRF/MhrhFn7brx + Euq76NY3H6bkCy3R/Fjv+nU/w9lJY8d9M6ZGhAzRRlvpJVW2vQBudpy7POAvUgUjovgcysoeWGIi + TaamZGUAaLGnfgZLZJnFW47USvuiOiY8zEOEbKsea9xMJczzsyLqKgbyZt+Jo6YwAtlV/ZJ6BsqE + SYscaAA3vak/kgthnL59vsrCQ6yVXG4bgld2gTHadDUEq5/v08ohDi2pOyrcqlThDo3AgIi3hny3 + Q4Ba43S+tp5GkW4qWYujn79Aop9fACgrDSUvdeRKJSPugJgoksxXrPdHLuZYaf4/B7VjiJ6OT7Yr + 3h3uDFhk2Vnvm+4aFzRl03buYeFaAPYSZNkGMHpMYF2KYpu9ryBEGInmGVImcsCmYM6n3OGDlcgH + wjU3cU+/+WoR3qbmUnLnTL+osIj20IqDmDvZOXBwz54RKmjNYf47jpvMrDRcLQPYI1g0TsBWTCs3 + RbWByPgj1/nxd/kB+5xfRFRH6reGJkSvDC9oTdxav/krAAwDZDZ0+H3AaImZy9Wz0z2nuc/Zfbbk + 2LT8ZrNs6u6dPhbJKCX11oYN5+g00W94XGwiEJlVyenWVkBereUuaNWFEKMFLqITlqlVZj7kMDEd + 1jFdTAxBNAxR1uockYnMZFdvvVs9A20esZfoVNoiE88karBIJVBygb+M1u80JKuoLb76QLbj+WX9 + dV5D7EzdfsmPow30BvZwq+LoZolayj1sLXN/58Ybo0oB1wY/9uDRYK/y/d8gVDqkE/h93DJC75tz + rx2leWmz4U+1Y41hfd1m2uogPpGepXT1B3gxBL9bfqP7gV9tK7qu/PS6CcFPIhOAoE7XwSXIYZGf + scTTadeXHHjFk7bZ6HNb8UO1gMEC5bVtnha1spoeVe4WQU7LNoF2Z9ucjFjtvrzBY4Vmbg7RJsMy + GD2wCBczYCaC1ZXix4Ng3akiMrEQHDnwx0vcvOrFpwjdM3SD1NSLJVctk0pZz4NbZhNeR3mFCqfg + E43aI3a5R1/xRkt3Gzd2btwcnbFebQhMXRcycyE/gamuIuuB906mwfdBOTCWFe72GpDvQ7s1AhRM + dQPbFNFWspsu1tA9+rC2OULpPHf3ce8mSl2yWxcxD+RLa6Q5aq8sU7a3wzK20I/uF+cfEfcd59lj + deX91d+Ysb2AYwYYOV0jPai00SOukarMAB+LI9Dth9/kXwad8y6A/vWyZiZEBp+3G4vC/o8ADPL1 + mKiJdl/n3HK4x0fw56gt43Haw6gqeTRwR8GgwXdGehEz3pH5/Ot7cFjF9bgs/h0JTys3O1OqWREf + 7RkSEn+saYXcRzTxHKJ3kTsp4EQIjwV6yk7ZwTo85q5H6o4/8Sf1uDUr5c+Sp7bVhDXIoa9FWYsF + 28VlXMbob4QNZ1DRFczAQUWWOSQIaK7JZ2JZ84AGNtn6+H4dBX6TpPiQXvhI9sZ1PsVgpXh+JPvN + hbnI5EfUz9EOBgvIxtmWL0eiMXVqA79uKyM/kyog6URE4wdHKDP0LZbnnmdJOnBnxBRS5PrJnnf0 + W57HlDaMjsRTHcgGn4DACXRkY4JuSySz6n6DZfPP+wVI/fktFYkcYCQNX3eegzB2ANEpoACNVumL + WH5DFZVmcck1Frbxyio8FP7EU6yzdK3fh9ApZMFGetuhXK7Fdr3JDNXAB+VEvSKcUX3s+TBDmwoK + tU9RCL4tCwCuYrxaBFslJ1QPSCkuJdZXaFnICAo8I3AixyWkyrLNsTR8ACt/T21WcgQDZMXR6Ib4 + +i9EkbX26A/IQNPUfSf+2ezclkV9hGnOX344ADNMgBXVeJXFZwoTEPKlHPdAYj9poeYyAiVDcefp + aELrmu2vP2EyT2381TLRYZxwAjSpq3S5xTAnamItnKShFVttSkVDOEaEyNwPmHHdp42XYPyRNJlV + i8YRcFFv5RxX6AkxM7WYgvAsJpH4KXztwdpIB20xySwDVJ/jGEFTSX9QqJtUa+R9pIiC0vhGmbAc + 73cR95iEwSWNaj8ozvIj8oCg4XvsUq6B86GuhWEU/aa0ciryDcFgX7llZressZKPIzwnDb/5DJno + 02dDGTDRbOrawSO4k9ILT/nNGtSW9fzXN+JqznN36PCQPoYDUTJnGC17uro1uciLYdA7ovEJW90t + OdjXhduSP3/wNouCFcspuwOKUk7Ki6WixFvkKVJGRIcLzqk5ocZOOeWo9Hf2ZLbg3WBtWOOPLjeX + LnJHMOEI8tuRNrvGYZnKwRjSYwpbWRYXZgmbOTFRoRMrqpJGBc5OrCMki5Y7W1LilTlkQ8bJITwJ + vqkYe4tDqQDbYM1T7lvB9XWqxm7wsoUQRm9QzoSa6fK7JIarPy2bGOrB7CBCt+hkTnxkX3BRUQUO + de7WvVY9dzhnB2qtwMgoeek3RIsRnVdGIYqBq0UXFZZKI5pCdJLG1qsz48RMADEQNlSk4KnkJdR+ + 45Ch3FON39YjqmJsekqVghkx2GXDFcJE4zZ0D2g7FgORRe5qp07VuhNa2aU69aJDgYQ0KukW6Pnr + lyCAbT46GCPzsdip+Z0xRH1fiY4RqUl40YoUC4QDGjZ3v/xPizmHoOdpE7owDdz1g1LSYvEpSdpj + QElBeHDXkeDs0DmyB1WiLqQ4FnRgzOGRgCAXLvuUKquqa3quD8XyF6kqKsCBZIb1ONq89vOP38wk + Lz5wtJEPI8CaeMq9dleQLGQWT0WCkSg0YVJpuhwQJ9c4lA+MUIrZDXRWEEch86YM8i5TIXbuxbx3 + xlUxS8FwMLqWm91AUL+4imO2FyV9jPW5dKnAb3hBMqtZkvc1jBPLkL5px7+Hto9/Zw66Rf6wmqVP + D14jKmFlSA8Qzn9/+uLDSSsmJuri/RhrltiFBugLf73V1FtzCbPbXwi+noaEPM+Jqjy4vn+X8yYY + APmfecVWqk2dCQY0Y8scfOT3fgRqf7eejMAJHyPe0J1Zk4/WqxnDTBAu6arfZdbgAT68xYMUXGM3 + pSeKjGYuAagCqxvbeGgbSYzgl26Q5RYfAYQw+t/QpBu/eCtYaKZoUW8htdiehDXxIUsKVaVd8I0R + cTKNcO8zsUK8DyU5xHo7ROoRrzqMv9QfUZlsyrGdZyITGUcmamvsEamPvRtkJ3rSz6Vct2HB7Nlp + 3FtgxfEaukts9Q9EC3DtpE4K7wayXOQoPw8jvFfLEvgguVfuOsS9F81KzmkKGaiEtBQcFZ5xo9ka + OWEkvZrK/RQfcVBhNWLEGass3aNbzHFkSgXryN/UV6ecoN0ElsnjZ2KiuV+vICzEbKdQUvw4zEQy + ovUBUDP61/HhSZ4ugZUaNGePtBgMuR1cIvcQmZPOMuP6/Yns+HNr6a6noBpJuDmOlJaUUdTIBCUV + AuYOeQtKpzuB4EOm2aQG0nLvLQvBGehAmlUsJnuAy+kgSeCe/JRJQBw/Ksf1tKVPIvmtJgNSN9mx + euX4gMdedkv303Gf/ZXzkPLzaDZR6Ls5oBoHlICk7Mtvzm3LskMFWrdWZ4HxS5yTXpVyUiXAy3AY + zBLWaRg/n68f0/VxeefqjJumhVqQbjKu9qgIZ+vIGZ7IQOCw3Ra/dLLLfpB3l2JnvN10UQl+08Pi + lCJP2IEOfR5D2n7XtMiwzUK94LoC1+WKhAWPHoTpeDuU6plRDBIB1quZvVQiYLnyCInhJOpasZ1Q + jwjDoh1qwSszg6OZ6HyY9nG/6dxmm0+qh2SIDnjeTcUwFMCyr2eS7rlvfU7KSjapsgMtr1+/YNFS + s79OTbW34A5i5C49e4a/SNJxnN6mfAWvR53nl4vS+edG9gQKwauI5bUQDOkn9Z5WlCPlRGv6WRHo + H1aXImMUjan92rpXDyDUVI30PLTbdSB73+jxQ+nZLnTERNvWAjLovykKFIt3t2J5/Gnzx5yCqjNG + 7gjffS6AgyS0E2LKUYh/GHYxkm7OdqhOi6/kCIm5XYwRMl5KbC+kJa0fMLckzpFbCPKn9oBCiYaY + +kTyfuWtx+e4mpvkwRlK6FKTeg/H3ucyedqHLhQ/HgSdHsaUwBBuD5fscqJMiZvlDIVtRrwOGhKX + A5aBrwMjKAv6SD4fkTPGlbLynfeQEU7PVOOiWjF2NNQkhpUEey8YPY+fTbH088rk1+Cun+WcZEWy + qbRGFLw3PHd9Hw1OvZZNnzQvZAfgqYlouzEIItiKEQOOaB+RwnsWN/ASW3YRQSJHcbthw94LxEFG + jcg9wQHACRfvPhVX8dAD9CU2KAGQO2io/jZ2nqboX0U996DV+R/b4u6YqsASJuMo6ge6BxjEu32s + QVGV5b0M5YNN0KYO36Cm5orRM9trElq5ve1Yf2f8sz187Bs73ceJbj/ibafkS31SxYHwvSsIGqqD + VEPnm4WAvKZcxgHPRnUE6BVNM9XqclMWffMEjTflzmwbvxj5xh7cj3zhDgS1Kwi3/dX3UDVqRvqe + QDdku95pKl+0GcWwL24Wnhlur7TBGsh++eUkb+ihInKBAYGR0CGdjJSssmGaPHCQSja1LqvG+FmL + htA20CEOcBaQiKIQP6wbLVehJqieYdRxRcAqyz9vwK8kdVb4rgFonFg+i5VqJdSR0IUf5TmJj5hj + d1c9IcIRYchiRVdLRITfwaAXLr0r9r5Qocni7p3MOvJn09vPw88XwBHAa2uyd4pHSA6KCJvEeoNl + RGEzhdO9uE5ELoWjau6Swc5lODOajGtGg/cDVWqntud2ZpSl8xpaYR21tg2nNRh+k9pNZ83eg2h4 + fAU1YpiqYDjIGyzQYIwA3bltZ13lniPsdNC3YpnI1TH3TWX4dT6ZObeOkh1kz7a2qu0+KxpWbS9q + pfDpWYFL/E+doojAayIV4qMXTZdrREkrB2xfVTeMZa4GDY/Is2O4t5sULptSYaGuORHztJdrqQir + CoSAJZuolMzPaEGGHW9zn27LMgbZ6TqJQOOxkQ4iL5m7Pr+Q3N0BKY8ah/iAyUIB21wNcgGUswS5 + BDunFuHQrNQTysObtOWqo2wS70dGVVK3AtM5oLq7yhOvRSdEO9IMsgQTwM9B0EqO9MUrjuIZDrZX + 9ln57gFoJHnlQZ+uiydOY1rwmgMoE+i5UxSR3koRMb9l9GCMqZtqnFUvU+ZbAdGKYb/olWAGMyYP + DvaEVTpyc7PUxo6xC1/8ijdXdbA3p8z+EfShEW0/ci8SUgt60GFcgUneHH0zNtqmrM2jePVr6clS + UPz4UTFCOh6Cyrcxdxzd+taAs6e8yUtHxYyO6YpyH7KhGPyg7mTcpGcnER7aSOCSrPG6LVlCrKWn + olHDxRG22GunvMXz/eSTNrUBk46U+2zMSZDaskcNe24XLVaERL9Fm+teg1xisFPpCrHv9fmCd4RB + Ri22H4ZiQ8R6qOqjZF9EA+orYSEeqqXoUEvlBjaKriVZ3ViCfqMuXomNyo5d6UOJRnWRKcdCAbov + Tfd/6TH7mRraY/GEDPAyL86RH5cVF3EFox34iQifTxRWf07coYsGRYEpnsO467r+cc4/iCQ81CFD + E7p2EcPP6z5kXeTJA2S7VW8yHynkxlyegoRtvhfldaKOqIHapuo5dByGx1YBMndjUPafTUpIQSvF + kb96MhRYZbTGtfYsZWm3k99XPTGjDI3XucgehSrDJc1BsCMWnUgU2SaQL7aeF7PA0NA0n+7IRKso + Tj2Cwubwkkc3bGWIEPr3+b/dQO5er6K5R/rBm6vQ8VuFVw9jP2FylMVjFnzxNQEoM4xDtTTUpKpz + 64WX7b7Qp9WANFOJXWnHvP0UlpVKM0NNemkMSQCzd4odgQE63xhucjckvGxnSOksfyW7eTNgIbRj + +xBs2HWoZnaLIy+by2ZN5fFBl0F+MkKSVxVN4s5hOfhcndO6YiBrQEUy4+KZp0EpOtX+kINqw40B + jaaN4IEo1oUtvEpmYsO3cZ+Wu7isYFkgAD+YlpODvM49fyehOhoaVyUEnAQkaKo6QFcoUzBDoG71 + 0Pe/9jgFf7qJmUImWzj9qroyV2RDqmaYxLBbEsbPiZsCjWSU8Q4is5mEfAqUgba0Gfh3VQ4hn/W1 + NZ9o9M1vpaCma/LebWQ4nQuwpCAU1JRa4n7RI1fwNnqufH6B0sjfpphoYzzcRwa63VeNi/oDiURU + bAv2cwL4gGaQ/Qa2zeWEczwAaxrrEeJrWwLmoAVTE0E8+FM7qJzxckwjfrw0Ael1XkN3f+8GNWXR + i5HZdfuVE2rZ06Oafu6g423Kg14jOXtfIZap8Z0fks7UPn/FQR7vP/OtGwx7IDcA7nYR261U057H + SOtf793YVZ1+SvVcE+174qHbHBf5B7bYQeQ2wH41JeQ4I45EH1PQVTtzB2WdnLzwaCfYp1YKHO2+ + XH4uj+wewb8f+ev4EB1WXaGYYUxeL5QPWPl0dFhfl394Vi7s+7ZU8t7GdiRuvJu+Z9KKENzmj9Ii + kWCCNRrcwqR69S3H8JL4QP29nSQfBDHXyTGOBcctCRs8dzqbECrBQ86gOCeGLI5HbM41WAWMNXyy + zSnDFdhExzlll80TlgXlYUC2eTu2KQc3qJ4yMem9QXmsXc0TGDTm2rgALYjge0lbl69y4YzRD3er + 0H0Sne9Ifj8ClXWt4AQHdajWqNNAKDhe+jyWlP4207243jcPGm09wtEX3Da+iLlKhV/vv68taW3a + H8PdjFvQbxSNWt5WbajLlraWrMdrhrMi0CabB4QSj8NowRnJv29rkYJxPtg9inxZrwoglGyvhYpc + 8duYGVAF51EtMdLVE9lDM0083Yahl8kVNOJiHuSOQYTYlENtM+6PtVSVhZj0gbaIyQb+ANJWSiwE + H4dOQ1aEjjmWC2uOFnJHdbf3DWi6yXilES+2cZZp6urZ4AHBLVcnZEQ0Lv7lQ6kJAW06uV6m1qGn + YT1GCz+TxAnQ8YUuq6J67n3PCPfWyoRTtZu8ADCaJmeR/AG0pNKvQiI8WL8CMizaexj4gnc8jfCu + AAY9cJq2dv5P95Jw3LdBHtVMmE3QJY2ZiOZjqUeQ21doIO7KjzrgarOowV5l6IptvBb+7Td2KGRe + amJ7o5g2PWwZlGwACmTt658UYZD1PtL0CIX63ceem7N6UiKtvovdCGNZYyxUDgJ9dwLiT0fsx32C + aNbSXbCxQLJKQ7DjHw56As80y3ALu3QhO3hIuge2fFFLw1kaueL08ghHoZIL1rSEOrFgqcmPjGG+ + 68vfeaxvBD7o51uFeRlkjeLwhNW4cBOuhiRwb9B05T6msxqyRK6IaRCQgnagKIpNVTaeG7WWH+Yj + YGwMof3nLET4CntdFNzf6WotiGv7JvvV7V/R1o9DYdndbzk08GR+gXS4OSb9EIQ1jY8hJGX2YDQ/ + KmD6pwlD0ZiTWpI8hwIJjltoCTxUB3bHCQBeRRKBnrWcm44LcQa++Zp+zpFjlGDy6oY6Uu8uzqXP + /R1ZaE90s3382K+SVod1hkxv4bG/XT8cMU72wFCKhPEOQ95QUInCdAkxqIYu4thLD8dAJR8aRg+h + oOG/XahirT8JIXHfktCM1ic2Wo21hFZmHaJXIyH1J9f8gMq4YsLoPIpJJnuAr3MFmbl4n2ZiX1xR + +8M57TMhqROTftBDE59pjgBZyjz4jmeSBfTcqzqax7tkcF14kyzgCZDUwGR1LH938g+YiER49loK + zwMS5GEmMEW1kIENUsRCPciiy0CySVidaYM94Kzd5nWx1EU08KLteUkBLhIVI62xFgadroBDtxUN + R7yZ+utyzLosN5dGM/qsEczw1593sSWuLz/16pqVdNbjE4O/CXyGDMTX0ZF7doLSMUo5NcmXRDZc + gNOmpx2JgQElDaDO1lH948zS6EfQbqPcOLjWmOrbNIXr5oll6SPX5Ulv2Egc8+1XAkX955Cj3Yr1 + dfkuoIj0ghRoZltH3gQuBcv1iOwH8ooyzCyxFYpS2Jb2ks/Xw0RmdcO+FSkZTko91vp06RNcbsCg + wpYzNCkovQDRi/napzdg2670mvXmksnmpuoRLHYgxWHFUVP5rLngilYinTnq6OugHlGjNu92WQJE + OsdVDr7FSlF4/g4khF91H5BF/X3OHBURxhbxFs9AfE3YpfZHQCP6S7nHmTy+egJSJldkSvNx9e0a + /Z2Hl5Y9rFSAbhajxDeotBEsSz2BEFTLUn1CLCRCSLAvFK0pCh/eHFl11pf7fT2mBGsp7iXhEK+P + u/JPsvsv3Y3FhPPEuc+6iIiBk/y3pwGuUixcCJq+s7Z9i+ldL12xfT+XjFSmiVtwvmVjodQPL1Ed + QbD6LIMnRpeGREa+We22VratOfHY1OemT8UqdRSD68hRXs2wRlxXqIKSoWHIp3Iom8Fa1AzGNjHC + nEK7smZZibjC39/r29UMdOIzpYhUjk9cJfYqk9hk3ig18kXN3MdVZR3eolK+TnTdFOsOlBjv3IDP + Q2g9P4KWNcZERB8rKvksO2JyGTpWLu+21j2lCZEPJB16VavAqo9o7px4+SU4p9CAQD2kyTu8VUqi + ao1DC+eit1Hw0j8iD5zut3Brbe+88OUkuhYWJ7WbymAT0NND2+NQpF0IUkBLdy9r+ffpzlH4Gebz + w7kxuA1D6TXWz5VJ4XzEzEY4UJgUEqhD7uQXYbZ32qMewVMlHZ2h+gJaj2bu9mAHvMkH/JO5bGLM + p5XrOxlDKeq5BED8bfjWQ1tCYXdnch0MK4w5Tf7U2EPb85ldsLaDJUEVEq2+M03Z6wJJjK+3GYOi + giS2m8lCR5C4GenmCbpi7t5sRspdp5frrsFoHgDm4LHw3uqGdCp5g3tz4S0HK8g3aEdROJckso18 + PFAjb0IiZ/d/ZDoSKuAquhrXG5B6sp+2oGc2/Hohlwg2dg9PftbQ6rDIxjGdTHgYTZRWt0UrcJEW + HpJiGBc1jSZ9rOGyS0BFqqXONmvAM5GIdocYGj5uhFniUVfWSxB0bThgyVWiXEQyu3Tgd6g6j/Ua + +aXjCygXEHGSuhSuoZRIOMJjMP4MIf5bo0HY4UPK43xtXi1jLptjEBkaLsoPV5gXLTGTli4O4mwL + wB6dsJKUOBqy222hBcjMwB/wdegkCTe0RgtJScR7WHZTVem8uRst4FBJtNDdkN8c1WPmtdEnJf21 + igQ0KEbsKy2mDm7+4xkCOdAzOwzga9Cq6SQrvM4Kn7wD0KzYq+iQ9K+tMoZbNrlWvr/LzTTRHlYI + bZr4tUpBKpOj8NjlzsSY4JHbZuxu4Wf8tdea3GONV341o7io/NmN6K65XL0cMcTnJpjWmdQmTclL + DpV7oCCdAyKATN0tegnnh0sBzyYn8iGo6vus4oDCqaOYi0xTgeW2XIffITD3ayE2tXcA42/3lk/x + bBDccUVBNb5OGpr8aE90XOEBXiHjgD1vY/ka4lLG+WukAR5KwSmRNLBOUHjAWtt6dIc5cElcAxab + 6eXnP0BI0EzyJcjeZdk9DLPzqCn0yanTy/d7KMUQypSj0ZCqMBgI39oHGcKvxeHA2ocHWJNjq5VG + /ZRIBbsT6TkuP6YW8vJJA3mqgXAjGXsEGErTRdeMUEgJUcQcQ9o86Lo4AajCh5peUjHnnTs6PnOF + 8CZ0RQl3d4pTdWk89sIUsxmuuDt33wowO4AeawkBTnb2EtkIOqTMlji8K2/jIvErP8fu7uxwqUDs + c8JlYNF+STQGiYtpInx+5QNpz1DJXqs/vk5sX8FIuZHdUzGaYSPP0997hLixV50PNPIUqq1U7UxZ + KAV1+ciOzrJdf+o5Re3I5BGdjIeStufFWvZ+xZO0k9cbYOL8hjcPZEq4TcrSv12IxguzxEJqJWXA + V94RqR0pKlGRYLfDD00PzuEjJCPYTzZPdWbK4JY3YhQJkFWgmpP4/hX00hk8TIR5T1uqkVYeQS+Q + bCxJKaZBeDgMHw8O8RtFYDrK2sHKTAlB1zUEQ7UWk1aDPZBIlcw02sOpsoERO5Swy5d4pOHPxd0m + uks7X0nkoM3SHc64tkQwrDj72zUE8YAiyKOzHV95+y8LcYbONfgPuZ5WAz2NFJbl8CRqsICGmMnc + vQxP/iaSkPG0QT2E+SC6BwemxQqfPEFoBgi3FF5b8A7FgYAzkEMAgMiwJANsnGjpTTyvQu6lkLXR + RPCWhQL+Ea4kD7n764C334IzPN7s6L00d4CJFAkeGVIHBNBlgSqgUUqODnCI1ZaT24/OJz9HVig5 + PDWSmFAr817NzjWY5KlP1vWY1W725WWA3T47KjAsfFCGmtTLHQBbVL6Ub/T+9mYo3KWOni5GUdFC + XR3ps4jg/uo1OkKppRoQo8ZaERm5rn7H24EUCKVdCi1Inhbx37Y2qHmn9PrS/eDEI6Yi2Ol7rOZI + WXIzpBop4p5dHHOVGmOQ1jOjX6UfVhDKI2+cTPrC8ChjZ2cZJ1lI/SchBdrqq3EHsgOT9FTaLDKq + SAaygYe++FSV75QOK4cnuo7JG/d632L8rS41Zi+nefnr9WlJaYt039SPSP0LwT9/Gsh2WJ1Bt79R + cDXTSncGzGa+TSN2c/OOUWCsjb4QoNoqxW6t1LeBZYL26znRCmvsR9r+mKpC4CniAGIWbgh2pRCC + xg2J1oGLCcwGYpZYK/bpGmiT0NS2Nd3t06O7+luLqgnNAQDQ/Lf8K0tVO70/ma/blM85mRfyWQjT + ceutJKDwzI0XTdGMaJVIVO71GVz7kVrNUIp7XQneMOM6X6ChF9mnWackjdJJYp3OM0yKrA5qoFK1 + Fr8rsnikUgppfyxJbDaQmGBgHZl/pYvktov8/TWACyaGysV7Y/K4KC9eJHjr1OtDQUy5XAPiDK9/ + 87AGmmatEPEtaNWsmpAcUEzMhWQ3MxjvSK+mxPFJMewLtlG9MiQYjO0OAT/+Tw2wHoYtJmo69UXo + CuwtDa4olktZUm6UDuw9YUoXgJ1mxnV7w+eKvjwB4x81YzJYV35l4l6Kf2XzlDgEKAnS69l06wBu + tUKKtPdDbCWfHS9QY6BI/ehip3paNu9UKe9Rfd61M3ZoytR3Fa31Al+Pq2+wfN95Qo4tT6A7YIKM + +7nZDiKC50hmEWKwJM5VhE5meifQT11b3qxz5CZh7pwkrU8V8i0Zscc6S76VT/JgdSCB9Rojou0F + ucjScrfq6pUheePB2hCqzgSJnHIkP5C/tyKou9d35G1xlDUXXkLbDxj1hbyZOEPBJDHDbGIh6T4Z + xXjYs2fEd7mse+jHMxtAOOtBjSYeMkTTft3k8Gah73ZQy1sog+To3aJgbyaGuxuQ7cpi88KddCBM + bHca6vNwCudC7mB7WezGB6oYCrbRO+pV8KrUjo+XjGr4vKPGZd5bniMe6BcplZd+6laM1HGCyt5O + 6qd5yiqonREm+NIQtkl90rX2x/L7+XUyKIXEqhwsoQ3iHx3hyrpRyKMNM6tMze7e4WJDq5TO8D7a + vOM6sD4gdzYTX0/S05lsPVQPv+MFghnWzSuv3+oM0KR98xcN93n1gj8DR0WyWnGWHDA6lFXKJTq6 + dlXbpts7ZfRuvRh8Yhr5ZHSnuJlf/Bb+QuPblHKmh+A4Uv4STfd6D/VcGL6Ky+TLGY02+pS5IPDa + B3GiRV7lkO9vShh1Jc5Nc7Nvh9vtKTvNPvLiSlPZn1KyBCvggOpNeOuGnkoIGD02LD9UljghOSrX + 6u/DCzxGGagR/G4CjHdIsTSnj/c+jLqX3BOqDSgXeGrq6VI8Lw7WFKTceidVCny5JmVOiWL42XVk + fBISm/glsfH94PPSlSWC9aDV8jm/AFLYt6rt2+eswTqSd9LDXmJTid+wp/6zqs01uWSw1t5v8pte + +KXwO4w29D86UocMIH9QvGaIc4LPti7P9xv8+q9PpmjT9dvaO7uWiO/PrIbqvuFcaYkFPUmuQsgv + 8NZvQqO/1jpOOAk6AP6YKfAsL1K9y9Wj81zgTJ09POKmcejGglrrfl0JyBLE1zB+1LobFREsh0C5 + /OwzITT5ZDjV3P0hKEkZLz3ZGNU1Y6xUaqDxAmHPfaXCTChRSaIPSp7rgppFh9TmHoAvnwfZTeLC + xe3QL0Ash2X2lRva3LW2GeYZFHrLqN6FFHBY0skKeLdaS+JOPQGaXei2Q62d3YlJSyo9LTaxXrbW + aXcEwn0mOsrTOwIxDe+SX7ss/IQZmaVCcut0QHryf3xYZSAEyLGua7YHcI4EPVgf2eVzWRLswTWP + ohSA9z+y6MKocz5ZDGk26YqZy4HOk/FvMWWym/YacioIrTx0Akar5PFzhPLSS2owBZE+cCgj7nUN + kV+ATd5/hDG+5Mafv+AGccJTORnohy0ysVjYJuYDbvJr2PptvMrVO2s6dvfOMCo6v/Qhfoitk+qu + Qel9lxKL1wRsL0npOJwxtjf4O1yf3r1oIQ3835hrvANTqugZZCvaSvtPace0plAtgvfAxG+4+skN + BZNUcgHF67w2UyHjqHrJh12Gp/P+MuVw1vNUdj8sjKOT1xfpgSIZ5HJJ8pnGWM6BkR95G/idFPVn + Q2T7c6Hk0Ho0VIKkynN/D0ZfTJHJ/ZepwpB2xNeovUg1O/oa7Gi0EPW6Qq3KQD3yFSVozsb3OkaA + PNhtA9lOpuZcGNzDAhDHyQgXJQDgHWHq9dEFgSXm5BO1m/j7WTMijbXeEEz9Bg5n2VTIxC7JGN0u + WXoxUpRSa+L7ywgkuqF6dyjd9/d6rw4bUi9sIVEa8ea8fT0jBG0uA0aKEnwtvQPGtmLyo60sRqYp + ClX+u/uJHgvfvQxIeKQZYvtW1TQKoIPa74/pi99yPIuNn0ONCCfsw5o+FFZEqpOabokwjIjdEkaS + e82K1wLJA6JZ6a9kz8F/cuRuaxjh9E9Kx+kSFU3kz4/9iWyPCSX7UlocU3KAb6bF+QoHwVsf8BbL + oA7lyofFbq89WlhjFx1zwYDzEC5MEKlzLnVyWP2rr1iuMwwTf4Mmisr0U7qN0HyAEvKAh60VaJ2C + fH+BBYrrtpPpy5aQXiarCSJnASf7b5hewQ9Q1mwBT53GvLF62Su5rMjRbhM9Zl3tcdMw4rzik8Wz + 8SQJ2fzyw1x8fzyTUJHC8T0m+VJ4hNiKUE9vv6TqUknecdlCBp1aNsZnPgPiFk2Ura44a2pCrqrf + ykQAGZ2fZYowm5Fs8D69WwWEnO3tzSGaxcdvk5Xaz8Hd0PHZhrt+EfYYW1GvNEQFn+18veP7HNOV + n2/WC6w5IZLTlebtCiNmJjMjkUBKAMWE8KzPS/qEmPI/ZDEzQ+ZJNxwJgpoG67HtzB1vMu14dK/s + 59DhlWsRyKkxBa7qULHthvogDZZpAAAU4SNwtW0689vfPaG01kLTnjL0F/KaS2/MJUz7stRLu8qx + h65yQv4kSZcRwO48SRSfjUdMmolxX9Q/9NBwbNzuH66S2InlY95hlIRi+E726CVUljAMYPXWbsGd + ULJFpGuxB41ogRUuC32X3Y3UaO7n2Q8Ig6qQZuQDbj+x6/J9tW34v6MvWTF8CzsLBxK9pyk4HCaR + 4HJQqS77x1yvG1rlHJXkpovBFeq/qwqZw7d1n2qCwTKeVnWpA/Fc+JM93TLtktibnOhXH1iNYHTe + bOwVuGjBX8tbyIRWiwaSOxgzNsVfVIe6c0sqz8R1gpDD4hn+FFX8Xr9BtUMTHbj7LtOT5iM4KAca + 23a9R+IqeiBG8zrBY2gcYskQlECPshOVxD5A5Pk2JCKEqUFMzvfQlK2jm2LxwwDx9kKcPx8UQQFN + QZJYOI0XgcQ46TdtoNrnfHt4PH1+tKwRDd0wTHi4cfPGP1m6b7kfLeJjQKd05hR6w0pReFDbWFSR + 9gwjyc33Na2jcvQ09CkJdAYELaLMk3mRXn7hx9od0mOgPIKoaNxaQE6j2JhfSi8+LBR+dilEXpvN + IjrExExnDaxr5mEFxi0AwUQSMYCBjEAiM1nDhO1hGRp2gbyszV2oWxw8VSvArKLxULT1JQEuYp1P + 3UVjbs9sQDE3a2WPtCsTMTrz7/xMomdqdqhiUKd+qI0TVRGGrGl9tKFXJ43D5fs4oJ2CYwSvQ2Cz + GLwoAegIpGJ7T/QwjOjae1om/uCu7jrtXUMf85l60Z+OTV8606zqmG9cpy9tGneyusrV5tvlaDvg + ws3xZupTzqAO1T8DTxrZ707ID5f8dDryoXypfW7DBiPORz/ld7f2R2HUkYXpQqJu2aT5dE1m/uUP + bb99tTZU1U0TebDhOAleLqhTwrbN6MCWyNdPLHDgzzyko6rVfa5Pk0BQTKJiasFGqZsAWGTk95dZ + y7RAc9FOLGqWklPYPYx5PbAxGMp/RmpSt1SgICGUqr3E5gFMqHEMTRvZBP0+K4m8BN581E6YA9Y4 + TANn36W2w7riUOS1C1bLnER7OF/PgbW3pEA2Px1vmpnAb1OK9QhcD9r284BC2KfybtbKcL8R08J0 + LmZzv+zILPheUgcY5wUmF+iuqxfXWDWo10Plzx5YuilGM5hKCH5D6iCwGjHbb6kXWlRv8adUhrqL + Ws2awp+vULnNDp9l6cBW/rca+vsXLSVKEaAIaNPwOqGUd8vGuw17GqpHnzpsQXLXfYgEcmuE+jGL + ni4e7/bjeiVyEVcqJGf1voV+zRr6tzJXir5VnufrfNTFWeNUU4dBWTutKwhtTSk+3M2y5F8245df + ZwypY1xz7XsJ2FOOj9dBUc6VHPVpRTNEZwN1BuZjhHlLUvDROkSC7VlV1iscd/Na8crwHgI2z+8b + JGqR6wxB0GJdDkRD2GMWQ2j3koQHot6qUnF6L51Vd0K9sX/69g17A5RFgI0UjMpf5fffbwEzq1Be + 4p8P5v377yJC1JcgG2CZIwPb0dehCLsL93TqbPwTk/r6AKXretKMV9gCBmGBtpNC3tRGtisPw7Sw + FsLzfqTUkbZFITmttvuaTWkj3kBbUmANEqAPYRuG5vKv2mS/IhQikyUFIQid9BEBnJbBH/KDbGOr + gv2kkY7Ie+8fFDcuCcV3CNwaR+IVxLsRoPtKNfsW/orwhM+DXiiYg/2XJ/HnPaiEIVMAbMqPE241 + UjGflDS8qlJtC/Emle1qgv7nmSX8FYP7Glm2ZLzPDT82ISQBzzsUZ8gI0Tc/UnBXRQAn2ziLSgfl + CR5xW20TsG0pMnEGSRxOUZrh03zq7LBffh8K8Pd1E8XH3lUfL266pZBZWHWaajqTJcC6o1A07g2v + Ag5BBbsdg/2LkofWExEfAEtx2m4MOlq7jN/w/HRBnzuxfgfnrKeV9KTzbTc+HHOGoTNMD2GjImBy + 6pQjWv34z8qeGekI27IawZdxd/35G+36Yk4Pufv9I2OmdvRWIG8wl7GGP8iUFeOxm0NyPxQJP4It + EywXJm8Mw+JRxjiCJ2OjSqXOLNoUl07bERmRBuLkg5ZdyZaBcVbFJ/KeXkNXpP7AXJX7XtSD65NQ + 33FH7gGoM7aD5ssmc05yzuCJOqH3FwSDhYf4BxRxJM8I5kXrLoJjftDOWDPP5SJ/Pvlv+XIUuSz7 + +wEo5BmQ/N2vl7ydKPJx59AL0G2FITlPOxydCFy3Uc0h6PtfdmTge4OKV/v0t2SIwtqGVD9nkaOZ + ZlG3eVwPbz1gahmi1ZyAWwAfknd86OOOneBYAe5zRZfRHuML3UQrHeiWCH+pJVmdYw1IlAf22afj + PkaNNnJ3HFVxrlgYdObtPDQ3qtdBd9IeRPeKKlVKEsG4yrKpVC6Hz6olz5CgGEPBN5m7upRCqFPI + VjE2ht+L52Pewlovh9KVTqUf3S9nP+/nliHPLpZXQ5Z40Tfgw1kjoCgNt9U9vXtoFb+3Txcze7qm + pnd94xtYEX9SxgMRlfQz9L7XGdk+2srvxFe6H34nqtkwUAZQUg2jkqeX0Hw8ewRDNAVhEndpIKZh + 6/fczaM9goOAwmMw31lmOPV7AlCroPXz31k/OlbP555eB+qbtlgjKZHwkiLpJWyQagBZIQ3N3JlT + ivQFs+RopPn48HFLlKMoP7+WI551+HZA9zEpja8yT6jYvWa1P1qX6qB2MAXKW8TtfjshwN+nLIr9 + KO4qHOHD1Ri+nCzgf5O+rxbyTFkab1TAPIzQEmM1SNrM0Vd7TZNPGT4Nn8uTNx5paEDuyz76SdFI + z6oJLRDtLLVq2NzWjcd9RVqrNyOysEtep6YsFtFdBD+Y7DG+FOsThMmoUv0W0nTnDvObqyMog2Be + KGyZ/oB3WbML8iWfcOz3GvGHlMNQ301nAl1L5YkUrP5bOQjzqEsi55RaETNq2HwbYx6ppG5NA4Q0 + ZkdYsatDa7Qb28QMo5ZwI0N6VJM4ctgGpNd+868gLLiM1HKJG8iqw2wIub5tpNQ+NfFdU13HzcIA + hfA3weMygWu+kYe3Vpfax5NDnu85LhNY32HWqhN167Y28twZlpyxO9ciQ5CyOkw5AatjS8unWBhX + KlLqxgpxfPFQx86Uo2HiX7JImfn2z0DxPoEH76bXCsuZTjW7lWFEYiQciYOVaYohoHHEGGMtU7b7 + C8Z4KppKAlAcJVodR0GvxsWYETX6Q9oY7AulFkTqBLphl/6B5pl5GvPB92E4NTbmbtzELX/7e2uY + jLnGlvQpgufJAdQxU94gddF0VBFAjHri/W4GWkcPJ3iE7E+14mo8pfp2Imcs21musEeiEk/U/PTM + Y9hlC7K3epQdXdy3tda2rS3FUR0kgFBFTaFlwAL7MG9ICaOuaa1n+SMrZ53FNcvkMaYBPOrNWLpT + jhofSTFqtmXxdokx2oDnGsBq7g3ASW5WMyB5wCc7GTOAwSd/REuDgW6swWovGRb8a14da34WBXoj + QtM0NIyH6x490oM8X0dsg0p9kt1ZT3ZKFBBPIlcK+lIWpyXPCqDzPesNr/CXAvBZ0VAZdsLUZbax + lPKcr0xca8IyNYfkEpbzXWkaoiUGUst72yz9JLcGjmr0+Y6Nun4oEov1zhLStqHRkDxLkpBsGsPx + c+mwcKKGzX39I1bDmLOoddof3eXZ+xq/DbhrBMpXE5h79i7Bd6P2Dd8Rrb5KOs/0BnmZhvfeKoNQ + NuoZvzPeFChYaoSKJ0pkBMqvBIjl0mebS0Wn/cZv2c61sRqZi1SwuOMNkGYnASwAmPmOPtCJscxH + xDsIn5WxrbzwJoMbNXaOrLIFN+KAgTaEszzbqPQkd6yJmqfnSZRpVEpDSSh3zZDVDmez3mhAe2hl + PTE060dBGNhc/aNmUJIjn4g39C4RGWg1ZxbPvxAkMxTL5+ZNFA4iJ1afgTE/7xQDtUyV64PupBmD + iGpMOBG4d5i4yByndIGBcgDqsk0OcTU/jKDROUirQajDen2Lm452dpTlvKjwgTnL1v4cxc357KHx + UFOz9+n3v38A+fE4S1jyW8uFmqCq7NPJh3qeykJt1xWaY/AulJnYepqHRJErD5SI0+jwAkhNQHBY + FbMTr/Tbev21R/NVwrJIGYoYnDHEW/gS2sm2sNae7vTMQkxNmRenpqNdxqQUSgDWESosJYvssptY + 4gdrnWX0l1GZEEjKAfyBP+aKiRyS2tvUO0qLEiy2NdFEO4l4TLI6lC05P0PXao7+9YGw4pgAst++ + xcfgsBDFItSpmnTJzMTrXPycJrbUMMHZpsYqi+LqkSZlDmCPn7nLF8NwEBfvQ07aDDNS0/KhVNcH + H8iBacrmNnZbFJ32ptlOm5QaSQIom67B9plq21RGT9CIVCvMtexJi+ED7DVVAN6oAE9F8aLfF3XX + nypJUlskEEAnrvbGJi7HKvcYmttKJrdpQjJoxTYU7UKSWdg5rlGEj9y+H0wcdgY+RwZxboRsmGD8 + dF5VM/FKIpVcjsoexcmW9N8ThXyU7ELPYS9s5u1FdsuKEds7qqfyRsoq8MBVOERHaHVaSDaejJJ9 + fpPdJuWy58UC8Gdco1yneE3svogBvXcCde89wdTw6p5jBsYOI5ihIPXLXy3KhHfxT8PvSpl+ev5I + DQ4bQHohs3DrFVvUtfd38OQtLzQ5AXsyLd6qZ/fz5YhynHs51QRZ/leSV5NnkF/OG1PeAUkxaIFv + 5/z6YRpOtMOesZV0sKG0xbbtFNBXe2KW+OetVB5wV6SZ2uO+J3YFhm9rZp4ekKKvkB1Xb/NvqZLz + poGoQtUhmQr5ATbiWWnMeZQCC2FAYr77ivzBOufnsewr37iABezovKbBcXSQl1qVpNZNvOm2leSV + 4n9CxjISOaU2RqIEVtshfFvo6OA3YhA41dEqrLZpXQ1+cT6IBtDILh+0R3IuVUZPP9Ea4keyIfwF + yDxauklTQ++dRKTgPeo0JAY3nb+EMuUR0Lkuv6Tr3FTCPq75BkoHl81DmoGPtOAOt0a6xG41h0lo + cvJzLm8jt41n2IIbi0etvvnVemns2Hbujl/sa1xUgcvYhhOui5SAb3983ZxHTW8nUVrd63l9jPcK + cuT+Yjzl3kVy1i3F6ptUaH8VfEsKgXMA/REXXj8EIvkzHvkQ7rhVa14SnsQMneYYm08+6W1jGdvP + lcKpgqbz2DzvUHOgLnQMd05k0CmrjTR8aAFqw8oclOHdZq1mlG5gJ4M15n3nvx5aNQQ5gJkiMste + 09rJFL5kKE7Ah16jZhn6YI9WqXRntuPyiY3rXN2wB/G8GVi41V7KJpjM0RgnXA1foATnDbOoYmvu + s6VOqFfVceIxUH+Kr3/WiJALLsgKyByGar6EbQZgF+DvPVeXzX6hfS6pEShoecD8atCpydAREHhI + VedeUwankK7VDLS8oX/YRCKU98j+dRxJWAcloj57V+BpKQuZAoP0cSvlb4p3j0Lnnw12SJhf8YcA + gigoOnrC03AjxGx/9WsiCDdw3wcVW9c9buhxpb6EH0RMwtWArPEEYa9WuxCY3zhz48Pzlxb8mOIV + +w77jmdQuva0xxpMgrNjuOiZDd3dApcSJnTpBTzzVsB6qCkbZ0vYe3fB+OlQjCsSr8BX7vOustwk + ReA6TN3+bB7mEkDd5DJU4PwJ8ugyvcT0pPkxzVIHnKR8HI6Intpu6FaQjkkywC7tjM2SI4RIevct + SQTWIUQMK75lAokLuDHwjwKMfmUlPTq2yhVgZrzzFt6x46QiMdcDJMm2m+d7LEUjQYG1Lp9F99ml + A9mqRavVu/1svk0JAjHry/rhEAfkbGkVvx1/9XuWOXT3lb35/Pb2jq8yb9LR2kiAfelgPrUrP36c + m2W5DrpR8+JK6XTjJC/Ej+h3wFK9zdxdZQAF10MHEXSmukf2B7nJSXdz5bwS9exV2N9nNrxWECLg + 5l99YqvRdH/LDYXnlu6YZdJkWF34y+N0m4u1g5YS0ohW/FrpujCh3euhgUZ9tzG81I7AkVYwmK8f + 9Mk+G1rS1smqRUoK6kPgEmyqCyBLaeadNPGgNzi2lUqw1xNqhWXd8VU46oFa5f0v69zGGLjvzEq5 + d36/No8zTtsuOEvBXihY8brlu/rawXZF5b8aOdHonA44Z3c1YotlYMkcD53VAQr0spd4ZgNtvI2d + 7ZyzM/pK74groKWETEVNp3GY2ar8XuJlFffyg7sjLXMazO9cKesLfn1wo22rcLbGKt3XQOI7BQey + 4QYgPVQTQy0CGvzNf+E8Us18Mn5wMOfuzdnUtMhntSkPBZkzTXfZGwPR2gxfqBGWcV+mvuFvielx + DBc9BjGKyDEyDCKiWX0ZFKG281QZn3QsdJDUydrjZLjfuyK6Yai6ZQhkq1xYhxU6v1J//ffskfv3 + ksLMIR8lA7/OQlvlxvMt+FYxS3CEFiD5vjpD/lPv18AzNirPLRHtwdxi/R6Y9F9MNVrq7uGEwe1K + VSybpY6nrV7m2nSh7fgBmeN172GUwzg0Dotb/i6DrG/IbTSaFvlJx4hA6GQbkchC5aKN3gRYLhvC + Z0wu0NmCzKDJLE/FtfhuRqfVoqANC6pDmcNJF9ZzusQAfrBS0E/T0cidXZSSW4+OMj1KNhavInH9 + BKQxJnmg0+wbeNSznjnXCCg1wDHRJUPtNbg4Svmhz+HqD6R3TrmfZhIlmcPfGkgCDWim/alu27Vf + 5GhFFisUCoO/a2yCqfbBElhVTtB+n2K/JryGH8omquUbvg8DayV/Jwl/4O1M09/nZQDhFNyO9fTq + RWevDp8Veph7vK1WN0m4jL14x7xNQ1dspbD6bW/gKtZTJxpAMsNZx0MQuCKJAuGr+cOJwoFfIUK1 + UBka2ntPOoUUvjWOJR04Wz70k6Pm/GFpsKs3i0vukDDaLY4NEU8tove9wG4xF6hZAKN1NZKzScBh + 1RjHuHTPzgFy9KYrQx8587hXXq9rt3vyPgdJsegws3uepOYffjJR+g2ox9HceJ9D833xXNnZexMV + Z5TftlCDzouAeX88TLl8yhYgC7XidJjuhw53vQVCu236m6o8w91+LQOLmMiSTyWkay/jlWtRSUlc + Lgx2rNXkvb6/V5EvnKr+nIO7fkghb1416I28zQzRqQApSHK8cCpdDHWjVemagJIiXNW8UDj6zU13 + CM/BAB5TbhLenkLS10xa2F9PTsSzcxW/xi7ZvFt8iHVC6pv7I1XBfiqJeHwqdcshN7+8tCtMDsBm + bLrS7WMfBMqxi8bif/UGO9skOyru4Pyv94LXjblV7P55jhzY56yv06S7/HGXdsm3ZIpr1A517Psv + Rhj4kvfzMuI0wGKOqZyb9NYzf1IV3WTw7FXiCKIDuA69Q/ic0ykAo5sjBEk/ApEeJS4bn4x4nESA + Mqc4paMWSVOEE8h8NCU8iJFVZVQVQEd9LqhFCY0JpG6Tv6+ass0ULnijz1C99cHlmlnFAyaPv5aJ + kemYjGN9CiAv11jDf0vdE6sA/jSBLgk1auWI/V10gzIOOrT9JI4Cse06ayPY8XqHmHk4u7jHEJzM + w9HDzvOaWML2Hl1uxfChvZ1aA14ntjS/f5GFJoSA23JViWxq55xBO8Mf4lbQAMgb4894XRjNhJof + Obu8kuxg9upUW7j0TnZFGDTAYUWiMlAlW6MQydrBpIFYmglEc4V3wCtn7isuFIDXHFfCUHFe4hyj + ixyaPCnG2T5BhVtC2gR+umn3ycLvCRT7QqMVQNo2XIvY9VPjepvBQpvSZ9wfTyg8BCz+9UeEjhdh + UuQCxCyNjrD8Ar0/9LfYvH5stTBxXGHIAu5l6Yuk4y7mR632JpIic3mG1lZtyj+dnds82iu7uVeV + 41qcnS6lvk89POipuZ2sOVdOgj184GmRtkpr08Fn2javdSxN4IzbXiZX6oOYzt4ItbXNIoU49nbP + J1cWTU83l/VSUTrCNEI6HgSZdMsZJ8/qJaIOZoiQsH6A+zPHetBF0ezzCAPfaThYemqgavotwb1K + EollFYJW/JfIYzSc7ru6VGiMSWDyLpHFYuDmJ/up8Cet23Q1sHd9wMd4WCyNgEjatytBkOSgJwLP + kexck5ayPvRH/Etl2qw5PYbPQswAPUGFBHQe3MqmY0hVyCe5HgLFnVsEUJkywz6D2eb+KCKk5Ugg + uMEIOhT19MxDAf2ANQ7DvBxjXdx3+GVR0w2GE6rXf7O4BB8lCyPEFVO69VW8m5Uopp7QVZPt+iiz + 494rUAzqrT/DKoo7JG63uGeWFgusKvM9MxnoowLa028ViEDYOEX9EQet1T94B9A1H6EaVpb5x3HE + 4aU7UabSzjaH3oPJp5F5YdGzjKdkV96c4YOQYbS7euLvRbd6bsuDRx7XaZXZtOdVk89XQaYEOxYC + SERa1J7zJf26x4DeVLf2RKGIvhy8PT8gKCNM4No0ERjRH8uKlOfCWXVZUFoNHv49V7/sEA2bgo5O + Snx1NizKJt85aSzYo4hz5dOQV4vbCq2AGYQeRoAFCIxOzQWhqTwKCr8V33mgqNELXhCRFHO4i0pK + oCzOl2K7Qnic+XegqMYTwdEYp42MDBhsPCtTuOKLCRupLa0glNRfuynUGDxIu4u55qlozRIDAR8t + c8Iv6MpgQBNXbuPEEJgOr+wCWhW1+edQNQgtxLWGHIaewid//S9gqDqCOYw0QFiacl0OPn/EdCNb + IRHW8Lt8S+yvWDGHqRhtIrj9AZq7Ordb5EJYS5/VWDn8QBiffSoV6JIha5g78RAAeVg0hCisOefY + 5wG1zge7GUP5dzaxEH700TRMkF3Eac/a/LKLa1PArl5hhp7WblBNvWnROB7q4k0SMpbme8sdUIsP + blK6zDaRxoExNM/akFfUC0bZazfjtDJc6OU4HCZGksrqJrfr7w+NMrlwVFmFzg3PLsrvcEqYTuNh + cfA176Uj1F3w4v5Fnw20Y/tBTkIfXDY3vxVVzkVqouONgAqjaPY2kjxcVEGz2kEV50uXc4r1yogS + NyyiRwC0PvOWvl5yfpe06xL91peHkqGuF3ta5tdFZ7ebtc390esfZuWrK7gew59GaWWKVbHX7KPw + thTnZqYm8JD6ao/51lUWWQkAXuIsm4iRNqXV1BdSyeEfrIdHQTBH3vgyL0zGETOwP6wt/dn5V/0P + 4Al3ZTJPkxXHHblRnbDC+njRKHSgXowOfnuRMuDBkbfGrN081gqC4KBdxPf7bqqKWgOvezoqCZXy + xGafRoNUz/bv1qvyqVk5yj4eUjrwPjlkclXjLqcfOqD0tLbrozx5Z6JZfta2dXu6VqcDY+BSbfds + FPly9H2ioojJn55TxXNiOY7jLWTICM2hsmtDg29ew1Rn6HM1T9TzqkVfGhYpYyE1eutq26XPmL5J + 182pi/sMjQ3KuNEKivra3Z1qCfs+dKmc2dqAckxodXL0ocaOhA2HiJPLkiqHgd78NXjYjcBAIMlk + DeJyBTaoIsE7MzYpZgDGF9JqCNUb3icjBB79s+f7bz0anvW+Vlo1fuBeMYCggQobznHKyD+eFVce + M8cVvhBJiChERhpl9oBJxLt12CRTA5nxE8H7KWuv8A+ep9jdQgVEkp7QDGjcNCM/N9frJVfxWfxb + grhanHrhK37gvWKksdrI32zyi3uRtgh1A0AF6QjRgqJv92LL4y2A+KBHk/MCd8sGx3PFjpxH+CeZ + d285OLeMz3RmoOUU85cTdT3U7PRwi0Oh1/AgcFPxTAtkQ1OkiLmgqVBzETEyuhPFqPT0S2GpRQsy + FMirl/hsPcVTcekKb9GJSX+omx3DRD0rBqT4CpM85bSQlqW2OOIonxlxI4UFln3aU/1fz7UBbfD7 + TrSUgs0CiOz3ajYQ8p05CjEvzXv1hsO5/lmjbcMT0KzqxGiyoVJXcglKwqyDcfSfqV+2N/EiWl/F + M3K4HbYj3IpW6YeE62u5tDiF9cRwsMzqEUi5AWOQIKqTTnFoFt2KsjMRbgU+d/xVj9w6TPVVDSmF + Bx34xs7nL5w0jPSBNy2HXnSeq5dt07HuC8kKzpZff5ER6STB6SMdnfO3WFKy1tI1wX1E1GgLkKM0 + DRAw7cY90j3Gj9lkzhEeBPk7c5kx+zmALmovIiCUsPVqp4FTOu9tmq77ialPLd6t03iREry2n7of + 9yTT5xsBjlkuk8ObfbYfJRodBI6N6OCisK74RZIeNJA8G+xpB6Wtdy4wM/5gZVk+8dAnBq+jm15F + XBbIV44nCCxkDYq5WemVdIEmaE7Fgz/ywNJfwerGyQGEhZ6BboPJTEdW8RDGBPFJozmC2GqIzJht + vgNlm6oXtoqgDCIHv2PChJDxoH+A0lPPLNA/9pXGj3rPK4RDNfy5JPHNp1PXkm6TjOMsyPfRAoUS + PhRKngvERNC/FQEmu/avx8hW6W5URCku1wH3y0LgbL7e2sqon4PbzCEA2Vcf3WYMEI/iM/TA9zrN + Hi19ft9Y7NfR1Y14Y6dqveZch1r4x2h7UCIosMhounDFZdcW6ymnKvlJeOcu20oWoPAPCBPl7Gi7 + iZK09ecpKddkadVPjtT+nwaxqmrvnXDoRZB7Q1Aryoerp5+7MDA8kFXVEL9sriLctvmxR0k9oswQ + 64SQmzQPOOTSwNmdUiHs/TcO6EGUMdiR9t0UCLlCfrKZYTJeTN1nILV81FJ44l6Yf3X9ScLLoEJe + z7hkRGxmog7AEXwr9CDRhUK1YNjwQJG059g+8K7QjW4D3AHv1cmpHfRT7nUOSMGAuFt7VwFqa35u + CU2ZSYeMFGcwnkW/PSIM2FdWuZKXit+RUWqjbeZWrFttOAU1QtWbqKncwL4uY+OqIxPHHncgSJy3 + VWqtwKp67tZAmJf4pJTdu9Q4KIA4EffkpcBsCE3vjoQPUEtweWa9eqyO66wYVYEUMHivk690tNWK + HSatV+rTqOnb5E55qwoGwoYVVnzlrLCc2QaiJIsDxwjgT2Hdd7ZS3Ak9yAcLmKfgkP3OujFxPNQP + JqdnjtgUeE4lB48eJDptF+dUT0733WDsnBj+FhhdE3eNu4PElDxiqPugUpghOzewbo4CqKnfBURG + 0kaCV0Vwuh0q9iPoPKWTL7B1GI5bx6w1aw1ZMCgi0fLZb2cTkVkXByJIr/MvS+TfT3vXl0JtXcnh + 8DUTA0THmiewDw2t6081snu18SX5sPMOFg3Pn2/N/MrGv/JjVd+PIK5udO/ZWp2XzsVJ0m+MThdK + XpanIry7JHu+FC7LxurSUo1p0PrlKKxdG96/eR4WjHWomjXnX9AD0pF4jqFOEnyKU8JbnN8XdrMa + viE9UFIbRaApIzdOxVVOMmIqxGw1eBtVss8H2rI5lro/PFSQRCUX2oWxTZHJXw3H7YUS6010gUXV + RKSSO15eInruy1M/QoCZlhSL7DH3d+/XjXukoKAVU2d+qg+uTonVKQe+t0ZdOMZODarehSO50sfu + Ha83i6wpWKUDbiboKDhKc+jiyLrZsSWv64x6DEPHU6eAgwgWwOJYqXxIwml9nuUy7tIC33Gy+wIk + ouIZaMMsdrHRow+sCFoL8oAYYtdx+64rxjTjdCYRsafCeWFMG6gNjtDFAn6GhVWi5J+xbdPGDQ7Z + rX5Ugrio5UQD5dgJ99m5Tkf2mShEJT0z2Hi9wg/swy+vOq2035PW6S5QCs2ZG7nJVSeZ35FlC5w4 + bdB5RzzVsVwWQLtsTZxKelqzw9ilBb6VqjirCbmWsjZ3XtXiBhAYq2AyNCeGQ7/4W58WmuLI7r8h + mVJeyf3S857Lu2BvsNRU2JNre/lSchHkkJj24NkBYbNQ6XL9KE1YSYDNnpFiQ0zzRUe9hctofhM0 + +rISniaj1dheMBQgunhlQca2JgOcPpUIlNP8RD8kFPxddwO4QxotczrFLMEb+Jb+t7BTu1chBwgg + 4RwT8+6x7ndZZ2dbvKBAaFTZD8kxfZLwQbRNisYtw004bkbXhgXFeV50Xm8QwMJJ2hf9T3PfD3k5 + 592K0xYsQO2Lrwqckr8IpqRIe6cuSATu0pKqmoibAtKOPbdNaPf0BT+U9QO1+YxHzo1sIyRPHVsX + gnJvaAYWz9k8/cYku+b802x//O0F+QLppqsAOar1c57EZGwAFJLAyBzAAcZy9KTnYdtwVlgY/gHP + eigUgbJkFxPwa2Pu0N1uPIRexO9yLoxo46Q8Pn/5opuKg2RNIijz+0IykE+hVELQd6G1Yi6/yFL3 + ox6IJ4KZkaaettLCLzZCnr5NkO9Jl7DexuSggOOWG+Kwxpcpw5Ws+0QBQi+ruc4LYwOyB9yg99PV + KvXWb6ExIHHm72T1HJDaMiSAG/2CtMhaK7vbwWRPMFuzWxeXeM5l5LM12SiHQnetVHB4PhDpcOf0 + dGutXfu6bKWHMsm4QAOlyyEUdTWPeBK8JW94+KEcreHb2zbTjXOlEhOENukuH4jyyfXW3KNhiOzG + KhzOqT874BSWMms4Qjdxfa67aHZ6loDj6N/FhOAtcg2M9OiXj4ZDF+VNgqixeCi3LiVex7232CZo + C26MzlY/YE93gw8pvzbB8Y/Gg/UoVK0wLhw1GrdIANYl+M4xHWYzqfr0xylojx3+Ho/IjfBgdI8N + Nr1P80676pJ5K9PwHW6FvFWvCuCgF2MrJiZd/MCENbIQB7goboIrSg+hZ7yhtVTmLwEbz/xT8e4f + vbB693VD6NA0xBn0TXLl52jeqU532YgcOBM+6DEnL2+G9CRL2zlCj+qcDHlIDtTEM7xNc4qZmbXc + lDoS7zhAwNS+j0EiPFDPSOSzLT8rLe1rMuwWNPRR7Eh07fq2WL4CesY4jXHNsCRbmrbVwdCk2uio + sUAbH2IwVhz5pahMy8FhcOX0ePMglsZyRYVmBp7VkvNsaN7OhwXyWmyo8TYLrvs7GBUv0wbN8wiO + X6B7oR2lTjp/OnVr+nfLJLOet3heJCmUk0FpWNRt9535X3opZ3ABJRD+vImF56N2U6uh6Cjtquw+ + vzrJMlX0gPEm2ie/Zd3JCM2fQwQKtHsb4RyVHBQ9A0GPSDNY1MvFNwJJEMEoX472ZNYN6GwrTNTX + OvJzbk3My81fdFR6kTlAlA+8ZI2Bmu5iquOk9HSEG6XbILVIjpTvICKLgYd01S/lW+I63fYfNoFJ + cGoDYxtETSSA28COwipyiWj+1tmHjJqb3mnPp+u4LeF9CTLuCQ0W8ZHsGQm0g7mkfF4/A4ibMkxk + Gfsz0UZb0nqIV4CEYNxXgFycpCPVnmPYn+6zHOIl29i9z0CNxshx/lDowJRVAoRgsXqFSJeieuZU + rU4EC34MWrqyDHWzJ2eqWj4Xz+SMiMYPswU4FwNXpozABhHwUvTQgbtmVtpt9rcVMiBHjzSYIzc9 + 1FJ/wmLzWb0IOirXoxqFAAT1Mmmtks6mLMP6va+5b0M4Ca1jSqJXK9RMp8lKvLq4YSzPv1am/uIc + u4I77X1ISSAPzqekDolNsByPvVt0Tr93H75RO/44wCXBXr3OSem7JSpg3mugoaPXRv1Nq4TJDba0 + CvG3UznMauwc6o9KkaBrTixxCUavrFYh1hclws9M+u+Se6yz6lt3dgs+wuubylcZb8OdExE4qKkI + cpIP2WXSd3NhNGwgXtNuX3GsPSWLieD4URrzQTN+qQUKpqo48rjIsT9OKpW8Gz9b9S83LVhUR/0d + DJhnH0nFJ12lb7pxAkfQfM51Vfo9QrZrDNHD/MitSIop7080GrAEQU192bFo8UURr0aOSYqdt65P + 8VXCsOUA6tCf56ymzkIcS4icL5IW1gVmXrq4ziW7Xscud2TPZhsp9/6UB1/1v+8ekeeI9ChTh+nX + TXuAE+57RhMeU9srauHJoSvdxjtRbf3tEavv0BHCTEx76zzkrCdZax4V1J0xnfk0D4+Z84d4p8UA + Vpq1ndMF9XWONw8czzCsRted28H8vDRELTD0BGUG7Y7xe7JUe4MvoQATEvxFQ9ZAW0XWp3KzRPJn + PBVfyYPZw3dmr/x7mraVtKl9xwQAtyRdA9/NPaUdJvBqzBOZlAh2X8C3xcEOjYpmGMpS5hU1/dfJ + I3F5P+ufHY7AIaAjOeXcNBsVQWBR2ArNKqozTK8W4vAMj9aCL+0Ykvq4Ni7UrE0kgxq5L8f+YF82 + sx0JPEkEextR5pIc6AvdvfMCpE33EeTLtZ3gh3lMxnh0vFsCmTVRoZGf9EqxksuF0JekIpQCd7I9 + euF+U5zuAKwaKkV2kTkzBeQRR7+4CguOp/BkVDRpsuTPXxbAaIExsuLVpOQiUKABkouh5cWAq5VN + qGXWMPAT9CIN152cL7yMThjAASDDLvBaHgcd/kkuXpxkQrXiF8NFNsliWjk/8xVzKqFWGevI2kip + MiU6PVjLjAZDWrPUnF0XFoBQtOIbuRcrRH+pqMHApvskQL7lJUL8gPa3vd6mr6w88l2+IuM+avXA + QbpeCviwP8wzXbNaSt9RwtXB8Nck0Pbn1fTJoOHB+Dv1aoSxvxGWs1tanFBzec2TusikvQsXFPqr + ssGsapxJxIyDft8CQCODrTSXLTJDyYmnWWBxjpF7v85U3P4VGidjrclrcHZiZBeo+h0gv+U5rjN3 + x5pMDnBwU2eCxPCD79Z8LOV5BS5F2q618mQCfSWuB5VvccbzbC0dn6tMRuZoWckvc9OzIKfKZw7m + UZpogNpqpjJSDyZxmFIPPR+5KBxElGO+Jm/L/ctPeWQ9pJRc/HmuXrJoRz/Tb/uaUAsIZGcd4noi + KfsB6WGiRvW9omuJ3vX1gA+wzbcE5ggEHaoInJnSIDLwME4FsRm1I7mkeKtMhSKDkOEVb2HEAWfX + CG5RSsayKa1gvdI26XmFrm6g9AEUMvqTMauOTx3x4I34+2fDzHDDFYpYHRSLp4EtQs5vDqOP30Gu + pB9EsLu6bIvY7ClesZ5miWPImnXpHg4oijukhzqFQqdErk5YwGGlA1+nN0dods535CO8l0ckpzhE + 4VG4TIRGAvcAFt6AVMdzLb4F8YAVIIeAlpBU6vDSyh/q49OvgFWBsfonx1R6v74vrgEBnHLqqZ80 + Um82U2A6nbL2+ticliqx1Tdv37iH2J45YUJHsIZvd7hhHXdU0rdSeDwdxKpyrc9Ydkp6Kj60Zg4O + Zrcde5Xfcutdsod0YCBps0DGtes5ruz5ifpxpXBtkr6WuyYSzegaJAL33mHp8CfSQLSyZdqK2kzy + TJ4APKQHPTK8rc9wZHAtZ0Fo7MblDd9XAcBFVU05zHB/iUxmgGKknxB4zxIHifaX7zUC9r0ewWKI + 1CgEKaYZScOmbBIj9GmIAMohkxl/LF0ho+RIeJfqSMCDASFPluba7YqMhWS7PObfOeISI361BCnf + BLaeTXqSmC+wA62cc2GVGF5PDOoUuVWZwktzmHUNBVcAsVdoKRSxNnUmzQrd8GBj8JXeWDKq2EQ+ + 5BPO6xqARr7j3YxpIC0HS49kNKnCnPYnKM3qZ6+KhKwavMX0ujUWh+BDfE5ED4/AJP0o/n1VkZ+z + eptK4HzBWPo0LHPIwCvoL2MftU2c+6kvmXpVvj/wJnwE8iWTHEh77+3lUjaZ1BZDXYIFMHqoEFJv + aZZDrl7GlaaId6dH1N+96kIiVaTJATuS6h331fY90bspGlOVXeQZCvw4JVd0ZMu+jesXUywZ3JIE + QwnI7fTdCtoj7ixGMjK8E4XHNBbLpcxjb9PQmi4CxkTPsNdZqD1TzbiDHYeLz5upDTpuQtzBx8pY + sFlc+wGMwTdbATfnmD2v157i03OOeoQuFV/4fypI/ptSMxLzX12VMxeg4wPxWNBPUKq5vozktSKK + tUFPscvdbxbNVS/bVJ9Yv5kMsgDrFLNw9doUoqS8Du32kc92IEFHg0gm5Zh/snQ6iVifDUNNMn6Q + RPL0ilQH8Uxx++40hbqSlkgCgugAbXzsFH/EkuaCj8oFDC/fLmnUP5jfqcUFMSN7+eXxS3aky0+B + klIdwdMD2qfHoGPUJkT6wCIznEqZphnEqlnXYMzeVo7TlS3+TexIs/u+XxJC+RUjnKGGitEYhVwb + Ro7G7wyuTeCVdNq3Ri9/L66wcYlfMGG6hn0M2ahgBwDJBu4JVhLzingcq5o76OMBrcEP7IKS+Fnc + p6cL9H58+pIA0Ee2AGdUMqBbTPgyEYCwR6NtOi9rVkYrBE7Y70mltQQbt7y8NkrKIiosf1Xi+QsJ + 0/M/0CiK9BxNP1nAo+MJ285dsXC8qhs1DNB9PbyrqHiRHvapznF1HYLVVdjTyj0bWz+8Dq/Skq/0 + jzprPOhRI9ZQelWepTpPZlIQOoTo4Xcadk2C67Wz3X3o24EjaCf+46x5c/4qlpMHkSJYbSgmhoAJ + Fa7t9JYsmay5UPRvicbm3U0gWjCQ+8dq9KwTfxN/c7nkWXjSvCqFWJta5NohHabRY3ZHLcnzbk/v + C+NEpjprQUcWxNCkzcHYoHSsH4emQo18VDI85pjQTAFF6itN4LlTX02rKlZP8eff5MKCfQAQxVjH + kGB8UXQSjWFawXHHv5+PJUHFWXhpqcKwYRHeEw7TZ8k5QDqOv3iplC7xvSbTo3qxgJHsoSIaazch + 5pwfzWg5fKNGkgEAo6u2sp9ss10oiLKxnTu4ewVNfoo1TCoz3j8rTtVNdwatZnOibU3u+j5yELpG + aMcKIWvhLSWg5sD3Eq3cOQZE9hxeLjxPCzpLAZQdiHWTdJ90FHLvdjbfR8jWxREYokRoJZ6fPFU2 + AqkmdOS95oSDuYLvcUZEr0wwLkWqUgVmG34EdRjCrVs4jbUbi3mFYRWKMfE23qI9+k6Wurcy7Ip1 + QBgF+A97LewSettx6o59NJl28YdCa0EfoyhWoJTXn3mObuxXpHPrJgb+NexpQ4Iivql7M6XlKjqW + FdtWnzQWyAWoWwRAR+7BmOWsCo0PqnJoDO8CXeMTQZLVlOZvfs68LYNLFGNbic8gUxIYjzlZzQRE + QodFtwmuiEcY3gFlVJ3ZnEj3j4sRT0v1Pvl8BzhCsbPb77paQhxNCsrN5k/lr51VNGWEq4Wk74dy + uZQ5eJRJscRA+Je18TAJAR1PYRYSgbp33BlqURWpRsNavLgAZP6wTVceDX0d+7ab/V3oye+eoRtZ + lXcME2PZsja6gHr3GZTtM5fAmqSCPXbXCCbz8ne2HAo3K7SMMFi3Sj5nO+zxBnhbhnhRYAHJDEKq + A0Gp3SO3scX7sZYKb2MSYuL2qATtGocgBM+FrWBsws9+R3pxnvhIl5/pYH+Du27SBz2vrC99YR6l + c9kgTPw9eNuF8B8Jfn4yw8RZ3h1+oYjNWFkNn69jsHRQumF/O5i+grzHzoXEs6NqsbOo7SSjnmHw + OtucYK5Q/q+53f08CO6LeqPw3kXeOJSy8YJv4kEm5LI/u13F7XEwiHZTsM2RwKQwJxLqDS/T3OWl + r9u0Kuqp+QN8f4ChT8PHVoc3pj4VcYO0mwyTMiTn7YBrJ4RFwaQ9CMGukZPEowaJTatf+m4vmFny + CeZyAdPij6cATAi3irA+rx6Mk60LyTiOXLHPRcz9H8plxuNMo4eirAZjXdY4OwRqnAFfMBtvvm43 + 1ia+kaOMIQe5H3R8s/yceXQ2wklr3HPJoaUz4U8q2omi7KMmSvaz3R7BKFU9rgZeUJOhsjz5PMC1 + 8xFY+xSaIm7DoSePyMZ0sXsuXU1UbYfPKcOg1tKdkWoHY/PItD7NbdAtH869dRnAqv69s7ikM+A6 + zT1VnqHiTsV5SbQ3Irpt6Xbc378cSX1yN6s+8+lw3sfu9tRveiADz1jTRRXRsKVOhn0ijRC7pa3t + 2FlpyqIHRWCfn1gBzWcRUuMOobGAz+LUEEJ4PrBprFQEZF872uhGC85VjlENds6AbySFvfQ4R6Ah + IKzzPWfJYxADF97afJENSuOohV5NFQnZIeok24F0QtVY+LOYnRocd8i81dxpxVxqd7+h+PsVZlFQ + EWK6bcxgBSX0BnusZt7iHAJq3V7xDRmoKupq68U3S1HJzPCxNmNrvN9/CQ183Lj2hlRQbSCjoXBJ + kuZovb8BR/n2Z8F0ZpaE2EdAsUlV8VMiIA8++Vkyv4z9z28g4E783H8wjZ8F+YxCXIB+oqzzMI1t + VWMgK6DwijsJPcgNmKWwARDiRZWbA3UU5qWSdiki+dFJ6rUnGHREXxg6D5sT7qMNX9C+Ed0iAC/t + a2nvnOUpLxqNQiiqwGEYgXt48c3+aw/API/5T+UvBiRSKz3kaemjEg8cpKJZPTJeRn2GzQsGeWF6 + kA7d3NBm6x1NMIDBGq3hCl7K0u2FjYD4uBpdAcfLGJFs1rQ5dninQZTVNBW/CM3efkcI38T2rH5f + aaQDqa8UiOfjT5aNhiOmlCcb51XNpWN5D0UGepK37bJNY1uV62RXG580NtfuoR9MF662uXkacRM3 + c1RK3OLvn/rbFHqPfRigWmjjEMZP0FMdbWidns/l5cAwdA0mv+Q23viPxVD3NHMiE+dQDM+2qH0U + zp+lsixF0vUPCzyLBwS1/QDb3nq9RD+DyV1J1KCO7SPd5tjbge2gWgArCrcHQua+5Mpp57WHLE1e + cOwSbk4VXjkBD+avyZgZ3iz2gGtJCl8iIPLWZcrVCvLJMg0RX2CEC5xl41Nv4tv6Vi8mULhUPOxS + 4ys+Asyq4vfcGxZyMsS5dVqJlYuUMsyM50Nxvj0Sk1Yv/QzT/D2Q/A7RGbaJ4ElWroo/a9cZY9nl + f+yWQY1wJHsVNp2acB94fMB3hhFW4C9N9yjIIviTU7UKWqcp1g/wHwHMw+XtKLcjg3DOsmbtSwUc + 6oBSBfPnaK5JBcHjcbRZ3pqMo2Dep5oY/KU1h98aq0UxkgYb9CKBNRsLnc2mIbs9YxzP4X8TvV4r + 91iygkdn02xiWichm5wtkYrPtFTFZRqlxOcrx3v9alku5vAqmdCCfH4/98zR58F75UdeEMRKFbkh + vJjY1alJ1lxt29i0hTLGQTQLHqQ1kvFXu3TbFsZbZbmcezV2u2mGs7kNGzNS0uoKaQyzpjk8yDUV + ce8UV+oi1lbTi4z6zNvdR8t9cCxiZZTDMkqnXoveMWY5DL1LBZcTd9fK0UbgX+t+WDAwtG0cu0mR + IZcjgv2cy2fpEXu4KAVGYrvotirbGZu04klIRXmvXhRqN55753fAkRaT1FKTRromAeY4S7YeDXyz + BtSXOlG+8vmYyUS7fKmADSDyDSeBu8ysAn9xHbTXbdqsFds3gnNPeoH5bg0dY6aBO6EQDxTw43ng + k9HQsls3Sj9Dxv0MIAI0MIzRVEh6RPUMpUWzPsEmEOh6qoPrNkqSzvI1x6y1B8JghtSIfMxY1WlT + /LkRe9r0YugSxxyiOg3Acp9R4t/wF9+G5Yp25e15ABoeZa9mHu7ynlTyUOfENqWJv5Ak0NyYBuBq + yLwwq3V3wSkHQCenDEDakIEydZTPb/EH7pnpSYMJKJDvevs66L+3ybs+e6lSK6gCxZ8JUWNRbXKW + Ke/OHVRaJZRjPguA1go1cjgX8+1ZlJZ+6E46LNfKmWMfSeCJPWEkEFIbLvkip5OAhE2YhCkXCxYB + d2pcTL9lcLGH8JjoNAA1BD4Yr1i2jgQ05+QzDL54W5qNM7Gd97lm6gI6dziSFZKgCRLezngn4DNa + JzIu+ZXenkGdZyErRFyhFMHF3BcB/Z4KRVRPDV5lVPKklR2u6A0ron+zdIoFpYBvzlZKaQv+oFfV + rgxG4DPNkqc8MW12BfxVyfzT3ipMnu5UnR6NLZcaesiJ5x9gD33ZNzgZ8ieXTz33Q5Pal6P7ogTl + 3yPsIBR7FmEn3HuV2IQaCmK7Qi7fE19xZZT7kK411mLDP3y0GShhY0tojGGSywFE/ixcvGqnK1Ux + w6hOWg88KdQUrM7F1FqmwYYMMFNXFbG/Vg0SRDE/WcnjWl8X7WU8ZqjubxzLgaKA+SumEnioIFtX + Ojbdidm4kpqT64Utp4TZcJtjbYW03JpZwBLOrqPk8koR4LitJXcnEftLSslmK9P18rbxBLqfsR6k + edeVauRzKJLpESCmaKmoGttgEQlP+Mg2jo5U9MnFM1pHmcGFwC4o/cvW8fu5fdZNuZuFA3VtpuvR + u0AxKTBwtIRjQcL2Xze6dqYiPHU0TvOBbR3SLHgrqguIlu2G7h+IDBNDPhEsOjfJrDiN1tu2PuA7 + 4c+ZvQep0dYOYzNWsXbS6tve9Ua1kKO1C89i8pW1LEEt/VH++bwA1KOEmSHNB5x9cF7l861FhsBQ + GzdAnOc/SPhXF05/lQEFBDF4irO97UPy1THl8vEIESWWHJxHsdiQoxgckaR/80WYP12hpenAUN/S + uHq/z8v4IcJid+0zV5AokoS03wLFI9gTfCmDJAcz+1DMBYizI2zo4q2fFyTgcpDz/ahOXNHsSiFm + cQaMeCF0HZ212UFaygSFYsifWIfPUusRWs984VeieajboE/pRdhyzfEzLyYs5CqjfxxS0SA/dcbt + jMskzLGOOEe/mzR/fxnesZU+/sLMLEyVUDMC4Lz0Dot23NKPpp7LB/RpZBPS95/5Aghzr7xFKKVt + rZjXiv2RPqt3B+47eg4B9V7sWmngQ5uv94kh6newnniPTSGobLjJlfWGzPIzSWFaU0g1u5QuSml3 + 8glj8zdLBrEICa7Qft/ibc+Ej8YW6nhho/2zfIPNMdOR8fx6dpeObRsXv67psn3eu6T1vvRBlLaN + t8eYELaWysPB95iuCMTLItBgyl7FHnCtRNex0FqMecUwYkxs6nMhsH5eIuyIXO2TXJs/Jm6EvZK7 + OhlLHCvM17s2oSZhGW/XUZu+MjvlbabBXDYZPti23ME1pcSkqj/sivwGyq8kLaD9gmzunWEAwQbm + ZCrkFNavWiniRh11XXM9LjkLzMOZvYLJW7Ih8UR+HlRvJoKfqwghrLWB3IxLniavr+cy6l5SB4VL + 1NGpC9XSj0v9NOM9w+5cJd12ewowx8E3VN1pFfL72rVWHyejTg5Y2iNxqN+YO8VlYG9sKlnHi1Qc + d54GtJtQScsd21ZR3qYFLdu0VKS7V3OC9Xc0q8NCT59wJsKFiHWmLL1iVkMomkTNdi5jIDRc/Itk + iyqz4iwa+pI0734dBYcRWVz5/L/pi/gbXnNcd41Mspx/gwZzJIZjR6j9L1jNS+FMxG4mgzw7vM5x + o5r1O0LYy89BmYOTL2nm+NJLMfJsSRTyBX1GneWH6jzZxnG/Il6ClwBLa+aUH6qhuM0TbCYltDtn + iJGm/vYJq8jr31YEO+DjgzLrM/y5IkW3KF0C7d9363jFk8cdDxs/y6OlX3YkQ8aaash7OXQS0/eM + RmEcc3L1m+kbN/VaZBqIX7GqVaJuOZ3gXemdfsjSJUMW5VpsPJM3kGYw8pjx5V2JcdF5+YYp6AEb + YDXdWW67DDe1riP3sG/8Ztcu83BPP6bUmiYSxLsC3HHEpevmhE5yrW9TDJfjQAdjF++N6VWXMtXS + pZlrOV1z23f9sAe+2KjRDFqljL2cDdehPAqWBdFNkGp0ynZte5bABEwAMZNGPAvMCfWNkyuNBrrU + 6V/n61RfG3E6G/NcLI6Dc6xssdlVkORpl/PYH44FVo2MipAWfFHQjTy6fWJjmAWoTxj0JD6mwSBj + VyS2KEVxdZJnludIYPhmh6KlKlP6eyT0OllfddhRB+NKYr1nrZEtjD02HhCqf7/TKAU1b2nkCp8O + g8ZoT2mMwMlotk5Zb5f35M0PvvqHVqPV52y6R2OjvrT5BIpJ5Xz3ojg40wDPVFyWTFwTBQWfDR5N + 38yEIe+jay8cY5ZZtW8g3EnKlYHCLGrVUrfdL8hG37KRWEe+E9S4d5uo6aAH9xv2KD27wKPupCI6 + rHsYcF+ZhxrZzL0gkcuu/nNuaTAspsNsdnSsyOiK60pBKPGP8fQc0kNu1rYkzeroQ2c4LybeI6OK + FzvD39qRwCoJXJWZPLnG1NvUVeLW7MwgUyjW1ApI4RlfG+UPUxjSmAKHy8LR0B6kpopt/ieG93ER + sNX9mIdt3hVgPl1Gt8L08xj3U3RTgzdGog+Jwon3fJUiC+nBr8+DcpFgGcjTosVMtDdIlD39g0/c + 1pmYuahXvyVc973nTyooMra6TbjdM9oHDYplDiiOeYUI9YgwtCtnUs9F8VwWJhqRkCnTW4g2oirO + s531U1Ry5N9qzUeXRbswPrDAUObO8SRARwHNFjhc9g09r60aK3cJXlzwEQqcZAtuJ1AboSvdA8Y0 + bNFKC/ED7BZ2kQ8IFkjtnYQ/rms6zMG/lAQzYpMSKIQARSnxLrrVKBJTOYDEwBRCRyW1MGZC1erp + hBFE9GUQJyYR6mMcAEm2G3WktMg8+UcOSIXB4esu8DZDNj9tyYya156SGZBXv6syKLLtp6hDYVmt + OUm22esNsT+r72ZE9JiE6eoIJaMTzPA5I5+KhLtMT1Zl9Z2aYYwDQFl89hsSgcbjPGks5u4uSWR3 + a0aqKs6huEEE6t6nxDSUxRqVQ7a1jtYr7ytNpt8/scKjcnpp2A7lsE/Afdtkg8XeZUEwKx7XNgeQ + +aCzNi7g+w6wTa5pizR/iEkISwwaZ6RYiHC1wL9BSsDquauUbZ1v7K8ENOH60faSZB9QSLDJVhnj + 05Z045VeMpBJcXx1cCLvKx7AAkrR+duLBJ00tjhrijEFU35pMMg7+K5QVrhls04AJ3d7jdNEPiF/ + voGBlJ0i7PVBqZZ77kbnGlpeCy115vNG/M1nT6x8HnahMiiox/Bju6DbSr/iHdYreadlUuiK9HtQ + 0wdwOOjssvbDDxSWUMSNfGDIdZLOp3adMaR94F+UK4YWX3qem1ERsUiKGDY3w04TTDYjc3ylZk/o + 0m97uu6uEJNxrDo8ztSMIpqdZhUVP9J+BybCj2d6YgXqkSPtLLjq4C1f1AqXJscT2uzsqG9F/kuQ + snRDw2Qqeih01uQQmFrJDd2Tt4MIGN5/VsQJo3lQdiwcggeQdzO5B+2dG1JXm2nHmJ6umLF/rd7T + vrcg70+/0wSg2YXbzrUrnAzAnyOhiGM5xXzAoBG6BapCU0L5FQ7KnM1EpMDaTQ6AftF8atT1w+Kf + ADPWcUjBoksdxECHQpJE04sw2Dc/XGWdLf7uZytNnZlmRAnShaAmNR+YrILxiQ5sRVTB4qvssKTi + /O35lFFYPe4FFGoQQFcl8+8LYh9waGR+YKM315lUrUt8o7OSeN02bvevKbCj3e8mOGdXOvPsEe7O + I1GysAJ8CFxjYz3rtQrnzIXcYoHV13b3sCBxIc5658aWzYZXgsqORbrfH/dhAiOop7Bpy2usLJgk + AMSySBI6zDDqOi5DSXKIDDDv8D8ejrdWYwPT9EeFDAvz4sXs9L3OBJGQNjxmVNIG/q015Qcz49cE + ml8HfYiogDuXCSKUtMDw70ArSxu4cw0g9fM2hR/mlvkDkGUxkzRKszHrt3fFOtNrQ5tU2xhowt0k + enqrd3hf7SNPeY061/LuKRztK2/Hpk7uc/U5SAb4aDuL6z3K5X+Lwa/0SbdLsxX+tLDRnd6AV/EB + o+J8vCbG3IhRCqXxtfUTLvK0MctQ8NxZrG/oo+wcmu0ppmGGbjYmH1Poofy9Y1Jipy23WUQaszhD + QFRHcEUl8jt4y32Uql0PvQu1F3SZ9QdAF5H4Bl+qH9+ehR5L0u2nCVRQuRK2/C1nj6giEQb8fY+R + XHEAmFmG2B7MKbBZ5rJOhM1SzIs5TZqcU1H75UgYei5K0yYNF7W1dVpMNomGGY3fIKY62x1ctAM2 + kWiob/7pAq1JWr6CiIbvb3bmBVUj3qoTyMtEEQl2euSbT3+rhJhTIYZVW8IVlI0rcKB4epdnNRrs + +RBxR5kLdJymleLsIDbHQTinK4QWPCTKAb2Vo417s2ausBkOMjHDqdkZq2708DIIwB7h7QMYGQny + kgUW/hepjJVggoR1osqKP02x7JH5dJ9WpnckQOjLrJVxxffnLLDqr/mP8xU+FFXm9uBhEZ949Fpr + VU6tMaCnJJIIiMJVkkULSUZeG97QwxYQ1CvrGUbmS+IewJVuC6dldlp9zzyQY3xXkSA27zaCP0Zm + C/qy/Uc4cjV+47xsNjEG7VvkZLus4S0UKJat8RT7MZrQo/JF+G/DNDM2rUbyqwOKU+wn44OjZOp6 + 8jgDzfM4zG4/zo3II8HOkQoI7GT9QzuvqpGvjC8EMWvkkG/ykyZ1v6EJrr/2QQEoUofId37h/a3u + MQ8DOJQ8pMy8ku+epQBKl71bJ9rK6FWK0vi+4b7DB4jLSgBHVmGaffP4NmMlUQxIYjuaoFvvQXTn + nnUND1hf/VmzK2WS+R4Ceq7+/UrhuUVAoKuI8JRLn9AmKAtApoOttq0gPDMVqafrmaZ3pWNmwUuv + mNc9+Fcao6/ZEnCv3Oypx1pc660QVGsF89KApV2aCeIPrMWw18yjjE7r5t/BW2x1bJ25gVGGoBYd + zq3ArkH2NFHbZfjFn2oT4mIYTJhhP3SVPCywszN7f9aT8nSXF/zvD2uea3kEaQtaWZzeZ/nR3Cg3 + CrzsdnqBeEEvfePnWM8neIT2ecO1KoFkV3gLzzd+UzqNKRfK7lZOVvTuYsn3hgcsLV6mbecR6vAR + 9p6u26eoNZ4obsD6759ic0rREa8J7R1OiqYy7kdFJ9bBFOt9wzy1QCVdJodGkijVeLEb1vKa2L8V + H7cJHjDBusWKNRBzsvjzLhCddgMOTw79iBvCKl0sXYLGnn5TB211Wl9quQJeEBpivgsb8VeYShue + hVaxgezusrN4a67CwzhlahLgg88Ll1mfeoG08qFU2s5KC2vyFntwXJfvT/QfmKRl+KXtX9DYjwaZ + cPMvIBhPUQUNWbgCocdieSvwpVMs+XiuaYE3JtHaAlhmu965bIqiqiasIdwMREKoAk8jG+gyvNSw + og8oQFL0gReDIBr6vm78bmypduzqz2GqwAmOBJDu6BOkPgby2jT1YCmQTr9KePMcW3QKJ0IlnoP4 + HNa6l5sYgSJYjChzb+GJil59zcHmWbrJyLqxF7aPqkPNpTK34Rje1Rs3vtp28ZmygIfWtpIgzGQp + InpKcYWJqCuPpm4NXoYMd5W611WPpB7k4D+xAIGot0a146sjGyrqKXXalGtuQxe90gTjXdLB74UE + 7zjSv496uf4xKOS2UlPsXW5geJ4PdbIcqt3W4CJ9YRcLb5SPiZDgvPzFUhoKpAraW5wO6yZK5F7Q + LKBW6uavjvMB8JmxZkaIo8Aev1PVRfi7caLcQahBNU6V2jBtHZI5GtGZVQS/KvngejVqgpKWosKf + kPS4AzM3BuPhnAu0bl+3e42tPFjNUGD2Pzr24BMOBn81ZCdWYK2hjx8v2KTeSM2PNH5KNvVyWkg5 + eglrd8TuXUsgb+jckbA0nu4gjSrQ935n2EYvLggphsSNw0Z9M19cqBShoZm7fwsLJ3/0BF/YmX6F + mZL25pB1/qHCZc+BX0qVtW/fPLVQ17nC7EuSFsQAhXvTjZbePDT742qpCdrl7QauUyosVqXoPudw + 2KBSeKKTe85Ro/wqAA2SnfivUV2gMwt9k4KjfSr5kPDeqgCehCSW5vFmpCI0rcNUvmXVyuJrf+SK + vu4hUApBG8137N6Yvp7Xs8dX9CcRQPMEpr91fh7VLlkvkFBjMMF6qHdbKFe3YDZU4Mf5ecftioao + jNSRNS8qvXW3P+WHp3RAmScBD/nNZTSgSfXld011M0FhP2gOM3AudxyHRHkdw81cWIsGMNgfEh39 + M8wHr/LqNI0chr1Tst5TRfO6/nZEYBhwOfSDIWHziSDtQS5NLNRSWdGGawCdhkYAAdy081Wx0Aze + bqao4BCY9cg0AlIoG0eYkZr9JwGAjRMdQA50wKa9x140w+4xPR8zXkM96UuabvvbDkwaIO6TxnYl + UagZ62ImMPbBNfLbcqnntxkYUQT5AqpBzAA6ndcTssOiTcfJOdAQ3c45RkODs5zhobnv8wTL43Hr + tjkDBuwO0uVEz9aKA2J9DspV3nZnreTc5ph5FMhIpL2w6N83e0TB5jx1DF7aaimWKLCX9/XVHGRw + yn8T7zubtOmNfPIZkMzJMc0W9dI3p2JtkKqyfjiPlVC8zwPLADwurYOD/X+iimivN7GrYuBfC9OA + 6qHhiT4Rz9adM92gpy2L1F6JgfGg2mJuPKzv1XOB0Rm1g5vFWW53ww8U/NVqW5XsoyB4/QLpfUw+ + EGWX0gaF1WyaccSlkEMAUytuoQn9whXIBKUuwmw5OJWiUbv2ioAwH0FzMOqblqGjQ82KCXAFryrT + vnQY4dZDTgDu8lJ2rk0wYwUBq8zHfklirKoCrJsSI7hR9cK6iOOCAOyxwiBwgBw9HflvRwwSJfIn + p/PI5HHLxpDQ7gXm1dDqeBZn40irYpcAYFJ0/DoAKKY14/AdNdG3I8ua+M8MYkyEHO5m/XkBmo4Y + ryqPtweUDXjDwmPtXWE1n7oHsN1u1nmySMHmQV/Fdd+4FCVqLq238hZUl0891G+XSzyVwcowLk91 + xcaFifQ3vSgpZLezm/Icr0GvrHhegnQ++TsuHPnDwH3x52iabFWvgREG3RFugifKcCdHQl/A3c0F + gP0HQ3+IxxqGL44EVYN7bzkJlfpbw+Fh4pPnGbbvl/n8AoD6NCuoj7XWnIZQBiPiIcM8gVb3rRnC + ngj7ThUl0fLWHr59gQ8cQ9EijJ7myqcP8MZX/HurbexVXMgLKKYI3Lz0zXqe99ed56vcgAcwM29j + W+QUmnkoQNFlvetYgcLMl0cwPSLIDehEgzAT5aIwjL6Zh3DFi+FQPIdHRPJ10wTZzj9JVdvE65bS + 04MOzVuSEk519J+JYE652sWicKv01acEWcludQwL0SGkWz9TP3lPlZdx5K9SuhPt7HJTuOaiC5V9 + 2+NXhSAwlguK+Q6sy+FgTjScWdbUYOLlP6Mp39SVQO0bIgXgdlrK33Nfa3xJ5Sq8+wTLbpjU/aAo + g63k+fDydHhpYIMsdnjyUQmCYIUPk1WxHbF24uupVFcL1Mo2eVxFUMOpeKQcB1tjYZ+tbq9bCii5 + hC6NKaijC3m+cMZ2LYfJxJkGeHPyTZBr4HPzlvZwfNB/XNVTHG5WLuyKnzjGYUFO4HeGi8B4Wt2j + HV6ycf0oYc6vhmNY9VaSUIx2IDvDsSHf3RjJEupYpu3x/EhjM9aYSQNppNqtJne68nyh7H3CcM4J + OeGY6X0TZK6Q/MUyclFp5HB/qb7RPNjCNlS4qmGSQHryV7dMUgvBZfGYDzzuVHBuma3ZDcOvNcbG + kl6dzD8DwOVtddQasD6ec5pGzUJ30DjlnUnZHJwiz6mmDng0pc3Fu2FcCLuNDsYEihmmf46KJLQQ + fLrZrhQnm1fniyA8yry844cFBAaKXCTSrA7cQDoUxuMhq2fe3L53IKlSxOfYm3IoN7omq7cRogKW + 5anQMg3Nw1Tf8g1rtvMJAN7lfzSKF9dyeuUtJSg/iLND3cAzp/tf7zhRzVUZNfDGisdExyZFPF39 + zM2nWLO3YHHNktEfqBNGEv1rr87AfqdjdHx+OAqeaF6lUtLFLqUXmzs8qbh4gonF8dOXaOwwghGD + sYqtiLCC5uUWTClFRj074i4q8OBJ1uxZzz355A9/7eHos/LEhvx8VLJLnvhmd4z3a1mgGI55Dqyb + nLi4BQ8zwzbgoO+CEOqBnrtWuPaOA9vb9JOUgafR8o5C3Jle2t9AEYXYgApLAdeq0jrrforO786+ + D3EcgGjloZpyDR+o276oiNzG0lxYyDQ5GIqDmg2iZd9qOdEZrLar9zAJpD3VQwi9j+P8w5gp2wVb + Kf37Tx2aHXrhVBTDJmmVv9MdDXytkrGlqIgqS5JxSTC/A2pA3rvo3crxxnTupvEMaF5nUI1bGYkE + gXnV9kko8ExZtvYXYqlYevh2Jy0RmA5UkZeyg4shkowR2cpfsS0iHm0+RObRMZVbUqsqwg/HPzIH + eufQdZZEbeoXmAw4QS5ycfw5McaSrH5hZCLRHbJGLJJW+w6Mdfnc+1P3JVorMtntkfo1FVyG/qHV + OKvT5BJIQe6E9Ff11/SvRJQkoAL6/OCY2eioJmElbnTsi2ULWysLN9dwbPccnEjDYToMvKYlvPP3 + 3kYKQ4n1RQ1TgvjEnJqTxmxJPnytvB1C0KSp3BNbBMwt7ZwbMWj08TrlbMc7hJgawIdfhjyRZYoY + H3mMTSscX8pAcwW4ADOwpCVaWPb7UqgcPB8c+q5duiLMJFwIIv4WqYb1wnCV19UQSH/nFwyf8BiV + v59GlHsQnsTiiCdITPqSJTQGTaRYfa7H4spQUIG8NDNpCcn92usr6sLEfLFjXEhohi/HjblY71PY + lCaREyM9eWwr0dtqD+DGjinvJO0BUS18bbQk0DKPaZBF19N0sXdpsNiaSPtG8gD6fqbZWbw3SR4W + ScvMTukU8dEYKhtEwdZ60gAi7uD+3T9BeMWinpPb8jA+dQrIAL2LcIVpXZoSCiMuN4yNacrXlVmB + gbkRKlm3YvafZlJilNWhUOQYiLy0c9yP74sBGNGwm+HyHFvIX7xXpQPAhoPQFlhiGQLCO647nUOu + poHK7wDZSNh/fyQqR+Fej+zcywga9bSuNkuFjvczJp0BvLJ5sBU2o+CY9JUdtPKCX/6omR6lUvNF + IR8XgHo1bZmSsxg5+rZwh/nDs2MEwGJKONGw+3ZKJCWiGdIN8vI2L+0BFrX6ydJH+ZdmGtST/rZl + YBFCQ0ohp2Qeeax7T3/hzljcVPQn+0kUyrq/MDethFc3OP78biTYoBfN87LBAxoPiXauU6IIv2CB + WEURs0FiM4+pOQ1Mi7px7251VIvzmm4N8whXpnBmx5CVgXmwKLAYkep67/musPVJQo0IjSswy36j + iJze3vUch0evWf6Hq/kuPLy2QkUlIsIhYKy5RHNgYjZslFMO+kwav76f+m7k/WuqQE2cwMB7qV2Z + HkE79p6TYdqdFJe5PyUm0xCup+X6YNbgdQqIRKmey1JNArYRLbDzvq3v0Fhl2dnM5JZaUSdnHEGr + 0G+l1cXSvkiN0DNyo5qtWmdfZYTKoHwtuSn9pjtHwqVKeXuJEVSlnjAM00eJC5gEvsM/cYXDaRZf + y5UROU10VpNA7UJypsZ1X/EUWZo75csv/K/T5UbOsto3CbHF5QbpfjcqEdi/mlx/kwtXoe+w0B/9 + vdDiUyglm8Vun4pGZu2cXHLNbHGQiFxtWMJbEf5HhCp/crwLavSLB0PTx0TDhuW6urkwpRjPLDdm + 25YQeMHUZSGxgZKwHOnueitiYs/v4BcD8QPVljpycKuwWDufR0b+bVtAFZmSitUZEzX8ymZbuIiT + PeVRHOLJPu+4AX2Lk03nLun4weGFarPMi17FTIfDJvyoJULiZdwbxDj4vz2HF3tDHEx0G6ysKPj7 + bNBsz0KsWhGOmNTXP3QioOMy9owlWaCtfWsXkKPf+6s9U8krNKvw0F/hIEAGe9uujBDzJmHvUQLG + UQvDYvlqMuzoi7EqNVKV47uDcNjAg4OSsx7VBxXjw6bcadrrCEMAYvMkxEsTHzHFFB+mARTleCq/ + aXhpx4aEJkMNe9/T9xbuKkFgzu1oEzbkFnWTNAB16ynXhZK1MmnM9uV6t76AgZ9xGlj2D1HBOc2m + 7bmvZNKWk1KyXzWEE5rakyg+7DtOCvLs4ILtm03vbFc/0gQMBWadwWZj1m4Y4Lo9jm/4eVecBxC1 + wWTxL+1Xu+Jxpma2OvvGgUhhlT8OnQc513q91Twwb2wKnx1kSciIkxDDZ96HJPpICiDVpZpZigOg + 4IehY4bbHNyB2MBEhswxciwhqLzY+hKyO2JYb9xKb/CR6PKtVca1pb4EVJJsT2SRGwoVHUArABL8 + yD/Wd3V4osj3DfVx6s5FGDTh59AtvyIhze+D9zRpim1Ay8XsN1LoB1ZTNxxmKsMHaa1PtOgIdY1K + l1PQKdlXiiqYq5xD5YcT44Xm6gOQA67BcGyYtDA90Jb6+92HdbG6dazSQni+EOTelTM+EVDdQwJL + eILaey1kNJW0hlVT9wKzeKKcerL4teWd/ccMpLFQlKCdGXgyK+2eHdCpNG+xFxYKnalDmSNbNFRG + WZt7ZuVgtNOWwfh7G0CC8zhvERziyitmLehnmxSmczCTHdU00x50AGnL+dZN+kmWosjFECByeCpn + ugto3FLxSKNbQmDEEmBxUXxEBOlPjyXzrMVOXBHGM4LymYd4f2Is0myxJTpTBIYKCzmeB/HOpxaC + k/PnucAN7hx2VUxxxl0NwPbkSIxyz94a1hVunhfgr9vOF2NJ99+kKrpMCZV25EVmG+5SdKRBtuSE + Ijd7TvQgcOqnHMtj9j7Lg0pg01CJ0RMZkL7OohbAH3khalTNhl4QpanvUiY7693QAKAWPiixn0VH + qg83rpIabm1xFsHJ1yTVYWkBtlOrMvhXQmWcJOHsWlI6XucBi/HYMqY2iWuZRq0sxMU55RbdWlTt + bRpZhLaPVK70s4Eai+TcgFlIzo9fhz+/NyAz2S1jNuPmd9f2dRaC0t/+5UJQNkbVnrevLaMRbBmT + w4CCOvYtHulHfCtzUGwqwdRi1tZ4XnjpvMqDV869Xz668/D4AobKRjaIjMnZ0XhhA3LeRsLvsvPK + AWhxaUANWYd+l/t734jOE3APPjoMCm5msGQw7MPaUTXUDjEtntsS7IQTCZda+i6u5/HRJPK4J/oI + 4GP5HQ92qX1Ik+JloCDnnyEY5cojKKq6xatLlQP05msSIpe2SeD8fYhqdNUF1p9bH9jxN+yRWSc+ + 154ayDfaBCRiC+dqfUOQJEmXA5B2ceGzyMlABMSBrcZYbShF865bD3r31Ua67oajUlIao1Wj0DtS + kA2t9zdqWILOOpeZ7HWnc+5/f3oC69/d7j2QkdWHPHrqXHADRyRcrS1z4jugy4UAexRavFypHR7B + ERKbrOm/X5z1boLE+MWKb9zqfVJ7mt/3HqxOILoC0sqNQi/GxoVieO6gOg8/BOQDJvrPI1OWCc3J + +gGaQTpkXc6YUcLYUsMtea+XOvuWkquY8AMzBBzlcsRLX/tJ52mvVa4y21ehR9YjfCycK/3Hdpa1 + +8g04w1KA6T9FENPRPjFNN38ij62+ViA9hRK+AqfeQ3fg2sJZbGtdbO+ulwwFSJB/hPfoLT1+UZ7 + JZKUGv1VDo2G59+MNcOeRbX2639PlaZrROZcGnMb9D5I72MpuDfqkWT9WJWL2rmku3QqwqpgSuqx + +ZHDMIldh1GC2o4prC/mnb6sF3pLufIDtEiaQSXum+1aUkSo1fKGP78Ikrr2kTbs3TADmK2eB82X + fN3AStGNRseIQYizUa60FjnJwXi/jNLGSQ7t9QqkCCnGagO6ZyLsyFTrxmRsk9JBEESbOcpWJrho + 9jiIlnUbkFRgOlECIPXlP/FwzNc4sYAbd1rV0n4d+YCWz3FX2GXO2Ud1uKwJr61XyUWdqyTVdI01 + SzbAUBd0dodpmKv0eX2FmTaKoZs/wRgL92Dm0+RxB1d1FPK8DPNpUbY9magYw/kUkA0fwETOKuRj + jOCZ6sBTt3gmF+dN9zh0IcudEKwGIIPlkaPj0KijcMbET9cJpVrhc5ZYqMlL0Ku9buPfe7rtqOCU + Wj4/Z8QnhvZPk+2iXuDpmKleJgWzN8M44VfCNx/cFZbTHw+VUrLjQQsYz1YMwhqyq813mPBKzcHp + ryyUvyaycJydHr6z8g/f3laGAdEwRQRqXrrWZIYjGVYMow4WR7AwnNjJpfS9XoocVkN2d6jngppo + sOTY8VSy4/SixUxxfKyhBPfoYjFGYghaYExRUGXJfJoGJVfSzFrAzUavMUeBfO7N/bMCnX/2sXgW + anuYENrHlcVwjQIP2NPiI3uyS/BfRsBTp6+j15IF9KFZKXyQr3CuMM7ewr2fAItVrDdthjiSM9V8 + /FvtOOih20ho1Z9eEcnPvGKABH78p9fQwSt4RfFIOdK8dNffaxSx3TuTqjFuwQ/gC6nSHYOZGX7u + rcEODsVlSu7lP/4xlxwaCbxvZDEk70bL/W4SEVQf4b9xjFQMybjcS4jHAGuYgl7LpD8FT9UdF4ti + phPAlH4Op5V3dPuDvHpHrUfaVSIiLGGETLT+4oXCbYODBrzJMDRTngzEsIW+4nwYG0xTghbFWjxK + 3ntmdr3lvkPE1CxPoYf8elHWspa6Fu/V03u0htB4NpT6XqlaQO0RPjgA4OzDejTmPmIWCu1b1990 + xLihuBrgSgBSwckeKLhJIIK7vS8hkWGLBcpoGNx/lUJ7YSw9nXnyzwy273u3/o3ACbxOhOuRNCPJ + E9mRDAMI2I0F5bMPTR0/Ie45K8tR99NUIB9GXT+G96l3YdS9Lb8aNi36vS/Hj7LLZm4gTbupDV5H + ok2y5bNrZRdoNywmkagNcoCXpI65XYmsGgDCXyBxdy2tjwbAlgIKMjZ2ApCihh15hDV+qB55o7lE + UkrdBH/QwjJtHMKPodp8kjtv1pyQ99M5kKIptzb7Xk/dJhNf0Hq6NF0rKFw09IHylXA3OcBa5i6W + Y3Q/LKxeT5hu9N1RZCgkQ5cPWhFYxyUob45V7wTUp0vIk4MtDrkl7kZiPOOw7d1LRMs5x6aTHX0z + QFWmWAUemowmxZyVTiAFFrGRwBbpvpJKQ7aB4uq+55GOcyXtJuAZqzBwz7A/NFIHDm2YfKmRRRhP + JgUUTQ/Fg3EW+UnLSfadKK1Y1c0h3rVNOZzvqFzZ05X0kl3aoKZlDyBzGwIl/FLrWJjC7poh2w4V + /TSwgQbjk4iWLkswBVQlFDa1I+2aLmL1LOU+LFK4KiitWq8mb0yiGgNQe+nMxyYg6/ZFtpIDNOTV + p6+mEZ/V8oeOfvBFPYi+pHK69soH/KxkNCv4U2Af5tfFN9eHI87xcRnyHSG3oGfZp+/ffnTfeDDu + 4qkYwhxO0Jfcqu+18Nnj7NGFv8WW6oHFEfAPAvPwRpOBp5Ks4xjwCjyR4EEV47Hx0eIzHfiCXPrC + 3Xepnspyxo8DP4/VKinV4TKtj1rNkegUbPntCP0GPV11NT+4O1PU+85AgE8KZlwE3dUiP4gHWABc + kbUKPz9/8iSpD4HvhqeHux7ptBgImU6+U8j7wUgXzohzfCGCm+zN+RcjwpGD2g6FqT3jdWhlMCn2 + hWCM8BasHvS1PvdUk7C9qu8OwtbJIWT9e+9CcC6jEgBZySFq2zC0cvZj0jkoO3GI3W1K3IMpsvas + IfA8c8xv0qkZdN7K6jFrkG/98wb8XpTFiLha3pEgMKQ0VfgLobu4KijK4rCe2KCfzmddPDgosRUf + VzaQ5HV8rSy/Ij3knrD5c++rwjV4nWDRyVN84Wk8u3CVQsAQeINACnqeT+DLZDbXmcOkN4AKG801 + hiWP6drZDCsZbvYEDtjxrozBiUnaLZTLVKJ5I5pqYhL3IcxcDm7J04pXrbdrfnU7rk0QciiQCQXd + +pyjL+JeTs68I9Y9sFbZgh25mSh/rRl9MTWXTkXRAwjHkwlVOzlFSCz8RUFZgQ1CNl5aKu74Uxc1 + 0dq3iaKwWHBHkF+ogzIZQqEYcGHkSxorEp3sTpqeVM1uririG14YzzIjEx75TCmuLxfDMEjRr80/ + MKibhe/oz9WQCFMD7SqPi7+uYF5PF0NVJL2tl6vIR3Lbl5HPyOhOVbTBDOxK3e6iYELHLCFWri5C + l6vG5sL+7huJ1IT1lPvaySNP45+bHCEUEOZ4Y/j2J4NekrVQvaGDoSjX7sjEqyeeaFHi1VjEG/0t + ZukQrikZSO/aGPCmeyPd/C1D57sEF/mx6zDyVLgudfRF4Gr33/m3PEamdJg7DgronTCMKuZBpC9U + W7+yY9DkSBboNxDaLJAbSx6+W48HaWD8377aHgGHoXVPh0o6jOT5uoDpp0xzSMfrIP1TkVkafVSF + NgABoJZxg9HDvsdrinQwmqbfsYSumsznGfNNATQUPUawWqUOglQ1JCAfsuK5EwWdxWlOaagmtiym + NYdbf6v4YvyguCNJ7i8IX8O8k/2xz6SR6HE15tpNPjDK4MBdDMuyp7ZxIKMLBRNIXWGYJJAaVM1R + G3GujI7KPJxCcgM00aUSQa3Qu/xWN8VRbk5TnrTh53g6HGf9ycYErMR39rbQtqwUGlj+jQlBgMLD + zq3GOrvPAZLcnjtX1Y31dr9IcmJX3xr7zp8HmoQ0D3IXtk0WgyCGFtEOrlVNk/XszQl924iJuPyG + 2aLjuvBcsHdz4dPGQkYLaDoKV109pSacm6n2DwrbLTOQ2J4bEYBKRg4rsUvcfi548D8Fp7BpLvmq + LI+9ljqSEWLIbfOkjPD0JdYjj5ee+Ii7+9hkGRohogJZ1Vg4MEakITojFDewzzrBnqB+z8iDDQhG + kyhQjLtEa3NssPAtvqzwauciLIk4o1Yex/O6hD78iLNFSsd/5u6R6pc/00qhCf7OUtnVe8yg/JOm + nSKzLqxa2M9gd4NhlK362C67tV12fCrciGgYi7NjXJC/ic76RpbJFR3xqiQxtp0kTkpoRy4tJo6C + b2fm0mT8BC6ENIPs2Gm19shmPBTyaeuJIdWxXPiZ1f4YBTG13v6K8IyP31xcZduBLBbUJRkeGPof + VnZ11gwIPE5l8CxF1D1Pre08fYTsf6EHl8u6K1yurdgPT3Z1qbTGp93nNM68Kxdr2Zb0d7i5rp39 + VKqmp1mtkWBhtml+8aY+eSeTgkbCNe1dStq37MoBrRs/kEAlx3g1fAMMSlyofs4w8B5ane3Jmtvg + U47jUkAehSyK9rnruw1FQaDZJi56I2LjRpjP9sHErL2Dg4DEIHfCkxrCGmvZTyddr7HoTifG3j+i + gFCznMAv1b6TlEmHGXQZ88a56JAEX+Usf8EWDwIiTwG2kN8GI+TYK40IYYs0AYf+bkxhlzLdQIbW + 0ovZU5fHK/kzFhIPpWtZBBtGz6lpITdRV+kToNuRqyUoJeSl038nkCpa40ztulbYn/pNCO6rF/wv + GRsbXPrltGNiFQxatssOEIoscBgpKxuEegsig7jsVsjqOeUyO++euaKIu8a1OPXRHU1kGYsGIZtV + Ke3w7lsJKa0wHcOqDPpIE9h/79X34B6lG1SLN+1XhJjno1ANJJisJHQUVkKzAUl43kz9WuzJ02s7 + HD85gs3RMcRaYZ1wu46SlNeI9wjYb6GbPf0nQMcF6lZ3zDIYi2D0p6K0F6o+gZxyf/rkKBNosr6e + Ac4dyFEATopg35dBXq7pTLKdqFxRASTnD83TU6e6rZrxM64CbkpgQOEYe1cOzGKJDNqw+Wzn13Qu + aHbnzMLSv3nNlW98A65c7TKFBq8eUmKeYhVu2y6FvYl7PLht16fBR5PrfaXVMT7JtzeGg54Fy3Z/ + QWxueI7+HhaWp3HMPaeBW+G6+bICD3A+rSAZlq3nNdQICmFqg6dNbcqLTbD2GI8Dv8xq7t2rkhWj + 6n4fbz/gSg2gzy8/VPsI+oNlGyUwgvRwX3NqJUeaoOwIy7TaxcJJv8PD+tY8qLtiGS/yyGRVOpgA + Bn5icgskbkJxDG1QAWcTPe08F/Mn0i5D+IF4EjSo4mfQIaQHL4hVPUDggqe6rqgCfvEokMAcRPoS + 2ytl7gShiQZZGZVdSnWW4QC7SdelerRS56/Y+zmY8+e20VMuEGtihMGx5Jj+gTeRpyuxFKIUORgY + 3fUStlpFD2KOg+NIa8KpTRHhv8Oy4jTf1OeGAX+7kM85B5ub4SzdRENN/H/c/rBXlnUl3RZ4KPWm + PREkXUouAWZvaA6Qh58MCcwAOwQGyCCspA4Ne28SuN++P7i88FP0WMW1XcQk8YvT3GhvYrdYjGJS + vGm0noWGOmVR0C01yFxsuBD+qy5MfRAaK6fkXnb7WcG1Fxt/JMJiEOcQNxJdYjCWnKWqfM37rJFL + C6LAcRKF7nQw8f2mhry9eSxIe8prl/gchmu9Tgrg4hLNsu3MbC2Uj1bOZyulA77O+kq/g0OJ3ZB1 + qa4tSTijU9yoGN4i53WhT5D+TG8ho9+LIK8MLMNrNzVOlqpR2Y+f6oCmhcDJCBcf40Cj1jRuGFu7 + avB2mehB7wF4ZWtTl6geZmKBm3m4ioJkwUNHA5NPfm+HO7ASUDg0S3yobHYwfYf08s5a6YGhYy37 + e7Wnf3v9gkh18kDMMnPRXVTaWvuF0V0WMJ/3xpsXbL8dCIi0AMdB/ElrOiHqSTQ0hsoqOq2Ghpd6 + C0NT4RRhXx00d4imhNf3/rbP+5i77/40TtXIBHU1RpqjVCjHUZryO8Ft8fk/ApF72Jwb9Ahvb04K + WsvRdCQWibs903DzfIJtT1Qpdd40d+1l0f2rWDIep8JJyGA/uNanjEb6JQiBmQw8I1+brHq0OPHe + R+hdhbRrAg4NqEE6kaMfGSYEYkmu3KfatqCD84mjJXDW1TGVGSBLy8fTFGpnVK+Uz8dz6j2m6/fV + ES4igi68s4lVY2Vs+RwcvNWs+q7Y6nd/qfZy2iBn5lIWD56CPt7TUeum1cIFPgqpvpRPnbSyq9wL + Nv1HfJyaRdXOTfLEYeVoaU5zOuTrlPV/chd62yfSRPfynYbss0/ZQncRG9Q07zNUbn/bKlviIHOk + weS0aKL70n5hJ0AkfQ0oIP3JTmm6mNSlt1QF0krH24phDaWgVhge/Nom0BCfpxL7HEmnE8sZ9ndt + utgNY8OeCVGbIPkggu34McwGJbaui6BAgjE8EcGYwXxpI4E4UI++lWmBZZjw2tiTy/wrqQXFmRqQ + d8zPdgzLJhXwXF+eDnbcuWJzxamsZsdQ0BR1EIl+7Nt4KDgqKCHSFKUurS+LiHZiJYzlbZ9kNfoB + s5GxsQZ8ZbixRz4Hxbf4K+EHzgHEu04q2WC3rxTHbusg3rg4EUH3rlNKWaVdhmfQ6nzUCY1XUvd2 + 49vsUTZJ3JOcqe6weEH6mrVL11wWQjlNXk6iP1+8di3W22CqnV56O2EtrYqo+e9cZswHGBR6pdTh + Ci7glr3GGSP1mhlJbbYBGtY+Q2eFJFiC+RDjw4B/+a13kNWo7HbSNucFJcO/KGm1choRqf0AT3EN + ShsLlEp9kxWfsezRqYXDXvB4mduc7wxBxL+XBi0nZZjGIi6kCGV0lUfwCMY2G8fkDsnUsUYadA65 + zrzQr7KII0obsdymIKcOAHasbsSKl5XiYkyRUK4SZmLmuUcYdemy73uUn3R7LYKv+DVDtBvyYD/K + 7DSpD45dPab4Hyud369eLNgulrc9v+hF2+nXyuFtLMHfz99U9nF8ub+Q6P7yutKiPC6OWeUkr8kB + tc2PTsEgve1PHL0xpFBLKRUvc13vhO/N70fYAcZ1o8XXRqD2uwQN6N5+34hAgSvceo7+49hVUP3l + YPiEn/T86DGgNAeCrKVpUDCcGj13Si8xh1wvfVieJV/XrVM+a7TsQ6dLidmDOm0D/jDEukcrSCUx + zRvfIlg1/qVmu0jfW3HFtiuU72jjUEw/q4TLYNSR2+PwxqGtEB7Lxjepm0dYVzyuDUhrw8zR7nxE + d/Uluyg2uNl5e1IcTWYIqs8ALCFvJpCbFtLITR2Dvb9V16hKytxvXF8dQWW85LLhx9JOULsI54vC + VvBZJ1RzT7gllctN5HUOXqvPe1ya2BBEnaSKjHU0sAEh+xPGbCbDe0zoeWneBbPd0hlofYpNdQ9x + UxMl0qh66AzEHMchmGmvgJ4CdZNJ1cSxqbvN/gdshbAdv5pUVNue4U1gJaIT5RnbiA167SysJudS + 6oFE7jveMpuzRaVNMDuCa8/fRLqUoD9tryBzhjPu2ZErkvaSfJy5mmpbQmnFmVZJv2NVPuq0C7BH + QB8WGDScJnZQ1S5LHorqp0HFwWA6z/fvKEBVZsWTNePsj7uBNjUuf/EivmATEG6Ql5W14qWrGkJ3 + ya39ulWMeg02Lg5zRrRz5z1JndIvoYdDoqbRbflNQYapCmVp6I+yHdzTETaR+QMVdBKTKJMUjCAi + P4fQNSCcF6O13290cofF0LCjLf7Dl1kKaK+MRTQgEIl6U1SQOrFTug0DfD1C9p5ZJRdX5fLPNqOI + C67iO4jdu97ZqvzKdm0U4hK2bsPcDwk5diJV9KOn30k/9NvUSewCgAZIyguNvZtNpljD2R1YWYYQ + pF5r1qFe9/TCygQWVxOFuQ292ZtjM2o1+bU2+nuHtEOgMlFGn3Ke5dtYMKfc2xq0YOQxoacyD8KT + ONQSNN2Rj5oDzU9rtWpUZqLdU83sVoqv/hod98Fqq8cb48jJWIJGeutuNEygtHdQjvAD47yzM5On + M1ly5e2PEoR+dFZg5tdpWgmEOK98V+xqCuR++lUPpOrzBCvSgSiGzaElj6LMO7XhduWS0UUccibN + YS8/lCh3Jl/Noe75WVNu2ekSm9siqW8STRPFX9rwLgz1ad/aKSpzvbIRfx2Nvny02ljnP+8Znpbc + hLKyy88h9Mw+QwrqVGoNre2Y1NbGU7ZvKm4qLhrpVS5OKF8K+JxRY6b8jcqY0WQhNmch2/xKQUaV + HZ9gfa7AnL2CahcjTOIZtPKLXcW21xieH3D323tcXUO71kMklwpcIpURW/LMLMOlru9A4/Q4i02N + GAoVJ1+h/k23Qu1gzypaLndUiUQqPjc8t296ZB1WhKa3wy8/elbimStPLAWsrd3lbmzRrI/W+B8S + iv6eG4xWucZ75gl0xm3+m/VoUUdXdGc2ADyTwSDHFrMLd+olaIWKIFW7zFRN79my170eduw1IXDN + fBIBkMSs+TgzPg5re+M8mk5RlyXKwPlmyfDuOQWZJwYeMXxiPDJdKuetJZYV/nwcIyedIMrH2TBn + vKawxfi5S0nsJGK2qKuK41rFbAZ2jJ/kJ2tSaZMrwOcdnVbh1W8hn15XvWFaxKd/0GIQZ2QAROw3 + SQdsuA4KzuBxvcrXgwCeoBujCGc0q2HZKFMGSRCcOikSeLe6C83mQuGJiniu7e7ndkkW+jh7l30K + cOjSVn/5aTGxVjtWNr2YCHKh1I5jJpx+8rIiTUnm2YLs5oWxSXGmk+vZ7fWQimOA54sr2+fau8d9 + kt7CTtuHJK7KcqE6D649m0Yw41tAUoRrLZDxkscWmVP0rwMfS8kZIPZ2p40UiIG4CM9UR3UKSloD + G4Nv6tjByoi/RZFPaJbxQQ8rU24CXkxEDfrCNIgahVvt+uXxC81bCqx2pa+MpG9bF1X7llwZktt3 + xMOvgqL9ewvkdvB6+vwUJS+BL9d6eGpIMiaNLu0P0B60MjcJvUrWj33xlljJUwcIZczez2fFTrmk + +rKixEtAhYunJHkPwDHIljZ3WJKPmV8by1St8fL4EklsWVi49WsZDZAwrHoq2xKEaqFpRWiHpFoE + tinx1wj4B8seaobeCioX/ap32DuxWMSJfRbeLuaP+Am4Ynp5ggr31STH79zACAW5E8oScahB8Ess + XSOtu5OGBo7VxhfUEyUSvFPkATXKHozs2JENN+kAZuPgrdkYCgYKBc3RqLfaBpGxvvNHVDuSwLVM + E0hYxiK+3d4joW6KpIF0P8z8glbIbLgIPjOWmOK7NyRU5oNQenENan7b9KkPa1DBnw8bUaItdnpk + t1EaWB0LAGEDZLtXOSPJIlP6HMGejVWAobV5eY1S3JMmh4kD8GG8KBKhcXrepzBGt/bFieiHM1ml + qjFfpbjdFQT91F1WudC49CnQM9ZVb/RDSxjFaeUQnz/sASo/TQ+yj9LHg5izQGRK5EkfeLaK39k8 + OUOlsGYDXz+q0ElU8PDbHNgeNA0lodnSOwAh6RTCtrgDutzKdZL005IIgGy/CcvWb8GZLAU+zCgb + 5+bRqEOD4l8N19saCqyzyBrC0JzM/STjW2BJJrY8G0VWXLyUVvpioxChZqDegSegq00kii8wz+tn + Ck+ytPM/uZMYuqwcmwBrlXqaqbx3ECbPwdNxtDwsqgAWvp3mDrmi5wAHTACEddin+2JsEIpqq16v + dB+nVroNXvG7QZ/dHuMnOBVCOxyU7bwit/CmkW3Biact0x1pqObq5eFgUDCs8psJ+Z7E33V+i9Fy + Ln3H3fW488mgewFDJbW8Pr7VAYP4DCbksxKvTrEsahl3aBKOBvn4TPpSY2Y5aIaaBWmG8WxK1lOK + 02bikd4S+xVG5Ibw8wif/h7CxDpJgnQpHNC2DaafZwTIy85f+edE5ZkAgjHePUGidh8jfQ3Aq8NH + trenHR6EZWO4r4FIVjejBdpCxFqEmrkgbcabSF7KTs2H7NNQLB4ro/c7UyeWwtFNM0lZSTMs2COc + vNBX9UqJIHnCLMbOfWWTQsDtVXkzAbN7lb9KT9DMszwIdk1cZrg5bvm+NbVg+eDWOPSm2248K/7L + +3YnOfdIWKXmB44MqSnOV0WfI7IyFBoHKu4Gi5TE86Ssip08TkeoO7NpHJOQ6oY+pDE+h2juBQ9f + 8+i6gKx5GPmBQmJwHpu3P1wbERroJaG3zicBfH+zNsy508vDKkwQcU9dpHInAwvWZewoziSStaCc + 2PLAEZ/WReJ/DWGK7uZyvZY+dpthREGjl0kG2XH49zdwm60iCJvQyEWtC9cgB/tIw7r9BT9ytzOC + LWLQC16iCXzOvRUWerWvW+yRLGSVhlU+G3llM26UwrSgHGxfr4RvAMeNmphVCMTVadg7t3S6GiXF + pEOzJT1eKjLlW05gckIU9vU0qLWjEh5pwKUCX94ya9HXy3l3SsSye4NJmY/STdi0avMlocEr+ZbG + lmGYarTr80nYxRipvWh4/bgUTVaLw6GQPDpHtmD40HQLC7crDrilSmA1VV07zeuV32pc75CCkjv9 + gfXmz6G2w0PE5wwPeCjx3WeSrloy8kIwgzZqQQRBPIapv5WAbi4FO/T5l6LYiqnkZ1n5jgGBkdyf + 6gfm8Zn45T+MdaEGpEryKmTNuTs6/IF2J5nxrb7HKxUXc0ZNoWsVabXt2fiH1ANeASMGpJP9D8nF + qtAIrJEUepPFke0qclxWUWWpJXLoql+dW/xiYxDdo4maZvqheijZMB3pEGrOqhuZ40DHJWToj3nu + n8zwkK4q1f12GkdjMxebeuemqdw9niIFejJfhZx2rGKnkz6q2CRi/B3DEdhnajtKHpMXUrKGsbKJ + NwWYuTOpNXCCEHFS4YBO136xLvpOJhCJxDl8nQKMcGmUP8Amkn4hbr+27Mr5HDNWG0Vh9yvCX/mG + vyUQBNKVJDbO+n6uAUzoTyfdF65NJdvcAYn4Whi6s4SPFm/4+4uJ2cWH9oxm4nuCIvcmhQGJngqe + OvK2qAGJwEXCtgg9ieeP3ZJf4Ucp6aVB4ZFZULznMzqrOavT3XADEmZapYC+I6yo4nLkJvSn5s8q + ks+8A4OZIUSYsCfkxoVxydq3/k0PKNeA4MMCqZ8NsPh3Lc+ZciLR4EHDYu+Vgu95godw2PnpeTKw + p1HhitXLUoXqOrwPhGxTKqEeMV2po/utJzkDqwYKl114eGlCNPSTMkArUrWkAhgHMm74Xo3ECfGV + Ad5Cxsdhprca2yxsv1lyPvowKIpC6savGMGIpHxRss28pBfp1DHY107s1I5PGx/tEHZTQ8PfW2Hb + R/L4eOYjs/nj5bIVYoAwK10YU5140kz8NURbjjY5piYpqCB/8jnUxtpKFfu9qdytLTIN4o0OnhCV + sHQ7nb5lvJ0l3btpjnmgWWhG0ip8PR4zneQjnQvFkpHSAGG5Yjjojgz0tcPamjdjTvPrzTp6XK/L + Tn4gGWcBgOhl87+SpjOHYrCp2GXCONY1X7aeAQg6MdAjXQXkb7Dmc9TSmV/Jv4RCSp6GCTMWchUx + lHxD2BtO+HcPbcEj44M6MnYl0MW2HNfp0fsI3+2rsWEwjrrt33WbpsVf1xxjKj4U038oFBAFgdY2 + ZK4abvups7yXAJ0kS0iNtTBWVRsMBF5EcZ/pMi62nx3pXT7QPXv2x1Cd3ZVZPybmjizC39JOh8ta + mhrkHXP0BafZPC/6CdpCdHSUGtdxFouULFuulOkCJgqhTAM+nDmhuIFfjKxfbUnEvqwF7/KlrkcM + HS4VYoiX8wAkx+hEVaWLU8XnfHqylE0m3Yv9h/TPrHa/rF7DTll8o2XCaJjuM0s/BFAmntFvdIIh + qp5Y1mGmdQA5WlTTfS5swB+YELexQst5R1D36Fzb153vaz9S2u9yg2df4bJpBTBefOKvEZSwhv4w + BMYGMQqGcCu/hNwdGl07y8a8Owv6QycXKzCR9RD92vNFsERTfzxQfaUdTD4UMK9MOFIDx6KlVnxO + 0Kcd13X0TlOQfv6kPR/Zydc0iedjyn2sBquZvSORNPTqptNUa4Bn6OU+dMy6Hq8qGQCNOV5pSm5z + DyMFCa2QBJJHKqngU76AVdJx4cYJWXd/BudULA1sfRgOtuiMWBzX3qO2Li3gS8vQ2lDGIb7XDeNz + 223SPysW3ejjUYpVBKmwrSevG/ztcJBo/M2CbNSUA9YdXYGAg5eY+oWORFlkMOgHO+fd3OYSNgdo + 541i7RpWDnm7fMZ8Xm0rTIPnkAxcquK6ikhueo3UKbLetJsE/sr5xP5lQ66ILYoVaT9oXOkRv6Nz + rtmWRc0r9q/Kq59sxWktbnX66xf2Zr1MqmYhAwhz2/Ir8DDXn63goapKG0nb6lSesWh7NZWjZlal + J/RWhB67+FCk5eU9dpL7Gnhxk/X0+QTigEOvlIcHvDlLMVGFE2+CDcHeuRZJK9bY7ARO6IfyRteP + MWmRjTD1e6j3ZRLqNFW9+oEC2WyU2oWsyossFFG88uKQOo3uUFefKIyNe6EaIu8YO8G99rT417m0 + rBklB0B4U54vPfUGw4U3Ze+wBYVRVuUds9XmzPzsT6DJnp0D2qkBBfgLwOHixk1j1fx/kh5tEdxZ + dWZSrKpZCziWHtdEpkQJgvF8EnlWS0/WzbDPlFdNLbJAUQWWyVvmvYd7D6kMDe67a2qU31CO+Tpg + FH4tkJsoZUcijabIV0zXO2n1SuNwk6smvWnLDYxqv91X9tFgcgQ906NMFeMVnI6A6tyDNyDviOOa + T28jOVbhhVd5RyS5vtEih6MubA9pIh+pgUe1JCu6UzgJukdByo8CFCVzJrot3rUR976gZz8k7HrZ + xdEPjCOdpW0HX+Z3J/T00kTiIftl468aPbK/zJIlPGIJ+X+c+tgIGOxyoaPplTDi8bxhCeBDqbLh + qzj9UJhxC2c1vbZ8VmwLQb5lSbsqLClyQ45iN1Ft/VE0pXb097p7Ac8LDazlNjToJqVnUQrjUc/F + 8uK2jduy3dC1Ubw8YqunE3jdjYCdp/bO/SF9cfPsAjjWmSjtqmr1bh3kiFO6o1/6hxWdYiirXJfv + Aszn5g2q09Xx5gPSOopDFwmqKXlVQdtOTk132MMaa/dQUaqppWR6DxppilKsD0c18Z62qyMzvhHm + vDZ3H9jl+5BlGZnHkZYRkgJ0hfo1uWTkcf6DsJC8wkOnmfV4Lx4g9wtQUTXtqw/H9pDOkk+qWBHa + w1JmxlccYB/lMld3+RA9MYB16j5EcvW2+JkmoBa3r1dpM1xYr/bcAye++DkLLm2s2cn4Jt04s99L + bnkCARBDzWyxVIYiUvsWmu8kiybwtYGES+s0+UjMntseOua/uyNsjllABc2tlwk2qe+qDs9qbGBi + 5xk/HcCJoLEtndADJ9HpzUNTZCjrpd0/jlO4ndULPHyiGF6hvfTO4iRLgKo0pKTzgJ+EtgdVVyzP + 7jMgbstL78QYjQ2H8bP68XiVSOas7d2QWQ+oh5hWt+fc65LS/BoslrhTwVhERQYcIakzEESR1Cu3 + XowngCy9NeWY9MyB+knmBbgiaMN/chx9ZJWcNG73xT875aDSSxCboDeCnFGOJR2noq2HZUsVjSM2 + rO6d4cJ/1bjIQXUzVOek8OReymdY9VDZLzwINzHXmCEF7cQboQW0D1ZyiP3NkaoKOJXQXC5l2GXs + B37lKmJDz0gRVT7VtPzYzsyEP2QLJ4cYAcJgoD4seGNBv3QT9I/jcKTyZSyE6fpYywxrPD43SYRJ + RMGL2XxX+Xt56S6JBvW0Mp5DWreHT72/AVmmrNTg5mXd2+cwkppitMPQukVXgY6fHdlSrZUesrTf + TqLhnS6lYG+GeU0Cd2fzStVFwIusALmYeFYePF4Igx7sfH1u1domkgpYDszpSW5DLNia3iSS6aS3 + eIPhtqFoVB10l2zHUp9SxLZJSzATHFVD16GXuzYwx1+oHipLLxvPZNgHGKXcWIWqAj+LXBLe1C92 + dfrpg6WN1GtAQg1KZtQFZtGF5Y5ZzwQwXuRQzgA4JV+xB2z5163HDNPWSI1/PPkJDym2XP5m2OIB + 7RQfxCVMXG0tsaHwrsNxGjKjq4I6afVfqePIBB978yXA17laGivLuJ8TBNvbr375E9cGk3s1KNIj + S9wkqvhdfnchc4E7XihWVqxVR+dE84IvXi9M+q5vN2/hy4YoGgIiDC0nQ5ChZpIv0sVYuYYj0qsR + VTi/9Btg1FQCSsLfInj8U7MHI5CkCAj7StPs4PqnymLDXym62pn+zA5xOcfSX+0QDQWBTdARba+I + w8xfo+aYLDKJR0zELJOufwp8x6UQa4ysq2/Fp5Ijodj04JC2lxht/ljuni0VQQIY0pr+T6KgO9Dl + waCEOfIH6NZKRfWvmzn8GUY540OdWV8VKZLgUu4B4giWzDIPnL/CbCFrZlql05fqPXPP3mqxrOzO + dpDxQtBLW9Vv88bVoObRLKphQrct1qppoyVZM+DGnx5RO0tCmoaGhBm3n0AuvCHlnDUhu2arrTb1 + OwwLaLPB4nMnBD6ncA6FawOQdGeq7kIWeJOum4DclNfSCLzzCmytjlJ9s8bnZqXh+a/nSn67HR8Y + ZD9trTDseq1pLij6FWZJP660bOy2vX8D+p8II6C4hMMXVMvhG3BhQQOn/KyiCNeCl1R8lwVfP6EZ + O3vmDGEQreKmxoUhJrV1THPXv97wiTUSh0U92y2LyUEBM5Njj10O31eu2A0+31V6uSZsE5MmjRGd + BPnoevm9nQRmHD806HrOLI4suWLOd7qJOCqZPweGh0sCMo8gcSKcjbhzAkZGMfcmw7xthjF0x98k + Kb7IZkEpftSuZ383sXH2rEn+lnu+43fJEegX9WV3fmtZNRt1wpOgoTFvmyJeMERMp6EfTvQxz3a8 + B9Bi/oJPz38lj9qBgw62QIkD16UDU+K6eOMfx0TzjOUVSOrrozQ07UJFymu62P3y1OFZwXKwhBMI + 8YcGFvU8fL3BuXrkwcQWug3Y8Nyd+sZBWdKEXhsZCyFBSqlvTWkPxB0Hg/zc+d9YbsnAC2FHaIEs + 0Vc8Ci5l+iu8cpSdROqZQoqobUu5zwOS+h68pDfBtgglp9D1rQYUQEtAK0H210JJSthUYAq/ASku + +zCV1qOkAlKdCH8AB4ebfiZ18jMh8M11S58OD29u9YHZSq8616g04UPL7GO8MWLsVSBgYxPGAz91 + 6/JOQGaz9j6+lOsLaytSsHK0JVS3yCHjbZSmozO1NGGQkH1nputYJJVrdyWRuXqRVMkVMZjJPN9+ + qQ70ELtkncz7tzq4nG1zPZA3A0Z/b4b9IXGE+JtvrSB87YtXf4414VqAXplvxrj3ub+RvTsHAyjJ + I9JrWdha+7wKdMBulyOIYk61GUH7+38/dGXbiclN79k/VZTQmZMRyHIPv3mRCUj9Ly3CgsCPQFrz + JQhsTlRGv6fP6v21IE8Ds60Kx9Kiv4/3vvMVqi6+4XbAEHAjcNbjwle3VAY7tGP+T5ZslutY7tUU + mY8kh6BgsZT08xHQZoUR/hJ1uQDgypvhQc6yi+g8PxO73EzBge3Qb96JDHfScdEIigrUE8GjEvNf + KaqrUaGmjLRjsnuEoh5OTXEmT7pcCIpPKq5u2fMKpQoFDH06f324W6JgtLmUulYuFN5o0irFSkSt + Jpt9IrihElW2flAFLjwdeEhLFXaIj0rV0+3FXXSpoorKHNwEAKqQbOClmSNeCqWvAgdt/GgG1ejP + AhVj7qc2UN94qHyQ4XpJsybVmBxMOMi0X/WvVz2JWi7psUVLUVaCBgKDXfKd4lpQrWXN0EcIqhlD + 6uL2qEFpbWeH6KHvEnx59quu9yi74PdGOxEXI2o+orygds5YkPWuQx+XPhkYkY2DgwIPoM5HoLO0 + 5KyYyYDSS2I5aKexl4DxLX2UVoB7slvpj5X8ht2lwoyg6qCCLMtab9e+YeWsqcgPj/laxHn5iAZp + CNqX2lplP55RvqxfUkRCe00cVWU9yXQFwZlbsRzPf/uR2FvGAU639GPfy4dQ6sch5e8GSoKtCmH7 + Kig1GLfNKaLVwKLh31NhWcAS6N5yFXEnjwoR1ECbg/Xuae6i397yai/BlZ8OyyPoQw0MxYC7JhJ0 + xoOX7s3gjyaC0S/x4FIhHchh4a4LC1EO/BhBHtCgJKpER2epTfmlkbPt53VUUEEkR4jIfYhzHnHm + JRwVTgtBbZUVqvUfEzMUpO3bw8EYMB7RTz15shshnC8E0nwblF0NrV010yeYsN9ZnD8zuEcKVL26 + CCp5BH1F+dk+IwkA6lTnY0G4ozdgEpy4GUATsF7PWlT1E8LmFpGeSH/8z6RUG710BcZMfvpkSn2w + COK87bQdrenx1Nozkz19oIdj3NdaFwKa81EWZ6H+HQBccJw8uyNK18W9S87W9oqw186+kgXpUGa7 + 8xrRIpl+KGULJQ2acFtgqBwSJb+cvRuWDhsSSJTznVFE8jt9G6pInF+fpdztd1RK45LvRvOHxlx9 + PQofbCU24R9VlO/dwjSSXlrrAL31Zwa9SVbgmPtowZIWjbGUqeSQPLEv3rwe1jI0cLkPLESa9v3O + z+j2ikEFSBUheqpdASi7hcFgZHbRlQnT7NFiZa0cQtKL9yPZZoPmviO8VNYuCwafPHD1cwety5Oa + xLeybOW+CDHyVHjqTNdA3WBO6SxvabjwP53gnxh50Sai2fML17pdqtmdNKmHYQLYR0HtNESIAbpb + SnQnV6gG9d7l59kdkZ+Bk7of1gnm5GT0Rytm8L5EGOnRMgkzAFZICdlys31DbopupgREiRPPcigu + nzOUumJsbRj8pinJSeblcMtmX+dJeCcJlxpN+iOxknxbbAZJ+vRT6X82dhQcEt+xp7rkm5zyzTLA + DhSuQ9ENLLqH5vXGhfiaMZcbpmvbCz7jjFx/qXkIWqHdJZ1jwBcqHTgU/oOeJ68DlenC+QFNyVHG + mRQXrMWPrgcmP5g3z90Si/GxWaHeCFduqYrMrglZjopkYEFqOUuwE0SXtpPXjT1UdZ2u2Hh3D1XV + CencoUfAua5g1U8fVhFWk4RTkBMK7PQRio3M6uQ5miZHuYT8sAIYiRiQRbPH5Yk18e4+2oyY9ebB + 5BUrArwBsZ6IDUcR6QCRSyIj6ynF2hI0Bcxh3HDdiyZSGIanT4HZdiKJMoeUuU7L5/qiqKYrbVml + EQrzWty4iRe3CucQ8swIPJ0u5FjKN4v5XRqu5M+IuPrMrDtaGoJ9XAEht0cy0v5SEJggZBLZ64T6 + GMjAJxyv6hK4gqEx+DzLA/JxMs/6Jl2KpJtA6526ReZgt+4WCpnVskxSEcVx1TSm4Mpu8/3y0WUr + XwiNNjvGagXddH+42UrKTi71ZsY1FkLFggb0dUw5MT9Uhh1Bh3ljMxOyKvRBU55HKt858Ub8m6sr + Ms/A3+1VMAXIzegqW3pNog4TLlns9jDr7qCbuV7b73uvf386ArenykVGY/g/lsFOfFMeOYyDgpUU + xQS/EeeQ8+4YI2KEQSNzDcCWoAa1S4cuU8AkZIoE+efLWfjdCBOOXdIHCUGzDOVOBBSpOX8gL450 + Hx+h0b9kXeJY/e0iFEwEwkkCQuUhFlgGuJMRdqqwdLyiJST0A68Ly53Mmy02AuzdFbZVDHOCv6VI + bZkCKYLtC9JuWyWWx9sLJBXLUxxEA2rnuEHTeHeZ00Hk3uUeULXhhNqAOqNZxWrzqP2zLi+JjEGG + sPK5toQca5MF5po1ALPlV4cRuZSXPLgYbUamH92JnOF2oDgFDaLEaeGpY09sX8EG2HblU96q4pz+ + jRYklcVj+W1LD/7MDfD2Bbp3YokZEPjJMmvnAOhK07YDWuQjSuQ7GHtE75tjZs1A2hkDj3JFI+ta + kUH3+Nmo8nEpbtpnZAMWT2gjM2Nf5mZbCA0DhuZNWBa1sz/A0xZOqmNtG5jLTG1ApsJx+mkl4l+W + l03ardyC/Wno+5g8M52GGiCH2UoHAo5+P+qRcCOu4hWqU3CDSh2UZk4xKuEyKwH7n0aPpuwUsxSY + oOy0razYPntWozC0tUupQTpJFqcQfQOtYq9Ggz/8fap3XvFNN2qUGoPbb8wVVNEVpM6egFUMjkux + jdN6jfzvbzL4E0H8OeXryGOMH1RYnI0C2VyNQEpgxuhR6iPwOXoEkkFtHhTRbfhfpjOLxlBu2qSV + 8BuPqGR6Bd7oTI2Wz4B88Pu6ZdwMUzrqyFmBDEGJPEEhClgYC5JrZIahtEOyTkcSDlC1GEhViyIm + vPau2lYIsSKlrPcWahKE4AFxrFrIMMtpfviaXdMAONy2hQCUnCNSKGaE4YxeWmAUOjrkXLfOBHpr + ExFETtKNaw66QZUo4YoiRiFBaeeOp3HWbZD+qu6NSYcCHkJErvmSwe1vicaW9pXtslCJbu2c+/Y3 + ZIWPDwzrLQ9JQSueeDeuEsqambZtYOf59VfvjXcwUPs+DnOxMtTVGHIv0fkh9TUOFJ3XpUIWWEPV + xbrFx3bssWPx3CjV7bx3BwcSfS+eT9D9HhZga8guv6KcZBsiJzMAA7YEj53qFKtJXKZHOfviP+uL + GUyOKKd1VqQiweEAvOxT8DwDNZAtTbd4WsCy0m7KHCXgsCVaNkCUYZsADlXm/dwW7KCn+9QW6qy1 + /tKsNoDp35lDFoBpC6peCsaeFQ1abYBFBaCz6QHJkbN42nkUKLzuzgxJaCzDJr5yCCN3Kmol3Nc+ + lJDpx8stNRRdWQZW5hcwv34HFz/pYvsWPGwTOj/SmY/CBIrMAcz0bxu4Nd5GZKLDK1vaRvurxj1c + wgcxdoouDcXbekfQibWW4mDaC6Mh/u1uqSa4guWNIuFJVPQ6FV3F5AOl3pp18oEMrMfY5OhNSEtb + BDc7YS53EgoFY1yD/uGEKwaN0hFQ1LmxbKpJ/vetct8FO7GKJx2LFdK3jjFYhVtQR2fN5QmLaIDb + m0WnAmzSO1E7qUmWzFbSNbDqG+CJ3HsIZhRUaUD8PcMdfL8RKrF7aR0CptYcFqDPCr0IUyyNwceq + EDwOLll6fDcfwEBbaI2zSt92kFKb0IUi6g68VkhQcbNd1qwRGNRdVHWi1uV6BmIEbva9EY1f3lay + iMtWpXiycMr1beks6j0KeXfaoQfVavBJqzLhm5ztVxNL/JICbUwOUpRFd9ChW49whfqYktK6ErdV + 673kumBRvrjhosCUQxDfLGbjF7XJChbj6lakbT0LVFywOJM6yPDg3N9CMerhmFpt8pTrVuwSvWBc + csyYyfI5fLnGRLIo6b9Hlr0nyHUzG7Ulpg9R/OjI8HiqjxNIHLIDDhFF204GtZmhKLaJQceERXDU + zqDZdRUIVr4vbAgWgiKklOWWFTlePTvPpe3Pchulw1PHwp5xKRkhR0vUMKPEAd1g3gUcz5k/A2qR + KV0AmgsXkh5oVzOrTIVej8cavkclGGA9nFzadnoOPzR44/iP865CY6l3bI5hKsMVpXexyqfbuJER + 8D3XH8CPlNXsrCGLHmZL+e9bjA7uerD9IMLs4xjyCW6S+UZ7bqIY9MT9g43ZGGAChsC1M/XV+nQZ + hrznC76nmsock40NPM4UF1PglqnAa1HYteH8QPYeW2iGV6LLE0qkszNiTcnVUIbbXSd1CzH6UGJu + /CZd63BC7gRznhvFYUo1+hjXntkclwsZ1ecSg9iqBrh9RsOcOmKE+A6dPAfFuA0CLmhe5OwEynYm + mM5sAxwNw9UM/YvbgAgcuCtlrMDA6IcyZD4CjQoK8MpP5A0/ZMPLyTfnMXvtejH+31urdzQtuDus + o20CQbh8kmR3m5jaACKx5pFp0Isl2aUabc4WPDFt5ndY4onWtc0K/aDcdbzX1KKnKaK0Vz2HM/ql + Jd7jM2mQxxfimtRFUN8uBYs4iZrx9CQ//uBptWfANq4bH13X0CInY80eFIw1Y9+YuW1qc1YvIyhK + i8iDpVByeTgFhRqulIvGpA7gnM3ryBds0A1ujLTXe/fbm7xGIFlYJiw5+SYxwpTnGMDvZQtXyLe0 + drGG1hevLKdKHK+IWOiGAu1irwJPoOHq+SwDxmOzQ7qeIJ2P9NJ4eZEKWDTqfoiqAenZO7xz/ReJ + 2B0O+gCqlb9knG0fFf40JiyVXusdfYwGOCinXxxTC4ya9eaATm+M8WquEA8EQXkigC6aaJC5j2dU + pb5ftOE/gWjM1WglT6fMwHcfSP1KX6es2KYQW0pt31pbf3Q8QmJvaHwhCB5rcxvcomNDlMCFQlZh + m2fYBic3fTyEEOiH7eV2PEtH92MokVCTQqe+U5NZm12nQE+Ym3eRcc2Oa0JMDRX37zjx4gObEssI + /cFKm8TCd7DYan3GHFg6vBmq1sAa98rLTZ+FsaffCwqms3DaKl2nnbEgJjRnXRuJRACqsTO+rbis + O7KkNUesHGYUlOYI+m2oS1XGdFEMQCKVLQ8UJdROVurSGGi7N2XsJJN6sd79ntG9fDtAyY7NQkFo + 2p6Js3ArLKONeTccUVoBNsc1CCZj5shrRmnOPqhxQ33Iz2XQa0b3goa6xe/12LNrYpvhf8rIFBM0 + siIhQsl2990NPzozg50L/TQ7DelV05fhZzxzEPGOWoI6KYXID88ootxdtDQKd4MmkPdKM5VNGneu + fCaOXuhR5wO+fO4bweiU+j5XLgp+6Z72cnWlbu6vU0rDBs1dfWQN7uGtIV0pI/UlO2nKOV1PArDm + qGMaPqHGnKy3cDuBDLH4NeR3ORLhsCM0WkNfiEf+RW9+a5dRFTU1KNOopGqOb4fEvfuRhI+0OKp8 + mHUIaKHr+12gA8bzzWmruLMoCI1iXTRzXZ45ljiA12kntYGYCflJ+JcY5L6nPQKVfajQxaQBFbwK + TS2FW/1ui2gpdGvhSUEOPpMDjfBaxllqks9tiEM5f9cKf0TZm0+whpQ3dasfikJVBH3UpWmA2IeD + ClG4zV42GCOpslQnNZbD+j1Px/vJlEPNJgeQc3HrWmXLgxpUTJ3kmCGpIGz3hpdj0r5s02sYz0WI + umHyCR4rWtONIDXKdcdf+KHSmpfItcfvSfcWXMA5zypQVIL1XUKzVHf8FZ22i4SjDnsdmVbjNrZF + RQZBp3i975lMV3Z9pZ4F0zMJY4OxkVFrREiJHk0ox2kyftA/zxSuoLQBF+UgYTudk5eoqJiLrSOD + zdbp2EajtjrvtON44g7tiXVtPlMg8VN3u4FRnDKYFfDaMc9g80BnqfeMrRbbRgPZL04CpyVVxMV2 + /rAN1PQbvtfupFYa9XO2S2IKlRibV/B6+ZUndiqReEkqMX+vn2ycMmlzpaFcyWnKbp6rpOliKsgT + i5/m10nuLFt2ndvhYO7wXpTDi1e0uIeqOkZ0uO0LFTTvfIirji4PVyEKceCbKzZt9LHn4mJl21O9 + aH1kDjgzc1SHViHZpnosHfhfEqYoflGC77DMKPN6dJZklOKMVljElvOVOsSgvhSPLYHoGukHlKp9 + KGJR33GhGUgRf6u+ltC7FQMVA7txk99dz5M/MKeOzJHWbfTe7avHd29aa54nfKsQyRVX9KfPX+Fh + 6gFGvXVbHELmAhaZdvOYXe/2i7SrxTle/DNwXWLIWAVK0A3Op9x4w5f0XuiNHG0IWN41qjxjyXmv + MfNit8jb5d8Z1jwt69sYc8YZ17M0q0NgdDT3FRJeG4RCQskurWc4Wc0pzkxXBddPYA0jSpvwbxj3 + ct5vrRi0vZFmIb1CmllIB9pxPcFE3jtbXtMoOco+EElirHBVqpPL3ogc33P0RXyMbFcI+vZusP0S + Bup1f3zQ0GWGO9m4ul4nYD1uqFqWCwiTuzL6jR/bXwsyPh4P7v5UVg3gbO5VHef50Md0KtklUQ/b + gxmhTExt5v6a0nc9s07lDIwawult0to1tq6vfWMC6QHLOXnypSE8NWssGNlChn8bQlMBiJMUynQF + FWoOZKkIQOraPXOXC5lq1GkYt9UNQdy/rcc0DmJtxl4ksX1jGSMJJ1esFkMVVlo00LKdUJgQzeLR + QBvj3cXxjS2WK4kFvYymc+WsClNkZA/hz8gfqFu/Tn/JtWzFjJWtbx5UeoMk+G7B8MV4WYg+UTbs + XbiUBMAsDXBgMc2MVhyGT6De9Qc1n9SQI49ya7oDpLWRsWXtNGrMsGBrOgNUHk1lNhWdwIO7EQ1a + KElv3JCX6PIcAE01e0/LxdyazlcFtgpKKjXYp/lx/vD7Uuy/z4M+p7C4YoqasVXFB/J1/NHDeoo9 + AwEJM3GKS/tKTaltXmNrVysRZt6hdKowIieINytd3p24kxDTLq1b1lEirSZDESkrLhuv9vMMBCPi + rp0sk/WqScTUVPzjHbTKTb7oukVEwOSW/B6isbp8iUQyFeOUc/ak8e9vfb0e8b7eQTmOFRJq3BqQ + bVRVgElY+EaaTlPRLuMRhleog7G+EzBsOBBsqWt6E+aaPJGGI37sAkff7eSRnslmYhkk3bbYkF4Q + ArOyUYbVFb23xNWR78B79BxPheRG8KdnnHBW8C2XEJte+xgKePZ/OfS15uimaJrJiyPhWwzkhNkn + 7gJcnN6Ua1csAbWY+Kp3ZbQ8zmqHWuvAb8Ca0HXXZ3pfH8B6bMrA1UevdLdkZhku9spSz1C3aWxL + KdcS3CdVZWzXcOFKBiH7y/MCLNvG1DcsxT7dH9iKJeIVk5g9A4OKJZt43AlZUrpFTiByKUXKiTaa + FkGaRmNgTYKb8K9Yi8t1unGuTuZnaFXVSHACLPBTxVk8hmm4njYE2QEVt/2yz08TaROfvo8JSn5K + mRNelyjB2OFnfey9BCn+sXhLl3PfEaRwwF66EtpTND+4A28sKCgDI4+A2Uzf3E99GGprb5jvqmox + oAmC2Pge4pdyikw8Ua0ZTMb481KpB5ZijfMdJCTscxeblPPLVgslrm/S/WsDJ3LhsXvrlKg3gmnR + WbQXo/xyEg3kEjqZ5zAIo9YyJyvwpKCMIZACF/W/1pDDbhe9RxCUs12nKdUQtIz2KV/SZJSO29ek + HKYmogXNzVD8LWpgQdW4box+2Vwv7Bax0wxO0GDuT0QwsPqqkeR1PZtnYH5BKUCwyjrQ7+0akHUz + 5SSbjN+VuJ29oZcHWPkQkaIY8SvBaRvQ7TKgJOAe3+W2gSRjlSpEIhzE8apq4FQ4rOoe/q3G3ivW + k9xPWajdT3fuxna/wAPF2vStsHh8aG3TC5NPyHVJy0gs1tPnzjlohGYMcbKIyQCnUQN9pSq5HRYf + z/lZqwyde1+14Hll19xTjoBILOBzQ89wHrmvMfc4YpkQ1KPA2NtyNkTYMeZuJTCgERJtP4FwEZqr + 5W0pn5tEQIUWiHLep+FvlpH8t7xIudIsTgW/RFr2bOsNvMXFEcgW546liYAfr5vyEWr7u9d24pOs + me8GYeOq3KOfx/EyBfGV9BqrCs9Fwbma84SEJCfU9dFqEPZ9RhvhD+TNSVt6hVH2Apk2b9ZuUAlI + Y2yJcJTUYQaiHTF2GSxpG3mRDot74imhR27WbJn5Fa/jRsSzOA8pPnIW0KAEPhbQZq6hFteb1trH + JETj4/mPZcoMZGwfZNlNNIuNyeiE5NDOkiaZKVZJhfV4n4WlWfIR3XLZ2RbNcCpXEi9msi4/Gilu + sNgM7QQnPEM7kEKK6vH9ddwl+KKqjvPNaC8sMU1P86k66WkTQHVyGU0iLW9rPuPb7WjxFEHf7iqR + wKgNGScE6TCeRHQP2UknjYpH/CqamTJZAIuzM9fsyYW1CPVFCRSjuUmAlpm56eZxBL5/7f5GZqiw + im/HZp7ImHW1pBQjbiPy+3mgjDhzkeZ5HFx5LfED+2Zv+p1b9S6kmvkgnqVKFdXUDnTshZzgWtcz + Yy3yJDn1d3CVD58lt+njjHIG5jpu9q9EoszPUOp1nExilK0mScwHIbHilLoqFmKypee7LUEf2HAa + bhrHb6cTxxX3Vhuu31sLVYpI5kZXsJawQYVVtKootniavPp+rfc1xGacNAdpN69njayX4QeSi/sR + E0UiphMX9I+xHClqmVZ6tWBM2WC+OtZpzEEZt1mkjsqgmc7WZwz1VQyKpJjee8eN46Ha+/qzZqAF + 1VCVEDKdBDo/I3foIPbvRrBxODCoynG+9E6utiSUHgtkV27Ceh+mDOv78Tym0QFaUvwSz4jiESMg + /liEOHpgK54kIjV50rgxVXoQyOAMGFQPrUV60qZkT03XhYSss/H1r59qjUDXKsEwe7MMIczm+c/4 + Yb7VDpAmyieEZrd9l2Sc9eukkejV8fVmRBpHOur5tH/xPtWxlFb+8mrHsqcsjt/6uo2/dXefaOto + UXumJrFVgJplR4vPAhd51tbqIHpXsL0aUUNYJuY5pkD7e2wfIUNb72rwwqep02Bja5MYQ4YVcKBj + BcOmaqU0VLtKY832If0e2V6W3Lof2YS5xB2Ju/ShnSPYGpWS6LjAVfh4ScJX560xSWMzsbSiC13m + Buls+JBkb/BBxyy/pKuynp8rhMfqmRC7lW83uzqruulViEn9D1QPDfmM0e/eMy6QCVMNU2JAN1QN + zQYPOOP6TtIAAClBkU+IZTKz0YgFPviwJHlmY3XxVc1ZImrgFddj6ff+3dnbUK4Bb3GYub7K8E2+ + 2cYLkq0ZjfHFYdOtNaa/nWOWEuSnY+1oyPyZlxuSX6JdwATsExSBEaHnpRAIpIRgtFko3lAyZecr + vrG0/pzpFoc33vFz6mOOfHuhU+29wUxa6jZ0JA4UZyYQIZeKp03K3rHp3yPFFVYD95PFNA9dYt7r + aErJkr3DlqxPIONXRZviwRmv0m1HR8TEIAxVWyDDTaCvZCi0x8sWP1ulu9KhE4oC+oB40eC5u3mO + +mAxuMemIqkIVGhalJLSWPc/tux5N8mw+IuZcMAaiPFw9fAdvh3TItKPW83t9tZ1yr+pGOVaRFAt + u4tKLMcJ7vrNwZItJ8iHpo8qOIQBWLfdVteiwQQ1hhDjxfSRjhwwkmzGUXhXOq7o3luqm9YjBBie + XuuuJ9QTqvavLc3xpLIvptp8myYwRpQYFjCMdwPEjsgp2B6nmljYRc9sQxlYbkuwLUR3tYmZWtrN + OsepSs22gtngGkPgz4CL4p+cBOa13qnxv4wdxIOFRpdw3wb7ACorP5pMBWBhXvsxPG5El0Ta0wN8 + 9OdjDiwrVzBxZxisFmov8mV30J7PGzXtQQsXS12hNWPV5Ctp3x4wbCsevL4Ixm3w6PKEMu1uRZDV + 2MlbxdErrrK7Hmi/iYxk9KiITfhxSjIbB3aA9ol9o3bA2bHCAsEA2HpOkXkL27YOk+y6nIgbo0OJ + 7CvVaU9AULxmNKsps/Ir7ojTMyMAnGJkrkqjrSu132P3vw3pzBRzYSGVM5CMjEn28uOV3gALfiuY + SzyMrpmcM6LabNEETSUf/ocf6lEA6k72buuT+ufJtQWf4rC2NRLQiOjMjnzSneY/3yZwjCJ863GR + 09CG0ZiBx0tqHnsTbT3UbU/w1HxyRDfz9FEcovuxqmjv5gyeCVWiHdKVCsO2LNmhdMjMAeYVyA2R + xEHOh6iOkwLE9OXgWqAcBukqkJfrIP2kt34EX+a9tfSy3hjz+rLS/hvnDOFXBK0Zb5grqfXuIsBU + 4sG6+hA+Y/mRwxK7+XcOxL05bKXeXF3YnVzD3tHZZTgMlxKfWZg98fPzpttGA79IBa+fx0He6eQr + vgMUr7UAFtSQnQG7sk2p51gIfzGFYxkBX4vUf8reX40cc5Fd3xDz5Mk2HwiM5QJfqQgaEosfad0C + /aYcBYjhn6JYBYLWfqA6MzjJ9jiIUyEtz7HqRTlcjN/wVcZB9E56TSvJp6PNmGzm70E8UOmq6OdI + lUv4qU+qTb6c97Fj4688UYTaTFL5FyUi0qx8WbaFqFNy0z6f3eyCVbaTmBz9PHpbh03DydwlaHSP + CRBr5mOGkhyADuTajphXZ5HCA47i/fQjeMCN/tFBwa9x9+FJZfI4PMp/emRdYBy5T4mALSgHmiDy + fZcfSNoBFzX7tCjYNntB2YQH5vcQcd80YaMHYAd6Hb+VJ8q59ETOz6R0HkQDX5xqyJ4c3cGcwca7 + kxCcPy/Tsv7oPT7AdTgLEPP6ffZTdsnrYNeB02Vf09+o+99LyI1+F8DFuay/fR5pqXN7pDrObIv+ + C7KLtl7HGqifbGp0uXRifzMOQCTJ+sxpftEE/IeFIl+ZfXtT09aIWmEIVKUl0Z0LEuTHrfaFp783 + 58U2re9wykLBozkZhPhT3xS77idqclVHVftDCkAn7kmtJxtgYLz90tzRZXS1ipeKfsdyBqFQxq9w + C1LOV54UfX8OlzuF1WAMxr7qE6xdqBmmlSQrBY+9/APKm99Ar3++xDY99napf7jWVdLbQwgWfofh + J0WFXESEMGbVmYcVebku+sdMlbjPB5/rXzMk8Oxf9BcWePRKJbuU+V4opkq3ppT1nsAEOnuy6R1j + 881jNKGRxhx2C59ajGNBuX436FavvCLgkD4iE89KobPZMGKWpNz8ZbzDBKnypCU8FAfn8a5Kf9/V + q/aL/qm6RkR1Q2WcvXyVbv5wuZmu8xuF08joewja8ymyk03O8DWjBaukaGmmQDDyn5S0S6K5da7R + de4hPGEnE8OQRAiY2X+OM+1VG21WCF1WQK1gLFOS8FpRDg1fj3B0j0WibcdgcumNyU5U/vELIavw + Os18SzueM8tjGhc5X7wpnKprHhtVCFVkyZQ+PpofojUg3nqS4gNkIDKwfxOow46LGoSto5w1GfxN + b8RQ4fG6qUvg4GudNbRbvWQ1W+HZUSJAicTvKgjebLqgYZM+9E9CcKmjxeYKzra6t+5meYRu/HH2 + 0ZID/EjnOoZg1HPVleZbhQgQtPKtNtElfvHmNyeAronGUuRjxHjSTNehgp4jkDyYveWiy2ct5N4x + GV2LWMgx6/Dr3A7Az8ONZyS+smMifcCpMtBPd/RgoHY8RYMcq5TVGFVt0vHZRwPmbLaxdSo+JKGK + zqs8U4bfjj0LnQU8gceAXGsk3pQ5u+7FbvAoDOnUung8UPN/fsNBXfF6H5oSCWVNK+PVnT9R1duX + qAmwI7x7d3E5aLN7h/huvf1stThGN3nI0CF1Z9QqZICT9/0zZ1sDXG3UFWUN08OfPjdfFzZFLS3q + MISpePdIsPib6CmCW/szry9lDCSSKMbi/jtxaTD89XQj0G/GxcbpTlZAJXNUfh3l/ZSP3jBS3lEe + gjxM74dKG8mHpiwSVlbvyVxgrmlZtA5zgJVJwvBoRPtf0ol4S9I/82rulmUcfBO94xlWJs99+LCN + p+jRZdshJNgPzPBbsKU8HBlnhfas0FRTUr9/c/WIVnz88FBEC4QjO9ZHv8vDtWeWzXhuSW52Sdbh + TSgPPkFU30cJBbuTGzy6vThdlpux37eQWFPRVfvtodNzaBTDdRniBWSBp3Me+cVRR0nPs3oUSR4E + 8WAncX7547T8KxePghX8AzuknEbLJJ+fk2DYK/oaz1uregPXFWltpDIlXqIygL101l66AxHTRxbu + RbJ9otGVeA0iKhT7Vooqkk7yKHavIYXeG2c7y5V8VbjQaG/mJCyNJB8UKJgV+N9jva7jsX7RCvYg + GntfFhEPsOCIquW58BqepKBbGb0Mz85qUCQSZ4j2gxN7LK1ff9inuuXm8Mse36b4NjF8jDnYKdWh + PGPevxLXeYWbFsysTytVi2ThXBV6roS+95DpRnZ2zr8YpMJDkiJHhU+w4kCC4McPF+rKI4LvQ5B9 + or+UnzeNWH1m84yuiZ8oqw3eov5z1qds8BHDSiedFlup1wsGZfoSbjpxemaGfFpw78FYIYbtX1lK + P4kL2axyzVCF/qP66fb4gwy9MjXIsd953aSjKXl2/nBB7z4HBE5TUGhn8XMF8zfeJ1RG+EwL+/HT + WZsUHOjxZaOO2d0aL7Ghg2qniewTs/P5sij84a6xlSKSE9vfF0BnebK9axYokW4dFiw1dor56zkU + f7I2Qd8M0R2ug9V3gVZloimZU3Uz9jB+Jt72qxN+R0ieXD8/jhOw0GQ5I47qpXJzg1ftqjHG1shY + oaHmaogkAy/xDjZPKUtviW5O/taLTPGRGnjgn9/BN+u9XZpoQwj4LNgFbgYc5WQ4ZnCO7PKpRxEB + vZ1vTrzdj5bhvTPC3rZt56fsSq93xpWnyNJJp3yz+iQkZ+ycaPdS43TdwUJRzK/2aveOlnHK0ATN + YOGJTVcl80d/mVoV+XYZRYpbBxYnqHVkFiuYlP6Ea+OX8RNmQDMSTeVW+cE9WBXLxTw7Vm0wjgZO + LyZGZX07GYZmp4tfC0s36ITBhZ8bwBOQSC/2Z2NlO9UzAvopNAThXpz13rCT7PXO4jpgWrCtfjmz + dWBBj/TX0YGwY4hnXou3YXGfKvQ9gnwvnphgvt9mWKNYGyhBdD8yDiMIPG+zb+E8mdZJQo9dZnO2 + u1RRMq1sU0dTXP0mc6biHeEU8djd1+Gp8Q1gExzvTAWz4VKyzBbr+lslG/td9eTkPwWkRpLCFyU4 + vUSgHVH3aSd1+ECUncQs3JFbBph0MMcMM8OTm2MgKEWzlmyVR7ujrykvUyxnkcCu+QjFM6kxCpDz + x3Vjbx4a0Awrhno/CRkmtEMgu64NASZPEPREd9Y3yX43ApQLQ4CDa7y3951hVWXZQ0TB/C9S07pu + zvjglVrX+twziY8TZaKL0cla1yj8oKu42cq5xFA2JF9fJzevGi7nHCoIEZw/wmPzrk3OK6JJX9cM + k1hPyte8WY1ZCv2wwwQAr1dbBndEslxE7RqKaPCNuH3P7qzhp5eFOdFqjbXzZPDHO4BKFbLKeQB/ + By5SuL2iKk1FdFukZFuJdVyjymSxDccXiFigGuaYoNtfSNhtm9wXsDjViCICK4F+RdFdIudZEHg0 + DN3PbC7oJxj5GXuAHNMVhy9P9v7HZUzlJQ7iuuDeaPkpxQBoQl5wJabxFHdjyCn1ymZGcYTjsh5C + RIJIhPnu+YWgsYERrKGrBAQZFgrXb0F2cr1tOz2CjsA30iwgMR0XVc6oAtdQ7MzouJ3mpTQoCwOV + VNaQth5EKQ7JqnVssM9e89xhgdXFan3opTB95IqMhgHzUCAjlyqUhOCBzndJs6bm+GhaeB4WsD2i + 4r7ep9JD4gpX9ifMnRV+uLJGt1KnyxCpIo6HFGL2wXJksTLTGKxStyYdkwmxkHrAugYdLngQqw8t + fqqd7QBgnpNVuJV2ZvcccWGy2co7XohDzfkNmFC5E+N9b6C9ZQ9r96ZLune7EYxmfT+LGXUX7Eqh + Aw+ScZdEjtvEc1J0Vl/PjL5mP2tLBkjvgcPIA1VOYAUtSPioyHlduMUFdTi9F9yRuT7V6LqJeDiK + UK8arwuI9lZbMdzjyDfdy9YDymeAYKS7Yul5j0SwCEwXT6RWSVEIicHpP33TWYVIj30DQPAXCatb + 8q+9tEntNmjlsFM273FvL5uveyKAjQOAaa5q1s+7WTT34Gju7A2hPJ2qybQgt+0NwZ8v97upyoY/ + ovs1XmYtEoVvZKNrv3E1cqkrTY43ecpbe+xd1mdOaKG8jtZZLuui1v5jNxJS5NB9dK2LgrVDMd0e + BiEqjZ6qIs/GyYJps5zSHLGVhYnJq9bmsVhL9wv+moiM1obGcqGbogeH1/Nf/OEZkAUjImDjL/Wg + QUKpPjUVmRHaeHMduPSC4i3p8lt9QQI25m+Kfn1K6X+Ou4p8C7I9pjR3MERkBHTV/V3t2xkepfMI + 39FrX/JGBePfmATfc1ghBW+oEpq9dqcs8n1LEhS/RVnq2quY7NMA11ZuO5sx8VAlhig+Jwnh3OT6 + jx103bZZhjRnYeiRKYDzwN6RIH8KXVZHb4JxrCwNcRbUcOK1McOnaIPsHOyHRmVQStnKLtv7NNWV + nJYcC0vMMYxZ0ofvVyZrx2/xcOna7ge0n4wTBBgPd1B2GdoSh1Rh4yRB3l86Waq+R3evqam7QEUe + 7xtXIqd8CVU0aADANBp0KfwG4KEnRX0WK81UyItjlssYGchy+QZY72+Gs7qwxpefDe/eorEkeF7J + Y5SmwFq8m2aCkbpc6XQkstLaohD8IRyJEcU1CJQ4Z38ZT7iiWuDiUSKin+eFp1t9inDM07RsHvYJ + i9PwaF2iImdII7W3+ff70zaL14JWVywgL5J1/spOcivY/dtlei3mhr9RXftVIIdu3r1YOnUJhwuQ + VR8C7xguUz9dd43c9TFnMqNfPsYSl/CWX1k0LQBYq/NqnGWa6KKkUWoK7vPgYzexOSmp2ALk61Fq + RPpXeeLqQP4D8o7yLucCkGNKzbmJN0tlfWK7iITd3jE8OYhocRKgsz3l1V4ym83m/lIqLw4jwYMA + 3jPJGB8BfNaCc5kkQc9+6/FwXurl3fENuvYXyj7fwmIXNFsEHBAv7mdS7Y58ASaSRBK2ZiKZjzAH + T3i25eHFwEOYxJ19JT7ZptCTwedABaTRdaDpWaobCyO8Vh/KhcX249AT6K6CJMGCAxNiFobIV1DP + 4bhwfEkgazutchrgKQaJVk6rZAvP180jfWDp0yIgfylJjVxUlmuhfPQSfkbbP+Qq/DOp7ATvYNRA + 8MQz8SmOC75vkgL6uUHdYff5kh/zEpu3xkW1gdWTJbIj851ytX5m/WdvkeY79hlkDfqJo/AZHK9d + 1dBE6CZmU+5tLmMlv3duN38sNvNXPcXlZIkt9zjaRN9SIdqVF2LVlWWK75W7oNo/xtjPE27Jx2xn + wNr1K78CfcvNlvIS+1N0YxhHOPGSwIGquDvXUBjkHzWoz7u62eNXkyrle2lw4lVmlS7gNutSM6al + 0E8+3E2KgxgG4Bsie4Cp62qPw1r2MsEIuztx6u61Tq4LpU9uXibdOwwTfAqN5hb4R+bVcsr8bfvI + Bpo8vTxag/lSUlIIRZB7YBU6lu9HDrf3CrirU6rBBOiOJAORKYoyIpyI3bw12/weWrT9E/PXVVN0 + 76OZcXB7ZzvhOZIjgflu3nOif+bOkoTovPGTota5oOI/F/6py55EkGRHMx9hDT6xey0BA2UaPmau + XXWlmD/GKtzyeN8uXLvQkNW/77+ME9Ux/IoyWrJeLPMnQBuV8uTXX+SLSJlfC8LyRc1EkQJEJQmW + CwShjCIBfzVTW2CHcRJH93u1AigTmqVVIGgqFppcxJtHV6ryJqsNASgyPK5bE4VFjk9exWjh6XDS + hI2R3MdXJp+gAtZXKdsJOKyHJrm7daYHSNiKGUyw7rsvgVam8fkeLKX3EjvhOQNMExHH51EUChoi + 1e3gCzMl8dIoy0CvteLySeTcqXph7zlSDLIo4/4nTRL6qT3RIpdY77ItfJv7f+UHIY2Ku7KimT+R + OqlLnXofVf6h9C1zYoz3KvfMepZr8M6R96CMmIfxwMinfd5GckSDEp7ik9h72dGXfx2r9I017bIw + trlKDFPhwyMXtCJOSLaKOhUrpK8MAlo5dnZOJBmptOdgeiNryQEuaWTYRa5eqiVCon5Y4QNqsZtf + ABdldgxhzt/318OIsx7glddiqp0kZ/67G+4XMDIhNWmWqwATyO7rggE5cMYM5k9GcXHoBv3ilDtx + 2TTkGBwOi+363m/DpTA0nDWGs3LpgHf1PxYw4v6qqSvKlUnn7CZWz4caC93o9neWfhpBD896DMP8 + eVyNnnVa0LmJ/mUzqDSszIXTuBAKlbIvvy/E8BXNHLfvJ4pQb0YWaxlt8zw4ez7uhF07QzEqBweK + sqGWfj1xPZh4db2/VdDUhTOlfeAczye2b9lZdITB/dIDq+SWZSCMAXLcQBZ2/EJr+GHEzVsIsedy + O1dlLPfQORa8gELsvb+gOR/9aqp64QuGUJBUouw2vuHw4PEPG5lu6+Kbf7KjvE5TUPOmZAkTj6DN + z6mAaVLHOY1sUYqyZEbzX8mR+4suMA2S5SHFD32l7d65NqflkQ7k4ywv/GwMViGchM27ogXu3WL9 + 5F/HqZxmh9vd55Yd865P2ORCUsjkfkn0f838RAzsiGKQMkjYNZeZPPaiPpPHaZUtiG5VyzmJjl5y + QzUnbNvkKNymcuisp9Nmh0o5qlEJ/lxfacBk++7D/n/IYjG8Myx8XzqvHA6vGkyyVVGSKVlmwBIo + Tprls2ETntzYhBFJ8wFoOD0UIN9cxAQR/DLU71pgrIWqRROq8v2ocTs9RHQSnNPtTd8XiLvgZPC6 + lMNKYUNtgke+LWuWWBBoiy7UGSbuEnVdZHUF5xOwuirWLlx0RYlXwpz60mCOGaLg8cobtxfFEmeD + Ud2WcrFs8MwOY+0bbkMPPD9M0txuCnGhFupmX1qc6rde1uw/o+R47XQJpi2z1tFXoTZAMYxKq1jQ + ctdqaDXNTeheWRjeCv7s5YVzDuTxe1OHkJXTioie/IaLw9SRX7zaEXhmkELAB0tTOTu0OjqTb/V5 + eFDEMFuBRRDzJX8bL63lFcyA2vD5TKIzbt0PeeksqWl7/IuUn4iH9XW172fZbmrB+GJZNgOTGmmj + a3zPuhhi96VWHU57wgFzDxk9D9e29hCJ79PZhwUo/BjAIIR/mifFeBBqeKX7UNtE2pN6QRZLOpt8 + jWx595fWUYDV265AjKehnCxcZRSDM33JgT4c2Y4oUlrecXYTGsr43Jmy5zcK1r7lDRS1nZpZFsN0 + 5ORtuq9swo3M2aKLjGnYrpjmWPgcCanRYxVAIuw7yQRqPR7ZRxjwlP4v4nnjetUVWsYXA3QSva55 + R7l1jzTm6BxxZIRMTl/7xppMAwdgFl+tt54vBaoShZM2/lnwCg/zENsLGxTyf1mFnHfxA2EzQRbx + nnZsdsnJQ0KLIzk8UalzKADwnJj6PA39mQYLDbANaOKvymtWFVtlqyiecy4IdKyrEPXkuLhEWlc0 + 5qfgha0K2BgjgHngXgqm4Zjgd8eWqKKnhsuSS5Lc3PMvvFc61qtBOkLrdIDAeL1e6bZA5y4ZjIdC + 12vp6IAr9cZiinUKf+FlaYzXYAMzyoSfVU0ff7mHJmwN/gbn16LoAZ2AVz150qbFGyAL7IU2K+tL + pt+mMJP+c+vnXxYN9PYLpFykjoZy7qCiHdLUkbZ/cRaumL3sFaVV2usAjZLNx3TVyy/XhvvzTyJh + QJ56agu34+dOeeCirL6Cb9fUH2y5cixI5borMsfDqhKSDHmK7JKsdXbg/jcuXdnPvOcn620MpCn6 + itzE3iTkjdHif4r9En5yBzs9/SQh4EIYaF3m2hnb8UYiaPsY7I7ogMwJUet1JPiEkytDu9NnwOtb + ElRSxrOOiSEExDqOTOXAuHYrS3hTTcw1Vuwp9HNPfC4GmHoKjHvMBJUK5u79H/sNM8JoURsZGbGl + OvGxJriuHolZ5X+MGMcA+Zwn+N1MFmL1cuOTmE39Aw+6pHOG9w9Yd82NRdSxbYhUhqjJRObn7jMi + eOQ10I0UemMgcLsxirXfdZwlT7oMo7WfwmFffRUgLct8lc5pLbNRYSUzeH8eSuG05F0HNs/o0tyg + vyuTAx97WRmlkc23kt5Nud5DgtmATSIdnO2WzRIocUmfdPwdciverMFewdc5pxY5b6M0DB9ntOce + WkomTNOhzSL1YAOfUZ7beKjZfMQlldo2qgELRqwbay3vbEiHy5XO2h+MqivcY01wXEhed4lshB/1 + RyX8TnJ/03HOo1oKFHM0vInnR2O7i+dUiQFx+GO0hXlPrLZAPzF2j1JuqXRMrNLKb9QlqCw4TdMf + L8w9OMUkL+GvWTV35nPj+5j4PMaZPpROL9mndRQEyQGW0lr97hJMDlGJ0aC+0vRsRv6dzB7IayIc + zTfsujHFFInL/WNyjXuBGTDMeXLySvdC4sebe/3Ujss7+7Uqxfa7qydnEO5+FZ3R8cPlpFX5VPHG + y/kA+ZQ75M28gIKQwgfORrfg6fjtlvSTwcNM9uIuLHVR5c6vbyb9gi3qYGmUmB4cfovI8QHdoCGy + vfy3/KxXEctWQUI/o6Y6iDLCDwRtFXSdudz6Y9wEQEfcr6iNsNxmjRxVwdSrrflitCZ6LFuZZplD + B2Nw71qIx9pu22Qc6A6Gw/AXLuor4kYHxPZKeZe8QuHzk9ITPM9UH2wADGT3nUPuxOKr/ChScHmz + uIgv6bvATeyCxClFlXJvzF/VXuUnbyFR2+3nUo4EzJ+0wGInkHfy2XGi15sxEUA3U5zbSdPLZ3nb + oy0G6lWjRwVTJ8FJKBvpSRpsu5VgMIDsc+VHFO0aG3cyr2ORS4BlknUNMg8vBOkgf3rfyL5JexYh + RgwSs7Z5NjY4vFSV4EUMujhYZkjGdvcGaOYzxY9lWD/aDQdlTGbuyHOgzwWUs7gYRnyu7Nm2tov8 + dW12J0++JeetE+nbwTJq5Jzha1yLtRZw5wQcTuFSHmrRp3RAfS7Y9sBu0VLlDXfEl0rEWrWFiXhO + kPbreqIB4qzYg0dig8+lxZe5isx60iU2ufUa+mb6r0Jjgo6Yup1j+xmGy4Oy0GALsZUconlvVAf9 + yUN09pOCPlwQlBvzy6vLFOgUTYbR6yq98l4SpAs+5BbT7gi+E9x5+NQsvOYVZZhey8XOxtoY05tJ + Ipuhinb0PN3OFhnKUqRpdEEpaooFFueKhErCD4tf3ENb20TDN3+gYDlECjkVjf4HmNnhpp4d11fR + iMFe9qyg+ypLDxd7p6ZLpD5hwUm0OATLzdVFoWUJprM4KaRC6hEzgEa28I1s34svChVpGbqLSrtV + Od/jj9yIrNo3E1HNPR/Ty0QqLR8uDBUS2PUoNSWMpmkI8GxGsIStXunxQdxWexm7AGe9Feq8oQ0d + B1dI/fb0sjU8fWQYBhuf/udMpApsgrelbvmDN/Hf6lhob8Pdj2Qr1B9nt04Qj3KcePq8Vpe6fYkU + QthL1bzP8WS8VwKoFrie4a4DExLFKKSXOOI9nvsUuOmp35JI0rJRCFyj2nZ9o4hT99CXupkdtBao + Q+3OrvwafwA1LTghn73wlnvAWd54QL+cB0XGefkFc4Gua8t75WTqZUlGBxWpT9HNzxEZxW3WxJsM + MMHMhZYyDlLI7+UF4wXBVtYURwp1nowx4dhgQ1mxc2RBBPzgSR+b8kvmtftAVb1imUjHu+/I9pVw + Pm/qTXA8tnIGvJYRKt7xgUZfo6m/8oly+ap9ztbIra5XLWSuSudci+eY/oSlsERdchailP0pstd0 + 1j3JRKEFeLp04hFy0lf1Jbza24ed7tp10UeU5uu1nCPrrzmbMVd7UHoWvS8DoThSgmJroHi69/3n + 2Ezhf1An0l4kbO9On9Ijw9pCd++wixJzo/6P2r4IJpHWMWO3tQGKukQzh3OKjnLEvASx2Rrty5Cl + X18xeGSFqeUIpdG+DaC5LX04CgWbrFKgJ+1yXh+z1aWEuG2QYz+oXAALfqA2pVJzJU4dBKi6ALtH + GPhMckyFoGLeEqRtfkC1ZrD7jhs3wrSJ0Z3xy4wj81EiYm71c3g5aYIP2EZqkAFd41NU10mTDSnx + 2MPZEzzhqst8pzNeWx7TpA06ZdnV8kRBCeUZJpgLlS5FzMh0Dhy82owYiG4868prA4ILiUxJeECj + fOHITJvZPyiGC2WfSVM87d6tQ2sUhYvWMtUWlGmBngUImOVRd3ua/iDBrb+KPZV+bTAvkIFQVVPb + 6uvCxw6CwEWK1YbmdEMpVvYNvsHtYA3BEZ3aiLmw4SznAFizcKta3nvar0qvQtVIiIHfercRIt8R + GxhU2TUUTzIJQVWSuYiLv644koPGjY747Ho/BoqNaVn8lb86vysyTg/J0sc3OrAne+01CLUuUEc5 + uDMU+xBiT1927ZwVreXeeZP7RwA5xafq7SCDq0g7PAgSUKWR4L/GPWCvHhAEsOgQzdAECWfsfV6m + Y80xIXbcxg3rCUuDDDhBKIrR+zVHsSuhU6g+Q4sQU4KgevpQfmgkj19UDLw3k3QfbPgplQs3/lPf + VaEU2i40U0Yb2VBvFvlKQ0D3ugjGoN9ma9I7kAcHL5q6JEBkVHcHbL1Iv656+MB3ZBVHtr4hq7Xs + xRwNB7/u7x0LAJV0FrDoGvt8iYHHbGOM1tHExLIL1+PYpoLDqSGV72vCd2l88PsjaUJ0P3Nz2mVB + 7QG7YmQHHxBgI/qvsIXYP2CNCeclb2WcaGzCZHk+uFFSfqV8INv1MgPByP6uu4uWbAH0GhZst2BF + XCDtJwioRc8G9tn2Qrjb7rBrfqrnQ15TdpWaj/08daeFjsqdYiDsCLi8HNZErwYxFyKvZcYoCoxL + lvrlklRAIGHs9JgpEF+BXphXcQmmteAzYLhielS/PSuYQDBNOQ9Gb6kSIJ3SpjfSMO6U9FCNlMT8 + d6PNx8ti6PvJLSLcETi2mHHfBq14NrWmG7ztXyP34IOOIS7Vichjk08UU/3a9qC4xXTSOiFepPHd + zzSJFHuaC6uuJ489poc08zYPEPO42oWsOKqsJqlBqwBlN0tq7AT11bKlpqEcuop/e59J+STgjzmU + Du0lh95S4WCr6SYRlIGsv/09vSSJ2hvfUitv8oqMCWU+gAQJ2i/b7D4usCI0P5JYyuxU304F68an + dCiYHB066JYHXPa3V30DH9A3t/043qutHrgCPCC23B480zDobkcl/U4PwM4Fme5XPuGCrMAWfgfF + QvRIoIm2RyqBtlujutsTcQqTOnl4OJDyQNt/95UalokOVekWKvT3uCmxK5EWF0SEFQ7BNh10GIzo + laIbzHklheAyW+GjoFUnb9lKRjCmAvdxq2OCUOQDB3nPCI0R0TnOA9mn4uKA4EnHu1pIKE8AuHuz + QKIeR/Jyz/Vm9KGrHPKbnN8irW07XSBAZfNxNgp/+ZCI416S49gQzP2wmoUBNFZXZsV03om5+rGa + kDSwocxWgGgn+nYC9EMTghFioRG6pJ7dJJb6N27TRFSgeVLv4xurg+hd1Oe0dOVVdqgaVXnjfBG+ + jIC9xvf8Wr+1IWFChsES2xu2i9FHmgPmK6V+jgZ2m9t1sBS8rp5QeUvdc2GtH7tM2q3JV/7hZIzw + kPFHdiRCwitoOYiQW6Au1PLK8MPmWJ0RKzXLsQpimtOo6pjO8UhpfsIUKIWlIbiTm178AC6O+MSa + 5CIqI4ovXZ46nyqt/V43y9R4qc1yjPdB0kHv+wUKlwMy5ECNLoxhGxqAhKHjnoZRRrave6OP1ekU + cLfuq+I6T9N+9h9Z3ikZl+iC15XsdZ4Y3XE+0xiI2CvxPcEvjblJ6h9Mlq4Ehv70WwokKsBkjwZt + lusjq3ueMmcbytHUd/Cc9K47LyXwZ5zEW6FwYaOgpBbrEfabrkpECZdUMhG8TcEcHi4Xh+imEq8R + YONKHhh0qbNY4sXTW6Ha65BfvR6mAa+E7viZnO9FsM/7F9i3l2XEP8FbzSqLTN3uiOFBUOS7q4Bi + iN62Arv+KXG1qCEiIh9EzVXoOG4ZTEHt9MToiM5PsiikytxjeUxjXcyYVLFyNh+96GcLD3LjvK0E + BNdVtwqUGw/oLTqsM0c4eSG1YuOsmUtM7yPjOSdnC5u/YOMLyQBmks3gLnMlhpNoOJztUtdNMIjH + zZjNa+LOIF3iOtm6kumoZzUidzevFbyTMzORt15WiR/Fczqw5Hk1drZbabBMd/P7N9mpYtXNshuV + rmH7LJiD618erG1fe82oR6my/llsj5IpZPTvbIwuxyV8xw21ePeLyzhijLZzpOBNGPDyHKOuJ95Q + UnMvOaOD5O5RrRrZyTRuzd/p+RRcI5GaqiMPK0mkdY8kCRVJdhkbWgDz5eEBQdpQGoUMv+ChuO0z + oquisfNdyX77DjIsBnfJDYQNAz2d4E9YqrOxiKdxdpP0/D5HoCCrO2BT6NKVkFRgObxXkLhtAoDb + K4a2MDDjBPNDfYRO7wWcDhrgdMN2cGEoL9IlLRKNXyOGe8ratMtWgG9iF2EzSkXi0bIv2J3MpHC2 + iJrUZZl9SAd3Ubyk0dttseeUv+eSl5m9NQtmFZHSF+y0PuFOVxL6xGEgjN7OCmym967z02GLrEW9 + MW4kqWYeJdridBdlYHUP8VMIv2jMhoZc/dOKel1wPSKgNtuhXvdJgcRUUardlu4GsjKfRhBbuj32 + yIDgn9B16OIVzDvtJU6mfkuhJSpvtAICBJZvMV/0vfUQBrlqgznohkMkROlUiNXKtF+I6acdFpTu + SRaXGwXIZ2jVOOCCcKh5YWjKHteg6+ujHedxGEm42AvtHhd3vvXhxQ7A2uI34D0V02yRpJ9t7Mzu + VbIjDwY3D4jcgF8LT8wwS5fcken7n5+qshvjjX4TtF0rNR0w7SUv2IT77izOZO0Xd2WdXULouyDs + WDavQ5jLANkGtKXuhkcDHRhLuvE/J9KrV4xePUDDCEo5gyXuK5wXvWD+KuV814mTo5gGD3QPhQip + u55xrgUnrGFns+12QXfQ5DLR569Jiwk3CzR5P5sQ5JoftEVg+ztM2UaSITAWE/H2oGcfLdEyHWsy + VN4tHNvEwoCrserH608U3PN0qJHnQWplcKMmwQs2SSSXPvzObNg2jwwvQpg1cI1+BfQ65Yeia+qq + Yx8KGDYpLP1jKW9vq5cvu8NjhSB+aE5rFM32DmnxbTZmfnMiJfNOhiaISg+pqBu1qKln9hvQmFlj + G63zwEw1WvNiEYYn/qgI8On036icqsaQPIWsABucdBVpX1uD58DVegawAIfhzZjbn34jZh1z8dDD + 0IpOKfnltJuImY9mgiPplovV/X7nqugtu5t8Kb3j1XKF251Kvq75kDJwNIZMHbozNHbB+IjvNiki + vC9RvVspu2t57EQkuDOyvcam6siQZsQ+9pTCpOJJS26gCL39NevGSbzSz9zgwMRlzRRecQf+Co19 + ugHp1KmEhfjpotwI44faDwrNFb2zGvmA9FR/Sv5dWXTXXCzGjZzW8EC1MFbJRGqsR8NrJaOB5w5j + 0JiPad7mu0zxcUh1llp6ngCwLPx/dWIDGIJgslXTHJ1NXamSm0sdH4FSN/NKkMIWrVYZZpk2KcsY + +k+X6dVs0xe9ecFb7721+D16KYgQaW5IA2XiLnaJ5E+KZobzBT8a9G/qn0a4Pe2e74WilKSVutAP + 7QshlIoh+6GFAAXbHT6rPo06vF3RAHUcjHyJ39eH7Uc+OAi5lo+MQlPJN0PGzGMTmSRh0M+GWOB+ + 3ssYJQZfsYHAiYxu9omLn0MBY2KZzXHMI3XiMBmehTijq9bI4fbgg0VYeQL4vxTFHE4cpi9wdmbB + kzmXQ9CKoHnA4atLzP1o36KGXeYT5J06FVTTqLiJMqmfkms5dglpJ6h/AJ+Hs8F7Mhx7gr0fUG1b + 5e4m8zSbu++QGnikeIbM4e2CVz8NYIVN0J+ROMWEZQaBpGw+Zv6eDwyrvNqA5llMFeHbDF3vkKqW + vImzIbzza7/nDGKOpZlzeVk49K5xkV2oEkJNJq+JR3Al3hsxeTM+LAFsPaVwXLETtEYLEcD0s/2A + 5iYBXILcJfYd+OrGaM/krI06V1tvxLmwj72Y8+6Ah58FovnFhxyvqhM9ClDuY0UHrYgvs5bMabmW + Q6lpCjsGRICuXaqJahesPLlmzufmF5QAbssD6jKy6NZQb3zC7oS09TLgMYXrOoIRsy5FWi9LEPTI + 1ImvYsoW3mJqw5jnFpeDWYdBE8HeCx3Ce/ww6DkmpNvKB8rKQzECROnW66DeTk97oDS+OT4SrBeI + OSoqah7vxes4vYyWdB+pWIGzqpQd4TNmF/GLm5gZItQ8SWKxb+NZQXG3tbzoS9ZErpFyQ9yUUum3 + GL4nybx4WdbkSyl1h7Uw4Dxr4FZXOrsBbSM+8+rJy7/Ysw7yMEuMI/QXShygCvGEDXc3GUMQv+yw + k9wS+Hhu+QHI4/DIcZv54U+79FVTFy8/cBvAZAqgLk6BII0WikztSmvDQpfUNajh7qvdCXPaF5k8 + I3FCRxuzsJq40VLzSC4cg1JtwDErl9Z+VrB6Fv120JFmOt4zAP1eRSwF09aowoEchdbqwolxZndm + FPsuaEzwXukqqNAnfW6/V7zd2t3NeCAAsHEAEPJLYfyDtXYGsOv5LoBjkudTZUj+Z/kZIYrqD9fp + fxLK9PlG9MW4YasjOb0iH21ReCub2JMdwfAPmJdyd3Q+X0++jx9qRdHZbIhbZJle6aK76Ctf90Ps + EMvk0C60EcFXja+RZZucTpRosAPD6+PEcxH+sJENLBcMX3APVj+sJ4+0EUfV3DFddoih04I+3NQH + lmR6mDraeavh2GQ+jSCamnkrpp5YUHhHjBb2vTejjHuxAq4vpZFAs3vtwLGNis1r6UvK+H19vzph + 5rzBd/MWsnjbDhg/DTn7BCw8N+APFcHyD5gYhEoX+9StozK2QVoEGGkYdEz6gdSb9rnHpi4cdta1 + 1V7PUTTr3PjJ0OKpBAwYv6qP9zAItVKcGHDQBHaHIHwzwPkrxYsTxfK0T6stnTp98TWG2ebGdrW1 + 9XfCCRGIO5RylZdtK0CyQ0zCClpE+LrrId9BX90dpxAQNLGUeOXczrmFAIdvHrWmST7e33DbmQap + 7df1qPCQ6vLQR3jMMW1DPZhB8ItNvlK9c8NIszCyUnN+aXnG9rmNTXZBkeRmAYU75SUqL9pwRdNL + lDiyIQjq1Vt8t7LNAR4LNemwy1iLjke+Ckxf8AQHRfkI5hud2nebgDLhChdg3UCR+aTEdxvEdb/1 + pVA2uw7VEXusDS+a0oisZLKlgUYLjXp3eisLQvQxP0PgVDmu8lweeGvdcv36KzksoarIidNvPg1Y + ih072QGGCZv01mu4lzRHC3dNR9bb7tLftKTHsLFe18khqrt2vJ0NLhvev5KVZ/p7kYFWHyBa+O80 + Ve+Q0qM6I4Jrj15QHAE4rjKh8P6IgvznuN+T5SWy1vHblR/K3PQOMnTx9X5Kmey0w2gHAgHhlRaF + QRHcSJd1+OZEuRW5RZMek7JOWDzWNPLQDHzcClawkGzlGAnJvCvSy44XoL22xlH5+rNNGxvbRSYj + uyAfKloIH4GyF7D622ndSAJB8MlNsyvsA3skadelfaYstFs3uKnDe5jZaw== + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/65536 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sun, 08 Sep 2019 23:43:28 GMT + ETag: + - '"0x8D734B6599CFE89"' + Last-Modified: + - Sun, 08 Sep 2019 23:43:28 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-committed-block-count: + - '2' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 758a9c26-d292-11e9-9068-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 23:43:28 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - a0db2bcb-101e-0047-199f-66f960000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_and_validate_content_md5.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_and_validate_content_md5.yaml new file mode 100644 index 000000000000..fd5b69b27c72 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_and_validate_content_md5.yaml @@ -0,0 +1,2695 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 3d8921e6-d292-11e9-a2a7-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 23:41:55 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceba471b84/blobba471b84 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 23:41:55 GMT + ETag: + - '"0x8D734B621FE5DBD"' + Last-Modified: + - Sun, 08 Sep 2019 23:41:55 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 3d8921e6-d292-11e9-a2a7-001a7dda7113 + x-ms-request-id: + - bd852c64-401e-0017-279e-663b30000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 3dde2078-d292-11e9-8b4d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 23:41:55 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceba471b84/blobba471b84?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 23:41:55 GMT + ETag: + - '"0x8D734B62239B967"' + Last-Modified: + - Sun, 08 Sep 2019 23:41:55 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - 3dde2078-d292-11e9-8b4d-001a7dda7113 + x-ms-content-crc64: + - WdeFepI3MmY= + x-ms-request-id: + - bd852c66-401e-0017-289e-663b30000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 3e1579ca-d292-11e9-8f92-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 23:41:56 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerba471b84/blobba471b84 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 23:41:55 GMT + ETag: + - '"0x8D734B622518747"' + Last-Modified: + - Sun, 08 Sep 2019 23:41:56 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 3e1579ca-d292-11e9-8f92-001a7dda7113 + x-ms-request-id: + - bd852c6d-401e-0017-2b9e-663b30000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 3e28a3ae-d292-11e9-a29e-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourceba471b84/blobba471b84?se=2019-09-09T00%3A41%3A56Z&sp=rd&sv=2019-02-02&sr=b&sig=kFKhrdzhGS8so942CU5bUkLy1GJnk9Go3FpMZV1jiBY%3D + x-ms-date: + - Sun, 08 Sep 2019 23:41:56 GMT + x-ms-source-content-md5: + - U/B+cOLcVsLGcGQypCYaUA== + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerba471b84/blobba471b84?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - U/B+cOLcVsLGcGQypCYaUA== + Date: + - Sun, 08 Sep 2019 23:41:55 GMT + ETag: + - '"0x8D734B6226C1482"' + Last-Modified: + - Sun, 08 Sep 2019 23:41:56 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - 3e28a3ae-d292-11e9-a29e-001a7dda7113 + x-ms-request-id: + - bd852c6e-401e-0017-2c9e-663b30000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 3e42b3ec-d292-11e9-b804-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 23:41:56 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerba471b84/blobba471b84 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sun, 08 Sep 2019 23:41:56 GMT + ETag: + - '"0x8D734B6226C1482"' + Last-Modified: + - Sun, 08 Sep 2019 23:41:56 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 3e42b3ec-d292-11e9-b804-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 23:41:56 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - bd852c6f-401e-0017-2d9f-663b30000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 3e53ddfa-d292-11e9-b9ea-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 23:41:56 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerba471b84/blobba471b84 + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/65536 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sun, 08 Sep 2019 23:41:56 GMT + ETag: + - '"0x8D734B6226C1482"' + Last-Modified: + - Sun, 08 Sep 2019 23:41:56 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 3e53ddfa-d292-11e9-b9ea-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 23:41:56 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - bd852c71-401e-0017-2e9f-663b30000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 3e6ffe0a-d292-11e9-bd17-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourceba471b84/blobba471b84?se=2019-09-09T00%3A41%3A56Z&sp=rd&sv=2019-02-02&sr=b&sig=kFKhrdzhGS8so942CU5bUkLy1GJnk9Go3FpMZV1jiBY%3D + x-ms-date: + - Sun, 08 Sep 2019 23:41:56 GMT + x-ms-source-content-md5: + - isbyeiguSTgSVIJgfM+1Xw== + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerba471b84/blobba471b84?comp=appendblock + response: + body: + string: "\uFEFF\nMd5MismatchThe + MD5 value specified in the request did not match with the MD5 value calculated + by the server.\nRequestId:bd852c72-401e-0017-2f9f-663b30000000\nTime:2019-09-08T23:41:56.6555059Z" + headers: + Content-Length: + - '278' + Content-Type: + - application/xml + Date: + - Sun, 08 Sep 2019 23:41:56 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 3e6ffe0a-d292-11e9-bd17-001a7dda7113 + x-ms-error-code: + - Md5Mismatch + x-ms-request-id: + - bd852c72-401e-0017-2f9f-663b30000000 + x-ms-version: + - '2019-02-02' + status: + code: 400 + message: The MD5 value specified in the request did not match with the MD5 value + calculated by the server. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_appendpos_condition.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_appendpos_condition.yaml new file mode 100644 index 000000000000..0eb8cd57c2cd --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_appendpos_condition.yaml @@ -0,0 +1,2705 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - d115f1dc-cbc5-11e9-a180-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:28 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcebe1e1bf4/blobbe1e1bf4 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:28 GMT + ETag: + - '"0x8D72DE9B54F1687"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:28 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d115f1dc-cbc5-11e9-a180-001a7dda7113 + x-ms-request-id: + - e5849ab0-d01e-0056-16d2-5fa21b000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - d12b8f38-cbc5-11e9-9eca-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:28 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcebe1e1bf4/blobbe1e1bf4?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:28 GMT + ETag: + - '"0x8D72DE9B557CAB1"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:28 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - d12b8f38-cbc5-11e9-9eca-001a7dda7113 + x-ms-content-crc64: + - lX7y3Ltpxb8= + x-ms-request-id: + - e5849ae0-d01e-0056-40d2-5fa21b000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - d135020a-cbc5-11e9-a0c4-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:29 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbe1e1bf4/blobbe1e1bf4 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:28 GMT + ETag: + - '"0x8D72DE9B55F4627"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:28 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d135020a-cbc5-11e9-a0c4-001a7dda7113 + x-ms-request-id: + - e5849b19-d01e-0056-76d2-5fa21b000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-condition-appendpos: + - '0' + x-ms-client-request-id: + - d13bdaf6-cbc5-11e9-b813-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourcebe1e1bf4/blobbe1e1bf4?se=2019-08-31T09%3A03%3A29Z&sp=rd&sv=2019-02-02&sr=b&sig=L6c0RTDIHDNGS3TsOMGw76kgQBlNviTPS43TGMiYxTw%3D + x-ms-date: + - Sat, 31 Aug 2019 08:03:29 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbe1e1bf4/blobbe1e1bf4?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - 3/6WV06c/KADNCOwx33hHA== + Date: + - Sat, 31 Aug 2019 08:03:28 GMT + ETag: + - '"0x8D72DE9B58C039E"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:29 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - d13bdaf6-cbc5-11e9-b813-001a7dda7113 + x-ms-request-id: + - e5849b34-d01e-0056-0dd2-5fa21b000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d16b9640-cbc5-11e9-8b49-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:29 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerbe1e1bf4/blobbe1e1bf4 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:03:28 GMT + ETag: + - '"0x8D72DE9B58C039E"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:29 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - d16b9640-cbc5-11e9-8b49-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:03:28 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - e5849c90-d01e-0056-56d2-5fa21b000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d17d3d5e-cbc5-11e9-ba88-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:29 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerbe1e1bf4/blobbe1e1bf4 + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/65536 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:03:28 GMT + ETag: + - '"0x8D72DE9B58C039E"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:29 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - d17d3d5e-cbc5-11e9-ba88-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:03:28 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - e5849cba-d01e-0056-79d2-5fa21b000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-condition-appendpos: + - '0' + x-ms-client-request-id: + - d188123a-cbc5-11e9-ba25-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourcebe1e1bf4/blobbe1e1bf4?se=2019-08-31T09%3A03%3A29Z&sp=rd&sv=2019-02-02&sr=b&sig=L6c0RTDIHDNGS3TsOMGw76kgQBlNviTPS43TGMiYxTw%3D + x-ms-date: + - Sat, 31 Aug 2019 08:03:29 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbe1e1bf4/blobbe1e1bf4?comp=appendblock + response: + body: + string: "\uFEFF\nAppendPositionConditionNotMetThe + append position condition specified was not met.\nRequestId:e5849ce8-d01e-0056-21d2-5fa21b000000\nTime:2019-08-31T08:03:29.5280526Z" + headers: + Content-Length: + - '251' + Content-Type: + - application/xml + Date: + - Sat, 31 Aug 2019 08:03:29 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d188123a-cbc5-11e9-ba25-001a7dda7113 + x-ms-error-code: + - AppendPositionConditionNotMet + x-ms-request-id: + - e5849ce8-d01e-0056-21d2-5fa21b000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The append position condition specified was not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_match.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_match.yaml new file mode 100644 index 000000000000..806f46a8bac5 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_match.yaml @@ -0,0 +1,2705 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - e4577350-cbc5-11e9-af6d-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:01 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcea165173f/bloba165173f + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:00 GMT + ETag: + - '"0x8D72DE9C890EC0D"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:01 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e4577350-cbc5-11e9-af6d-001a7dda7113 + x-ms-request-id: + - 2f56c3f2-201e-00d4-48d2-5fe3a5000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - e46d62d8-cbc5-11e9-8cae-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:01 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcea165173f/bloba165173f?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:01 GMT + ETag: + - '"0x8D72DE9C899A03E"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:01 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - e46d62d8-cbc5-11e9-8cae-001a7dda7113 + x-ms-content-crc64: + - b32wBO+EtWs= + x-ms-request-id: + - 2f56c415-201e-00d4-64d2-5fe3a5000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - e476ff0c-cbc5-11e9-a22a-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:01 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera165173f/bloba165173f + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:01 GMT + ETag: + - '"0x8D72DE9C8A4C5DD"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:01 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e476ff0c-cbc5-11e9-a22a-001a7dda7113 + x-ms-request-id: + - 2f56c446-201e-00d4-0dd2-5fe3a5000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Match: + - '"0x8D72DE9C8A4C5DD"' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e481301e-cbc5-11e9-88b2-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourcea165173f/bloba165173f?se=2019-08-31T09%3A04%3A01Z&sp=rd&sv=2019-02-02&sr=b&sig=E/UKVwOoqP7nyKBUfJfDjggCy6cHIMPRyf6zFzG2D8M%3D + x-ms-date: + - Sat, 31 Aug 2019 08:04:01 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera165173f/bloba165173f?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - zqPAhei7nIgllQFjyitjiw== + Date: + - Sat, 31 Aug 2019 08:04:02 GMT + ETag: + - '"0x8D72DE9C9621E35"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:02 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - e481301e-cbc5-11e9-88b2-001a7dda7113 + x-ms-request-id: + - 2f56c46a-201e-00d4-2ed2-5fe3a5000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e548cbd8-cbc5-11e9-90a1-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:02 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainera165173f/bloba165173f + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:02 GMT + ETag: + - '"0x8D72DE9C9621E35"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:02 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - e548cbd8-cbc5-11e9-90a1-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:01 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 2f56c88e-201e-00d4-70d2-5fe3a5000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e5560f5c-cbc5-11e9-8548-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:02 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainera165173f/bloba165173f + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/65536 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:02 GMT + ETag: + - '"0x8D72DE9C9621E35"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:02 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - e5560f5c-cbc5-11e9-8548-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:01 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 2f56c8b9-201e-00d4-18d2-5fe3a5000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Match: + - '0x111111111111111' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e561a2d2-cbc5-11e9-abe7-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourcea165173f/bloba165173f?se=2019-08-31T09%3A04%3A01Z&sp=rd&sv=2019-02-02&sr=b&sig=E/UKVwOoqP7nyKBUfJfDjggCy6cHIMPRyf6zFzG2D8M%3D + x-ms-date: + - Sat, 31 Aug 2019 08:04:02 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera165173f/bloba165173f?comp=appendblock + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:2f56c8fa-201e-00d4-55d2-5fe3a5000000\nTime:2019-08-31T08:04:02.8283310Z" + headers: + Content-Length: + - '253' + Content-Type: + - application/xml + Date: + - Sat, 31 Aug 2019 08:04:02 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e561a2d2-cbc5-11e9-abe7-001a7dda7113 + x-ms-error-code: + - ConditionNotMet + x-ms-request-id: + - 2f56c8fa-201e-00d4-55d2-5fe3a5000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_modified.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_modified.yaml new file mode 100644 index 000000000000..e921e8222b88 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_modified.yaml @@ -0,0 +1,2773 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - cc3d12c6-cbc5-11e9-8ad3-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:20 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcee9a31873/blobe9a31873 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:20 GMT + ETag: + - '"0x8D72DE9B07C6061"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:20 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cc3d12c6-cbc5-11e9-8ad3-001a7dda7113 + x-ms-request-id: + - e238ceac-e01e-0072-7ed2-5f54bb000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - cc590410-cbc5-11e9-a363-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:20 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcee9a31873/blobe9a31873?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:20 GMT + ETag: + - '"0x8D72DE9B08710C0"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:20 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - cc590410-cbc5-11e9-a363-001a7dda7113 + x-ms-content-crc64: + - xHBfoXjUuMI= + x-ms-request-id: + - e238cefa-e01e-0072-42d2-5f54bb000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - cc638538-cbc5-11e9-879e-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:20 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourcee9a31873/blobe9a31873 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:03:20 GMT + ETag: + - '"0x8D72DE9B08710C0"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:20 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - cc638538-cbc5-11e9-879e-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:03:20 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - e238cf30-e01e-0072-73d2-5f54bb000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - cc6a8426-cbc5-11e9-97a2-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:21 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere9a31873/blobe9a31873 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:20 GMT + ETag: + - '"0x8D72DE9B0998AC2"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:20 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cc6a8426-cbc5-11e9-97a2-001a7dda7113 + x-ms-request-id: + - e238cf56-e01e-0072-16d2-5f54bb000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Modified-Since: + - Sat, 31 Aug 2019 07:48:20 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - cc761eee-cbc5-11e9-8155-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourcee9a31873/blobe9a31873?se=2019-08-31T09%3A03%3A20Z&sp=rd&sv=2019-02-02&sr=b&sig=pUKhAf3rmZezTlBR7/3N%2BfV%2BnnJ4Rkcwpt4uKPoWs/E%3D + x-ms-date: + - Sat, 31 Aug 2019 08:03:21 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere9a31873/blobe9a31873?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - 72cJkIe7yVw2Q/6OTsSG2Q== + Date: + - Sat, 31 Aug 2019 08:03:22 GMT + ETag: + - '"0x8D72DE9B1B54114"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:22 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - cc761eee-cbc5-11e9-8155-001a7dda7113 + x-ms-request-id: + - e238cf97-e01e-0072-53d2-5f54bb000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - cd9a0912-cbc5-11e9-9724-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:22 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainere9a31873/blobe9a31873 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:03:22 GMT + ETag: + - '"0x8D72DE9B1B54114"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:22 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - cd9a0912-cbc5-11e9-9724-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:03:20 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - e238d7ce-e01e-0072-75d2-5f54bb000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - cda4155c-cbc5-11e9-a9f5-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:23 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainere9a31873/blobe9a31873 + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/65536 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:03:22 GMT + ETag: + - '"0x8D72DE9B1B54114"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:22 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - cda4155c-cbc5-11e9-a9f5-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:03:20 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - e238d801-e01e-0072-26d2-5f54bb000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Modified-Since: + - Sat, 31 Aug 2019 08:03:22 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - cdabdf78-cbc5-11e9-9766-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourcee9a31873/blobe9a31873?se=2019-08-31T09%3A03%3A20Z&sp=rd&sv=2019-02-02&sr=b&sig=pUKhAf3rmZezTlBR7/3N%2BfV%2BnnJ4Rkcwpt4uKPoWs/E%3D + x-ms-date: + - Sat, 31 Aug 2019 08:03:23 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere9a31873/blobe9a31873?comp=appendblock + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:e238d826-e01e-0072-49d2-5f54bb000000\nTime:2019-08-31T08:03:23.0486039Z" + headers: + Content-Length: + - '253' + Content-Type: + - application/xml + Date: + - Sat, 31 Aug 2019 08:03:22 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cdabdf78-cbc5-11e9-9766-001a7dda7113 + x-ms-error-code: + - ConditionNotMet + x-ms-request-id: + - e238d826-e01e-0072-49d2-5f54bb000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_none_match.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_none_match.yaml new file mode 100644 index 000000000000..e4cfb7079459 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_none_match.yaml @@ -0,0 +1,2705 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - ddaa2926-cbc5-11e9-adf1-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource1c0e194e/blob1c0e194e + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:49 GMT + ETag: + - '"0x8D72DE9C1E4D969"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ddaa2926-cbc5-11e9-adf1-001a7dda7113 + x-ms-request-id: + - eabc5597-601e-00b7-48d2-5f7e5e000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - ddc171d4-cbc5-11e9-93d7-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource1c0e194e/blob1c0e194e?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:49 GMT + ETag: + - '"0x8D72DE9C1EDDBBC"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - ddc171d4-cbc5-11e9-93d7-001a7dda7113 + x-ms-content-crc64: + - weyXqGDcBlA= + x-ms-request-id: + - eabc55b4-601e-00b7-60d2-5f7e5e000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - ddcb0836-cbc5-11e9-a269-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer1c0e194e/blob1c0e194e + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:49 GMT + ETag: + - '"0x8D72DE9C1F57E49"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ddcb0836-cbc5-11e9-a269-001a7dda7113 + x-ms-request-id: + - eabc55f3-601e-00b7-1cd2-5f7e5e000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-None-Match: + - '0x111111111111111' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - ddd22d4c-cbc5-11e9-910a-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource1c0e194e/blob1c0e194e?se=2019-08-31T09%3A03%3A50Z&sp=rd&sv=2019-02-02&sr=b&sig=/wSu0xTNBwDfdupGXsfG/GW%2BiLjOcUOGn85boPjKAic%3D + x-ms-date: + - Sat, 31 Aug 2019 08:03:50 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer1c0e194e/blob1c0e194e?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - PXroCp/3f817EMBLve9L5w== + Date: + - Sat, 31 Aug 2019 08:03:53 GMT + ETag: + - '"0x8D72DE9C3786DBF"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:52 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - ddd22d4c-cbc5-11e9-910a-001a7dda7113 + x-ms-request-id: + - eabc561d-601e-00b7-41d2-5f7e5e000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - dff17492-cbc5-11e9-8ab0-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:53 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer1c0e194e/blob1c0e194e + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:03:53 GMT + ETag: + - '"0x8D72DE9C3786DBF"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:52 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - dff17492-cbc5-11e9-8ab0-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:03:50 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - eabc60b8-601e-00b7-7bd2-5f7e5e000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e004938c-cbc5-11e9-a901-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:53 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer1c0e194e/blob1c0e194e + response: + body: + string: !!binary | + zO8XKJKNXr3gUdXK3WOf47rUqPxv8JS072Rk6JDXqmfCIs9sAEmEIir9xom8XgG5wiWdVuK54bky + vSMxJTTgwKhBDRoKw36ueChyc32iYOYgPBn0sSRQ/G/arRzGQotq4l7BFEnHmmnwtoIn4TqeqezM + A/iSDB+Ey9IqZERI/R2PYbBvAW4eMGCYmte4+9ywWog4WT211I12btLaO7Wev/K/OOWQJhXtWZWz + h/MqZ1ubS1B2j4zSFFgdjP5fSZD0g1kSbBIItT45SmUQ7jxwoT6r0tiSVYN7QaOUckuZrGj4kYv7 + eH6IuGk2HRFc9V591oxKndGi28+0L46S8LAy9YO5TeXQPho4E9m6PW1c9OPh5mmThr8xJhGq+5md + /gtv7VeRIrepitHgwiYQBIEvtneAQpaxLvVRvbLUDEuLdGz5KimQPLa1HAcfS9uLcIVJmN663bj9 + /RX3m4eSR+eOQi1kKbqs9isVuHhj3z8slR+UT51EjWREO2MwacoOE2VwQkDlaeSLh0v7QvROXbPY + ORVnBv2oU83P06YiNQyh/nupBleIq6xHXvkx9X43K10BvyFlwBaoMPl1RefrDiUZ/X/QlbgIwJ0g + tbeDlIJLlvQAetAXkpm/QRrEsrJ7tb8tfrf7RiIdOuQVne6VP96UqW7lgmg5UMb2Qd20hl245MRg + 23B3S77c6MHsAWbfpg3+ag8ZvDl7Ot+x8hq2ZXmx1CH9Lnw56D4R5+mFJmw7b/LhYtH5goFhUarD + v8/7/uh4RdPGeM/FrWVcvho6mlkP3AyjVdB65m7dYkItwrJiNsZ1UfmhuquCvppzuaa8GoxmfPWp + RgPZ6tyavySg3yGmmlXN7YNhidnEkA+Z20XPpDAWxhfEVERDtKJ7S/mvjZcR8eOymXYzoFQy112g + H7c7AHY7jeD6b374KoL58xXDVIdVKEgQ87wOdM29YtxRODmsBg2rReuJvlwvnZ46BG4itchpieMS + ezymTnLI5DMlfPuilVgvNSA7OnTROqBV8iPe+j3Gt9Yt2Yi+NfnueSMT37YqHLSei2t7JO4mdJrf + GQejy6O6PogMxeXwzKxKzYPS5aTr+mtKD3OWwB1UqVbyhwVDsQB/NOW7SOCd2f642oNl95eOS+e9 + 0PASd+nFZ0pDjTKdAcDl7ok1dGxn20lcTCKDJeCiheLNLaA01dcrgRpvoXtTCnAp7KQt0l6WdvB3 + e/umOvy2KUzGy10tTF5LLbZLjyTrrJ34Oni59uK5tlqlCBSOUAQzjFwXtMTUFvw41AX0Fsva7lIm + rrwMUknRLzrun6HOTPRbRaXLpOo2W27agDy1fYSqVEBDvXGZxjNL8+JKUobyAx6DVseS4zBThxr6 + tX0osNnJHp10m2Q5ZpGsse66f0FYEVwOpSFZabnczubxeWAiVNVyux4q9zNwb8OjxYbogSflFj7N + wypTe6hvMTHn+b49m+ZGs6msQATgvQXSD1dMQc/bq3MEMC5pS03qNULDuzenrvaBbHjyaW7q3rlq + XI3YduHFvm+0zCYwVZTPL1cfrObHVCkwzxCURefXrL4Rq62ptnwbdWSomUNVoVwNcEX9GsuqAj5u + Wvn5spmzUjxILgjC1ubqgLtVfRk9p4owikguvBOCkjPimmi9Ur3gYn9J0w8VHQR4oNecoWjB6fZ6 + 8gzUl26esKVEnN2bA65fTSfbRZvHKenrIbtEMxO2kJYGd95NoUF9UaCHb8Lv04q4/JM6N5doyZOu + oNN35KY30gnXSxa6WOw3qgaMxtb65L02CZ593sPVSIVwVjkqs/QA7iZhSz/A3UzVF0Zeagg/Jq4M + bdeks1HFKBPiEJLddQIouj5VLdl6N0pm/CGl/pRel/FJJn7wNoKg54yK1h3iqjbraKiJbAwY64p/ + ja9bU69FmxdNGHR8Qh3DEh1C43VSrE13uwPnzumBXrOX04GtPxt56c5F9T+Wm8X5r4Wp1ZjXrAcR + hXlCjGAYljKF2mFbkZ1EykpoKVJo7VP6/im+QQwttEzpmVMdEP3nO12e1jrYLJkyhTckkdBMUr9T + UUQfX2inUCYqRhhcrCK8FjdC7/4vYPjTxQCAhHxE+TAAuRhd4mkPJaJ736DcHujOd8Ny1wIRWF8N + bk0XEzmUTYl8oHZ1wU7zPnyPBp/EhZg797E1leSepegr/aGKNDRSmihbjlwDvkAc4vVqfWm4LtSf + ruDLDdpHkCtnO8iU6V/EaoBOUe2MXwApwu18N8fnIGFA9OtYaAFk745Xud2tsYohsHhRgjQR3FMx + LU8MqjViaexHm3VWmAGbCqiCz6IN2mhT+vJySoV8XYjTG7MqWExboxfNsKd+DSWlncjtiO/73IN1 + ZC8DppsyUlpLd3dBH3H+d707GmaljL5e44DlaicCLsDuroi693z9l3KbCZ7D965l4ziZsI5LS+4e + M1+1Ls48RSUYR0ZFiOf0gS8nr7SRUuxbbaUFHB2bgrEmUWANDt0b/cIxVTS3vdsg+L/pU0dajxbj + Hv75oHdeALvLaDyhHGhsXw+zx81vojRIsn0/5O9KOVh7nCyA7zlCXcLmbyzowrjkdIDLwg3TYyJz + wO+za40lDuMx0EgJR/IodUM+Vqi4uKLsXoDmVPLORibO2MlyKCweRov4/ZaRo5PuyQ4TKabKBPtw + RbWOYuyNJnjzcs15i8k+s74hxRa5j6MfgzUDtLMmgKQ7YDvEU3CXUNA4/AUjVMNWGIfwZpZGZMs5 + STO4XzCFFc+m8yX8xJkXlMRkFqjS2ietZYoOt0c8YOffBCdRwznzf2L8wOqosTXhzlGUsfFOYt6k + fyae/pLAxcWZCfD2wJcjhBKOQy3mjAgl4AFIiF7AJzf3G9vq2XVgVs81UHoqf95vHC4Rcr79uC7B + bAWorpApg0oFLiVDI2l7DbVKBqJfDptjMh7UNBzzbtgVVr6+9tNjY0MmKo6WZRYKmzvWfHt8GjPL + li3ZVjEj0jumtfmcHIKHZ8Pd8qbtzjD+F5YK9eX90vaIIj0ckZd7TxtElBlKO8F0tYDQJBFmRt42 + tBYTGEbuDqav3XC0E7Uvi3a/SyPZraXKuNdcZ18obHg2TSFnJ3kZFrlpOTrAPEOoQBHNqS98mM7o + STtLgehMYN+aoX+PRbGucT6/LDlimEUf4YiU9liuiscK4Oqg/bx2FdJeNh2/Vla0FzcR9/avmknN + awr5Q60XFiwBxldHcT8I50lgospQJ3+F9tz3KhHvR4Zn8m3+Lvcrwwcdzg/DNgAfoHW50fUQAnvX + N6/Qxi8TqxOXj2J8JOajyV3yJISn2pjC0UKk+GQDkMq4946FPfawzHyPPM9hKXfSU+RmSwdQnI0S + Qc4hfAOm7+O3QEN+LgAwc2TrGcsqUs9u0aVQhiQZt5HCBe/MBqxC71a8rTRZ41ydGLfkyxGsj6i/ + Ls5uQQNqvG2zAhbwZN1jhSwyiRHCxmZGuxOU1S3xErR/OY4TY9yOcfJyCFcYuObTsoafXcbxAEKO + n34p/v27EM3QkjNqdk2qkS5mAk/9TPwsjgptQAgGFVs8dxxqIKrs3ZwgOAiSRIEAvTxoJIEb6iHc + 3ph//OTyWYqUel6GxH1rvy4US2E/L/aabvFyUKIdALb79MSVCYwH3qaR8bqQFZ6vdcxy5jPJ3i9K + e39ymnAiEPn5e9NsjtrovQ/AXxJkcyLcP0ZOigw8LKD1TfL9SzzqsOzzTnrefG1o2gi/Jmuc9MIw + ViylAJ/970nXS9dm6Ys55YsyLZojyYTAqe3lljkm6sGiUjD9GgrB4ViLEw+bbxG/KK7xwCFyUmNi + SsZq6gKjs5tcScvgFnTi/oECVv00iXBnkQZTsJsfukOfQhdJKa7yCEn2NIQwkmcnTwkYW0X6eYx3 + z7B2c/k9RjM0mSSwq8Nj7W3h+2lzVkpiQXySNvAhS5t5u7j7LplRriBxEf49OptdongAzau837yD + pdqxadW+H4EMKABXivw64vSZ9y5kzp5EDYBuo2BGp52Yy/S+JefHIILtFwK/ntfBKhRQBIQSCpMj + StAuRXl4balBp67KB81Q34VTAhcUPvZbfkF+P3+HZFSTrGqiAylcBbQ7m3PTsZTzs0gMXttBI84y + Nra/wa8iAGUeC4pyMSbJMiAvo/MHayaEw7zdSFh9FktgX1fKWDYaqmh2+lRpBycjXlSjFrpC508+ + hje8m3CRPXjQIgtCfnXxr+vFwUPWyyfuJnH2VI6utE/Zx+KPgAKTo+NDFdett6pRohgXEQelimeJ + 646kVBuVw+OjGnjTVNTwHEv70euwe60vgFD+XDBognX7kPky7xGAzf3bVxxfhu7HpBXHCpvCAJz8 + SWT829vzlkWFVPGQkcw4tox3I0OczOMP3FrhzhWvVDawfaFADN/cz6sXZU5uRhtkx2VQZ+VRt2el + QvGdmIkcd4HKILOw3jrIOXRTg1Iyy6lk2YjIPL55QlbHAKfJzy/dP1YbhmehUj5OLEu3JFkqJtqD + WLnQcWewx7Ljymwa/m/O8WdHKxecHifFfRsIvJ4KbJns7MMtyQlwJ5Xc3YsKFZxS+gRTiTLxAaDz + iKE13IRrWDgZfeQFJAPR1lYX9eSA6KYOUDuJyQA02uOKwR9VL8n+VY9bYy8KAunI1y7syTtfVlS3 + xTTnqZjvtUm41QnBa0WLIC1UpTehiWppQiZB3XLiC8HKYoFBmrosM+PH659pJNwSf8gRnfbOqxZY + TSiDsXuApdUDNJjliBkk1zOc4wkEan97dG1hHqyyyRzTjXOzbiIoc5H4uC2mCxjGaclrfxDRaWD0 + e+P3Q/ZnY44XMsFvhTsMrEc4DmFPdtBv6Y+FD+y4r1ck8xUqoY5MABCR+oP+W63zSe8BQPBZKWFK + 7mkaB6WZ3sY/H+wA2/wQyESaa8KrUseOed0TO6N7e3jY7SM8VW2tsGl8h/LGDY/d47VanO69e5Y4 + PjPXwAby3rIagogVOWM92hhshG/IvKQ6ESR24hWWXFnawnTgv2LGcfeTOOmM6AhBRtLh/dFKDYVq + GSpoAdRciovGFGV6audlbzHgKRiW4f2YxDHz6+7WzcJJYOqkYJhucSjfWvCSVM1pVy28QjmH1gnK + eSIqtr720HPqIqcFWTPDO0HMl472Kh9Kvz7vb+uAWLBfNdB9fy254RmJ/fCBtuRXfb3ANyGoW6o/ + 0LC+iafm02bpMaO5HAMDd1epI31xuxuBG9MpHtlT+DnHfDRo1WOlqXcBx6J6hWRtfLAmlldUe2Ki + sXnvLVveivfroF1UUiKkX8uLkj7MvvuyEsLGkgzpCzbgsK0g6vC2OD1qqR9XiMp4SA8CDn5cHAcm + /qLzU7E3FymKP5kO2tS9nDsVMh7H2Rw3D2D6zXkHKzR9e1uM/CIbekIZE4HoG5Hkdt9C2xxxnyrl + GukKplVAgJQ5wNEiBGY8mpUFdXIE3qun30ab7jvw2IRwMVC9bvxN8rgYXfEpjiLXkxzlj+ldJG9l + SMECVgyAhq6hRH+0iO2EpU5SeJxyVLN/s4MKZfMVU9zH2RaOjpobu4uVal/sBtIS1m6vK3CYZv6h + +yEFk5NqapFgjBdFtHzfJVdjxiAA8Rr+N45EDEsT9lKeS+foHflYMgvPyN1ADqej5RcdWiY52tIm + BiyllSHHVFGWpNrE+sz4XxV4gG/0Zra2K1aytehDI2YSK0l8BrrscBb5ai+/2kcujuJ4W/SQWG5w + c0cL2VUpfdVVMXBjvoCG6Ko1DMnJiNKHLT6lpX6GkJGyMvlXATjJeILKzwsqtWZbQ8KK+xFSWh1E + 4TMmRx9+Z1Z5FUHqsnHl2LaENGXFa/GWQC0S760JI6p9adQmywy/P9uGLK4WeRVAyQKydPpXrSBt + bDiQwAf1zMRZdQ5M905EpTrFtjPliDR89bML8xncHlerZYwlPpQYTI9cP0VA1gIymOcF+ac0rLJT + Lc4l4gilDxwibMXsFMkBY04j9Ng9MJa7AnAN1C4jucwTZKn4icIlrOfTOV84rA7uucgEYggmwhY0 + ksg0LUowViOTFOdJHUEALwpZwvSF5eZRyk047rpa8WHlmFFYSkkuAWPk+D7mQDutXBJiijVfSv29 + ZreZo628duwyP5wC3TzqQ6tXXLPFQsd1eUMemzAdxdzavROplxFWQEDbhfub8lcYQK5Lu4vvSNaB + PRSg1faUewLNTI4K2NuyFxCKELP7ceKM2/I+2N00iNKumjrolGFzs1X7SFDtUInNPOTPWb12DbcY + YJbuIhWZDqku1rm2D8Owr/CWK4mIZ7AWi0Dz0Jlw0Cnk4U4J9F38XWiLz4K2cjgBwEWZMZjz55nf + Ozs6N0PW1IYSTqCWN6Taq8D9aoRI0GdnSAbK3psaKy+ysBlSU2OFq6Du5ZSvc7fMiEzmHNNTpBkO + h5Dw9/CXHWoy3BxIrqMIVS1XOzOkvpns0oXUVAg+B0iPW+nir6nTlE9hklpiNOm2st59aZu5uL5q + p0lkYqHyUxvBDfQcXVKwjO25Gk2gMwkHyhXeGPLXKYgzDFgXBTWWOSn9L7271ARYwrRaoRu6mCRN + z2syCKWRxhGrlwuk4Vl5CRuxmqBwKmpudvE7DRVisXLPcb7BjuEFDi3LzZ3QVJ8h++5m8ao5KasJ + IpxLywjygP7z0N8fl7XIt8gxWM/bEDJPsiHASZW0J2gjq7NrSE245brpZaAHIU+R2lYQUaM14iPh + xgI5wlDXavaz5XmkgsJEma7vZLVeF++4fd68WSeUvM5mavON++FGgN7Zys4sB5ATjk1aHlao3Wqo + pzXsjh8ZLrUj+4goAwRMDFZX8ka16qfItP5dhtn39vMf4psIQc8Bspm6g6llI6+pLxqf6UVHn3OF + YVF0vPN2a4fZczULfruINDtPKNmRJp+LF0YT/ekyDZ/CAni4v6S6D8DtrV8W4le2dm18iKxwfzZZ + bc2GT6e5daacW8cL3FPiZbmN4yehHErTY2y3RcDZDfupketzwEkpzkd5q6LV5J0jV7J6RlfNrXli + xh4VwdZv3hDaa17Spc5pT3dQ40pjCIz7nLiuXRaxX+FS6WhCgMX0Uv0krCyJ6JDFN6AKPWtG63aM + t2M/JO6SqGDxsV4bb5YEDz+DlEfkG85ENDfPqjiKUC5zF8RtNNkgr15RF94K2VxZSlwg8Sro6eID + vzE5J6L0eY2dDQFcMhWRIs3piwfEJcxKTvXH1XeIUyROijzAVZBGV7y/PG9jv111/Sxija/ph3No + NK8byhmevv17NOIHd50GMWx0WgvH0qOxXONDkf68CAlzIrEUBfk0Gfx65scPwbmaoQc35XmEEx4P + Cr73+H/DL6fPz3kb7RVpnNajFaFaZR3ifIYeLbIZabpu6py61nVkNPgDk8+mJr01Xh47Di0jkLdo + nqDbaHTAvixVv3F6osKRHyHTwpDcTwDpDYjaCnH8QhGeNRqiVnCIT0p63Evk7FXG03NEDy/YAfPv + 74PgFol9fBZtzOB8Ou7Cc0fKITgLWY+lNHFv4+IkpoR86SgLPK821PyXAEqAdnjdzMavJgAfk3dx + Tu/LKi2qTH2JEge4pKY9BTmZnk/k8Fdj3GLpsHUo2uS5ha+/4XFDBBfrX2TnxRMmy4vWyh9/ug4n + Ld6Nzj2JBrS0AElejYMBrX/3iUOaPKMYqKtn3fxWKkZeT+u3IjDJQgGkm3yXm6YUXiOJu5mpNjDL + pZU6E1nuJ1yfJybnIGcXl0/63l0LbN8dPTdpj9MrIEfFwMMOpJ+1Qa2KicFHyjc+jriVJbmIqNhA + sGT7S9qQyXGzMb4c/QYjEwXWDlNFRHnBGfbCfN/ezIF4g8ZAyWRQ02vZFCzr2ARBEwof4H58cPSp + Z6wGSUugfQJqvs/U3R+nOre6tUFmXx8CeCo0/JhFZjHqFqqGJQQ8+gadKgKs5aImOk624NIe65wR + Sgk0VbjbRaIwC2GOQXGpHcNFUgLGyzXxkzVTvc+zKIlMkHb6ftmlg2J4bnEhTuePixU1qnUQf/rr + sGZEDy4pfZ0wrDu29Vv82wRVsS9gs4cQwSLhNf49AHYlquoRJOnM5WZ/GBHoRLYCKCMcz0rwptZN + GTSfGvb0V+n3Feu9m1uwRoKVvMX5sgeXEpgk5cZvQi5KN4NYSL82L+RHSbToRiq6Ve7sofS33+fV + ZwTSre2iA0084MiamD0VeNReP32cbs7CObclXI2KgBEF4TG1dMod1BUHvGNrlZEzo1LUIyRG1Uv1 + 5V4DL+0iHW2QbJV87Yzyu0Bh2CdzT5jB7e7uxE+JhTqn4Y2+V50JPQdYleoi3MtYMTSaFONYMN2R + RaAWEw+3EXf2qkcZMKvsp8HtHgl1Me3kZTXVnyM+bu0Su+Qg5sUSvQWwwvhNGZ1cAoXCzFuDbh9y + 4qmw9/ZNCjxEOw/m8G8kLqbt0l9dIhhXUlQ5RBfbgPAHtzxwXtqdJZ6V9lBoH1Z3ZXhBts/aym+K + 3FrTiGFuwqoHnnWPkclZI58cNeVMbpxZh0+gQEXD0N8lCdhk3ncBwPwAYpuAEjFVk93veImSwh8h + U50RQsxt6nYM2VYh+7xdC8FWGeJAyan727toFGUUyQ3qcwd7710Z02u0L4H43hgajQE9DqvjXq5l + CyPMJWccGovKRjJXxqIcP+N8Vn17qjw/8iDiA/zAE8eSBHiAHeOjA53ABKCpmbhsByyvuWK2KIXo + DX5/Qd1oxzYSOAbDdbw4VtsMVTw/nxvZi0ikvJUd28jaf777czKXxb+vJ52e7Jqmzq0nxYqY8U0K + WDGveZDSrVfhSIDRbMbymb7Ur6bko+W21VzucL3Kyvt/4QxiyAy0L2wvmfEw7aiTDKaRDQYAq+on + qjIcCWOBIpujZnlWjRxDwEK6D1M4uroonrhx/iebtBSTHXkp23lM6usdxVVdiKBw8lkuH089J/QU + eAv3q3JwqgimD6PWgXXuASW/Tmd6JD49MaI+rRvgwcdTI1skJOF7GxSllJr9sOoycsu6H2iwAyfn + Z2DfEa4mXp8gTrUfUlnSHFf10TTowNu7M3/e1Xk32D3DqxtK+OCuUv4YzOHZDT224NqMenf5PAQd + N0U8yUzXd7Cko6vwxy7RQ4TDLrqddo7kjSd119znav1QpU3Sv5z9c/rWCjgpYG2MXBqNYK+hz0S9 + vi0UBtr1AXIGClYu7kq+c+alpl9ZMk/G2kBOJJUYZbCOmWwOrT8uQXODTZThZvWHkoYYRbiNIXaJ + KSNRmxKqqUNDYao2yKqgV5HJDed112+FCEB00nrr1j0TdqvMQTreVQvjAVQFujqVAu+TkI9K9dMg + DN9p33LPsV95y74+izGVwHBY57yVTvfpCLHvt/3Y0EgNbVq1lPusNktYKlEyWmUHNCR8PqbnL5Z8 + 3uUOEHNc6bcRndFPgrtMRg+uSH2a1VSx/ANweQhrXslHTn6OhJowKKUwO16opYjIE9BzodwtS5MQ + uRRxos4e2PZ4YYwzeup/Vp0CmGukqrvFfKj008NTX1wNn+OTLnBnpy0pSKzHQLUFEQg/ltsEwoJH + gbtP7mw7+y+aEXCU4p9M323F5R/5udYYlVQJjXWSuAA5tILKwnkygB984V09VH2XhUuJXb329Gry + YjVReYAqf/NpFuLNwP7TeXYEZyulyMLZEr9zKzBqW7n9rdORUeNnKYQ0i1As9hriWBDPMN7vo/bu + 4rSzNnZKgt18wV2rapilRHSED3ShNlchzZ+AZwy1osmczhK1fZQXauCmmcvuCe/253ACCaQAuzrl + HzWyQ6Ljo8A8wb1jFMRixrR8D8VbWpdOljlQfAsMUxYwsdddsKI4GSYcma+y5vrQ9c3e502OqUNe + 5KnWqkC8XAxuTLjazLKfGOhsJyr11OqI6aoLjWsaJOy+tVVrUPUIHp1/oIF+PpXYUSSpVUPpTHb3 + k7IEBi3CBkYqOovVe3B16qz3UgfopZQBqzAzluMmq1FXg7LWovUh3FEeXlL560lYnAAipkkkijsj + Sm9gIXSD/B4jOvYEKll2baWIjlmZMdcAfvbofsgqdd5nBeECkglDWsmKjRmRKkt5HjjEo1BsSLYa + 3n7PGCcZu+BOiUrJ246NoOFV8AMs5XOvl6nSm3mB0Vx9+o7uvqRnaLlY1VbYRSTKIqPEC8FHYs2h + 25WJTzOqc4sGqx3cvKCHHwrXpbKLnre7SxJLVva9VnjSD6OU8G0/BE5o3hAGRooIb0dd9kgBL/d8 + lu/wiRWXFZ94Kv4tomhxYXq/QGzAbC0h6lKd8kex4nALwnGipfu0MJP17zeZY5QTexXlndyAVnsI + Sscvi3L0qu8Cj4Xy8rCMtA3qRjdEJaeAJThDQI0CqZxr9AayX4y8kZRwjcVyb8K4mMb4QsaNSloV + V8NzThURYBryiO24GrIWIybw7AEnHTcKW8EIUyHLbjG8chwJzO2dY1AfHHg0tNo5J4TMg5lg3BDX + vsEL/Z/F0qZZ72TzxxbZkPOCHp8qmc4SezBv7C7mYwHkVatMHY51koJOV3k6AnpeY6cqKTLcjpLW + ZbnRywZbhixtUV7lkQlHPUBa+vqQjn04ys3wggEBbZIVMvUDpIrgFmt8hNqYIxsSzX8A6NvIpApF + nXmZtJiY0+lU794KICtQVQp7634w1ug4vBijKqe1S5AevH95Xc9DAqNZRXTrY35ikBxSSwvSkyWB + QN2QwPIE2kbZA51EBDXxqgkRqjQa0qoTp/fpjkoGqdWcAqn1ScDED8ONDccoIPu6zZ0hM3rczl2D + AGiiGOcDnHL2ibIsad8zPsoyI9kmZREhwwwT4m3uKYh/hpEaCMx7BgDt6WSPrUrHLCcgeyh6/T6v + WiU5aMH3y8uZUbfFJl36MI5W/lD+6WN1eQ2X/VSLsmFk1EeviljkB1AC+Q9qwVjSg1LUCD237W3A + mU7lg3ygTy4roEBrCN4NIADkmjpVv11xH7vezDrSNXzyu9ZZYwVQaXBWpSQCPSeyzJ5EAkIvm1ln + CUBeV4gFJbtz4xcFejB8Cbd6FSz4o6CBdgSdMqMAbyMrjN7wPqEwak3lppthdhjdDDxq2KaAKllQ + ivgkkmgzUsLYSFfouQl0pi7vo5mEG6dAAVb9RZHOwWzDa8COCd1z9EAbgdy2xnzDvPoOLUNfclXp + o0UFSuhVqlg5I6ceh3KDGjiNfQ8A2o+J9r8aJVEOznr9l1VrEd82Misq99jusVWEZQXAyh89LTLC + AsTkPhCro1aRUpszu1MFPQDEKpFlwlPE9XbonON01G7YOLLeonzC9LaLe85hNSf9YTX5NmnFXuQz + mb2+0PSu+lql/PI0K2d3E9rZF26C22FDlvdKqJREkKZCkfGKJXt9UD9dEgLrKojV+dr+Wt0KMiCp + z7IbZXOd0p6xSP20JVNsPsfwquIrHI+ljnuj8SR0bShNbpU/wttHpX2jG4vM5DwznXAyM2tzHxw8 + ZPuMYHDCF5U9VEcRlCnJ+sHdHZdyAJWq8UEDgFEMsPTAkC36/Qk82Odfa7ugAaFNZKwYHxN9/Uum + 2LRjwBWOeUSctIwfYb9fcjv1A3q3J4Oan3nv6FIhPJgMIhrxnrNpA4bmJBEoKBTdHJDcxgt/Pvq0 + LrYh36pvtUfI7FMGHqr0a3YfVec8TOdXwVmLLLoTozBeSw7MTqOFs5ds5V0pjUaCOKpNTmc1azMY + 5X9PV/CEuNEQ6Bz5O4RSePTjWKe0bJ8prRSf4y/Zd6MVLkyw+UoBpwP8yerowedDcU0w8OSQqf2n + Yd6BwHzAfdJIexolrnzEYWUDqKkNOPKy2YB2AuImyWcZceHM1SPMAHKpO6AFhWrNy+3NVQukpLQQ + /BPgetlLrZQilhWfyiK7f8FNnH3lrFjk1fn5TDz+EY4cmEOfNKqaQke3vwhO8bvhjMpa6PiM0E1p + YVUIPFt4D3P4lc/QBhHYctHeNOk2GX+zFk7Lf+I3CG1iZB5y1hOkSbs8dQ+6qyTzqRQTfTyLc+Eh + 3nrdPhGjlkl1FhVhS+Z5K8Ysg72+977dR+xQux5jwz0uk+ju076va1ua1LUAgNViC/0Nd+Ad3McX + ElerTTIVW9L26nzSF0IFBL8njs1MUcLX9fH86w6SkXOWAsAXZrUICgRiQaaOhb1s3kZwCuqtqs7f + JOfJS+/GeCguhbAK6B252jFTlKquYP2l71yMs8V6qxvrB+OhwKPyclfvZscJ35/K27icyhiJSENJ + MjQT4Q42WpbTAce0z8liIj+BLJDOlX7NGIbU9Qre1gMOGIcoLvHK3bykH9Mxy/jb/XglodQtT61b + kWSsuGtUaEUFbIl9xnR+B/kW6LRS+dobF2kdKfrs9kTVp6XtxyCTzcpuoY7SAkIvwINu+DSKo6/O + hU01SqwvaChsRl0uMjHkOwHtF7VtLZjp+fR7mvOIutgIBFuU18+sDwNlladN3KawysMQNTqtmggi + 2NATPNNMzPBI8teehpnbB4Al9YQurPi/0SMtTFmwPGLX/kc4siOXRAOOE1xATPhQ8SGupmlpNmet + +hvgRHDXWXEfCPmvW0ppHM6nuKv4b16m5gaOHjGlDyIJ/R9TQtn0FHoDoVDyWcGPytotG5iiQXCP + KU5uOpvwqX7hnUIeg0FXRc0MnMye5s2/vMXCvy7OQWaRTyaRBkwyc+tOBXSvvUvTbC7Q1RVvBa5P + 5QDSuwcE9hLpExpc5M6uLQYihZnFK5CEdw4PPCNnbPBqTbQ4F+ZygTdSRbOlCCT88coFxukx/H5+ + DKF8eFvtNVM9bz8hplUjxRpb0Ov9oP0ih1OEpVGDtg0IxYI/1UOK23y5fM0IROGR8bLzEw8AjxXj + P6fkdZQPAnu2m4nnht/xZ1X372TQgsCWG8WnJaxeBE9bPRRR69Cp+ZzOekoB6xzLRE2cCKRo6D1J + x6P2CcNoxcwNxAPnfzEAuhSCVEppbVnf/HlOXEG1BN4omTnINiK3khiowpPHfjeFuP0xeGz1Rb0s + hdihtOcRJ9koN2JuBOpOCdP1bnwPHaGV+utSnA15z37qguN8+/qJQ1dog9i1Kpgz5Puq3YOSS7Zd + qXW+9tT43yPJJKtO1s/i6J8m+WzDeaqPPzWKhGCAGroYsc3JFfQ3TOjo/AkjEXArSGpDUlfFEjY0 + tzcgEm6GpTdZ4RVHU+s84acCRpuglMCuuJe1jFYxhSY0E+zfxeAhV+2kJbYPaO9egneK5dbe6bAx + op83nZoEM+ZqTwIXxSDiIZYHFDd6SToHXr2u4TD0heGI3cpPbNNyS6cUr1lNL6Lsu0qujIihGU5U + 1xQC4Jqp6+0jDVwpKeBRq6mO8QSljugF9Yj++SfnJVoi2z1Kpys+nMa4Gs621gxcTJeD3BjaTvRY + WdSUy6hrOgGfXQUG33wKyCAFCeNBmMkfe4mT0qkmWP2qOeeCUV3exQpR1NRpobY6wTnsGSlnuWw/ + uWs5NPerCKWJVeIS8UxHg+oDFrGtOwZrGum3y9DunGQuYoko2Dl9WoZZHJnHIHz3sH8hSrquIxq3 + F7QTYjNN38xiNq2d6kjNB7aDvznQ9rTt4OhudTRNKUnOWUgG/geuRMoX1LamJwoIteucoOPin2/N + tymE4kQ8o+RTQLH7WCabwLjOC0jo+nuTDMjo2xfA2SGWao+864Q+obPnKHa2D7Q7gypAVZXiB5oK + 928BX0O21guuzQc8n7YpKcksuv3gSQmza00zCJ7+0W9Kftudoo6rqEQ3XN/RdGsvOEVjtnxcStTu + 7XLCXlfyg3JVDfhZYmNTzrJD9xIVPVIwa8q0N0gsYVz8U6dH+gUemjUHLpDtGQhIkaeC+LZOJUUm + J41R4HDrtOAJ9FuXssDE+lvpZXLh/ftFNgcQ1yYVEzbh/m0nfJCG5ZkXuz4it76QSQ+qrf3s0/GH + laGOQpVnf958QinnC8qSH45IDXoZ52qWKaO5QTd/7pwrIRVPRdqDA8bMLqj2eGi7Lr6+GLqrCLbJ + 8vk3MPlX8emBRV6Rc4TDvUkImv0eM4RBdt7YOHg3gWeqWLIOz691UprBnTPP31HPWtji2dSJJTjN + XOs7DSUYY+oPwKm7PGVKQ3qv3/hpX997i8LLkekqPuk9IecXKZUc9c2/CaBNKNMZEz5e5FZ5XrD8 + aaIT/MYtpZqFdolAP8mBFfaUwg9khzeSd4j35M9aE8G1fTkxoMSWViX3lM3ThiatGWclreZDjnB6 + c2jHuRAg4qEakmA6PszodZOQrkHn0jqqx56t/gGpAKU60fVyQLRv/DtJWlVphoihyifdGtTTAMUo + HaGZi+IXVaE7I4O7GbS+YzX7zqm8t9nLgsIuRUELjgtx4fL8UKluDaH2gTwuM1bIAcHGb6mOqHur + VSUW3Hb+gw1sKpNu33BzFp2voHUQydcO+LNIdiiFSOQR6Dj6y4FzS1eZCIkt8fnvvRyETO6ZmU9H + +pHzqnzwpcabex/4/OAsI6qg6CY5stSI+tFWL3k3VFHIPP7CYCaPa7SEBNloIq/s3Rr4d2EqU+9X + lPAF0bSseJy5NJh3vhNWFW3tUnGM2zy0cls+yS1wri5n2HlgAMgvEHrnVCawA0Pi0gVwRcaMhD7o + 6wCh5JHhqtnP00rJpoupA+V6IxZeQP5NKBs6qGwV1oonxcooM4cB9WnbRz2Wlkdky9q3sBOAW0FW + e5/WSdYec0Rp1oRnbXfVgbBPlyqyMs5fd/pezbCkQpZxFHihTBzZh/yOdtHDCSma37F52iwmJNY9 + 48qY+YJi1GatjpJjfwfL5k8yPJ9k1L6rquZZgc09gvGCwZkys4CGR8d80wsMcqCuS1+1mG2fQ8t4 + PZ3eNvAuyX2H2mQB4G152dhBLHTNHDbSRSGuKU2NwofCcJLFFAXl3iw8HGGTbvEmUx/yLljekWWY + +ky4Fu3EXfqoir/zMdAiufCIluZvv9C95yblBcZ+7XI0d7LmzCWDt1Lx9PDt5bFB4whVDy6YVbBs + wm8ebtpLJWTxi5SL97SWkojQEdVkokjK+Sf2BUpLrSvsJ2jgD602V8sIg0jWsGglWDKJ8CEG2hgn + D4Rj5JtABfmQsL2ZdOSF8o8odmhHGa2h2BO3t3Kh+9mlFhWK9W6lz9rjOUN+dHPzDqr1IxOYVIp/ + krvTq5tp432yTaABSn0XbsAW9zyqq6tAp60jfJ+76N3Y4rEScFF0T0haxPtmYfAdwe5TFMp7ea2b + ItiuvdbZujWFL45eiXSqOZsXORLg+ErWbJI0U+lv6QJ5vlr4WdlogpINBPGn/OrGIgoKPD3ug/e9 + W/OuBKeWZ9V0c5SJaXOSVKGU4OdVMaNBOgoVYMmHGdtl6VY7U8AfpR6DMulKIrxJ7XKUrvXJSVcN + +xjgIPZZudC/QOS39qK05Yxh0eLvElhlOSy4JzNrx1bog/f+MZyufvWda8/y/DowhURvuAW6HTiD + UtTt7BnHH7t8nMrWyzsvv5Lbg69qDScOhyCs8pRTUGYubhZ3cGUOJebWrhVUsxkClhRV1QYs716Q + OlzB0J/pr7Cx0Sa9J8PLwWHgVzOgZUysVW2uy/mRxIi9+2K3zxgEiVfQe2L2AWK9Diuyh4I16srd + TVPvMZ8BkjJeuEhD6NOliaB+OCUB8oy1czf24iYLDYuDm3dFLABhVsrulUWVuX7xWlrLGdqEs/V4 + YUYJM6INqMhINQh8TnHKQOZ2VpKwQ1wS+FDZ3K9f31xToVHiAlj2pG9UWItdwGqC8wpPZGyBJf5J + HKfyBMtniBchI7vS2zoA5Ph5S/lsyTZBPCkZwTHrEXArBNLMrF8mhKQinsKRWIs8G4pdM6Wx7oLo + GCH6gnYbDAVQ9Zep1gGyrfu3Snna42FO82vgL4wFJRWP5z8SoAGPSDHWDp8PLQzfOGelsTQj6ZDu + 7/jZgEwDb7dcVGjx0JxXJB9AmkLK3gnV5KRZ+8u1fXgQ2bavfUk7ILOxldRvAPRQtK2VVZ+PeLx+ + 7BSfEe1PZeAvmRBEPXbgW8R7LYXwlBcQfO0CPnUUtvh231O8TCpwmmotD8KjqTsOjEkWWA9y26qJ + cqYo+DLQkX8mryw0FUzB3aYcnkbUPTC1npRK5eYcbiYId96RFFvA9ACNWTPNj2YSSY/UfrAvmjhz + 7B9bq5COeupDvxFdD9Db8dDBY2wI6MhYaWl3FM0W6O/dYoWh7wZY53p4d98OD04kEwtW1n+PNJkx + WtyNzPVY280Y7Dnt783Tf3mSs17o5Zrgtpv+huDWQ8ZUE7tlUTCgjaGtOLmv0+9rC0NvzAvsvsXl + KVPvgICO43HiRO9Koo5Si1a6zm+VbpLjaR91p6GL4oZhVi4tTvJxH1VtMG6XFu2vDv0pXRxYhQ7O + 0jV0HH+PuktTFvdme9fRodPFkgJjem2Lff6K2etqbKZt8Fi15Y2D9csuN1gJnMlmuZPtuXMzl+LM + 7u/C15XS9xj59xrsjlsaF+eolJfbgp6ZrkQn00nYQaYJJQSXc4RGYCTm7+6gxXixUUsrNZQJrLHt + HDqqRcYGgxytU12kXPoUdrEUY9Uzzh8thdTDloAnwH/XNCQ4UE2V7+vnE6L+nQ3qlbLpUkgKaSX7 + 0+oIvs2u4j4tW+C7xrIwEeJqcYDW2qVJecJ3nx3BaN9zlwu0blaGCuuQzmrVrH1/vz49uUgbWoQo + JGVZh/vjfIcBm7h4ffA0/t8KhsYo0YzKKMTbLiCLJdgggwLsnm+nxSMSlcR7DWZshKeip6QcE5bC + zLu8r7iA6aQAAexJ7X/rqChbeZTdROVvdt9wB7P0Qr9vtEqqLp+gUHvgJ4ns1zCGVUiGlN7YIUbN + 3izvM50GFI3iu13DN5/OduoRakBzGetbYrC9XYQY8jZ9E+rrml5UG54Sc3tOwZ1AOaUFDgT9IDlp + w3H0y0O2AiuBfTCEqfMiSE2Qu8jqs19YxGzqGB9rF3p7Py65YPOQjc6ef7bpHNDmI/NBXyJecx9V + rZtDQlo+W1/yDUwWIoDtiOGUABWYtq2ImHyVvbaQH5uFcZXYnMUFjb5MuJ1aIQlkrkDECEn4vABm + 1gR7QpCCKsbBvttemJyArYjV2D/d/LgZxKZqsFeIIi6PW9IbM6ISio7ApH4qydZqwX3gwkBh1n0o + npZZ2x2u45tXNYvjMVmLTv34kZAYSatZtLTK0Gf6a4rgk5V/QPtJIeyKcAanpC++p8b7kMhNIvQo + dmxTwV1gt8NOS8BGprCZkmPeuLj90pkDkIDzUiRh/B03UIXjKlFFa5IgBj2u6l6sKZcZqrXCuvaE + A6hLLKuMA9CV7bTKdSTthY42fBFFX7TBV7UGXL50MOCA6lXklCDWXKECm1AY8zSRra/yhnHo5F6w + 1xYRp1JE5KIZqqO+2zZVSQ5G/czj2QupD6xgjXvvKaua1A2v77reCutJzefjDg+YjVwLQr3aYN5c + AX7E3p067BYhvnzm4NJSCy59J6Lh41grqgBjvKx4uFky3f2Y6DDKIoayjhsAHladkBXrOnCckzQT + i+FywPThr+ZYdl3IFGCvu5BH7UW+N8TFHwvyvHmNMo9fzgJT5XYo/K8iMihDH7z9auqj/VZGTr00 + md0MRQilLFyNAi9n+3zgdvQ7AE1uC5Y4Vff1AQW56VH+d8hqRlpHA5C+5hl7RKMG7DhO+XNIpKya + kAu5wjnlgoicyl4VQkpCR/Crrlrt7RxWwgx79eDB3Yi1n6oiO0Z6nfMaQmFabRcqGSHQy1mhj9Ho + XjO9k9jfRX4OCMJNb7IPoNakHCuTk+z5aic8R0+tHiuJcxneuNgf8qlQ9FUsIo56Xw3VqXczYkeB + r1EOH8pGYqx769mGbgeHDBug6lQ/p26ci0utrdhNGrLq9OES+GEMbDkp7M8qhmssCIjVMRPZ9iqU + MxRkiIm3dljuwWHgxLTDkBWLAiXrBrPzjwod06Bs3JUXWIICOU+hHPdIwkfje4Usg9BThU0NbFeI + Wl8X0nMeB8Z29f5/57r0dO1ukRITH7pQXKJ5VrSyELU3BOybecD4Ozb98sjrcvnLBS7rXRLdCr4l + HN7RZuloOgvMB/3UKx6lWXHcSDjk73pDfKGBSur6vsSj67jI+DG8Hn3hVwTBy1yidMu3hKRTxL/5 + CtAj5sKmoOugjwEbG4RXrkwTfcjJxpQDCtUBq33UcqfKSK503+FDRHdMs/1a1wt8cmKGUmruD1gz + LE2VxWazVmH+2ZXuqHR8rEWxHLn5UskFkkOuAl0QjWXcob5p/nBdNLiK3yG09zzRTJ6n9a4vzG+5 + ffUSMaFYuWdTpNXw9PKTzlFI3kknqjB0x5G/ohbi4CFoepEt5KJuJZ/hzqqRCWOv3PeLlhxJyLCO + BLM/4G0xV5MqrtDvc111QZUne0k/0gcKtCoP38LR1cK2Mvi9cSibCPI5WTnVKKAl5CWtg8zEZkTA + Vb/jigZWQJQf4+z11fmYma1sL/1vmgSsVK9rNbPBU+r29QWqLBOccU3Ll98EUQQ4/aRaC6mfwN9D + ZH5jP5GDmPhRLXp3qQIqlz7LpO6DBdNWzPmfkasKTFpqG+NXMTyP4I10y+u+y065ek04VntwkkGm + 8rlcKCIReY8NJPyG8rFmDFDKpvGvlAFoicTk0bM8TYcJcog/ezcDGJNTGcQvwyF0tPOCltRcZaFQ + TnwoGYLwrkf4GF6grzuM1LhI4O+bMO6d5PdmOcS5tRBnbSd3gqblH2xZzDLlJvHl0ko3YgzOgkT7 + wwJiIhOxpxe6ezUWVd2rBUxKOGHz9flBbEl0k6A1q0tpWQmmk6Z0Z2ErRWA8rNJTzpHow3Dh+9Cb + aAJtYx2KSjPypbBvNw/KphNkz+DuR9yquyw+hzkAg1K6NEXKNXdN1g/eSRX4Z25E7WzGG/ryhk5T + LLL8mB6z9soHYQRD4dR8/giwXjtfr3/0pc2Z6gAd0jbYKvr0IqdzSwevIY0jtWU0DafNYcpKyK29 + e8+yPGxxrctIJf04s1KoW3r1g7R5Wgdomh6daqeh20gUA+19S0Ib+F1wmXikpcCxg/efcq2NsGJq + 3TuM9Y+VGsApw0amD9UXvKy/rcUR/nByBkxJ1VdSMEAbZHleQ/lhw6vPYdkT3IuYMiFZCF4EqvuE + efZt51yhtboV4Pv3M2tjItXtsBqnqD6fAYCiR9tISdcXxPg46dhsZ2xzNruuvmTOgeLbRuFmaxab + dlOP9v7muGjZ2Xs7sFEMSqzx+x9KkOgvLl4XLil10SVXavUSUeItgqdxf0AyEitLuffs6GoD72/X + aJEz72nRn2tyP20jUEd7TkgVy29LK/YmphGEo/CpzhgnJxKl3/Xifdo/tD3zygyf1k1kvsabPiwG + Y2aQ2isaFMOQadcHg7F/WxuQqe6zrnsZaDrdFWlj1QR5MmEFbcnRnB3yn80J6+B/e5BpKYkgusgC + hWudKVfQSQ3K6Y7dhUfp+XQHYzYciGgZ1Jn+56xu2viwPREIfTituAIZtfimKjq0B6QBNtsw9sh6 + FKB9aKJeU6/kQNqou28oizVWq5vLA0bVY8+mLGp1rXl0NIg1EAycp2T4YEVEOowupaRkl/BW5BiM + hRkkyWd/qNrrJyAqO74Q8927OTOhRH/ZhD5I+QAYv0v05WuMU3MqrTEpEolUfgob2YR8lb2bG0Sj + xmgdb5i7JcQS5AFlMulqslU8aiMUfZ9FPbe31hXVq8Fkm7lCtogC+rKcMY4Gtis/Ql4QwhUbB9su + NyiIEA8BGdL+ni3kOs+ldFEd/TKB9zn6wZIPWbaJ7g29skMqNKyktSQOauprlZPci85pNJZDrdJ/ + dShKRX/iM8Q2Cy5Tjd97AY/hXfBHLr2RAHLCrekqdpwSh7EIk20e3Gg1hMlBKawHapVpDaolf80g + oW60HFPeH5Bk89HpMWTGuSH9RZEts9/VfjVXvL2s5mY6giA7nBetuqC9+z0Y/dT0vw54vYxzJyp4 + 0fS/Av2VFuas7Oxv2isuoZqKV+LqOC2mIIKKxa3QXay7nVhtRKjGS2qY35KiazL42eXSGvDJWZcm + yqBduplz5o2doJzZihDMZlg+PGeH3KRHwWG1e/dt69+67L4FopyLIuQd2Yg0mYITAVldzVbb7toZ + NIW2H9hpqlhnLfQ/meXpyxglkwoGIKjFHHRsWL46HSLHcqEnPI8d9IPFT8pSqtWuRWfXOmccM0Yq + K5WdobpN+V4pk2evpSQ0UjWSdrgZuh9Dxa0SIX+Z9ML3Ib9jjQ71eoJp88MP0Zc9rCw+jBEk22NF + p+E41w+D8XQsZiS/K+yifll2ZfJYhae+QnOwc2tzdthwTPUNs5NEWFEU7C98Du+cK4BvalS5/I0g + 2nU2Z1Xl4yp40n2xDoNjpZJNF4jEDS/55BkNAHMygpvy2ex91zwMilgSeC/KeJAeGdPAAl+nkHip + dV+9f40VDThPqT0MHRCt3xfQOGvCFbhmB/2P/DnnNzptwwdqrQ/6RT+ZoIU1jyta/jrDrpN8cQ0G + cj6GA6MZPCZQ5n9zvxcWqnjJ7H4dtFdel+qF43eL1cYTCeF3q+sd3aP9neKffIxG8PFQDkpx5J5s + LpXNCzJXpO0h1483li88tH+j3zIgwr9/+SxxpBjomLzmlSvis1Gl/N13sRb1DBNyR726Z7y+2c9K + tz8ttEAVwGzTVVDnU5H92VeygceBGvKk3xuF9d0FwrhXhuP1jhMW/j2/WO6KtVdjlR9LUNBpVLLE + vWCYSdQ7tTSJH7V0VNWk70OQ4dLuBPGwmB7TjxAslAZmdwwkFBATpcHAjyWO9bfcpZbGXOt8OFa6 + 7xz1XO4uhK+mDC7emzLzct1Qb1uXtoiQj4Nv5h/7ziCZl8LaYxLW3XAv+iJE8SjuLTdInA527wEC + YNbTZKSYwHKl3IW7nDFMH8r3ghw1Ta1WsyPJQ0pDWfFbu6Y0a2sBoKVx4GvKhsQMcjeWrjRU1ZTr + wohRQM/3tA0f15NJceHetPqx2iDfvr+Xtdy5vNQUqvVFIqQIxeMtH2UMAAmdhpoAZQUCTk3mdiCK + Ta940Qm+QVx5mU/ULEm4Ia+OPKTf2R4HN1a5lIG9DvjxSfv88JGFlpMn7n7H7qFmo4fDhJMPXBU5 + b5l5TaHqPKnptODftK/Wyqgk+Q9JiHOaUc2Mu8S4VlS/cPk7PxGXQdcP4R/DXhjCKO1ZWbn58QfI + /Sgwvq/u/DVh4auekjHay7rPHZd8/EQg2iCrtv0Y5VyqZLjlYvH5LkMl53BHjEGyiTfKVueEdrAZ + wp5afnn65sp0SMl2UvEoKQ6qmBixXDMOG4D2ucWRNp7vA1OGq3m17ZrO3FP5SXUpyzjIrNFtNy5b + tgu66sb37EFicGSGoZJLBWgjBl+NCs2+np82q/7cjgIjwWL7nX8wHhbo5zSf3lNMnEryl2bWfiFL + Ezea77q4xq5hDtYP0UxlJ5adZu+VfMZZ16xDZkhCfmI3Fqx62geuKEu/SPys1MMRIqthcNDmE4mP + zw1kYzkDKlrcFqksi7iiYRNM3JWbiY/G51G92Emf5iL8LlU6C9BoQtfIQY6aYRxwTZhZRJNWOzjI + H5GZtjmRArUcv4+VRF1vgXxKI9fXlTKXMn32c/kjn6hdylxc2POsM0ocewph4cQwB5d7nrVBFuUh + w0sMcEJVv7ipag62h8deDKQyv6JE0z19nevbVp1EZrEALl1llq8uJy/iKwPZQNCWhno7mmiLEfAd + N7o8kzQCg5MBkIs+M19Jn/czO8N2jjDXOrcDwy6G2EW5mEXFURJ72ZHXwatelLVMWtNaH1mx+QHJ + 2T1YsI+j7jcAVe39n1vM+Q2HREqrnQ/4xOG3COKeJxBaZGPA++N+R6WxqczGmjBJJG0sMJQCqPaP + EDEPlN/5wHh3hXY3PC4T5cueU5kCNtXI6TGysfE8S8F8rsHKD1FJYEE6nNxFL/5WwWK6rwW0UZWd + ufPgNz9fBd8qHSxOIePvUWgVUKBM4+77bArb9qmInJh0bBvgaTEGDoMUq4MBhUw5yDV5dmQco4fi + UHn6S3tV5D3gkUlZ/RyV/UlsE8jy68mTiHQVJ3ENcd6Ox1MwopNDzvrqEw4vWc/xDOgb9CA31z+C + htMojK4bAxAkyrouOssBPQUDBXkDUInY3tH8anN7h1nifA00MKxNxTiaNXmY/tcBkgdOadbiNY+i + nlHhrTqks/RJ/mEby3Rjl5ai3+4SmC+bSh/g6JDqVCkdHv4jeSEzO906AzT85Bi0CX2mkNYtMZG/ + el8Vpdttzh+biJeHL09iPJcR7asqsrMNLrFsWpBWyyV6eZSq6zU8g8GqhTw/th/qqYY8CmJLycUs + QwBKtYABxsydknzCsQRDShL1eaYrZiRVxDnW+rn3ruVVo87tQQt/0Sm82F/9VaXfjS4IR794u63B + XcgQOUG9FkqPqza9RUVx/FmpuJg6lsaDJqt0f3WUcOOgRINPkLslulwvn8t1vHzFQdbqMUqho8fw + gVb5q8nxIDHKJ1oUDYuY5C1ag1sYzqa6kHr3egcafaapA7PGcDkMCduXn1kNM+qQB5/1hqV7OFrV + U2Q4LJFCRl5+yd7PqonZuBeFmvRmuWgDGpBFu4N58I7Bh/6DQM1Jz3aHGXW/9bgqpbvo4E1de8ae + RqCNcZGpA19k87ghirKP1y/AFrUZsdMDgMCMTn6tR2tdOogPCdbrnAnJEE6Uu2YmJmzXCJYN8piE + cImDXsvxkExl7iLGuVJ0gELIvWy6JgMUi7igL2QUmX2b91UHd1qeU9/bZW/4ntsR3AY1gPJJAEv+ + fH+MmCL1JL+TqZTCkL2OKkdgwZo48I0Ey/evVjWGlQ7k46UfEu0QvZKJ3P4VkEOqS9bFNxzgXQZm + ow0VVoQ0iDtB3YDG/MSaYw25MIGChTOl23jR9wYv2Najc6ooFO+Qe7LgZjWEPq/N+DSa99wKCuYz + GDJrU+mtelXsKa/QmEj8ENyWaN0bSR8dB4LGeQNjut73K1EjNvipAmslN8a59/1EOz4+ZGL6iw3D + AS32oIiT/Lh1E44AOwCvfQzSyEv88fR562MhXrkX1dgsJC0JpRjxj8jUP6pvxk49D4240hQjDAcP + iTH6hoVyqfS0I+AgE5I3L6GwnZyO1uWfbj6prAX260hY+HXCmO4wiScTSSypU+pQRdSBT7B7C+FM + 4uGJLgj8t7VwQSdqJTdU8joqiCkb0ul8ubmQ+VzfTuU2SuRaEASXcJvvhwdcDyEHiARojbgT6jtc + gye62X9avKGVyUbgy9t12ryyFEP5c8jIuS+cBrT+zS9fuorX52bBMJSm7q5AMrVzaiB61esHCTTU + qXUuOWaLHytS0J2dgG7uSC9AFcpLKD8tBthxs2bXNzLPNJ1MKPaSug9MUFeXUIYUI1ZMa9qnsUXG + BQTPpN6QaXoP0JI1FGCagJPzqym2nSV/e72xu4lU7aMgW3jNPHHsgNpV1E8WKnN25GiQa9R+luQ0 + Epb5ufQhARrvDWj9JmK60FrC2V6AKdNy9c0m/R658rsdyqpcG6gObqbZdKPox1/6M3tgrbnL6J50 + GVNeztIlMfuHD5y76OmvqGJMBW2wAnTQyTua75fGCg3bvVa3GiksCiPV4NaV6a5uNL5Mc/TXf1Cf + 9GAYWMisD9hM9iFFu2Tj5ejEdEhn/s7sftG5ML9iDGatL/Dl7hMmSd+pX3E0r276IPqeH15HbWr9 + kNteEK1qtuMHKbMeo3IBh+KIb0c8D+fU34QDWQyVUU0SqG/xrNNECS0gyGThTWOSuL8pXWSndRoG + 9NXtKI7DRwzpbDZGcWplWLrkd22ddg50e/T6hwEyhwhzHNQv5nDAqqM26qcmpjPuH4z98bRUWsvc + AUBnqwy9xhOZXXfmGIMRx7uO9mH73sYxJjBcESlcnCQtcyZqrcblyQPlnWVBrLQiB9qloiLxXLWy + M7pd1QcLDs0JeX/G0KL7ivcp8Nxd7DX9lH8vRwoZH+GElYJOoAtltg62NXNJYtAkAYpvxG2hHcuy + 6N3VwsJYhzUOieI+qYezTJlrq9H9aBemDnSdPmTe5lYlgn+kbNR/X1h7CVc0hZS9syJxbuagJYq8 + 5KSKcPzAkgt6f69HAC0u5CLebCXEfRrfWAPVequBmANy++3YSqFOyJdkQMw7y7UHsRNxIqi1BvS+ + BxU2nY5l/PriQbJdq84kzwQQuY2Y1tIUuueXKb11pcwekQv7t78HCHnTzqmoy5PSQoHbJ3O6MxVn + 5UpE6CUCht1L5ZEiTgVxgqyzjlzVyD/L8YSIF7Vn68H5KMNCnk694ugHglY1yxKe/FQtbNvR5FP5 + kyeiKaGC6nK3B8VBjc7eGhAflU51ahav2UcBqkXzFwrgcs5UigipnGqOD3WC4Uk4jNhYRUrCsrvn + D5KkCq/3LJ/z+9E9ryB6pKzik+QD4POxNJu2fHwi35HkoAfufSiu20D58B7s/peueGTImqThGlkU + qbEOsxI5oEtglQroC77+Fw+CCgCep4/6C29PYEUgBXdA7pbIyqLhAxoky8m33LyZ3FVS87dqzxhh + /e5vpPIxGrjebxk0ZbfR8cqt27K1gAOH1ojmm1jKOuDWtwWed6x+D+JC0+CnF+AX5ERuNbnwcXfV + RSRJlg6aAO6G3/RxeJ4pO091kArLhX8O7Og+4YVX4JhC7+/axaVh/YupmonByNdJdDjLaUI4eQld + 6izPUzYHzh9SdOde4B6RxUCpx6PzEyZxllRyy+9eFPLrTDMVBlDDEPDMW0jKTAD+X0C/o1Cixj3b + QGTyf1Bgf8PLK+Zo7wz4MX4Cccv1C5obVxHw0gxYVZGwIMss64b64QFDcPa3iJ0LlJ/6cYU0KBDy + wEHQNgWoRxLa/phm4aQFJ1dL6SdFSCAPySUugvjIp1Gb2ld0TbQYVPzMrmAdydRtyqWegcQUCW6B + F1Gp/St0ljPali0bJKssrbiEnghr1qWS6S/SfYN2OqAE6iQZtDos0OPFJji50R4W8noiYmxaOwA3 + u2deRjBHkXAJytoYwIyinq3M3KBoauPhJ9aKKwPPMPx1skGfyFmf0YaiqIRmEnmoPUPjt/ezaXZK + 0GyuaV+sv8MaG0qACEM4ZCSQ+r1dY/LtEG05Bzv6lt88xAM1WHRLuHkpjorC8HBSBIz8JWgxqYlQ + /b1mEnK2kmKPpJuJzWYIiimEYtPegb4xpLEHH7y0f6+LiAR/az3QdObHd8Vl1YDPyN3pry5od/jE + f75jgVqOOTueLzWBJss9E1iLGopqIrTVs4pZKbNfXMTCv8ed7vpWjaQcxoKOkzmHHF4Z4I7Y51Vq + geyWsLaiN9UelZU1YgVTVeDM0H9XxXDV7lnr+GJ7c4oI56teORht49b5EgF6lONaINdH8KrjLlX2 + CCSKLiBHHA/uLbhDMiBaGszTPxX9jDYwaqdE8z/BAwNABIJL6tZ5zZcKV7NKd6twvedsaLuzp84o + wLKWnBW4BJ3RBd7OlrjWOTFVTWUQss8crZaXQDQL3l/wF4RkLeLlZO/j79WnRFh9Y/bpPoa2/FEg + /rZ+Nq8qxEJZwMgxDtBwtrls+FFkAVPmmNfaqMKiFIS3jEgpOBFHipFb+YEvlMHEpe5axqVxRW8E + 9MIgdOIZ0YY1mJM6yPdAp6swwdPM4yg5KrQzlbx0a3UiqPUWL9/TH/YIOU1F9PT9nCl6Fa9f3SFa + IiVnvFx2v9zSnkGmrncF/Lz2vgM+8TCdoj/Z8Dby+5kXZY/2edGhuqeSw7/vgY8rSGB3elSoNr6A + VwZJMNf78DiCw8rgKJXTCmjtDuL0yvjBWd8SVFk36CplEGJguIqMpZZIOSZKfdhOiuKuj1bR3giq + on0eFaCHY1CU8Q3d1mfhtIGbsRQqAtCsfd7Vmet03qzfCNiqgZKGIKzesV4IZPhX6eEOrkkwmZVz + 1+Ua75uKyOyKasf4Tkvncy90cSdumTgAybXMm41JoY+vrR9SXjyEUdrpUog/gLO/z+xsQOUuJZYp + ko3dUqAgbBqX9wX4RcobWvRkgkvFU4Uyekq9DAQ+MwEXPB2JqLuk9QgJRnJ9jdrwHbKPPQ9JlZiR + RUVrymP5GuDI+6GkxhxaiVNw/urq33PrFuEO34XAcYHh04CuiKRi1IS9UhEK889OhBngqZEbqVwL + JX9bi87X5ovoL9PH2YkHE+zyP3u1+nDZfS1XUUPiHfyxHvDHzfynyNFSo3MkVA3fE+CaLZ4SzCMq + MWvTM51QrzMQ1obMI8OO5x18TYl8oo9fqtIqopBQsiJgSewOpt4wtW0WE6AvPfi5aapKtKE3ABfP + uAruk4dOltOGFmCv60FdHxnxZXm3yyoSJ21gIGXy7oy6Nt9J4TUz6VggavGEhb4mG+uQqUrbxFlu + nQ+6DG+qgZoykcz+Ct+rfH+lZRnI2CMG50/CdO8gcF+vHwE7bcakPG473aYQglB2uhXJDxzta60P + NpcBhhjZSzGJGpJa5HnPcMLXbuQ1p/mgpG76JZHdIbNS9ikQO/QYTZzbYcLUL7rIIrcVaKc53oYz + 4nsDwCxzbFOlIRhoL/Zw+s6kUTmq/LOlvF64otCMmwo7KG12uAEugOOB5uzfYGewrRo/2TUexpHw + P70Fq8qxF3Id+0aR3NMH6hgdbz2viILwB3RM5FlGSn/4lWkGvJpQwFXtU13ejVt6BtgyeVbSVOms + KTEWmkSLpT9DBiuyMzTm92TU7AOFAp2I67swnDv2kBAl0wlP1z8gz1lOqKTXwwedG6PjEBytHxEc + l6J/2rhSdlNnfldpDrMUg3X+CCs+HbqUXcCuXrIoqjRLWC5liNSnbMOYkzI/AuCZ2bpV8KCxJqCG + JwW/6Zr+UTOSZX5RU4xUCiX0WWBTYepwOhiJOV6CWFJrjSwoe7G+dcsF7pKurpmehSkzbAUW+xKT + yNu8dfanejBnOD+aRmqhuZbqPS7bH17OnyTh3jpJFY6Ytvra6SiP3dzQVQ+1h1LGZBEk+SE9Vod1 + w+luBIZuIOPROAgr9cM/rSmO0F8zmC5q1ri8qdFnqpyIVUiFIN3pT/vEYt1DMmAsv+X0HSJ3bi/s + YUkdFV/741oyiOjcmBEfAXYe9Z6fcUBPOIRhZRItX1SVCV/xCKmFVbyCk+g5BaUdgj2kZy1CeDqu + CsaiEtUH0ph45od+AihLE1IJoZVDaf2C5/6wpFEruaCpKGqrmfM8ATwT6rSRFXm/1VzC13E/8pF4 + 4jRiYhXFq1AkfrYhpGu1j9gv9XBjxreHl9UFS3YPm3JDeEpTGfA4VQhDzRHte/tpzecrCjR/PkOg + RTiv0nteuJP1IJoYV6IxcDNBXRfwgn/TjX8KMCzjFPSiWaZzqSFHAVy3wv3f2xDjjZcsM+6MOyRM + KsC8MOgiq0QYBSTcr1nqOLpqczDyqTh0rJ9JtH9nCrYXQJ2EKlGAnWgfBZslnVm7203G5lvpXjIP + mwoMr7c7XsTEZqCbQ/HgXzFzrBtZCSe0GhtX0uS2y4KP8vIeJ6WAfq1CDHSVjQFeIvZ9HDKjXOB+ + Xp48KGuXdSiwSVxsksQVHtrPayrlY48T1cfLJqrNsz7Kn198UZOFEyh2H80uKtr7BhBBXCnvtXkp + /ZBcZawhKLH78kZ7QdBocmVtv/TS8zW5KcDmCKTlIXZVXomPNgYpsvq7j0DiA8P98UAU4Rjj2p8u + A/1WQLfkgGran90Qc1qAiiGqxqh1IsXTJz7NemW2MCcxIJqP4+Dv3elWAqrXnQZQiBXByD5r50xx + 2l8/xos7Rp6haoGzLX9enMzWyoQfyRuuWaia0ifLc1nMGY5q2/hTHekXmgaGA9jVj0BN2yk2VZgJ + p+nVm7FFKr6yQDDFGtXhUkXnFx8iAGI6PzNPNHxvSSEA9gxYrZJsT7u4WU+qYftpgzChpZHbnQFJ + Zvt0VHT2M9Id/NfzTOV0Ba+wwn1YWZ4i8t9od/0k64ghHXU27p2/unq0kEqSrUza92FWtDk8le+C + IcwAtMJSi6nSc1+4q22m+3Xy7zZ1gthr6ZQpg0pBk3Ivr3jZf/dDsg9OgtKKEAvl35uhFe7+hSln + kk5wxdbly9uSQqHs8gHmyb3LMDju86aR5QqSAN0bTov2zfZEQhhi0PjR2SUEct3ug18Azfar09fk + 29Sm05dCHs+XXlyqDe3R+a0zCi+E4PTOGXbna6V9FcffpfRjUjoMUhC49EUUTMiASzqN/g1kzhbo + S6PlmzKr5GgMP9ltr4omNo+PvY713859wskKxWbMX9CD5YsVa6YlRbu1qK0n4jC4W6TrspWpQmWc + IeDOmaDXQE8z4Agws0FR43BWwrb7vgGFiKOyd9Ct1F+Dh7d/ndpN7Qw+c0xM2hrComqNnfg2v2lo + S5Tj4cpXi0fPniYvaA0tZCp7bCPBPNI+iIngiiLsnLWyBep9rdnM4RBbZGHBLFMTJMiSp7KEGeoq + yVVs9Mh9NhzOHD1iVv3XEnrM2AfEkvSv2A3CsY8wb4Y9e2qJ8qGhwgPBAZX2RHwFJlygBNLj6pXz + bbZEyI64F+GUY6eGDgPCjpMw4iyOVDSXEiTC3tG+9MglfV26E53Jj6EASXF9qrjPHEkhdWsYro2H + jb5rx6hZhOSwkwhOKyE4DtKVb5RLJ2nwTWWqAQG5bSF5WkxHP7SHg6e/3Nd7rzHfjIZ1aBLY3daS + dr1V5JqE3lEeZucVZsgrBJTaozqAdLcc8SxaQk5V6NaJwbi6LiQzI4v0OrmzKGomjXsOrvp3xJPw + rGXcmu9JoPz8ubvUf2qdNk20IoTeXIQgksO82UASbA/+ek/1eqvWJZSGdbn5rLnunGXlSP61a9Ww + RMVH0ejdLD0uWoultsL7pKo2jmxCTqCIeIgPN/z0xfcgAd3ELl/EyPLiXFAnSNohK8/20KJog9Hg + qgBUF0gSlLGwX7BNB4cxvGo6B+HNsBf1GApGkbNm51GpMBZKpOeB63dCBJAwmthXumpIFjBoyZ02 + o+t3RcwVOuVMptQPmJRyNNQUanhrRjR8Ze+wm3Y6kGQoYjvVYmBsEh2LqWGdW7IaHRRFIWy6n0hw + sPEUpg2eoVKNGYU8DBL6GDSP1hCe6wzdqOh3GKrs1u6bLW6mbb8SzQRIeFXWEWRn30aOOcKYFg0K + Xvud4e4+5RbI7bDJSZv3EaYKSkqbaf1hrlKiUmTYt91vGjqqSKwQtyVmU14Upesg7nNxMcnB1MJI + 4+VqDTL2Da0dK6fsqst91wvK1VrDGcsPQ5AntL5F9OkRpHTaVrrX+TH6jkTc5of2kSC6ewebAyYV + x7aEzaxnE7Se0irj93++1C2QjZTiNgLZQBg62W115M9q6Vn1bcDohUse22mtEOOZijimM0SAvRMO + BI0PXKkwSzqdmxK0zUz2SpwSNZCUqcYGcLJAVzw+v9yMRCy2xCaMyywYQUomFk5BhSmCw+9LfR6P + WuCdbqabeQLWKlMX4pWArp2RR9R50KVD1nDNSacCByvDFfUIXV6NNiq5Lf7yGFe+fylChmVgcM57 + 05ODyX41x7FkDc7hfHsL5Fn74CQfN0wMuwkZn7KE/ggBFwmOFhpNSOUconRAr248AXVl9YhwE6n9 + emTTJHwVf7dOEaYq8Ty1QT44mzDUNrwv4hxgivymMFVg6vzubk9Vt5ikaJ9k/SkIFU0sNPHEMvF2 + CH2b5y1CGhfcMF1ohTMrHKNtvW+eEqrtaaC/SlvO7VPuR1yYEXhlMFKV/oR8CM492+yfUNdu9bYs + olrUZsFDrxFJxxNHK/MZdKjKKJHSspElknDvQJdY35R7Ae7tsXGJPk54DHTwSGQ8APA3TJLsxYWV + 8PsMd1Sc7QiU0jU0DrSC3MueSo9P2+qZ8VooADNN4zl9GySjV3lzVFPSLjObWrj4vFmJCE2yzO3v + 4t/nEHT+85yWGRrCyJkxmOOibiAtJMNgVlPHS0rnf+D8PPHrnuw4M5d7eysQsuZPS1fi8/L4CsfN + hmWccYVQliRO1xBzBMQNwS0qAwlnSOErGn8NIDEelG5gDgQa4zNKb9jWNc9nKgYoqSaRczSi6GdO + KHCJBFFuipzk12SQsAyjtS0zyYO+pNr9laFXQMUt4Nl3c3mfNK37AhN+s5x5PPyHe8SQPehJDV8r + gj1SuUTqaiPrpXJCr9Aq9Z55misBHOuN82uuKpqxz219x8PraSAY8h3eHLoSOIb7uYDRzXUBkGsT + 1ymkZWv84sbvqK0YByAhUYkrObAU6hGTX6EJHWaA7uTQjjy56GLN9ml7DOZ6I0BSIJm3/M3hx7sH + ldpUdJ0tJOucz1/2wj62J9qvUD96tzagFWfBGmwf30w5VYFrn3NOrHV+eV9e6i8nVmY80rGTDEdl + R7wEfZLBfpIcDpgosZovregIZjQaoZ+IDmlqMS+todvborTEq+6wrO0+f4mK4RMFqW/Y28jW80Lk + lH3pF78FUf7lDHqzoFhEuIQn2EsPJ4L3cn+pH6ti6wdlFHZyYsltZzzDooV20T2N5jVK11UvXaWj + kCuHHUsbWuMX1XZfFp5/OtmAnuymevMZtox/oJ1ZjtdBYWJ02sF7YD3IkH2wy1GtzivFcUh2K0+5 + FCjHwHAY2k3cahUIFL0brBP0DleBR3wV6CBZlKyRrrCc9AYiij1Hh4QXG97MqJByttdvleZUhFHF + IKc4WXEJf58yMbWCFJSzgiC1xUxJZupYJzypHLJWOMuf3ha9VCv4xxuQ6zDGvRT2AF6UeTUmsNMY + oS9x0bZDGn/8ILUT6e8ogLZVMCNDQFQpG2gXhMzJ9aJSktZSpH0art94ocm595yahnaLbWA+iI7X + UE+eFy3HfJ+CvdGbPSdB33dXZGFmLkqD04JZU4yKs0ceyOCVwDO2vsFPeP3Dre1x+ykuJlr46Jjg + Er7kHpH0uvZl6ijwHy6VLYqYVj5QiAE5RxBcxqi6JipNkJfFWbYO0cQw6N+m7GaAX1Ql3PZhWUVl + cVzhHffc7zYqulmwAf7FsODdjUCcU1hlTDEoAlLzYmCGWjU+R9EFJeoDgs22mO9dk8naevPyQKDR + JFVKm8BPfoXSWWXbsB51NOh0TPXt/SGPGQBaXqUeEs9/MCzzCK4oVOXocRAmBXXqXWMwnkp18+N5 + 4nAt2yR9NMJh3c1n6XlgOgW/2fjsYv1AYLU1iPQDGO5DGmJCwHCqiOAo9T81KTaAHk+ADdbO4OZ5 + ZVOekUQsItWdWZcwKWuDMp0WX0xTJBFxMuxB7qUFXA9un3NBlm54ukShu/Jspnf48wq1kKASjRza + kY+okAsbvG0tXSEPi5ZzOnBs4gm3mC1TtzHFGSWfJ9QHBDbvM71vtrgWs++ilWkGM5kCEu/+pF9x + NkU0qYXdw2aRxat0UDwV62/wHL5LAoJBeFwZeyBWk/iD9VB0eybbE48CBNMBV62b2ojzPRCxyorZ + tmftQku0LfN2DqswenYkhIoTaZljTipCfhwTE3m+Mg1c2BHLQ+FruHybRhHztdr8pIrnZfiBU/5D + Z/hDXjVZdjxqIn6Zf9S8Q+EaXV5fo/KaMwysmgNrC7EEnsy6k5LPAxSB8zNZ3GJwbyQ1ljyLHo5c + oF2SqXpbTndxDOYCc6HxNNcRa4u1Z+v1NLAV5DD0q+BzzQZhu5w8DaIqFMaO2jp3/ccSB6I2Rni4 + 34U/PQMOLdi9C6mhBrsN17/PLsmv+lzNHCEUrbZ959yTv4QxyXLMRiPaA7gW0lsaQxieP6N20csb + U0WML72j0+rwGU2OLFMGyxXBAV0G65x+CZgKGa/8aerMkTnIyQsJKK34dq+LBBwRXEUvoLci3ElL + H4kpky/t9AE1xdXylEdJT1NLu+IQ6OTaGZWLGedyh8k7aDoweuJyccmLELz0BaEVPYXOfGF5mZbd + Bieo9b8otnch9EcfI0ScdbBVIndOdMJgiq35AuH3NMV/X/kuM9UB90hfMlO2bnBUPmKnXK+ndbl3 + haJmSQTElH+7hvvELm2/tgPP64HGzLkDgthd5VV8hvva8HX74PqFMeaFvKDydZ9LsOglitm18DY1 + BmLB5Ezs0pomBog3UZv60fhhVal/WJ9gibDW4rZ1SjspmsnPhFjKoGNdBokC/teKkg5DdKFzoOQD + +fc9IyHnWhk5zrgPWh4h6BLbjXOYxr3sZpzgTYU2mzSsCXShK2PrrFlgEQvvev3wRJ4YMKMDAMYA + TpeFYGq5YcMMZyulx8EewfXi/N5HEW9RHXcouS88VNHFeSuSQTJKpDpctBMvjfBsxT7ZcI00tBZH + SNV2DFMLrlhqVqga9K+hwW1DOOnkbZvlD0KNxbLyc+OllU4xbnVI7WNSbNWC2tRviVHPqZz9oKfs + T555WhQJ3hA5V6p/0D10FATFWDr5lUQM2T2YjDrKGiRygeK2wpsu4PRiJZqn6UQh/DuscOjF+kkf + VCDnx2tdjuBKZ+vg0hcxaHJkG3pVmDiRVEy6t6Uwm895THIczxk5a2s7uDmYW3tSvRjXdTQvlRfh + wbk6YI9RnZ5pTXYTW4fzKlFoY4wSz1GzyRJyckGa79JOChVjAM5aSOB0eDlVTK3FV9uWltxht0Qd + 7JrImhC/BEsEHNTc5t40ykydRHQ5GKtA45socyHKpq26kZaMZYL4WcozIkMQ3PsUFrKq7jLf+/4/ + 8dZiPda1esHGGkqxhAi6ZbbB5RaiKPks9CYQld5YITcuZqech8OgudTsTjpyFItj5+8Up42LsIRs + 084j+oqE6FTbZVLkyGIryiwpV9VxGdSKwLUuasnBrxm8GCfmdBhO5Y8uLctRNR0uDccEF0epkkd0 + J+4onS5vSOJagUr4VhGRjUUs8gMGREyFKsQ5LitoFaeLQIW6Kt9pNb5KTq/RkvTHymqb63bMNyiF + VILgfFBJSbEThGNKLOMHyyWH4+weX9UTCejsnTyqWELGUuiEBQT0lktMgoPTBwrfYABmrOHqVRwi + FnSvhndxed80aUjGs2agcOW7w863kUCZRz1lxj6FWY7dVJK5mtMfgXfoadaa+lQv7x/aZqskwwSW + BxIJgZGuLnV2QRuaT9rEUsoLWX5HHsktdLUebnNJxhEH9ih3r4StdUe4Gtj8IxRsr/fsDJgMPTvx + 2xiO891YhmQtj3HN3h4jstePyr8xXHjWDAmNmJuvO12wAH72vUAO92SYZH7SwjHwmvqPzZXsGiW0 + KSkaht8uPtnsy8/EaTZMuqWbdPBWDzjuc81ioPaSOpR/W7/kD4t04rhEUcI+nO1pxTC8J7JHAacq + 4R7RZopxdUEgr0Tb1ODlosK4K/eO3tK/XUNYk6dh2tt/iGFN/XeBp5PzmmQ5UA/oGmYqxVFF5vGQ + MVYYKRez2VdCA1iQVrOiqPO8upLRHmtY4J57q9n9EXFQ9Tm7+z/0r2fX2vtNtJI1uPKfL0W5b7mf + l+W9LxHUfB0+IQif4DpqFFKPxUpsJEFKIDWoSEWNlUgBjganqWDMIoak064+ebHsaC1dX47p6H39 + ozsID/58UOJ2rAzfRbc76nuLV8lGzIt1ZPuSG8n8JqekCPlZ7+C3fW0nzZPqutGnQm2GuucvbPFb + Mz9zJ6j+JDAIoIOn7cAsthQmzQ4bXVbwPL4HF5U6kYb+rKPlNlwQ1hkWTpvSW9Ab3zjzOThDdCd5 + 29QHQJvkRgBB7EDHj4UraRapr02E6UbfWhZRFYcLjRn04lYuahnEtV7cRp23O3aCElEDHjmSrQ6q + Z8q1NcthTOf+amTv7Rp90f6NZk+X1ekXY3CpNtNsMYB0ua68OoSdNDQlnttIcub3H276FUw/wJYL + b2Aeh4jau4aolw07vnDh94IOd/Cgz/svu907Djs7ci5RjS8Oa58H+wiB8HKoFk/rukTHOLOjfNMh + wsIb3RijNkaDJBfD63X43MCY7U6ndmMFv0NTAuf7Gwr1EcTePst0yaSzomjiHMlUKg83dW8aQ6Tg + dAuFcWLNZbJFc7d0iT/RFhihcIpl7GCO+4cuE2X3CZLdrlfGldCbpQczO5hNXJSUcQisIaMzHyVu + VnuIRJJ60OsN6gWs5uZdmjfuoXgevvPapqWPZ92TVjuaPhIVEmxDWfJEHuDEuT+CHZQY10asEsKx + LHdKze2IVXveDBtPoxPlO/BiUzeyjVS8BTs2Ud6vwCC7Geg2qe++1DHoxbZHQqDppPwc2WNE1ypc + 1xMiGqd7FloyaOsLXRS0eiw/z3bh5UGp2ajPGJoU/RNAOgvPd17DUR1VXInlG7PEmw5dEd7Rep1t + ChCo5KYDy/E38wZvzOt3OB6ZwdSfWs/ijvNHYr+4WeriGF5dMNOQybKBqGh7zqVwYw5B373K9ukf + JI3kNzDgTBMFbOzMg4uIybYI+MQIe4Rr59rWrY69LTx2U4PGQeL75Ac1U0kBSJ6Kb7IxKhUifyUU + urenlFQDH6sETXxyRhN27azmadac2GcBfHdbwH264wjDcDaZKC1zg6XfMsoPVgLy/mCwi4PhhzxK + Pq3Qgk652KjxdP4cCvQC6W1XGWPBLZgPuVDBsMDn2VDlzSbkZ245B8uyhG8j4jCF34YbQZMc3Rfp + 5nMpD7ZcizWLzbISTsGS5h008pC4VKuwAwanvYJNANYjp18LFYELGUtrqIxx9UBThfBiSV0ZzAPA + jPyK6B5jRvUxTVMdM+hDXegAvBQfajw+vl6ymye/6U2vh7QyMm4mzKsEQDiIc/jSPffmqyso9MWk + wzubYFmmOmv+M4MReCcCbYdMMEqAgDt/Lv4bBEBnf4ZriCIYCUjCZoAPt/nqTwTj+xLMcLT+916l + 6TW2+iy2CuUqbgcrIqlrJQuaIrvEiyAtfdmOfbZGAiGkkI3WgbV6bKKPL2Gl/g82Ek2FpovSTLM8 + a5++CXKCmoZP5peyUJio7Torl+kkT/Y8KA4gTL6MBSzPqMlK4OzVNUPKbKEy9e/aQRRnTNlIg14l + Ok5lpnjTODh0VrpzvtCHKEPOLtR+HgLBTxUsZ39jujjPbQswWGOXKt4i+YB+wg09OUQfJlfhiwnf + nxtUwJJA9hB50C4aZb5ZZiLqw8K7bXaUVQaF8wFBH8CKzKdb1cYR1M97oQfGfjJRliPXIHlKMObP + qFENsB3UCjMxJq2fiK2Ack8CRnSyvHGlu/L7VT8A5pYX+LXGl1ohHBJEHXOclbuyENhzmbkA156R + pgH1FOSRouv1M6OkebSrLKmK2abLfWJ/HN2xeqHj5pp1G0ouXbf3Tki4kwEZCPZBCnmI/FyjnEmX + +d4JAoUOHJvlJNhjwx5Oi6OVBZgIQB3h3POoRaOSuUfqEEIKyTsr2iJy3R3DAOA3i3OSqJssCzyj + 79E2TQzE7TFYf18VZgUeGhU2MItFJwGS/HYmXgP0+KXKUXLBkWYQ1Q3WfgSUSDc/18xPDYBFQLuk + jMlwYmuYMrs3TZLcAOiXEWK4RlZ5KtmqliRAN39x17tS3BFDk4ZbWgzxFYPnZbqnWkO+EqyIHgb5 + KDlurxppI8009LS0wcGI9ubl+VWtshO3AqkPXBCGWMR0YaKBMh+jHR1qiSxRiWT2ZkCTGbDdElYD + xbHmiYcbTJ2HCCs2sNNhsBvQlpGaF+aK8B3gZL6VGKScHFWKaCGjuKcD/GlxLxIxL1m2ONvuGUkx + wF3yL7idiX7m+YUv6u/Ih7Ykf4MQbBQQcWRtTNeiBjs6/c1BtJVTD1ZiBOz9MpC+dS1GzM+ySd6A + mpn0ewnmrwf+v66xtJc6hxW6GGR/5VPqIvtm7tjzZ4PLZQr1t9RQifK3q3IN86oYXwpxNL1om83p + hgRvR0DmZEAg04mPa9ImdcAD/USEDUi62ukrSy2n9s9XqAc2Ka8UiaXzLkOZRulJ1tN8Q5/h4t7q + yaUpz+z1r59mKw5itATtvU/pXCMltU3bGrB7vas2EhZLLEER3ZXJp0go0H56biPr8oo6QqBd7gBB + KFT11WRu37Vjv6Za7/dcatnzbwrdQavLLPJoj9GKi4bEYbNlh1Uhiy0wz/C3IEfZXAxBAU4XPPjM + Y+vrCh9YOz+flMV5dDvEXJgLHjICGq8gZmjvhQ/x6blDpFQdk5afoM1WlZmfl8UhNKarfPnNYb3y + g7oR37bgNrgY2S4idZdGIPTraA8QYeAWl6ESpn1hJV2FB7OAoN9DxMUvu90pGO+enUFBWCtPMonB + QJd7KNJ/YlS52nx+k1VHF9as/X4Ek5Xk4KBsoQgiZYKFoPLWvEvd5BF7fF14wu/rwctDmU2NWgEe + VBW6i4jzTt2lw3pz5Gq5uJtAQbzUogtB6fZWVAH6cR7xFLk4WZltmPAcEr/SZkWhEK4JXTJQzjE+ + WAkUVovYc8k8J975KzV93aqVkXxHBRU6Aocvoa8SZ0Ch88aI1voxJL9BE8fWOFFv4WHJGZuQy84h + LTQ7a6L8O9bsJEYFCePvAcQI6QOFM5oTkjgr4LI4pA49mXF3xCXuhhffAEIJ/j/5B1hD9xGF1O22 + dB07XCxjEG1TWo3xQDBMS9sbA2rJsOSY2/O1BTQlYEII+gEKLL8MbOYhVH5geYTnsxaa/Mi9MC4/ + DpKhTbxEwu8K5kGYFxRgvpfOKLkeC+bfHSb0PfXDaWlOpOgYRbn0xiIE0yvcGR/c2+Qrju3Gd73O + zxGL9K9B5FOrkc+Nz4YD9aIipalxvHihTCPSWtwPuPiK/t9RP3SBgsq+7iU+VMiY+Ja7xDyhJKRK + TR3KtFfeGvHtLKrrfVWlrGiiC8measBFEfkX2svcAgl99VxeUJ6aVLSZ8kyeSlg6sknuP6w8VSAg + 1SlkmLe7Xu1Jz+8CZPrKj20kEVw7CXct5kT5n0XFLZXK4ZdUCt5HZsKdRNNKS1Ezk8dmJoG6m5Nc + qSYSXT2HKoniw6ZgHU7uo/uW7QlhFt0gpvLY3YAm9heaGaUdg8mvkLndaLCnGcR9LHHRwqCGE2Wz + 0jqq2WbQ4z3muU9uaoP+q7JVas4iMfmQ4qz2YgqS+8YrDAnR8khrkj4dtk/fSI+94WvJP4PvSBzF + Zoe+sqr3rR0gh5nbBo4Sgz94GjSY4O7Kp32ZEPdKqNCObu+vxDtAOwPq5nOFPt0HjpTGUrlwMFIW + TFw6ZJBD/NajTCgcqYJWYoyeKCXDOZdi9EgjvcBnBz7Z6YNjwqCuIg9ZoFxWrWrmmGyTWYrE1Mwg + +2ucEZiQkiKDAYMGmp0YGxsVhPyN83Zbx6Y0hL16n3AW1VrLF8gNrC/N18bX3+niCb4B2VAHM2DJ + sVnhs0f3/n5xFoIkkzbZEmJi9a2y7aJ06LFLsybtqS6zRd/MazSfegHz3pDO4uS9+Y5f7Cukj6RJ + fTMCwu13qA573PTTGXFj4n5obnVsKZ1FO9lUzKrEL8tu+BSVem0+cgsoYMqsj5O0oRmsL2XcOWJU + GlgE5vgiwSWiNHAgL3BGJcjIKoUwYYn9aNEiJs40H5WhmZRXG0BrE0nSMLStI02I8bPBtrJivK+O + jAFKdkhVKgQFBpP6B6iF4x3t95tveXOfiNDdjC4oDT2diIcXxFOiaQwR95zOgvtoF41kWTnu06nP + mqQzP62Pu+emLdTQ0DmOaPwJETNqZv2MzxO/ngCiw9rW44FjeKIqSPhj8219kkSm8AGo8o1mXuTm + 5QfvIrenFAWUomkcBhRMBbblFSGtLBKDFQiAfypzUXuH5Pakp6fui0hcx6jbj67UroMcD2kxxi1B + rkPZIeX3nztJfApqrlx71lia+apjboW9guYqnSEOsBR/oF2pjIA/ZlHahhYfCT4ziZ8/TNYOKeM5 + vC+AXOjcmDFRQ6duYUNcA8Cohx+y+XjhqNQHSs74QnEnPInPjSWNZwcRaZJA+hLSXMrhAuinBH6v + Q5mrGHdGNBchN+CkLzJy35C586MUiJJd8FtAzqSpG0/uvZIL5kNjI4zydQrCoDHpF21+iAdk1dhj + tPFPZkhpEjPLQveONIlvn4A6aiftvR3uus4NGfCAkOernxm/752Rt9oICnC2FHIaUyg5Zrf2BZLF + okR4G67QR3g+xmV8Lv00TeaSk1n6QyghbNuOBZ17J5XjFDOMV2wsZmrbGw2JEtl1ygqk8wRwcfla + edJ/o11e0sgJry9t8Wz9t2Sgw9RC12xTOv32OS2shRLKvvdQEXUORBtdoJ/LDUDWN0nTImLvUqDf + rfRp3xZEPSLFwkpZHWW57CDvUmrdgQf6BNNPcsFsSXwZELqne9ZG9J+W8++TzPvTu9L14Hbh4Qwj + zDdSexbRbs6Fn4ySitao1gdoRr/LFWkp82A0iFH71PtXAY5w8YZgkNUAtT1/rajzE9eE9/Ky6I99 + U2YuY7ofGzafZlx3sYd1WYJXZPTI8hnnr7bfm5yK9qFZLmPjXVpOTzBYM4jl610WuRTRptRD25w9 + JDtJ2UzI9bdHNCt1nuMnj5k/wgVsUyjxYjnT+3hoshdjTYwawjPbcDIuiWvnnQsPf5z5ZrWtxJEB + DE9P0yjhl5tcfEiSUqPaweIEZwcJGs95a+9CQxIWnM6s5kcmnFE7DHW3pRXUBwwLeieOTAawlJ0q + NNMGOkccuj2u2zWU8GzCjhRgNhnkYp9OIIJP9y2ChNobtUjCeiaNAoCd2ycK15V0NybpZKnQ+eOt + 8fl7IzM0FAmPlrx/pbRJfn12A5q76HRtQMC/LqqoTqI7QayVGorM0j31+7TOSh0w7Ji1d4aM+hy7 + HWtGuAZoXYjubthB7YcusRVZoXHyTg7VmVALYKY+MXESV42xB7diCn1GvUoqL4TYunbnRt+fYfY3 + YfBq2zW3VNYORvkEEs8ny3D3DfwiLzXCTNMgQpwn3Wq6F0xYNT/7TwuNV6rgltt2pQSP3T6vRqv2 + hhqYUtV40jxr85WPUevFP3yW69neaOSJIiUSmAokHn/k/RzyURWh3tdNn+IlLsd4YPoQ2XxA6n/E + VNc9V/EP+d+OFM9bvnfDWslxhfCcrznCylOVh/Zh9uUmtg73bYkVsUPDoLSWylCHvcfzgcJ2gfyn + pV3TmWOsYq4V9L1uaSa1Oj3iR3wzGk/qff49dVTvoiapaKcAis5bnxQ8vxaDAVxEllbSRUfmDLbB + +VjyiwcII0PG8/eJVoGfP6N3AlpDhOdxTsd32+DzUDF6uC3ASRMQKb3Q/TMIb4VXIlptICYHuPDy + IuZqigYSACe4Z2Jr7g7rbW4Ig3lvDt3+38fUF32es1dj5TD7cp/9SmKTRbJ2ejUXl1lSkJjX2zti + KokksGJse6KWPNmPhtka1LxOBXkp/ogaS9AV0p57Ezdf4FAb2QvedgdSMlExcmqVfCpDW95fPoQ3 + 7M7oLwvwggabGDNBAkh5kC0c6EboKcR5m9Yy58QsMzqYunt16bnB7QnpcEGthMYQ0ECY+Ch+eIPe + cbNLpeo/yCIIZq3IhV1KBrhqc8A1c5tu7gPlFdarajl194nugW0gpju720c8/aqiDOkqbz3QdIHW + uxLD4Ryvnk5vSwGTwKUM1tUkKbhbVMbFKcP9JLjHKzvvOemyi2thUnHXVLPwcbOzGJc/4VhkL3ou + HL1kNntDtr2hll1o1zVAbkZFvbh4aUdUrzm1pT7IZ+1cUl2HmpAX2YUGWacI3V+pTC5hFJejYGpc + N33DCB2OcLGi6Lt4HmRU4YNSpsaBgLmrFxlbPOqbHwcdmpMIFpVpzxx4NF0PTLpAIc9VYPjz3vyI + Jnf9XElAEDO0rgmkUGm5yJPNqepuupzyc4EL7q5vngP9SUqNU8GL2WbXRBE1UCR5pJAqddyMbUFI + eAaDrujXvz6/GdHnuHlEdXEz1D2TRAUOdKrwDC0TVh03omRgDWZIiSi6h0ElU7wGUakw4lOYVGqH + 2bH9wMvfALhf6sa+eWVW39a9nDd4qJrlFnq8SJq8trNyrc9uqnTXd1XxwS9B6Ab1A6K7qUrSGXrB + 6aLo4uYTLlvWk3hTJZm9XoQQkAFGa4mjwrW8tx+K2HsxmYVZSywUZFbbl3Rzk8uNnAqxup+wmFaA + aroLCwvXYJI6axWFk9GmyzOvaCukxfSpZYdEQzAz1wpt7O4t+edlaeuDzcOtgGx/17zoU1pVNzQn + OlqElGM9x72IUNuWXxmGJXkM/YFNHT73oL0RnmU0pmyxMzb+DPp5A9g7p1Z6+Vf4QitRoI3FD4Vn + LMuFwyqKw5MT5XyjsRTjIlKAQ5FreEj1oA834VrJt6gk21acUlEhMD9Mj0a92Sz630qaVdaFtAX6 + DR6M0QzYw1Hs53+ZX+/4SUE07sAPlAt9obviZU1bg/KgiqcxWIQB5R+2vorTr2eivYOgfBpIBnqY + WHgU/DrUuc0qOwGvfxwhjUdKeqcZErqJhWKfWg227WROMEVIudSYI9B6o/JAPeIjPs1/qfTREQ+Q + I1ATPNHv232VSH54Ynh9g7CxMK2c8AsYbux9byXeU7Qng/1tkjdlVDjwyQqu4j57vA7orO6jgga3 + bWRNyTJgvvn1QZM+uo0Vj45Xy7VkPqsgGYeIapl4lAfiC14k3UollfNatenGjSEqg33BVyNT4BvZ + +iGpY0AYXLZ1qT0e3tKcNH/xp7ziqAnKhYr3pAf0md8o6a7PPfrY7Qbfu5B0KZ6v+qHTYccV6ct1 + 6/JAg9BgpWLKxVd5UI8zq/0LaCzaBQqTRsIFhiYjAVCpj3bu8geOUtrIHgW9wfFlRZpJbrpJ8Q8V + JFs6Zyg+tuiM1TKrqI44U9aLaud6VUOiN+RFSqXy0kLtA2v9vUFSCVINC59KCUhSo4fsKSmnDW8j + MK9JoL+Y7S6phSd7cEOH3dsccxqMhfUf0IDi2kW5SMBeJEp7AJqY8P2bo8SolfKfhMMkGqZ2VrQJ + AE4lhTPu6nAkIUetxKrNijJMqQ9yfxJh8tvJFGXk/LMlPt8Rwh/dorvvO50aQrwQZMsHnC+jVY8W + 6yUGvw6vsSiBWMWFGDw4I9wp6+FQJO7t8ojwsumGsR0hxRWVks9+LYp1pZjRiqsr72upMksQ9CKc + dZfk5uArynYxp/kykhz8jwbUKSyBlV/IoNInNTlkwXBqX7a5fLKuJ9NUeHXAmAAAS77eLG6tuMph + 2Bo+PGpRfW5OQuYC6RYRnjF+GIFnJzqdl+7MscEjDAIqLm8G/spP7HddKeu4KQKIdvtc1d3Dq+ZY + J61CAFglwzID1bvDcdy+f1gliwmeFFY4hnNs0zkomORHyp7eUSRJY67IiHXN6dsUSkfMaw4lP5o+ + Wpm2R6s5X77NCGAtxXjMvQ20SbCHzYCABBOUSMahPvIOiZHpLmS5EWoX0UQiPuuLrSzEiek8fteJ + xzHzQPZmrZ+2v5tZMUclihfVn1QLgq6EQBx4tD9DfDAHZ3fLwTeZKwmkRPmVv3EhqvB43O1UbIc0 + ndAudvBPEJWYpUNaLuHXjpXjVRdK1q6zBHS2K1ykDerx+T/LYDkoqZEzzl6qm/XZAojcAiWZY9JO + A5ZvG1VlgqT2QNSE1Mfwla2IVvZWUhe/5pcRPuYjCBSvSZejhIwGHi2LtGwjSvdHolFyZGsVeM2p + 5UtuBuTZ+o+IufXENUObcbOMzNgL8eZKyLXovRtpQZkGTQA0Jsry/NoGrRgHgS0sFu0cZOJ+Dckv + qm5BygDJr/MZlfd4f4aNnEhzGIVb9bZGz35GrGF8eESJ086WSgNm/Nx/t39KFH5QwS0dvxRHPaHD + XQSJPdXH5MXTdE9acsYhk9YktY0e5zk/KwiA2AD6mo9AjqWvbstePcqUWUx82jPYfgULni2vNray + htRpxWnxVCvHQnrYQpSnwykDPW4SsksG48WFZivnkL8qtABCGjX6J6C7QK3SxsxjbtwSC4SlX/ij + d9OieueKzfd5NHWlUawEocy0973hxr3XD6dPeVY8+vhkvwb2DtzkQ8Wqmrko19S1vxYFwGqGwSXR + vhGTXW5Ek1P8xMPX55ge1rJb5FQOB6AXgU/KGefjxFBSAmfBc87INeDaaq7VABYXEzXtXfMyXI9M + arUXAK3draaDTJeiWMJJjC7cf7x8VUrgO76eS0UR0zw7BoMwbJvhUMaOq7mWvKwERouPuOP33Ihn + 10Jm9I2VSDt3ybfw+XH1tWPbFBoEYaW5UqYvzc7yEWEvVokuIighl8kY8gGYif4SNZx9c1SXUQIW + ncHPJ/5N/sIDjef6ilhof4IsLnv08pjmUDzjmuWtn25S6ngtd3ZbEiXyo/Xv44F7AnQ3SBQeN0/W + r3PwqT32biuT+j88sVDsHXd/AwkKUV0r62FGp4kZhTlcszXAPKsZKxtdWPQT7h1r5C0iKj3p9iuI + 7SeFKojurU15OhUhnv1ulirCrBK4dbh2x97bIL1xhgFMTOA0AL5QGPqG9O/YMpuVlNTFSazdySeP + NsFgNy+jeNH8499y1YcNmEvIh40fA6kzsQq5wQtNdLSVZ0eeCJ6drk+StG0KetHOpXMgIXzuLXmk + /RROBcfOU+n6rIslifT2I/PqY3X0Bc/szI6Ok21Wj37wcQLJj+JEBfs+Fex2xkyL7uYDnfYUeN5L + 8p8LPmg3gfl6KNppTb3M1tTIuVjz+0bCBVUQyuSyW8Fg+85EFVygazFZlLlGnLxAj6VZDIwpMkgN + d0VoACH4RHpOijDpg/jaAF5qpkFVSGZhx1hbHbqTnwpoNCEAoOcxvNibP5eRpsZ5q99oCD2mSiYU + h+FRnIp5l4Eu9zqbV9TMMhwdLf4MNU7kbjDOXqQoZ90ofUOOhMe9sP4THBniCWQhh1RNwXAO55/Q + ExhnM51dc+eUhi6Qz3IZBJGBWH0A2jmTPjjGWVg2PtC5jJ+358D+IzsNB73lTWInSO+ZTQ8QttFE + ZYkl2Gqr19AdPXo5hkxyURmbST9Vc6+aUoLUxk14eGx1i1PlafOFAgfBRdNEt1b59f0Rp/V3e5Sc + FRLbTJzHIfATVA/MqPp+E3nYPoa2lxujZK4Dt6QrqOqTMELZSAMAUC9fgnrgjPft1Jy9UeNtwZsx + OV3JCklVze0wA32uqx9kCD4joV7ENE0Jx/S8aAOboVhT1HTmwzyLOocHcLBfblOKQGGCdNgABGRp + Yuj5WF1vusqHWpMSUJ0iNEhJiWWjLK/kiKPIhxJVHnAd3V7x/DjjULp6irfkokBcronf+3MWLnNZ + Zj5GAuyyVF9jI9JgCNSzbxymvTvpmihkQgz5IyDi1rhCECCRYHDyeEQCAj1+w2UK2iBinY8XnE5d + meEvoosmNk5dTqgmUAoZeFjwrkluWe+hNNusz+UQAiJr77OR1y3xnk73QwSftlrruJl1Zc6e9CDJ + BGdceAm99jx55a8iauaXiXtfBI+9EvTubcoSt2WYq7puEvCd/Q63GDVvukbZi9UDAlemmnGpZe4B + 3dTFDpVIt/ryobKXuAGV5cjQYJAU0R2wds57mlEvRRvFOrZrhEyXvz+7K9IpgnrlvJo27vZJYHr0 + njze1mTTS/wsTbG+Zdpzw0ZDBcKoSDzHL1M1IsHMU05u6zC5FgLXDGfVfDqN3iN6Axptpe6I7XvW + mw/B59m+kvKoYq9wa4Xul3Rl/DJRy1f56rFXHBJbHvHROclJFZWnAQzl5EZlYU0HMYjOOpf3tmml + peiAZ3NUwYE1Wvq/7+trGseCOoiJo4JYzhvy9bsnz7DyTtI3xHF9W2G8kii49XU7IpJ7E49rVCW5 + hm7gTf55vcka4AWBjE+sLNNt6kjm493N0Ed/GC8u8KmtZYuq82WPtknl7sjPDwaNdMu1IzNvjvLS + ZGbz41tCU+Aefxd0egball7AmVSWg1IiOz1he6ezTFifgLlBJz1/R197tkrdK7xSuCcntPbDfoRz + 0RzjhGemaWPw86+XgynkKaQQNF1HzEyFTFrEXlY0TfmdlPZucEbLcu2Zma220AeAYZ/MlJ6axvmB + FzSbJBEMdr0B31oCNyZpvTxjBa78WB7EtdMtAqV5DJ46fsqpqVRu7pzFcJw8U/hRLrb8LcI5VaC4 + 9yx2Ks82mXJNhnwNlMmpm+zP7vRgaUtphFg/zhShi+oV8XBESr8sBScGwPGmrgMIIdyRkkImiMtb + whopqIpU7jI9UvOa/Z8KB9Xle9xF9j/E42m1dOjQ0xFz0x8lxQX7Ok1QT6zyj3Rv1RV1ia2vLnmj + sgy45A39K0b1V2+Q/DqXuIpSFHUiVM2R+hKv9mPBrNrB9pYFDQL0+HTxrx3oxY7oKyrD5bQCEtZr + jjDaeWLQRweGfl2408qTJHrGVuxJjfqFrDmoEbD9fW98SFdVllztpbVRerrIKik03czFIclniAfz + mybZOoUVUi26hydnecoVi9dX+PpBsg0qaMh+Tih1BQFxnVPDS9TX3U4sTuY83LUqNMMwRcCv3vpk + HzumnGO67CfHH9mQVGByvMxK0Vc6tZssI29LdU7GhKWwR8d/41WKATlsvRRGDwOSJx4PcRZ55ipx + ZzHoRf0e65tV9ZqBbm/OVaY6evIkAxpBp79QAU4i4vdS1vred45gL0ArMrMYNhMpOpR+BWXmxTx/ + p5IDDqYEo3KsUVrFSCjKb0JiX1Xi78ZRP+E5qnDQ/KLJJQD+D1tWi32mX1TtrwpWyIEt00wgw0c0 + Avs8RfTgNVvGI9yG0kDB42VfkAXIDQSdG1synNHiSdjQstXnz0UnoyQJNwVgoHBlVEA/MoZ3TXSP + HEHozMLEQGG9h/vx2fvH4bIggx4shRPVxexr2RoCbK/RrEpRDmpQYK3CYkLlpVBWyjeXDDzasfM2 + v3GAPvBeUTaX+Wz1JRy1dQ8BXNKD99tE8hbMwm1XVS6KYMK0h2nOtw5eY982oRCIw+VUpLlOMQf9 + yajozciAK3CkrEXurZACppM0vkHPWK9Lk/EyBmovffHqG4k7zGTTm88GbHP0RUYJapW9AVDn6EHt + ual9EEb0KZEBC3CvyeCHVO55Ii/Pf/zj2kug5sptNd6o9aQA14e8jZ9KMjuIKJluug0LJ89xtllf + WwPz1dsSMucNQRxjCirhmYvxnPaclqXYGW82jMMAlgXD8cxMgezM5LCsEz/wOMMpcFNAFaKE0Igo + L3HA73vDcJfojmYin/e7JhY0V/JHZctMEbdJ0exCL0i1lXvqKq0SkjX0HqR4bbuAoISdHfsfj2aU + ZkRwljL7UEHIMe5e7H3mg6ZeAxCoOxn8zcIyBPvmKCqKikVg1XELUJSV8WMAQj6hE7EZi+g6OasG + G6vQzk8pMBkIlmcWnDeaAeOZkI83fAULSInX1ZHCQnAxoq4/gW2fYTo9hOJfAUlo+baXR7T6g34o + vdaKsVzeeJtx3QlWs2N87GlTFogh4RWP14uf7sSAgjbkRmRNhIZfUEr994T6fJs6AwtNgIYsGbop + sBUakY9rt3In0MbIbZCxnD0Dugjw64qDPIusdSjRogkeaTa+WlsH1e+XfJwCp6hyDQrhFxniunJb + zPwjYoINymOr4wEmaTR+lCdX7jdhuEP55ML2ZtBQEmJkBjy+0jk1/AnPea1MffrP7LhKPjA2gIob + 8s1ARuDr5LkKnz1svWJlXGqV1SWPrcmmx+l5oPG7p1gamqswCfsoGiJ5AX17xE4ksNhMebnYBuRq + 6KILxvy5QNlKOCwWgBMt8auUPkARHceTSzMyP8aTjF7VGfRLutRSn0IIk6g9BcFZhwjBjAuIlKLf + jb6I8qjLcwfXD75LuIZ/xMH1/QGCS0mjoVTGIxmvBeGZy0D9ySIzg3mLiiUQVNX2Vn7VQ2qC6S54 + GuENNolduuQugTwSoQ44YFpqdc74lTjYYsUWr2XXqmGSs7EwyFRx5vnoSGS+2ekFkJe9rBBKdJR0 + DSvExWUyQzzpiqJr7mdSe9N07JBDe8RvG005CULRXlw24WrsUrSH9RRu83DNesLorhObzijidSyk + gTOgPuZKwkNAwLuWJH6J58su9EIMDmoli/1/ovKKJPbEmR2hYjO1tPMDi37xNgN+vQQoOQij7E0g + Aoo2VaMTl2dErxHKAFOHBHeRgL5QWuSPHmhzUlL6/V08zLTCYcPAj/sK1e8kcZC2cu5s5EjiU3Tj + 9m8nyqQVw+afDwd4IYGWTiYVOghRM5WaTnPPbDFdmZHgMMPD2RNysk4Go1p9WH40UfOgSSRlbZwj + Y6kEbaHzCgeJFvL+LM8g0I9mo0XDSMoHpeU5lmB616Ur9uqM3jOcuKcr/VbWNgrV2cGFiB8UXhUL + Ywm9Rhwvwb8MwxwwVaJJuypJmoZi6RZ6pXFG1wn6hLFFkdut+lW03+kiWHWtvEaiC0qQoRyqNf5R + 6nZNTRew4UB1QsdB3q6YIBjohLKoKCs8P0kWblbDrhjPIdd5X+op0lwQzlAXRw3D6CyrYo5tSrFO + uPGy6KFsGm5uA77bR3eoxSC8jweLFmaDoa6GbLRPgfsnoiTh8uHvco1cL/mfvyFWReOG+QLAN2ZE + mvDVsbSuHwULCRN1ze5lzHUsKyNRsm1L+bYc62XR0khEg/fLMCWxVwepGLRHBtblR1j3Y93aHwnV + uS1ykGwIVcrTXm4i69bKeZ772aYjJZ1bmeIJBgXSjdqvPtZ72s1jfyDfl/zIEBg2BnACap+z1B+b + BfbgcdN9i/y0RlFowiPEGoZ3tbr17tn+RdcGC9DfYIrp8UcjeAGHqpdDssvUF5QVf7kgqyNOuKJa + o9swlduXmq1D+dZ8CHJPSoEeaPO41pFsAyN5YKcwbABgPmTagPNFXV8JpcC93SVJ1pzp/o4k57cR + PWo8hP3nniBAVOdNyYpVCEDYFr2jgG672We5mG/YP1j4ThbsqwsTEMPttxDw8Nb32m5PjBGqOrNw + AhweqOYOQSZY/J3TJVQIy0B08yFAKYZhqA5PyRmOH6ylEa2qU24o/IVvGgiMVOTEB0BDQJxF/m3k + 7bU5e3VDhXpY97ghXz46adgEr41Ezt0t1tEDYTNDj5ulilbooB/gYPl+lpNJvwhwpz68u2PejS9g + LYpR4cefRInsDwKV9d7iFyBAlhDnmXaJevoA0fGrmJvW+iGOFpg2w9BeCdyli86TXd75JEqSpSll + y7UAWWCPor0USrwDQ8uRQcRTzZ5e8p362tKN+43hk1tlfgSUg1Dr+LeavXgBn+RtJkdRiCzHsgWG + mT9wsCvqfe3Uv7ZsOrQF59tgec0FKzZExFR2akj5RfwUsJfinSNdmRMrjb8GNnYcdi7IzZhT2TkH + 4qWBPvl5R/G9sF3sBTGEpzvNQu46KemMXe8EpOIraCCGfv6bCGo/OgJ9vpK2lDsOY5TDluNIz3e2 + ieOgST9QuddGpByQwIs4bfh54AqMtMmPTVNVmUeRteScme9KnqPEye2D9Giznv0ztBUqFMSXh1my + lHtCPvT6UreP1SSD6cP5ygXb6WVe3Sm3GJB6TMVdQGZokWOEtOtxlAS4OMXFZ3k32S5lC2Tl5PqX + T/7VB3tFDCCmR+WY5Ay8XsCMPLsiSmgOKdmlly4idhjm2HJAYBy6OOfL1yre9VBRu1bBlsqsxstU + 1wNbmiTnkGxI3UXg3tmvuIRuVk13BTNSA2dytTtcd71dtbHmx6CIYScaH7EfHI4lijkWP5nkaTwo + oUiqYwtbJmD6dtZ+sB4cvsImFUW0VoU8qOlHgTJFEDRYNjLJoTmiVK5iDyv+7cEy/bf7s+cL7brV + D5ZhgMi9exrEqVCz6XO9vGhNXFEr8ubnOBm5EukUOUU8B22kVmdboNTpHQlcP3Ocife5sUgGibmw + SZR/RnL54Zbw2i5vKg+wczuibmPQeqoxEVw5aLHGvDqcQIMHcjwmZDBrEld+rUJn4U+hwMBm4uCa + phkb3OcPFoPWQlYaFF8k7L93yJ1SXjEn+ap0BcNoJVjDoouV7QjlHVKDaFdM8rBAsaGIM9frKnNE + oZ2nNhl3yjeOfbqORrteWC56Qc1z4BHim7uGy4gQ9sidC46Y3rnQCYkuj+QET5Z5eRiCjObctS1d + xmF1mrKx3/6EJe8ns6EKMaVQu4rosrBtUhvzvE0+umEegKSlIDzwGLxWzhoyZFkCxULP4AuciFk8 + TZTkGhV+q6rCyUdXDtiDrCvMOFtivMt9WO5M+7e1N97taEdp7WKcml5XIpkebzRMWieksghCMOS8 + vm0jJMeeyFptO2uSZ9i74OepxinhMqNnX5EMIuL6A7Z/dF047Wng9fTaTSsjFsVBMq0spwXyOw6n + SEtdItaKFrkmh6/ZR3sC0c1LqVhR9iqxDBt6FQz1AmSXTa6GTfcG3LvJzeLYDuqqFrwL7vsP0g1W + J127vkoSKtfyiLj+Wx9EH71kDuV66EDlXneKeXJy+eBfpZNfuv3hEtezqTQfLXnyAT551kLlM0sh + wr4IRbuYzkh7vNNGNkRElbeGolXxbwucnTyTBIvwcefLOslB82EV60gN2Hp7avLxP2/oN702DMPy + EKpZpL55wKaeCZJfeW2qEGVTPbTKQx52G66mjAU/0sPpol47qUOQn9ZrnHA5V/jRZQVN3+iJKRJc + qT351Mrc4ofTcobnFnEYgP5gtab5Tvs2FZA7uzIJWg08rBNZyDAeB40UshJmlMPWBZ7hujRPQbXL + D8yCkVsOh8takONa9pBVhzQfRcQvjHMX01uok2OauF4fxFLtQ1WiZp4H7+316erklXRMR2DJA5L8 + Qci41wWc8xRjsvtptvUMUJJZRCDRi94s0XrPrpbZhHJ8peC0/Eq33gMnHw2cuIkBSxN5jZ3fOtm0 + EnsE2WW0qpLMtqSvA9G9iND5E71ASd4LXXZr6B2+iTqFc4s9NUDgc5fJIeAMNoxB2Ngf58PB8Qj0 + nSLjI9QH6+GtRGRw08cPrz6rJgAOm6uNeku9Z7Lc5NFMnSltbvXntuxrOCTcp9GYjjr+rIgQx8jG + ca+DM962NjN0jwoNNKZmmTz+IcIHNfb2IZv1ld2n8Yvr6y2dPvtfc4ZO1+yeg6MS1CgCNzzCti65 + beiq4uJqNVUvlS0KMtXBxFZHOdn4Wj0aeFPF4w1qqK85Ot4hnOlYbnCWRUVjt8HPie2GWUhCAt94 + 99KYEJ0P8sHH8jhAMQ6aZXkHJCEOdvzcxwZoeH67oNLwwSTMgILUQckvJVjXgmU5Os4nI7GLO85C + knuKhuTD8IeA2khNl8GD9Sz4SyHKcbzGwIyCr3qznPpm+G2MvZ6+rirUTg8qbbANNXBnpZkqV5b7 + p4gCF/lkQcPr3TI1k57BJK/yo52pWC/c7JSceltUk/m+ZKz891slwTXNRYFdPWiHDdxgbj5PWrdu + PofzWS8o33yINquVASRh4gAvKSn0J0wSyrJkAEGaIXda5X1YAhDgIXWh9GEXRfNJWmi00YxOackr + Xss10DcLsvrd8hpn2mVr+QsKisCMcbQjCheqF+1DmS/IB7EPAUTvsPyYo9QaQIh6fyVlfEjRY+b0 + s83zpcctnlgBevihBZOtVADgeI8v16vUL4cjWMdnyBkawrQmuiDjHiW8ChKkCtqS6PTuhrcGVwP1 + 1ygzEPRpQy2KcZcdlr8TSZPwPxzZ3hFa6HbSkYu2vKzowHjgGFEsCdzCn64gTbw9WDXgqUJNnqND + g3cFHK9xmapBDUyWOEQ4DIQ1owEUkPusBrGTiMp5buSRibyFkxi5gruS3r/XMlJqrI8zHwulSoD8 + U0tpGv6nbclhAJugagswh9q7QFvbJ5OdP8nx5lpc1Xx4rsvQmoArwmBWokcvE9xJT2W3zBMTGVgc + +/U11fo9iHt2Ddyar/nzhf4TGcHFK36FP8cOf7eqZyK7pbpmoXDUvmcdKtaIHpNygjbTMTR0o4pP + 9+KEYFpZgZ38p9Su316ofLenNDoMYHkduiErmQikyWP7vViYAMlKouOX+1Gm4WQbYi18qQT7yMhK + NfPbn4aGC6kw9kntANTrLFgJQ+nHPNiYBrC+ntjt6K9NQ7cLwXJWLj2vx4hjrrj714xcMDOs+HN2 + C+M2CQJWaCh3/FnSvVliKYjGBHdkOI1flteY5mhNMV4j4z3ZvAyUH2MiH6g46+0H+qJ+ebvmJHjx + BJ/q2J8Hyo4oQLVcC7ntkE3QdGc1MFwRysCWz9V2IiIBV6oAQ7iTv0IPDeXJpaj1gakr6o15Y0BV + Tp/UL/aVjM5mKtxKTRwyRq5SaboGKzt1sAxDaIVFKTQViDiq5tCJGCTQZzpYyceURBu+G0TW+LRi + 6iJY99s/zlvzYBPVrsm7YUerGxL++o116P5B1+os1nUpQgiguA/ozvwG3DzjaiRKQ7BUwGYfEuoQ + GsGXXbVFm8ax3+oa7dXd7vQu/TQlfe0dfgpFW4clkA3QXf10oLlyZJlevpZBZXuBzwsqj0c9L/0h + 6m5+xJx6gO2UDhfKD+sWdVn04/U/xitW/ncK6WzRZcPHEB5nlCJ30OqBWLa2IYBaAsGoigHCbRzp + cVD69AYBEcpPXlLkT9bOrJDItjrQelN3SuMthOAIk4h6l1/+f41vDcYVrxdXuu/B0+3uY1wFJhZL + B1llvm3fZNGZcYKWnNBLym0VL4TnhadfsRSEvNQq/IYWpoTFviG9x7GUBYRWzWiuPuyMl7y6lgkC + IjUpSh7G+hwR4CJSD3kfcJlZyl6UsWIXmPLZTNu1/T8I8c2np0PpkhviWzUzh0yZ+92ePNzGh5s3 + n87n+acnMVZhysPjMBbhmUmA/IA2S42WUgRtD3ZjKMjfPvaCGswuiUnjAe/uB3EEGuQHyExZJzgR + tv16aRINA2RH7p1zNsfJ8x3trwPUYfFVcrqMjMZDF0xGUgOeeVKMWosSg6D2ciBZKuYwU1eJ20Z4 + akCxWAc5AMzQLV+ZsBQq5+6CbjoLT3zqf7PrlTTbI5Of+AEAcNR4Auh6fYJOgQfkzA5LGLS5j0D9 + S2ugBxokznVhoZC/5MOj1Wt9FB5BxE38gpUbtvqWs2NqETHADPBOJor6hgtdMcn+1JRY78y3Ud6e + HadJSxHr+D1FxTWMd0X8jOJqBSrvUaii8wt4/jC4RhYLqDYRtqvibOXqRuAp85dgkhNDCIhM0Fnu + 4QbWRvd3LQ6q4XqcLnDa4aBS63zo1RIhvviG5BiIO2uJFPyu50XfCj5y5YG8eJvIXlDL7EEflZW6 + SddHH7bzcDHIEs8sRlKPnLtFBYOPco/Qrq/vbJl/H5pI195FcYyFXC17LCIcfnC+VqPF9c28OkeF + suYKEhjrPAoi7qKDrEVamtGlsFs26x+KNFRbm/M2yxfowlimYCfW/KdGWrzwm83lw1Zow45FcM27 + pxVOZbXhnbow7yqVmt6B+7tEx+yyCog80E03WSzz+5rdLiXPr1hCMUD7e2MFtchyJcgpomtQrdsz + Xit9cEd0+PRvEmrW7tXnHr5P32kCPaAFHlj8kkW4kBWHaLQh3+ShoIQrG0haQNlW1NK6ZVeUcIrG + uVhVTHQKX/uOGGaKx2kwbaF4RrKKc92VQS4chhRN7kEyZtrRq5D5c3arAEzK59lkG2Wy0IrzqUNt + pIqwxA9/9Mzc0JOKaDuKD0rmqlac3HX1cHyn66IztGmu8sE2vZsAVUPSVoUr5kWCk4+6WvgPCMPE + ajvjQ9Q50Tl2gLYXSB+6gZllNAyfDYcuTMVZBjcjkeGO1PW9Pu1Yu/fp2J/DvmeKZLsS6s8olltm + XQEtOjaJRHC+BlKILB48Ti93DfZxVUKA8d5e+0a0W6g4yAuyucZmdATiBzkEcyrlFi9WKI/nZwB/ + bU0nGF26z4huilsrOHk3AJNP2u7+mBIYe/YJ0dK78RalvCBO5ikcqL7qzihzFj3M1Bus5vHiWucx + rfpPuVjw6pyEuSfpM89jlj/DM/eirpQPky9qqDl79DKwQ1glHn97rkJXdGef6o5a92AZxfENaCEW + vfn5UZItKUt2g8xkXLw0GhVA4caKjYH2NXtxKaTk3OhJEmz9+GPhPEqB16CKCsUPbfmwwDjjM/oZ + VOLcQnEuQHOxW25QwxKvgbKlswQQo6g+xjhMnPC5U3JGrB6fyGKVMHKufxhQv9AWKtMEKRr4/FTp + 3os60Z9gvILWqR7DHZ8oF1q0bmLqg8Lv8WjIx/V2fESXhAzC1ZKf3Lxb3sTpWLQrvq69nyEPKm+o + 7fRUYLnC+8hMZRgPEGIr7Kut0hhZ1fNvC5gI4SxWKyB2f78OvsPv+hiX+CNZZsml2QlqEEz7szfY + 3vbHtPNm4BcQmcrjTEN6sjhYc8/doLSRgRcef64dk/xNR5L2qUntVY1zz4Z5j/ITIjgwPscLMasA + 8cyQMXTZb2qjes6Ol1Fasx1YHcy1r9jO1ltDs9e6qxEJY+qk8XOkcuRu44rTSX/YLQ5LzkmURZs6 + sCxSqLIY/a21yJe1TaR2Rkv089Hcy41ztL3TCvZ2zFnXxHVI4WDoohGPGjsoY/N82mL1kB7oYCav + Ja819cvBaZCGlNNYwQvzQW5x9ys/LXbG7OB2QYDDHwMyt9I0zhit3QbWvN8PpuxejMFT1t4B/KFi + dl8MdhiQrnhr7wJnGYLvGdBkE8tItGNdGrft6gOB9uE5LOlwfAPZRgR5ureusBo7cYWiM0Gk91fu + DDfnbmmAcVcA6ddmaYKBK5581+9VSv0VP4vmJ2rdjbzFwoFQEIBtkFdWwded/mQjm/CmA7W2Wtzz + S0mtce+hm0OwKvtqlQs2ub53t5psWJW/psCgIIvsrDApfHhlC4twEWH0Uw82hcfWHO3mL2+0mmlm + imuu9/eTXqQrV6lcDXdMGLDEoUnI+M7qQEJxxGXZnejE9QbLdMdKzr0GjcNgBMAimgt9A9K1CB6a + FHBJUR8NsGKTBZ5baMaIA4TgKHE0AWjsRB8KUB8bgd/t+CZWbiMutFtC9hSYdU0zUZP7rMAMv9Bg + L2sddimWhx5Xtt7TXg7JzT8StN0eJHVuo2AjZHWk7UVVmF2I1vHkJOxt8LcQbPEL9wlF75dSTIv9 + yJ7jTplNdXNEDeu1rLAcuwE+5cKpWps8wRAn7g/y/TusyDgix7fYmLnkwW2gZDJ4OqMcRJeYEfFG + mqeHr2PfJMuK25XKrhdbheNq92nRV5R2AD/CoRUUebvNgVuFo8ldhtJdqSEzxCA4zNsZUcON5cjI + upGq6dkkdvpvGS9M3YK1Pu3VsjAJJRWjhWc/IYv+wCGxbOhZYnAaFrt20IAFQsxupeGfWap3sB1Z + FaCs69jTqqzx6/CoA/L9xk8Mgr8RijIYn1S2zH9GxnwWXwSiCbPNdsF86CTnfGXcmIi8uk7nC5i2 + RJWvP028FC1MYdVsndUdAFQOPmxPXkMDhxy8wzqiEmTwLJkVk7HDbskemr1nNa/MZtdLycwqVR5/ + 3S0GW/U8yXagYh97xqLwIERRJRMvNPqr0iOTMIrLp9HgHGg6SonBMjMM/KxRGe1Ixqt2HCVjuGQP + C1QIFisQtI1zkjd5py8YBapNiEbWV+9+TgUUP5NfEcdhlZRLWE6/VfIwZW+t3UW9pmRCk0ZKwdPs + 3QrMzRM1huznyC6xEXuuaYx6btc/hEa0zK6Lff2Y/sjUPuPZj3r2M9nlIocbN5P9H1K90hoKwQoN + hWQ0LqJ0Iv3SPeGrro8szbJzDmA7hvHKlQAisQxdmBIekCEdfjZkylnEokQpgpzPrkIw4OjlFuqP + 5XfoLB0YG+e+cMoxOQGr9hvrr33l7Kknwf11+C63IfIN4sftHgrbUOMRFqmYJUBKWxcI0GRSFCg7 + nvP9w0EdQofJml6dhyYHjyIBAqf++/lDMuyt98dOWHb03CD+KsRN0FGLEe9KbxCJ+pHkGzSnU36Q + d/M6zsihIdUEijr+3HZkYF/1sl1cOQT0I35hJczcvbZ8Eulpos1JvgL9LHzSku5hI6ejmA3xbcm2 + yK57z7Mog+7pNhm+v+1FCcYj9l4CCfeoy5MNu+6miixcJbEAz/tBGGvR6uiXw6y3fUvIgh7317nb + ENR4PND7uDlAR9CCF/pT/h8PnxjAw9h1Mih0IPd2YrJtcnEH+Xo3O/1YcwwsGMbexIo9FQlW0LNb + ADOwj+asWx6tLQ17pP0Yuuvnmj8wXWEq7OysAlQTLlwPoQW7eO17PALPBirSP4quxRLNea5e7VKd + O2+66smJjxgZ1oZqFMwzlVXhSYKe8GsYm/i09zISCgE/lspFb8215hlAOOBiSdLgw89UAC34lmAK + DLXveOROMH+1VPoF9efPZxoW2eEy3m2V+F9adkjPY/kKGxmceDpiUOiaZneYO4OmQO0Cj9t6iYXN + EadJKt1duq+Uz0w3SxXQb13Pw9vNRo6Ql2S+npmjH+3S1ne4jP3oEVviGgOKqdZxFdM7a4R1TCST + j8XZEy60ov7iQaYQkeyx2AulsqXFCeCRLv5Sk3goaGc3Z6FQnCrxz39M2Z1PhQzSbF5ir6aoJZpP + vs2h8PXFuHXpBm26qhOwzc6GBllwpEfdzufBxE8pLqEM42gyIBY2FABn7L2h3ECSRhKO1W6M5lr+ + eenEEnxl8pfoiIoe9RaQs9mVzg2kHDM9A9yVFgeNsZtv0UCx6yIaAE5uPh3l8wFlu8ld05kFrl1o + WbEUgQML7h6JhOvs2vtELGtp4oaHUHCFb58LMmFEvgm3wW5JoMB9DpMgK9zTNPWBBrZZb3ovaCJp + qbISztYWrMsp8DKvHgFteCh01Q/Czy2NkRtooku4hhk+U5Gl+wVpvY0oetXUikrBBiaQxNDX6vcJ + Ct/gkszq1PIWoacfQFj1zcHgXi8YoGo7dj0VXZshsKCMfd4I7+3aGtLVGwu4t2WhGOTKdNsA0Sys + pqeMCPramGrhc5TRvxiJ4juGuoX6j2VBEWzKzK/KENBrwEfRKQOd/njcX6Wg+EDX63Yol/72JgXN + j8V2sgWN+Flaf/OvlaH8G7JfkYZLBhj2jMnGatkZaY+08ZnNDWDLVZBweuUYHZVGCcV4vNctE6Cb + qvbGlbNSoJjnKInN5WoGb93tIGIkKIvL0/A17KipWV7uhMsXOoL6lBVbglEbVed2OJaa6gVANCEP + ygfEIKzCmc+Xig5vPr13MCyf0qIO8VguOg6MZD5fU6qvKfWS9VOfWfW7Sdd5TwWk5FkDkPcvoUUl + IPdwPQteFMWyYjsGo31VfdIoeOu1rDMhriVMO4czzUGuO3enLF+lgLSY6r+KM2n6K6yJwZGqWdYS + mhnZAYI/c9TEo+u8eYYg2cpJCFpVKh0j65A3tI1pJ62JXXiLeILoUREA0OyMsBY/TRowlUpMt0xl + pd47wmENLwmz5OCYP3/juVp+REGMUuG84lScUNJht09BfyXFbyMX/d3fVganKLNu0dayxyO5qq/A + mQqXmUtVNh6wHXF4BKvbCQVN8sM1hSFkMldSHQmXTBonLOtFd8tUZ/pSZLcFRN8ALGoPT6hYJw7H + 20+5kaQXxgyz3qCBOMwcqsTyAcfKYgaUXnZJtwG8SvIoax81CHejtu8kCLXMKKiK1vNTNTTt/XV6 + U1YDh/y4AlM+FYD91S0o64Rh5Y5LEq6E3mWYO4Oy+S6Srr1PkBeKhv3qsEYmdOgfi9/Qh4KoE4bF + +4TQLlMfw/HIBeFYCR8eTv3Pz06sB7HT2kcpIK/QdXTcyE2HtryRdnWt1/BZdT4sV0KjfadC8s6T + qLqZzULwMFecHHMz6pTUSrU5XxZv7v4cNmT9QylSNfD5lTioDJbE8nl1mYs/pfVyTxpsQOJugOdh + cp3FO8nOgB8eArZ2wVhEJCa+6NE19PSRXGLTjXmphGAmHxnTFOvyb6QZvj5iVwCCEvGNCd/F8xTW + GvOu1Gz3+Yg/fxi7g7qFgt2vs60u0JL3F8k0uukqFkkxW03OGIhwMPcqZ6Xn/h7MvqZudt4tVZ0L + Ow8kh8OUhSamRk2wu6AKYYzfSt6tfmYrVmMaUDqVX/VW9We8qierx+JpEsZ2h23DHW6OZtfjVkUR + 0AvSGYJBq2qBLUK3UlSfD3hHsI9TIo8hl7lwHhLBvgJOv2jbvCaDGgmHu1afzXDtYbEKAix1Kq3s + JWNom73mfTjz0ikgdIbQxynC2K54cOcniVMGHaTfnrgFmnIkzar4M9f4zqL96SG6+Xf8xSm3YYTn + ZfTWzUYAreSIdFiof+H1aiENRmRNmrx5qW/5pOHjsuZhdfRF1FbiQrWoqNsWkAyKhtnQJHgEYzCi + lzjDv34593t7bu66E59vr/F4+IlJ4mLkxMIyRsBs+DleDnQs4zJVmOAPJT/dRqsT3EF167PtIHu/ + O3Pjk85jD3HOcrdYamPNVcYtovzLQuMBwywb84jZR6+7+fcKar9UUA0Gou0Xxps1ATQyjzw95Ar9 + IYAyu844sHHIQlywgU4fiHd7EtXs9sL5DU/t1C5gq57Mo15awym2W3aVf++lrZd+pRwMIC/I+iGB + 7nV08Jf3JvUsSREcnaYyo+CUTR5M0drkEXTK9MfZyYr0tE+fq7+vQ5ueuzBwSzE40AxBcpzZuP7M + d7/t3/rIfca/8Gbj/OAWjrOOGniDjKuA/U59CPf0OJ+2N/ovclcy1zkVv7TwtErvTdB8wsJqN/M2 + MB0cfhukCgQlU0zmNxkPym+p9AdZTmGJWXez4VGkBDykj6CUfYFdCfZcAqYLnYLkUdXQeyVv8Hjc + +hF6H37dxAwLbtuztHQlN7PGznmZlqpsKVQ3v1n+67CEmiJI2V1I+6iW4C1JjRoNiIYzFb3L41+U + 19IqEUeqSnBbAoCJh82E5vpGEGDlHjY8t14WHQn79YOoYkJ9JgwdrGmjiOjvCStt4GQMGjK24UV0 + 1C2OOsk9ESDNFG1N6fU6v7qeM+6umMKUAC9XYjwYloE+WdG7w8rRuoaDO64xeqi4PAs2H8SfJ+Nw + P+mRbLnBfk8oC4JsFyB1D52zhXJC61MFtWKyE0UxpvqwsSe6XhB7p7KpOa1tTEUQHnsi+WlbRimS + UZNLlGUEBCQfEA0kB7qHdEOp1O30Mo3Q2Dv+7FtHi+L385Gzb0A7XZLpYVZKt+DJfHQxFFO1NqMi + YaCWAuJNbLmJQaFzhYEZirpceP7g5RcixgWlFM9gPO6yUjmtRUeoAh8Oy+kP0NCKGTwIuhUdQoa9 + 4Qzd7534HJmEbd81F6iK+Of76X283n4rTfrEeJyUiywY4H1B5wtBrDCYfIGpFeAdc78qaVsPqeQg + zULx6L8m1L3Qc81YmUKTjpPYw5MzhgyQLbHHcyj5BFZWMBOI6Nn88elH2hXMZAW6PtVsMbNiX1Dm + dVVl4kU3ynzJnmyxYn+Nu1XozhW3YwsgrSPIVU4TLNSWyMZGgl9IRDmpqqhWlSZFBZlEyTbGtvKh + zsWUonCsuKoO5/axYXbgNBOZutsOHWVIRJpkHIwv2erFRHKYD4boWHNP1HISZ5PsJM5VlK2qieZm + dR09wLai7hKLaR/G0wP9K7c2XZQN/eE3ghFngYT5Zl8E1X/bM9Z1OxOqZ5UsNxhybznCfNZISVJ0 + SG/SGnDsxjZYfrGqHjK9HPMHIuT9a5uNnKL1hGfsqrXR/EWBqkc2w/dv+nb46hI71Tb+FZNScxoE + PUxIOVnupOUOGsYWUMlUVQFpEXckaaM3vwoF85142Dgf5qOMv8E1fm5XRLUGKp/S79vdux28H6a4 + 88gYezkZAwKANHIPSZJIv4C6CIFhdIr4DDaSLB5q4Zj2uFm9fiw9m6wZFwjdL73gNMf0QI2YBpv9 + MFEWxfT3RkdmKOo5wxMT/KdSy69jiD9Yc04FlTRZSI/PrKMR/i0Shikj9liCnEt7IvCH8MpetYIP + y9VKjjJ3H67W2uCGtqxEVu+N0slnPtAIQF4tDElQAIlCksmQz5k2lvcy4OtLSLEv8AIrKnZWcAPM + eTu7RFe6uojdNWfywY4tErw2KzPjgC8zk43LaYIvhGsMStduXg0wkq4mosl1hpPFA8mlt5L1uc7V + IR9hobnbHQ8sCVBHr601BmzkxXWcy0F+lh+GsCBxTlV2Cg9xTq1hDd41ukp1KmotKWY0S/j8I2S+ + Qv5HXCrbyBoEuj5m4N/TomXZuD1ROGzkpUloUcSItRr+lrtJBrcgbCEYxnsxF4MSt23tNRMpVrD9 + SHghwH8VS+oOWA7QRP5waNnQinu7HD3kgLhyrRvOjN+7dl8Dd/q2tR6aFfIAlJ2C4rCqjLMrQciC + 7ybGchFPno+FCQvEocM/QCLVczo2sTy6hEIpmG6nqsDyY4Db4oeOIDH5s8+G77ZQhBrfduMGpdgF + GzdPbz1gTJk71rX8dhEDAR4uNmNdNHUUAjvoP4yYdcX3Br5TKeyyr4k0j06zMxrsmL1EYyz2HJs6 + vUxy0TcLwJnAeX6gqLpvBco9eiImeMoZboB7GgShZL2kWDeaYSBsZlu5xgNBAVWlYqeBVNu0YQuM + 9JX1zvIGsfPSJ+7cvvm8lPRYtTufyozsdqcw9AkgRiGS3dW5jiBEVmjCC7eAnZNP6r1hmcPos2oE + 2/VzzkwfVdJ5kmt/d5OlRL6HUxNE2kx3a9Ni8qlk7/uOsPD0edk2m4JjzemOzOoLUAqRKZRhOr4n + JJiHrvIQCPxcuJt2TQsZFgqt+PY2fWdhmYTa5AhJ9zFGOVUXOLiLiK/QBZITgNIZ+S/d1UYLI+vK + uz3xmZ+XzAyWmTOlSe7CTap7gkbBjx8zVcSKWCieZ4Wp15dkFKCQgduvFrt/XjlzgTLkDGWk6Xzd + PYnp1sAp1DWp/L8ENiH4a675q57nJBa8bHnNZUtmmzMQRlwN9KWVgUHOJHCRnVL9E1bTnSlsKLo8 + LHFIf/B5Cnsj9Co3wYk6Dy8p1jfRiIRFN+5A7vJ5c1T2Nstk1D90NyfwwJm6QJdvaA7HEUabVHn2 + d+kNTOxubpWJ4h1a9cZj3A6nfm6TG9LYyr4Ii2B8e1+C7FPm82GpSAON8kttbpRt/gmEInmpeHu7 + SjyhbPCJC2TWyCUcF1DrhL7QvDy4IZyDTw9vcGNfHG75VBXRVtp3CqmsW+zhddmi1BVIN4Q9Mjdy + t+6eqEV3E+6fkTqLFKiIlpCZmspE/tCulsSZ6RQ/6WrisdT4Y3LIwAgHHdaZsXaq91ZjmylN6q+B + 49rjUw8eeZdHvohBuTbDGq+xFhJ+bUsSdYbkUrHCuRolP2sZKW681aef+8rCOtsLsgH1VPpmBgkp + zXJgdJdVbt3PIm5lXuqxHoh1aqYdU0gey7jaSgV/7c81ALIqlD/U1+XM4Q67niAGb4BXtk6K3QB2 + iE9uxczz+/qEORrqgMfBVyJXnNy6YgDu7fA6H0GkkzMDjclKWk/aDl15IslyyvVojPA8C99eAz8m + Uojtra/DQeri1S0utdKfLapoJrYmCdkTsguRCTOZM6iidPgIaT6Xwmjrk0FDOXxOJUgjx0N2kPZn + TaIAUkGjFL+LmNvdmpDHvi49mrMHj7PLRW5K63NDbX0ba7JtskwYZOooYsXddAgcwuqwHmcwXNvj + zMPVqMSFSptDmn2CuwFozPB7c0T8BbCC/vzqIXnSpvWnVGL25JVEvTe/2y6C7F95hgrGH5b6I1kz + jDT+SOseKiKWZEmdhpUsMt4jeSghw+MA5MdJwmpGaLKM687BlzSIJ2B7h2ogM9DTcyxDBUoOeVgO + /tjVO4kWHyQdXVtaCma+BXvaSeEzE0QNrk3GS37OrpNKJuqgrNk0biuor0BhMLBPH9BZDVrFi7cZ + mNDSaIO0lWJnc7AOMoEY4L+ADuY7pkr5i9Mc75oodQOAWQzGJiSZUcZQVjkfq7njKfTzUJsSVZcz + YD6tHScmzmz1CmUJ/KSSb1uYfXgXurMP7wjvn5+oV2odZR+9NUCwaAGb2xcDEMO+daq9MQ10cVrM + bfGZVr0zdXW2S491wzm1U0nVX6kAppVU5aucyRoNml3bpUIpdgTL/sGFx2QQkK6emG9+ShSsL8WX + 7p8QGUfwZZPWMnA+Cfn5qMoam5X7zUyg1emdYjYq6e0BVPGAOlyCZ3u6yUNnS8pElLcGuE0Pxo9r + nNZXNEY9ml3THbt3FbQKTz6imwI8tTinzAREZj/muCDiAZtDomNNN40dPiG1r3nyOAThFddGnXrQ + oa2eQcECcAbZMYiiATEB/KofKLQE6vdlTNeKP68uYuEgxtIG2ZTxWZIxMCX7XG00KYNEjLP94Hm1 + r0J7HBKAoHzXVahCirh5RZrx9K+hU3Y3YafkuihHJuuds0uMcF2hhW/FY4+bczVsfXOWXTyGagSy + GaBbtzOmxuV0UJMHexw2HXUy8Oo0DgzKzK/ik5T5c7EcmITCwfe2bIZR9sofsyrOD7Fn2EHZ87LI + hgG9/hl0ran3wEHN8kTw1/peaBeEg2CZsxEBUUtp5wc2uWetvzOvPso67Tkzrty09lsUnkbxL393 + BO5fyd1mMWQy0Udq751WaOb+i7bmsOTfM8CiCEQTH9nPMQH8+KwwNT0Wq9DY/TbTLimFe6pfCvzF + QLbHLThIXK5huo/m0Ab97j2JK/4hWun9Vv6y2YoXalEKaxe8mIhHalrMx/Oa7xBKBrJLSpHDXP1e + y58yAarhLo4nRwEIkDfJonN2YdDeDpmlaMjpu6FH67/ZOSSHMu/71aODyFK1TiBGVlPEIugAobvu + 2pqZVGWvQYnk4k7wjBY4pCvrmjZ95OGXJXdJKlhZbctQW9qC2wtySafWc4GLhGud5j2OuCNB6aJ9 + fwVpnKU8uszSWhqWxmGpCLHUkbODoD4dGi7za6ijD/mCOdGXyX2r6L5nio7Z69lBKqE4K+FnoUQt + al1KED9gh/7yoM+hwTJHqVcWj+bkZgLah3T0dkJdcb0tawrRbb3qhse0V75g9rzv5mzJQY63Ad3P + f5ZRS0iUXCyQlaqNAZtHFFh+TX7U4/dv3lSaJz3nMr85V6YCyJqp7UiOJerRvVpA5BsNCNJs0DqT + YEl/oWwUHvz1ThtC67OmQIDJ7iIXtVLhDScBoCYS87Jprk8AO49nR4E4slerBSWq7kZ4DvLX30RS + VQIBjtgwFxPgsZHnrG/7X95nxBwRO10IPJBPEmLiNzF68aeeVeHou9fu2HmZgM8mxjfX4bKKttMQ + 52j3H0yNPQxING8PoDTDjZrxWns5NpgB33PGMfVi9859iVsqvuVfVj0mMhHUD8I4DfGT4QW7FUJb + IWrk1X7EPCFI59uuN27I7scVlD96HW4tkY42qKxOLGUSsAabdoO9arvnV78zojDsnnSLtXdVeAUK + 8rAY1bsS+bFRd0yLUzktJtFlsqNjvOJMcqZcwXrLCE6QJ+TKNuZgwzYq1PLCA04p5Pfi9KoB1TwW + NIkOL0O+UT2YAZ3rJs2wK6xjcaPpHIGOrermbr99DbLlzcd4UgvOEwqoobdXR4jLX/cLJo/Tr2cV + m4qQmoKPBHKV9yzAqXtwh0P5mARbDOyfeF5YXWp+LVXWKzfzl1QZ9bGTOh3ex3uvmOVw8FN1EbEQ + jL7baL5vi9HQIdPhgwv0ImB4NpFRmHlAtwDNrw0HKFTNIm4MGKkYWXxo8wwxrrOdoHVWtu6JZWjS + x+wt2t0rPydBpfAJ0xN5UncJk6Ms1kF5zbbQKAGZfxSeQh3cQCoQi6ZevkxoZIZd2XpXaPrSAjXh + dU6Qwsfl8cOTcRNTMaFaqqEEQNeBTwzItd01bXQyJSfgP3SjLdNE1W4xvOllprWEC6xnflHQRHo7 + /g+CCd4SWOZnJnYxc7fWGBjEbsJpdHSrIGH3yMupCaoT3u10pvX9EYgmeLyXQGIccc3mKk7UjZGZ + B0btbFsWbyZk+A/6Q9IV6WmbZ8jb96AueuVy8+tAJFhUliPnnmGXP8nziwIBo7J6pAYz4Aqd3Pcf + e+UI1ulGc7W8MLr8p9K0kMgOimVRjIwz8RZe/eWYLK953sTeBq3kOxdjwVv3itfiovMZSWvu2OTL + xtjgZlTLD7bGwksKytZca+l5kHn3lkannxePDSmmGzplGmUgG38zLvCy+IbOf15lAMGq+5GmnkAx + 46iWBGN5Cch9p09/BIRU6L/imdUzWXA9D9AxyKQ4bb7WacdPt8IryCYbhYCnNdKQ0/C3Vf5dsOVt + c8WwEQnK1iRMrb7YeZzildQI+a3QhfSYOZpGin33wcq0/JC6eAUTCswZuvsZpg1mZRXyBt90XgaJ + tmxG+NZ+Y5z31xh7FopsmfzMTp2S1eNplKHigFLK2c860v51c/e26sI24n5PAOPVmiuOJB1xqJ4x + R/vW9UTqVMMQ3YqaurZ9p5j0KVFa4fMJ7lE8zOQON529Ore6ASAD8p0HxqhtUG/buCRtLrSNyAn6 + eOXa4Dho6mClJLQmDTeQ9/dDlOLqKChkKvHUFBqMYNjETXt2mrcKTFlXRjbrrscaDrp6SAlDa6MY + IS3IcLGAo1h+JRLLX306vaFJMcAcnCmnrainixXNsvnfoyaJHvWiSCBUwq5TG3/Odk7shW51NQcm + 7iGk25cYj7K6t6D8PXA2zoDROY+UL3wI7Wp+g9p76GlcUyj4zyg41EVJ+y2xjFimdDRTMr5mpRXB + l1j4VfXGXN9eGqNa6jxR2lqbSpTIJHJhIDCpongSrg8aZXeNekomd/DygM42jWWkH+J+FbKXv+1w + u2mRKpzwW5b72Yf495uWbzFXr+EplkSJji4tZM0nzN9s0N7U7ysM3nGTC18DQYxI6ecFWOTd6LuC + g+AC5lU0tq5uUPPz8VOXGSUKthrn0ttZnaWMqxzKDNWl7TA2nZkESNnp2rLIikwte4blh6js8Sno + c4dMjL4SsuPB6OefGF09pAs4koA2Z2hWXbQrKXwEoEz46QLgDHFk7fc6F9f70asXSWgHhaiJ0yrQ + nU4VJItTX2pqTlPBxAJhA/Zz8hocUmmuBRxi4Li+qBXkxnvi8roLpnrM24o0HlPEbvWafI0ZD+5C + AnkKtFyL8ECb+5oPJdt3cc3j7y+YC3Y35CAdDEDjdmgd1M9GNpIaayMan6ltEf6DZGQRion9YWny + FZ9OhYPNtr/5xjpOPFNv5q85nsuSDGm203ONX/qpYOYao1wW6wov/RkblfV5YjZTytsk6D3ICQ+h + PvgZSUC3BmhrTBvqgMmtDxfTe2aUiAWFIUP1ZfMI+pvhYbyM7Q4VkxqovFBr4fGYo1tGorfGlZdx + pqVNJqPxKgh2ZXdBu3zlXyPXwIpnctMWoY9ozvLM4Z9NuPKYUtJfrRJd0hHcj28fH+Bhdrfd5fvB + RAZ1xa/cNPUmWr4FV0HH1anXZ34ck04c1veyn09Q3JD96T9wZnVJI7w/GToHFYZ+CHx/7WzvtqKA + /o1BcyDIcoPUfp0mzGPWF2XqzwjZbWBDBbJKH1R7YBvvID76LJV2dFypHLRAMPoFVVv8QUEc9bUP + f+/kHn5LsGNDxGqAf7ia6mY4oadYODFVF0+SvMve7JxoFaN6qF2+i2udMCFPfHrBk3lccAUsjwO8 + HOwYJRnradV2A6kH1qkLDQJ5pExfCHvA1QUfmR+p+mvYikh73p9UWXHr5L+qbgmtW0kunUXikDPN + WXbyPWgtPK2mgDx75p8rmxfAzImsMK1y6MmBMeIEVymZUeBiMo0uYTE918RqnFpKems1Q+2db8hM + BUR8bg1N7bhtz3Fs+K/YVMugI1+JDyO65XWb22AghH4kdnmoEHcA6eblTVgvPVSkUoaaBx4yVpfh + SQTRr2Xj/L18RVIIg54ZS2pVH3qOwZ/2TerTwvyFjRAx8GJToPUTov1Flx0GyjN9HS2gNZmejauE + UODXuSzovEDQg+Pf4UsWwdC3rPcUEaEQlwkM0IlHiBvdwL3up33ypXy0+9T4d4XbmYaR5+ZL6rRv + PMkhXTzVZ2ZnbIieam55ODV+h2i6LXgdkf48vmOT0j5KQrJ3/uAQNVbOuoyqlnp8wyCK5NUk7eyC + wpCZjwGIdMpC3l2cmJaImlX5PF666tY91rfb5JqOEys8a+cXunj0wzXANKI17uClar1nxw6IBmK0 + /ICyd+eTVwNPT3MwxDU8OOgYOlAT1ZoofvGDwIiUjhZLiI+Q/Bj2g8nO8WR8R51FmctNmEaWCBJG + p/F5pSDDKkEyilLWiGfL0YMMdIokgMNQTm+AJtrMq+ogJV21uUPTjeZ1o8dJ5OK7Xw5ieyFCnzTM + 4p6h7eDq6ers2IX3KAylWYprY89cU2ADgwzC08pVgEXfb9eGsT6P111SxNbd/IPV1hsLoTdYnLww + /qOX3FsG2Ff6rahXFqhYPpxbvusYLQusFTGyVc0TSg82ds0586c8UGRjvuhoIjw5pQmU5ZYE8UjK + lZ+S4tAcPDbfwm8lyZVRy9m9Hx9PmNPCrH2lF6vbue1ql8Bufce2fZazvX4PmzfzEJFT+NxcqQrd + ZM1cFJhHGwI9XAoG5rCxd0OvTwpftlDzRJxfByKdo70q+JoIKECqvrcsyhLQCSij1QNqZqdBPuxH + HODVyHP3DtN5G68M5zAR0vDCneufVJB6nnkKKOieK8T0EpxEGlcKOqefHtFYZSG9KiNNFHaOH2oX + vFXY+Tf5gzEnkAHy15ilggf0qKUAdVKdDQY6zlYBjGf+ihfvtWCgShfssbLGiIY2OLalmkKdi5pm + dAycBzLC44JUeaPLH/jNxA6xORuWGMuEVL+aTgA4+78wTrNGrILIKjXrUvgWSvhXm/mCi0MMDTd4 + L3jybALAz5rMTjKU+FRQpCYEWIlIYolKj3rfg/gTnwmPH7s5k+5GqsF+rbL3FNBm4mSt5sDClMA7 + +Ek3wEVTfxZtb/QHklIgoVhWyCtHFzyoJW3aAUjpCI/0Xc3Q7X2arUo6GZdaC6bdEdMfBnbIX56Y + qTEEb0YKEVYYBGG/9MLaWE+O9Ou7p8GPu9z585TaSBgnWmwrJe8zRKvTnY4YjhECekL1MWU+AFXg + UX+wulW8D02NWV7hNHdQi8M9309H4CNEBZYT6PdO+6sIXyhgKWpLKpEZrMwgOqL100dJER4jIqqx + uTfg1Ahw1I0NvgBGm14HAzoVtjmG1y83FeoxxFS9xfsJGO9D4IGwSrHYttIoWymKND4gI1EH1ggP + A3IcNSOK3Jx1oYRlmjMHyaKaw1zVaHwlKlCDmfDtCemtkFwZpSg0Cq91ur2K2XUuX3QPY+wfAPZx + 9HVHps2dRU1RtggDE5qqUqAdK+NCea6g+ul4xpc6WWFlActJ5fh3hns7Mq6+PHB69ElHW/gqABBu + YBANS0yDib4of6Vo7FsK6bXRETfbCn7fQKTL/VzU+pEfIiOLQ822cKUaR9QYcRXCnvNt6qTRtbhR + Ht2/MdjxY9GS3c8dy7Y06FvtDZLuqs2GZuXts4Go6tJGQlHVx8NFSRtxM734xqJwrDcOVgotZSds + dRH+EyOZD/J+HJtOW56lWzvvcbp6SIQfqeFJtcuUpe1P528wulwYD1vnBvFgmYaiFq5kvwa4BJXQ + ZG6fHwKpDXff6tjdiwEttYl6BesxdmtF+snhL/b6vyj66qCuaJC/JxQIo7HOEzugInyFOpDJdV/I + VoSgqNvVr8+jLzvRIZMGRuebih6qgwJtgGqNXYBl/LGoZZthDOfU3Fnh8VrsUXyrnkstWARnw1+r + wsYqXFzSxZ+2J0orGenMnLVJ68Li2obBk2jJd5YM4kb+mdNsiEYotaynHcigIq/Sg4jF3xhkhYHT + ZmJcgXyVYiaywzHC+YoER5zU6M7YPxLTrYeYJ43yCY6GcQ1fCSXBq4kPr07t/jUoW3aqWdUJfw3o + vrTi67oChL45gGLu25x7nUiI+EpuPu29iHkGTtB3P1z8XnJCtWX84XCfB7t5h1kd7VsZhx3+4biK + Tu9eOG4FEKe8z5IH8wIzzcGqJQj3B8fJgSOUFvI+bQZugyo59pPugv1AO9lueiXuPS6gZ+eJJyuL + cRltqmn+yHbu2xUG+JscDzt6I7Zgatc/i3xmVJryDUndnSEjKut3TclD03YYhGKGZH9kOjcz0Zia + h1vUrFQRN5OXcOJfP7I04DfAA+MVig7NZUtL8VKcfzL7sh7vXlNXszUTcN/tGJhjn+nyr3WonW2f + C4CCdMMc3pBvbxijdxGgfWJqEjLmiqvUGKzqbFRPml+7gKBz6jlwR+u3HJ317qzJ/UxobqXzsZYA + 0TlYe0YLfHWlzm6RTwhMTffp5rGuVvAbNoDyYCBVRRX4e9nfnNX+rgfLBeGZvjT29G425pjFM2Dz + DDt+uXZ7+Pz5T0fNCMqWQILTWZ6L3VZ2zfePbjV4xjsQ8DyUHlWW3n6NWtAB4In8VbUV1FXXOj1O + H+vQQwcsgJSM3hMrm6YA4TS50LDCyd5pWQlAvqpJTMvNNutiJvKuqITOB3ebdHYtmrndq2i9clz6 + kMcL6pM8YULfndjpbQRfO7xgiO4W/dAFnqglKBcgjx78zTJoVV4NnCOTWiWNHxeGu9xvDTSpQNCl + hm/jx/0bIYJ3/BxdmpG6iduX5Xm25GuwKjyxXJS/pOA7k088Z2f0TT4Hmw2ekOMIW23RlX/L/M+S + SbE8KecA/Lrir6BQgeKLuc9WQb+s7hoTwQCx4HNpRvyyfIZbsb386w5Oa75u9AjGKrUqPb6n6Gjp + PPRU3c+wFcZOOvAmsFGmdnIPMtBry8i95fjb2tj4x63UeHBOoysrPddf5czBkQs8jSRCkpfbj9eO + kQZgdUpYpTE2F7eGjoNd8Xlc8sNs+hTIs0inwfwXOGMuUOexbsFNTCmdHdcMu+AId+5aB5awpqmf + Xg2QgAIscIwBNHfAeN3ArM2WCQHvDc8XXRImK3aPzMD+oDRLY1MC6nFxleZSzGslDLGNZhNrj0Y3 + XOP6Yxb4PGnZjerrUYb8si4xMYmXlRA37e1WKz58ggiN+WJ6GKn5bPMArcdYnvnr+iKLv8oWT2Xd + EU9XAYQ5xn/EEbupiNpZXf4l5p8XLalFPCkU6fzC2rrhKzPn4sy46gZC5D08BoWpCnLVYqrmMc65 + LT8MtxCNx7qzHg36Hf6i+XBgNsEF49/pOxpdmA3bqOhn7lQdlb2L0jonp/0d8VFDnQ53FAWHXFgX + 4xWshZrT5CbyXBzSMi8SC+dVyqNnRpIzJPQzmJKfLjVABJbIrpb1lTxcd8F7nuRtlN3i7LlKN+7t + d/MjfZdTCxW7yxDOcYErGHXqc64H7uU3HCn1zVJhx4iOem4wBCHbNab92Hx7z9K4J0vhetblH7Il + /W8fWdl+9sThxT5BADOyzuSNtI7jxyRyE2B/pzfgj+MkIma2IuIWKzA/6l5Dij8BFwrDHDdGM9gi + /eTviQgEQq5XGm18BpcoqqtYZ/VwTr8hP9sw2QlTcvUmOS07uaNf4EACQOZjXitnVg3EWPPRarPl + n+b6NHReNulFpWY/DC6ZIRg+IVyht8+oyeUctPqkAyJSu6Re6PuHB7l80ePOsU3mP8miVVRgS2uD + tcRFNubUd6Da/p5sx6UnGRcwk3viJ+pWJMjmA7Dg4XdREGbNwRlE37DOZlpKLOq/hJiMmgqtP6sF + Mk/vnfl1iHcsczVzjbjam/0P1HQDe88rb44wW3tOJeFRZ5IlGgBOK0DORDiyZakj23oMjnQBAPQD + nh1ILPhzm5xhx1Atz7UJOjK7OVzr5itjhVixMPWGtSUmxlSP4G71Wzrij67d3V4KNt+5193ka4QL + i30iNnC1wHNhEorNqN5hmsbgkZDt0mql1XdyYQTbbMPxc6HYpBSvetGdMFLf264a5O/5LYXiD2CN + G0SqGkoAqSxRbUttKSgp071zALCfG8R64dnLRhnxmSoI4a5DG72ee6SNd/qw4JsUTGUzwiqW3fQy + L2LSyQEO/s7ccWvdybwJVlRzihPkFymWiVrqda1cN/3vt2GjjBFSXPx11G8FjydaZmyka4P51MfX + HGHqLZitbaI3aE6cEK4zFV3ijKx+lmts08RYSMTX7KfDJOPjtyRRC/5ex9+FffOEEvwfi/RyCdXm + dtGeVV70VRO9ZG0a9fSUiuAgCo845oquETjVwxX1WwLqXguyv1o1gIiJSR/EyQae1yJUkDWMKl6c + pKZyPyqj9tW9c7Ry/MrCDKeD6R3fYQX5iTejNeaPuIsJvYMpJJhU30CIKncrhY2JMZYjB3IwXa8z + CZyDuT9nZsX0oAV4mQjgubvJYK0zDuQ26VVzeZKQMRc/xTp3fksNUmdaOGBcxV2IuBh/xect+iOZ + XuRfs0U/o0G/vKyi5msCQxxQSJipeHbbjqYsguCjcqhUrIZPGOBzp+2nkLRns0rZt0EzxlQzKW93 + VbKAxE1QiOQw+VXkvQNbhJmTnW9eRC0QrUMIRf1IkTSzxwRgsKnUTdMjoDxs+vnPRkLIQo3av0kB + D2VBJwFjSRn+Lo80IhRLzwwKqbHVK9lcI8QYVg/fefESU+fPXneLdKPEdw5uQa7SKhTjU+qABcda + LUGTo7CxVRMV4RKNgf7Qmi0jtusY++AgFYL0enTyxaJYHmU6ob2ySa3rfvX0qU5+N2bOBNcoHXLF + Ou83uTdvaG8oH12CAsjFu80suJANYBGs3yYt3dqKyCVDlre5AgzHAbiHMP3FiaCjCdjjyvwqouhy + xtcQaLp9Sc0mKYoT5Mox9knyj7sAZCYdhyDCHPNrb1HIlOVPy33j4R0VhsCnoydLN37o/XBx9IG6 + qv35tD38VFgSTGsQCBVSffC8bwqO9Ahde0mFsXRPyEkJNMiEpAltmcjPCA1VZtx/vS4d3yZj9i5y + nb9egM261+mwt3cJlLVfPDqtQv4dmaiQKS2uefg3xU6fLsgkYovwjo6pE2p28eZRObGWPN9YWJRn + k9F5H7S60wE3/RHvAPRkjhZWd6QwDWZWrxpUkvu9sUbbx/eAOTcos0RuWsoG1BgWG+lMCMgvhJVs + 3ZQohFM+Xnata4d6MmTQdwH5qy/emJb07hTcT7MmJCMhXfpJiyJdvNKrHDNhxJHvTDojx1ZZlqr6 + fntpxjrBhKTQWMhephit/HdRqnWtYO1g++VNw4Qeys3CoIUEHj3vAZl4p82KZwncgUomIIAIHdtL + RnFwfKxS1zCk8j7Qtm3kkLhWdMNmFbqWF0Okxn8Ktx8JLsI9LLh1BjT2BU9SdbrBkhD6zww3azB4 + YoxVEgjtU/up0O+5UzEmfhb5XYH2RIYohet0c3bQlKP3PZLBirota8gZba7FugRRjzM6X5m6Ysh4 + 8STVY3xoaQ5BcsyBya2TT8lslI52g0C4PFL1mRxzlvGNStqiKwSgAp9G1M8n8WSoKS+C4QMuuAl2 + 13lOJBFv+hybrU3Y7mKTybKD7UaASg7xj1B9WySL3BFWe/R0rIz7wDBzvtP2WuqCEL4ERBtF6iNe + fqmalhwrlAI8N1GPceIfJsp2GZ6NNn8Ld9cuTDUucYA2lrD+pDXI1CkD4Ih7pW/jUm4kzvD72re9 + 9H4vR2/mK7iNab6gJxdssBk3fOGqawP++bu5eiaSx5+q72ZXM4Jep441rE7bKMiKF/L6H0rdM7VZ + uWhcRG0nx6N8tFSm31Ix8BaU9VkgySXFBjj06J0/bFw7TpjkN38O1eds2FBWExOCEKDx0IkRTfGY + 2hRqGoBFdw+E/bkv8x+Ym+jkam6wiK37174vr+DuyIfLMfhPLFPIb7b+w1zLYUn48OA8cvoR+8Pp + y93FtiSXHe4wSwlSfSouvhHn/ATnH/xKmz6Sj7diHfcMQY6sGQvjNisMQG6VE2mSCGc0I4qnYNnd + oO851dmbjETQHjdiGygGXZiVwtseJ+RjvPQufBOxlxBVvlaRsdaOlZUz9qcNpNXns0PYHWRipJfL + 89g7d8c/Ycz4HwCJXN4rmRX7rHcX0uZC9PKb+TnUnUOZvd/5olR+azZ0Oehfv6yZ2DrLRsJ71/wF + AgLEJDhUBh/0g20pZqi/qENdRFDDXb3e86SBZPNzOBkEoNA6LYUzABcq38+c9xzZE3xwPuu1MMpG + NqnDXYbgNh0YQuShXr0zYIzv3qiT9NCpUiZWOVcec5m1jDyoqeLAZsp9O02Z1esiWrZBbl8H3Mev + iQ384UsXGUCIjYRQr5tAQsPVo4MQ4iKg3Uk5doxW9qIhbkCvZHhFH0ijSwWylL6cfEQ4yGq4nd9g + QD5cc/Yg2zeZfUG6zAxWdAn1fYFIrpVl1UjEsZpD2VPsOu8tR3u9GCU3b4xQJeV3gmzwvglHd7KV + PVbXoUZTDwDjAv7cx3numvLOhxpfPFRAqeI3TxImnOF7Nrzyz6QYflK3DODBox62fqPWUpo8BnEs + sDsTyRnomNoWyDuYrS2ndL9d91cC5yDbSwSJsmnIoC1TpMawLz/44cDOsz41kfjivkfAnGVfw2RA + CPK/3cTB7jV2hyWicddmVR6Af+lpyTCe+XXh19s/K62PP8B18oOrElZ01UgcFNNgopc4bgubHVB4 + XrQQVHWwSVa2rDXysx+dkBEikZXz2NZSfjlfrulkE+QdxWG2DkHY/sSvvWJGjYPUoex8Yy8TBJUK + u5td4uZvoa+92oKbanzFTcQZV8atUlWoXGacBGoJs2jQuuIHHlNQha04mu++5gL6Hm+/z9IxGlWb + RjI4YfEmKuBhfX+CloyXsj6hD0ktoRN22rnyq6wcSXNDWXQb6JLo6dzdOxixDhaICGg908UR3Ilo + mteSurpQf8pQytaHBiUhqOGMH6tIrQncH3XIeCu0kd8ONUwylsPn79EEq/OZZ8vQSqO8eLN4n1Ig + kcTGIdSgzFaZcHhtqz/fyKV2+AHiDQEQ0zV7iCUE493KFG9j5pQExHBKMgxxAI3ABg7hnX4dQ2vx + M28Jk9Rf2+JM3pMKi/I/8nlDVg+c8Ok0vTOpiC76etxBIpDa8n53Y7Iwi5wPDshzJcPBs7x3Ne8D + voAcMQXXQyQMCPAW8ecTPHIWpZOsDdL0UQ9km/3vEyLmFWvIkE4IISgTijWMi0I1zvUBrSDXQeqU + 6QE8y4JbEj91DnI5LX/7Q+Oe2e4H+oZzoMaojlUUV9WbeI/DEyw1mgmt1LZumD+8UxQ4V2RkWMv+ + ImV/5aZBqoTBOpyO+etBM4xbOp5KlIeohgl4f9vte2sUZMRs5d+vdZp9BdwbuXlEuLppYQUI+pAo + lJObpis0CpPOt/emeq3TalE1tBKaS3vV9sMHTKo/KCRanT6pP73XZJ3Kqu+Ec1RcftEZOfZ/6Zjw + I4LTalAaic1Omfk7gmkWOgksk6NxKRtxKGW4CbU4U5EY08xick8kH81Eswufgmx5jywVfJXBQq4S + KIWKQnSUJiR68FJLqD6mtYbZcWiqkJGlsXKc+we929vXz7ifAl0nN3rItkor79Nj/hL4ut5TqE6+ + nwgo4fIYlbdEL3SfUBCeccqUTH3GfrdACn7KCjnVE1lit4r2M+6jDDV4ZrAcNWsTBliDZVupQcmE + +KNyZmOP6QoQjLdpXUaCwxHimgt7hPGO6LQLYqDmKTHDmVRUXSmx9oUFcKMFSnhYCC26A39V6Vsn + zrRB5AbG51Hk5wRxMY6DAYj3798/oxvNU6l0KJyMuI3f2SkGsgqkYSQdOQsk8JLEL7sldHbpb7/d + DdY/0VUu+nQLrhN/+CICu1blOhTkTrH0pgCG48toC0zUhZiTjsN53B+9jN/wv1sF4gsUBsYcEPep + sradTK9A2tnDVxrGMyHBW3wnR+evz2q+4jHOcQJSfe3GbWRp7Q19WrvHRmdx05kP3U+4ANbynIRh + +tNh8u334LUEAkm45HBsLU2ccOJ+O16gaGXsxHyuJ5XAzwRK9VeCOgzGOAIuv4vfx3o7kBIqeGiD + VkWdpaT6zmsJM4p1wRtylqFOw/x6BK/kKBIw5gPUSBJ6PUIYxtuMaqPeZuM/OYD7F/ETqPvUwTEi + KU2g0MhdC170oAOMgji642XOEMdKmbw73ZUqkjCtb/YnotFhP6/DWb0pXUauahLvZJsOXepmpgGv + zFygQoEA7CaU/mMzE/vG3XT1eL2HcAo+nCZlizVJQcyfUTxr79w45evqF8xcf/wFfKqnL9+Csm0L + bnWz9mjfIolVW8OnHI5C4DZY7sa67wAulm3ICbMg1N6iC76u0AmNguhW3EivKOkWtEqqNy+dtIAb + plDfsIGy3wM7pHdEIVPPflHhiCqKlRJb5JxHazBJzct2fClPhNbkXnZOG7G33KNqOGwWfF7tTQg3 + y+TbYQuxRkg5Ey96Imnwvgx7/WHgR2Q31odaRyzuCSxeuYDqPmkuK5l0HIFi5qpnoXkE498bH9F2 + Xp/m5M9DTFmJzE09YXiGTuw8YVYCRMXrI0Mme4x06xDBqoEjsmiwmeVB4fq5cWtlR8IM7oUhRz+S + UBhlBqAsOqJsLecM6ReAJP5PwzAbMT6k4WdZ4FmJTT+xcTC4vR3+qy1X1BC4pPPXqKbO3/7yiQNy + 9l+46Awk4vDNVw5cgq3XmSEKeQ/90Jx86QIBp/xM4pQV3HAASsHL9AZopl7ROCqWQTG6mES2P8Ja + zNnJObFm6HZpXycqgVxRFh48+DNbB7yb+ALJo56cCmqhUAtBOKnlhg5/cvjvVqM/Ba/LkN0SjSyA + FyAuMbtASJVutzsZCWAELzvrPldiWT7ZTnnc2CTFjDwBedxVK7hBYEqyZMmR6RatvhOzJbESCRxn + RSi5rKIZdqLCQRoKUZfizXWoYmcV6zu3u6TfT8cuQ4mZpxvD09CJvJbls/gApe0POq9jSzpnS5Ay + C4SUfIk0dM3IQrKpzQRze9TISKUihU/tk3IMfvBGVdWQGQRXrCh1U0BBgdqZq3vLc0oE4iGO0qOb + pkh2RX0UK8tBZUSWArd/ZFsEI2Ni+drNk7Df7wWcz/feUcT1BXm0ZbFL1/71hLXCee3+67TtzN4q + Lwg/6S/WmZp/dQwmf7nYQUEp+o1hg0TmwI4YyzKwE4uF3KU/wLdMw1OHRIXccb1xWCAT3hkwmnOg + Rbi5LsfxOM0yvoxFnc3Hdqw+ZgzcYnUwvLJAYoBez7yk6z7PTCs09J9OAylXe72oGaukYoLxpaSS + /g1iMwRe42QaCjFkVdh6P8i2iMOYBOwaINQc5rOOAfAJugX2s6MCjvCMo4eG90a22S4IHC1JUU6x + EGXBmFerX1CaD7FMHOQQOdhpVn+G1THKRxAz8dnKUqQKoAdjt1529I6sPTZTEJvBi5BAjsMvkVT2 + kA0v3bg+0PgRMcdLWmmFlfo/8ZTANt4zMOc1FtTwvznP8UEdUx4vinl2GwqNfUkrRddxYu5208Cc + YgfPdGrNGu4l5WpzjEZwR1BXkBdm+JYRs+E9lfnq4hE9f/SdEIFbuLs2E9QmuD0mfbGzNE96bCM6 + BkfQw7UZHANMs/fTSb1sYTqLhUqe+N0firNkK3GYFua2uI6wxGs57d8IcbLb4n2CYiOo7RDO1pZP + UL++GKSsTtaKeghGj4udNU/V/K8Wm7BSkJVjyHIw2Fhb6BIuq/5urvjbLzpCLV+uTzn+k7UhH4hC + qMxGh2gR4jDxV5xxPwSkzKhkUSaSl+kthYIaT05w5E7HEX6Uo7QFU6/zIJOp4VrJdpvnUT0fAp+y + 0RV4d70WsYUpv5SzF86MBA7zFdJhLxfoxzFxjaS4kQl9bvTN0Z1gBFbRy3ZQS/SAJbadBZF/ufee + GL2IEazbOS7taoJcWT9g+GwpDQagTQGbWfP7hBR2zeYC10oW0/KU+GTs4TMYfSZ1/DM2YfV0VX01 + MpqbsJrSt5jYuX7iknE0utEtBYuF3q2gK4gHvc40bqqr4KNCFafQkcfUblF0H0K52klTj1yp0ICw + 98cP/thzVFTb26ok3wfdaj9FXEtYxANw5GovMZ3rVxE+04fQ1nPjh6JTAfpCcup2L4oaLgrR+Ef1 + oXRI6lTRdrad7lk3eH5chBQK1gUOuXt9a/Xp5ZQW+Ysvz9heh+imF1w/rsCf3JntFoIrkXYBX1ja + n2BXcp6Sm9Q+HySz4BaxEQA0G8oMDD0z5I5Zb1rVx7Z8ZRNpllWjg94BtTpY5IWHdA77YtcyEe5c + HdWAspqwTTwUE7zP2imFtNNePmTcIohxBIVZ26hEZNob0oo3MAikCMdKgePCyvSkmrVVuWCL6rfz + 0tfdWr5sqDmBl9+9wSUXOarj90CSokXYfNEVoOPL14attcLGoWT36Dltm7+P7boiSFuhstFNtpaW + az3HJs7RgFPuTVPazFQkIJVsH/1fPV4jLGVPez2UHRfOvEjRoF0yV/EdbEpEmnHFbohkvttKX7Kb + EPU/3LxzQClx4fVtWkjMj/sYj7XU8+Sm71Cr1gu2kDoj9KUH0F2gmUAfomsrCxMBtxXPkF3rYGHN + PuwUB2Wzpu+yGkjfG7dMGm1b0GWUIeP+yWD8JCOMgi2oYVrorjQme3YR760fTOctyQov1W/cqXIj + 3xJuo50UyCpw5X6DhZi6gLd9Go1ZP0VfsxuV2KHfK5c76OrkD2CBs6aVxoFJZeSZG05qUm1CcBID + F6kWxjlkGUBqhsnP0psL9cdtyhnMJ86wn6nMYeEltkYI8jbr4DDLqgYORwk2erXeGxc4taiX9DUh + 1ZHrOy1pedKahrHLZRLfoRH2chWwzUZ6oB3aDwqpO3bD8kLfvIdqX1UuHQQ0/bPZfBXU2CD3medo + SzfAw85zDj27RTIc52aet0drfbSPf46uyGhe53XKeDjLE48bM/nebTu+tLFYw4pz7wKfWZQvHMxx + gWNGVZmGQwKh9/QZG8wd9ZfkdagW2XpCHoNaQ+It+9Fc+G7FaDb9Cpnp2HxD4cCCMx7mXWwTo+QW + suqGRbZ7+TcDdFcuG2ikwG2D7jp2OtcuWQRcPfzwqvUluOSHrcGrtWz4P7bN8cirYpM+XNTzciUH + rAtoQ1LA6JvHrwDT/prsh7jRXMpj3QCfzciW1KJ9uUcGDd8kBXyM1IckkDqSw2MyUnKxP6Nl9oN4 + 4ErQE9r9zNFcdxyP6RP1DaGMcPvLe/VBBHmjDLVcDry70Tp1yES8rltlDGMSsovepORLCoZvvKHD + cWfibjpbStsFTqzHQ335ONgxWadJwnIcpsyQEmE4dMh1742W3QXomt9ItFZC22G9Dq/hjFpLZ33K + xD9Y8X01DKyWN2I5Cr6Syh0WUH/ILK43scr7TGxGrug1oXRjqYf3jZ37FJ3t9FAsjC8t4YZMgMFs + QAScaTQ5io4jSw5Jad1lr3QOOikoZDNl0lKjRDWuJNmjBnN61pR6mH0/w9e7rYD++OOKd498Lr4d + aA1JJY1a6zfL05V7T7j4L3m1/ujhOMfXw159VcTzBzmqdc0F5ZEAnRFFqZ+o9Z6u3jDRCv6HfFIF + uSjSfDLBrCsYRdZgCs6bImGGaymV1DrrNajWYnXSdDS8WPNVLutUulWtWipCqEdstT+72FilTm7+ + IvHEKwMWV0XIzGQWHVyNnD7F7HtbcOzx7hA0d7KacAta0V5bh1aSPW4OZmNqEft1CYXDYxyuYyW4 + 0o0710B7TQqPvso269H49wpfeKtxuexH+OlYlJ+2AzQA82dV9egxH8vAO/TgkmnPr+zkUo/X8PVK + SWqoBIzAYYpWONKhWneEjV7apMQi9Tmus0h3GqouyhAzantd9uKTLe7Vv4HGMYh+OfTjzRQLl9JG + y/j82iswUPDSmyoGOrXScWQfn/n64EcXcA+125BJsBxPW1hRfFsw1ncH/cF6zuaf0Iuz4uDSUe6z + 86PfTz4A1Fc+UjuRYPFcjdES1kI+hyvQ624OPJVMVHDWDcaTeHHB+UKDqnexZdSubFeiDQd/TBHK + kCrPWlUPMNLapBZxViEZuKWSqkVvg5I0xJuXbNolwY+ZUPgCGC85Dr1qEvLUgtLR1czMZmBfNf6I + +47sMDsotsGHntP3JAMNjgkfNknohQ38gkEafdkrK4g6xQiGLcSoqQNcW6yX3JNdh5LgXk2dWuKL + MMlxYVS531aqKnd66i1DyoIghc1AmJCefDqRPKRbm0w8fi56Ryst3WJOweRPEnehufIh/eUATw4/ + o9UQEnVnPlCax6nhk8nrdw3GhjGGmSod4FPWakV+LgZUI1G0zXESmyBbKQEWGnbveSPqhzMdxCQP + KqYGXGVykNX+KjxtKaLgbS2RrqJhY47Xh6TljoMsBnKIWvc3p1O+ScYNwcJljNcayXiXdGPdwfyG + 6/4UJw3Wz0bWaBcvfanh6P2g8LPFZb3OT7heJaSuqtYZO/mO9wmzJVcNARV15Rx3laSJEl9lFjbE + LiMwLdUnIeODHiSuI+y6KevxDfh9ErHpzI4i7g2OJxeOQDNA7MPTBi+3n4E6Y0TWgXnGJqSFMRcW + FtxphHzEQy994cPDr/nxFOVj9+g8gyMS1Hb0Lm0A85fz+Cq3ciYN2tp+cun30aWE0EruyTLHWKuN + BTXHhMtp4hWnJaielpVtUrIdpBJaTEL6DJHQflCRyzE7z60t7s6Kx5qoi1OBTwB28h25uo1PQbTg + c1RDagx6iq8sNbRmLKxGN4QyoEjxzeEd0OOp144jlae7nMeL71i28D/FYXRgkuoJBscnCxJg2psI + qGqB2pqzvx+S6M1KrExWgebXV/eNPndc97vIAD4h9lxcHm3rl0hsdKga2rThdzlsZ5VJ06i3IQBH + rLP1lcqjG4PKJjNltleaL8e0E5U2XcqGq1MpXs9rlJHeSXLr6uPD+vp5Das0XcHr9VLofS3qmLKM + r5ZXrQPDH6soB9aDicGR0XxK0NsZG19dnBD8U3C01yYYflGIoBwaZvylIg0E17OD6nzmIFwmhHBu + XQarX7Js0+kOIGX3ucaNmosMICRMeR2p0PmbZHEawwEn5xt9/cH6HimpGiNTrBCY9ApPIyys2Kov + 1eRkzEWvew8reeZnkCkA35nEYHjivAMFGbihYt2htXnTC2EiELlZ5v48+z/ycufJTnGr+TemkzFL + tsqM2TBe3M3nMSTJhNoYxbTfGXW4C8+eSSVuMvf2AXtdhDhVUPYalK0K2ogIJ+2S7e3ab91TXZgI + w6jAYBmPqjHkEeGuT25z4BbY80i8ba24ngUpmAJl1JIYSJbRAhTJJ+BtZg6V+RyAi4Ms3eJvAbg6 + +MlAk0oNj0Gjvj8HprbY3l2pDsVhTBfRjPyjM0a1NcIiElbEHbCQVxWEcH7DKHg3bvymUrfHFf7j + cfVf1KFycRgfNu7RqVU/imGk95OJMBXWwxOMGvKXcF5TLpm6n2wE+GEotGB+1Z3rrxgfGdz308dv + jF+7mR4KVCuCJnNuUkcNYSgtweHL4S/N1KChlckCiiCCyEuYv8O9aJJOa6TgGKts+ABHNUQMTRX9 + W4W+cFaUH2AjTkQGywzltas16q4YHUZ5O6BYvB6CRGRWqJSP50NpPc+7JjuagEdyEdgiStV1aWGG + bN2cvN7Z9S6g/WJ928V+6fLt5OW99nvke49KxjFS6MrvMyu72PavRooy+AQck+Vjy3ATMyrnxRDc + s4HudSYisTFEjclz2lh42JoH9FrnOOyNE0zCvlDXhNIr7SUC2NZl7hgyyDtRVHrEXuHe76B34k4A + qWSCqh/7kWahJpbMDWUwuNGhj1FMElBEwN2hhQtWZr4qOHVszfc9a22aY0T5RPyQM9ElKJ/NgBH9 + BIhkYCmPnsd8V1LB/H6HTOeUuBMuzLv9glmwNMoOeoLg8R1MbahRH3+R+wWa335dbSEzpb48LGga + zu8RH8AGq93ZxI4qsQndxK5WHFmZCguh2Ox627eDgYb1PdgPBRZEC9EQ2lUEjIWZmWSeqMlnDyl3 + l+kkTTsYOdHfP8K4Wk2n92BN11kecEOfImiP7HG1QJfssM7U1Mv8kNhpctuPXdnAWpH+9DBXSMPT + rYuPwGvTlb4QOsqAbKqrG8QOS+MZ2+Nm/LWXbjX63Zo+gbAHQNPxjghwrod/wJxyrNhbBV86bdpE + CgimjNFkxN90tXHON2clZCImLydNURk6KQx9nNtnQ/1ZOWS3aiVenUDX3JNSg9Bbe8TbFFSwR044 + gg+E1MyJwtM4hT33c+vc53nhcaY0CxoEeCPyjNgfz3Qj1/vWtHr7FIt+bXop/NHA47JF9WaaIOB3 + cNT3II8gCRxDM08TMwdt9D4oH55oSYauKBJhnO0ijuVaygm1uCE98o11MtCF9YkEitTz6/re1aDX + 5XiZdArII3aUZDmRotwmJfBPAn61SfGq4U3aH+gzcoeaZXboa+ZjUnmyknMzdZ1BP2xGcQGh3Z6E + zJp5M47w1LzpholpZqJ7aLP7VJeplJb+ajdD0K19+405yJGVqeStAqBqr4qtci1awHUYSgt710n3 + Aa1vzU0lxd9V9a8IXMOA4psddgyrcyXcDy2U8sJKYdeiKxKfanxd4xfRz4+MhU6Nro8mmBKBYgZH + m7cff2azPwlbjcf0aaJscVI4kHdn9BWQce9A31Qok0b+eva/k2aJV2XLm9h5VZBvjEzKgflgcKv3 + 5Bc5DV49gvuocZowpoB4QZlYFpHCehwN7hOcNPB8YKTLT/PmqGHvaD2HhEf1ZUciJJeCNVGroiHx + uF1WZ8GmXwU3S38RryhYfco//k/kOCkU351GDmQftkY/PI3ZPn8Z2TDV1ZTD2ADsFLXpismeqaIw + VeepiTiuxc7r+uxX2d6tW6SZhTjny4oPCY6eM0bHcI25/fj7qxhwk7G8sbd8tbdLhb7bru420HRP + dh92vj9JO5v4jFIMdvwcj8Uq27qcOyfQGYTHApMFAmjvULdBIGRJTUwHINgO+nvYOlk0xfkLxCcM + DI/qD6KXgjDJp74mtTcv+oVeJrmvVAk/pu5g6yya1aAFVR/bMIrkiipbOze6rgYJYaEJimckS+3T + 8MriTJjpvt4xebFy2hd5LvQOdGCA3WZxpFt2IWb+c5PPNPTRS4s/gONgQiUbH/VfQXjVIrbP3qFx + ScYFvDeCeXZl8okK0HW7MjA+z3NlbBKz8RQ+0lzgfE8mMNLqIeKLCG9HFWmj9PeSc75a/KXwz6WB + B8l3U5/C/sNW2r5vKQfO458AFkT82wVP3xtOXi2iuXBj4sIvtgsIuK/aWE1dayp9wBujeQrdoizQ + +Rpq3wS3HTxeSJ2SCrIBXfjL6IxogGdbWP1KOjuSZ0bPm/rjCux+UfjvdyvNDPd0lTPHysXxso+P + xKPNtyPh3fiZzyNqFae4JgBQ2k6qKrFiTvot977bXG7ARuNVcvk4DsqicgVK5rR00SfLqv425GqE + h6437rxRmPiJ6njOTQWyO3tTbgXYP/P6HBSERNyRqYkkoRsCx5R11p24+OfBDpbA0Kb4vSmvug5X + srHW2PAcy9Hb4NTW7EZlZKsqTRnwzyyRfjARBaEDfPicNBn88BtkeJzc96d66UwiKYeHVw0XG1Xd + yG3ZN2sKwosI92tCKfjMLTXGzEKL4Tn++KLpUPWZgHho4IKmufsfJr+adK+htstNgBGftT7cUfdp + B9uv3KNtoUL5ow1IvL7hBBDOLJbPPgj3DyARvZLDU2m11EsJGqKMN2SXCsezSL/YffS3gNafWxqe + 6Y18NkLPWPyODu9oTr9Ncx8Dl62XKTgwHsswFoTxHThpO1o9y5mbT2KrH9/MvIFkPKMpM/fi3zVk + m+MGvT+eveaR7Dqq2KDbvlv17dfypiOQgXUXKegeW1fRs8JJ0BGuAoLhCUUwd2Hw1UfhM6t9g/nw + w0wZlYy41pdUExIySL+MC0Z6Pl6grW6oM+CHJhmCWRyMdPFXdqaaQZ8N7X3jmj1ZT4OjkZryob2v + GgUdo3/yNeAgKzPFKGvjKovbqpfvmTvX1Zu7n9PLNXzniLKVyC0YsT1J7QDL14CaBo3UWvQf4Ctu + 8mgV14o92khtcd1KMjzFCAYSymm3JMx5gL0hI9kTF1HxWQaaLUDIaTW/daIP1uvKss27AnraPSor + 7ggwNdXWhJswGW13PyZNqe3o7he7LgBlJaERvMwwQnbUfPX45ZeFiuTSKh1O91euXdoEm8OMwpk3 + BkJleCeX0WHoc8bifoRNnBK/WkZWCmq9jCjauk1veJCG51Gok+iCekZyJQGlUJnOjh2YGxr18j/M + YTmz3YZcC1xSK4BOgkCI2PeaHebGLVLFvMLbTTKDVcspKjQifF0ZSHWvBRWcDUk95XxdFzu4vgx9 + N6Ov7YYZrv5ISGRicF03KhWFv964ZmKXLYq1pPofmg6OJxPQAMkPYG02dEaFYCt0oO6WolNG9KFs + zJCPL5SW/Lfxof6aLpcQ8CGLbDpIQAn8EYZWs+xf9QaSGWny9l52GMhEFqjYIW3Gk06gS7KikVcx + +mXSwVLrazzTbUdTFawQ6k04/egjUQjf9/6P1mQK+m4sBl2Nis8MEzDMcqa7VfV2nIfU3uKeCaQ3 + DmV7oQXO5q2cYLPpKj/ry+KPnFJgJmIGUO+TT7MQiHuo0i39quOQhA6kl6quIB3EW5LAeMlW493D + H0wvcctNEsQgKdA9tHvNMN9RYcwXQRvB2UeS1uxMZ6PK7CRkuCTGoDDmYpRWdoTDGMqsMvljSJyB + LmsB3UpWpcL05S3pEKKS4Bau9+WWuag4NGseD9jF3NO0z+V4bLKjQPURCIwwRy7BxTnQqyA+62w6 + kzP0cS4XxBod9K+LLxYqVCAYTMOLSNeTTb9R1iTkIIzsuquJnENA8dwneI2LoqwqqtEGT3Kieorz + nWs3wewmqCh6tAT+y726kgoSXAEz+YCP87qegcESBH/XaeY+rko1kVtoabEeIm2o3Kc/hkpKu+ab + l9xb44fj1qEvaUosMizZngblmatxwsN6AZ+QwgpQEnmGffq8GsN66/m6mloU1ezE2cKsfx0pPdCJ + iGTLfNHXHTUcjkNgTyJVwLgTzw/3em2vY0bSmMzrw4oF5cOjaflBDJ2a2Cx2JXoYYLDCdLnEiYRW + W8ZRe239OT3I5LlxmlYLyjrCPgR0+SO96HTaRIbLaWrQQ3XcpyyVxIAuYu2rijNfIcTaviugzlnX + cbxIjqXF9VSqj/tPm4+zmmE51bd9Oh1dcQnPx8kzEYMBXneYzoCJBhMFwTsaz1YbfU0LdD4N7O/m + HDAljufjB8bivCTxmzkL4DdK0A2uiOSM3AlRHCCkwQvyuV/8ZTr5sCrxYuakUkg2YHS7e3MJ+ldn + 57YN8nuUNK54a1dimJ1a4bVMwFSO10JssM1Y5a3Q8gnVnbL+kmokCaZ5dKIeovhjC1uEiKvUvQpx + mM6dpuK0fNo9kRo2FypyrHzqPu5+cOS8U7J5X7BO9ADPUj0IZ3MCQGtuxue8i76onyE5Qw06+Pxd + bquG22+7yXQANjIqGvy1bxL18WvNnUmmMeVMMNYPos6wzLZDqV108x7C15UIjcbMa4tver37x8kW + 8+0lXDWozistPdIZO5+FOLine2klUIYP7KVENW2pporjKmDQvsMvjtK0+UfaVVu376SuBDYeaxsQ + jfQbj5I5K8Jqb3szDTgCDr+o3pRVhqJ9YrI77emVPxryL+3Sgd8IAxgpcsqArbCoKvUH2yLf+wI6 + mGkAOpATJvSFFg5vzbPRnPcHdqnMYt/rb9XFsyOgMCMgSPGdjz8+VvQkif3GezObUPWuYZTTNcyN + +G9G6RsnOz6oq4NZb1RQKlwtA38rXFrLu2/RGTy7O2lOEj3s2CwkTPeZy7WCfg6HAWci9a37zzUO + ERGc4Khsaq7PYJ8zv5/Dj4LwStBhEtZIZdrGTjyHD6Jqxzv+R/voHeF3aT2bvD5nkdx7LRSlsrvU + 7xpDGFUIIJA4b2lPTkq2sNas2RBqabRxqGTm6TOe/lQd0cGvyZjUW7780jwGTD7q1A+50W2jRn0Q + pHULYog7k/jr1/NcGrwV73Ob0hEA69IWAJ96Mov0FI77iaID65nHZSUQF2GpYjEE3HjkEZwD7oZz + +B/UOcMNDNOPs1AhUKlKpQD+BO9qDxcptlqeCU9q6Nm9PXbGITjtGzrimHAp8Y88QBs4oJL6Ztcr + tKmSUNPvcOWbSWkeQ/Mi8vMXVMt/VP6AnAqLFapOK+QEaE5hrNlkLoVubGaqATvImERVtHnux9i+ + C5HLTnIGrarbhG0NdSAIANxEVw7U3E9G5GhiW5IMtz5Wjx562N/WS2H874I8WhEqyS8bFDVnf+Dw + z0GwSr1YYbW4f+JDW6ECTZApGbjjoc5Xdm6fHI9iAZmmUNrHVO0bCxEbxMphCVwCcgJQpSfotqCt + AfNWqAJPv1odxLu/EYqPixCo2GuT5zZzfVnGqRFz1rr8z7rVpNul6duvXXuBI1DipopV1XS4xp/u + 4bUtUbyRCyv+QErujHCYfHz8ClqCfXGcCEf2v212C1uNyK8g6k7BTAuUGE7AySqpzUsyPneRILWG + Xkky4laxD9XaCG4enJJ+Vd0b4ghaC6RbftTs5Vy1Z7Apco+yCB4EPRd548DwK+uQ1it1yE1FmF/7 + bj2xNzx9ml99ZA5P6f2u+M/dN4XJfIT0DuI4tt9pwgHkf1L8Gd+IHY4ec8H0EBIQ8dPY2FcFEXVR + bNYm784MwR+BCQZkcSiWbMrPvX2yeZCvfl3WcYfbMSeZYF98vYVMmc5JD9+tvxk3XdqpFrCASlv+ + l/s9J5/6t/puBE95DxulVam2TR6P8GumF6eMVQG9AvRm3qC0LT50UydYb4UED1z1rBETMhwe8gui + 2rVEpHdhQyX3l/bQ/bTfIw8QTtjH4QQZw9KLG70ciKq7zWOtbR5UDy+9caCT44Ajk3SOWZ66H8IZ + GGhKI7eZVqaOXDyNGaGxS0todyQNg0jGwkdD3VK09nkHJd4DtzkqrOGbJdMfz3j7slFI5eTwkbxs + Ggimv1cBX+cSK7fJlR1p3nA1PgbLSxKmGRwuhIKJcoYfBIbLpgG28a04pie74FR6L29iE2/xruay + uXTOTrS80kJ2NtGJTN5PNdKGtdTYj1Ufp8QGiQapsL1P58tY5SN8DoSWes4alzAJyEhJYELM+fkM + +x1xBlRkabm2lgaHWjMsVjp+sD1JpudWe8smnAvw5Qmx75WsuUP6OJ1bQoPL8dnGgvzIwYKotpXt + Iwz6gTZ/iR6VT1S5FlVueKoNAzVi3Y8CP4ha48eS8WnAu8Qie1+nVVVyRnHjbu/z9D54digLiAUZ + id+GwHuVCT+u/SJkeSHqnfpY0AnXrAme88V+wGkJ6sxJBBDwxeyE+x115TsATMBzdAZDe2Oowj4x + S/O6L/Qf3zkusuddVXFsXSm0SPn9eLPsq0I4dA+F1NA5VYUMHByh630SzXMcZTzfwGeVWlZ1NtCg + U/LY+6BgSrhQTicziYZm7kbCVtzJygDFSK3BL2SW7/2rXwnVyfXdF2RWVYqU4Fajxn/NTW2Kbk8J + kkF4MUDwl/y9mNiILaEJKsHVt+9lB8WjuRwjkIQhfipcAdYInLcV7PTqppg4DhhdAdT5uL+eReG8 + kspnGP7Qb7o9ZuJ5IBTphKGTlNakPxd5NJfLs95oPkutVrEdv1l8MsZTv/WF4T186YXKLEbcwSjd + 7KmZ/A7tOPhd9CrF3W+HKRX012xnmJvtXWC3o7RyDZi/5bAVKgvar+ruBzKwJ9Hu8aNtktu0PFjD + DKabXVd2TTEKNbr3KDyz0LiNkpyJZSN7SZQz3Yq8wtg32RDBkh4xvoJSJpxQT6rCop5/2RnJUxkk + VORV9FJ/ZjHew8H7HKmJThzLnYYM1TnVu6B0aHqfrn3IzqJ4zqX+7NRuHZ3I1JsPvyH9oVnM2wdm + trtokDbXsTpR2mMT6R7Hc3DWo333Va92pizFL13IZMzcbaDMbCZa4f0yDV13/dZbAZ1KDzzSTabh + H12X6+k1SzLPm31sOz7Utt9lPadq11lBcWtigkrOPTKEqQtsZyGgLL0nKOouaqKI7hrJ0QgQZm6h + Rs0iPoml2HHOyYMAFJzorlLle8ynqCBG52IMayfr0CIpIVxLaqNLGPRfMpTIp5LurO0C2Z/hlQjU + U/nuPT7MU97R5Y4gC4Glsz6ck8AWiBBdAf2YYBZn7DWEN2fyMBg7hoqSF8Aib9U+hBUHSbs74QHR + HhRqG7PNLlzKAd22l06tweeCelNHLk9dQn5IiSgmzNwTXZAn1+D7B0RaETuJFSYcy72DvpSVaEVW + zIhB56Bo1zj3+7rwjOjqfhUFUjMHKWVXufToIiNSkOxcRmAtG7/iNi7VWmPUYaBsrg8igpjhZ8eV + BdhZ5U/pFsbwdo6YYOfY50BY/ViNBoMvG5dMnxAfMRry8U3my2HuyITN5xRce5o2gTUZCs2UlT/u + Qa6nJTRLFaaRCwXljQbeRFbNAyYTbYQtxBW6/ZmufUp6YlfXwsOrzrEuRughWuVVfQbawWo5u9FE + cHwQS/o3Nph2xXLzMmQ9aBzYLOZyPGy8IcBtugISh4DFz7tT77+yApxSJCUa9Raah109htoP8lrA + 7O7WIOHZJD4JLCKY4QWT6y0/bqeVirx/kLx83DfNAwcsBZhiBvAyqbvKk4a3ZQ7CFA+DZ8IS5whk + 2Xo3lJkF9CnUv0/SCCeIr/AidE/Aag4+GTGYNjJ/0MD0PihDRXFruYX5wwbRWdCixyUqLcZsklyl + 7y0CmcPJP82i7vJNfMQOq6YhRmbIkdVn6plA8C5jdA8klq36QY5eUfK2lNS3yirbWVnrVyaSQg1e + B09tGItC9S1AdzitIOQuYIy0rVmmunG5IWFvT6uYRu2KE2S/bWuKQPZBpv2deaDHr0lhdmOwSZp2 + FcjuYNku5T1iPdXjOMUjnAq5rACt8jVAkMINFFf7ZgaonKt8EZT6TSMGGGxQQi2of/gme80Is+Ub + ALoDVPuet5VhlA+PUZZ70xzprdoetXDKL9UiG0w+3vXHhsmnreAPvW/JDhZlt/UDJjC8zrula+Ab + 6XjakGcVLY8a3p0gQzzZQPZDgqcoIah4E88jXEe2BnrHXHt82+wzrVr+wVrJMHDUwPkiYtZHmE5D + YNQQSinkbFjoEyYZB4FSXR6eYJuc8ZRLeIfVK1oNmfQC+0o91FfL1EcIDgoQqYNsgmmlqm9mORTi + pPochDtu3FAQKUacmNx8YWlcMiggeHtNg46f+mu9SyBv1Piza44NeaISrwmigG3DItTHFa5tKTff + PllF6u+8gyeseK3aiEj38TD8BMFvnrj0SZXU8ZdYM+IslASG7ZWdxlkjKQ5TzDcy3GKnpGoxVpNj + qbuBHnqxibgcafaRxD9DgS8cYhqR4nNgIT4pzvKmDT5Ah1dqXjyXr2dzi8ejEfgv+HC3sU4Lxb4a + V0Vc2ClMnnR7lmWsgQzibn+Db6mLHfhbomOnGvLuNNZGjFQCEiJ5P0pyss/ogxbsVhV218g4CHzV + hJdDRSVLFW/FUA96QgZU8TbikGl4bG82KHC+KVRDWSL3zNMS1bAx6wLmXtsa6kbx3ONSs48bQMZ9 + Ii2lGN2jr/r1MUmFk1H2+MQDNT8IvwsWum6lOKxcKi1oQEXG5rqiJLS6T2cRhDwLWhVkQo4kCnGE + fvnMfUkqEGqB7xvoou2kZ9MNCPu/OiPWsD9bTT0VZo49Cy30A91Bdt50hmz+X55X37CvDtiw47iW + pWZhShWPj7C5S0E2C/bUNkFsAZ2a1FKYM0LQPkTSjD34ztqdSEfBl1qkPpZMKfIxYKXrYfVTx+Io + hiZ2k5UovViFUVMQlYQn7km0LfGXuVinpeSYSIVywtrqbqSyFAtf2S8vmEg6usA6ZV/8n3oCkKic + C6+AoS6tKVQ32BQK/hvG+O7YuzkOc+CBlEBQVcuPZFbdNF7MIOZV3JXaf3ffvpPq/sd1QLdbrv0B + FYeBvumGhZhqqOMojyDYjgNpS95zIIvx/unL6xiurS+JRC8AMDZqfyEvuMqXhFFUy+s5EqNQ8n3S + I0b1sMf3VhEEzCQD4LrepRxcEW4FjKF/u3Y4nWEgLO0xQt4aHQUmLPT7f7fTiLByKgNhHZuzE4oI + FhPDPc97f+NqtWRQECvh2SWGTzhOpls7EyRIPskZLIcrTDru/huKuN0GBb9HJECQ0S2wCkbp7Lkr + 0O9wPanWd+grS/kvZy/dqQuGdFTK/PnCXnwNA9ng/jQnDvITmGVY5lB+vbVnbpR0R4NI0R5ZSMwk + PgU4E2/bP9o06BifIM+bhj/uUP4U6vzguF1yr1U0Y0uH+SDUdgYTzT+09kZ7dr952ueFHSuE4b4W + FPm9zkTdebKdM2g+Eb7I85C3wWPHA5RGB0UO1UKeJGPlvVCDCOeE+YJzS09THj/AT/hEkXPSDv2x + WyQ5iZxddsAIPc1e3ued86gqTLHsJkIfliFa0IobGtIr6aUOtmrjkUOILVB6+g1dPtiSdtBHg5OC + b5uoqrYZjfED2BM8v+xPjQKIxiUdF73JwpjkCJUm0j5vfJ096zXqzlP99fFAbTkgDSxKHkpi1SG2 + HCk/eDb2fZB+xNp8XcEOqHHXJKU59A3CxKVfPi4aucFfnGuWpIxMVMnKYsoiMS41n8pxO9aSjn6v + AKEmW0g6X+zIuUWD22zq2lJTKTUgAfoThaLnEG1A3IuUE6SHlboOx+AF1ztXr64XnP5n+V+WgBuI + HvRVRTQw5WDe6ysRnebX0rmMuwIx19I22sMO0lN757uxm3Lwe3AAiUDp2oXNEAoyP2UY68JVFs0F + IZcyQQZZzcd0dj1Te9jO34j0Xp9VAZiB8TH2/T9hjPjDxSYfs3zHOKKQl/sADGEVhY1Tf3ng/sOV + KAhqyUydna16UENy7GWZAa4Fuzf56yqfqPLQl1nMaAK50yWCl06HpevyqSPMYhZ+YHHpgWXhNnho + RU5znMDetwA0kjSKFmKWYwmXbocTxISZDtBHfLpIKCi3WRARsamrjZijT7DasEE1HnKDwuZci5WV + +4SY7I+dt7MS7UzKABFWdvcPzXkSkEXJJBDJFIZdVnmiyufMv836hOs6sbE5jTcfCw+z344G1mbe + IHCJ2+YPL2lrKUf5BxZ38n4fZTPQinev+vbHEesjrCe7OMHKuwHQRSZHqXYF5on0c/m4kMLff+Hc + 91dMPXVTYyhbMNvpOuSiw1WbiiJHA+WpiBmiZW1uTQ0Bj0YIhLrB/fug76paoKx7K5Lt2CtQMcGh + FrOcsi/o6CXtkOQcPCU6YaRmQJhRoCGVh3ZNKNwUfiuBu7OBh0p1fv0K6QVdryv7OjRySqMwq5BF + 2eXb0jBgg04BvOjLWd57LHj+M0WBxhqGbLDU6NzHLjoNIQ6gsLqFdJykyNDy+3BltilN471CQ+UB + QXRf24qgw4QV7+6ZZRRU9gm7YsRNAasvaYcx0s1XTA/xjBt/MoRuOWkEozfRdb+EGWjztZQWp2cZ + 3gBqEaJ4Mo49GO0LBwEJIWCohF9ARGdsFQ3Oli8A0WRmNXQ9hgbf3myWDYx3+8Cmx8z4jQG2efdv + 2lG5ebeXcPgLv7EEOBRy6I0a0kuwHltCA7Qyfr+JEpHYK/NiU4sNnIc6w0EXI7VpTC32H1NqP7l0 + ps+GhaP+aJiGr3Vba8cRfum+d+XSX8wAXzZP6L4JJ/X88fII482Roasq/gLVRyjuhfEgnpUBcTZU + ieJcjUlmboGExcXeu3BoJ3CPFiEYTwfreDObZbKj7LJtEsRbGbNazcH3+udW1gfyVxHQcjeyubdP + nzRohZZoII3xh5SaLMpi2XqSqZqZx7Sb7OH5X+QnVa6SprVnFlUk700s4n5xMHe7Je94/PJRyBdK + hi7q4LGTUIOIf0InpDTTX6hU8EAIB2Ifz7bfOD/QpkBTuMZzbcxzoQ3SnVrdGss8ADzAW51QFQlD + nurnO7znqYIlbtUeGdfCl3L7jWHsys5Au8/fZFv7w8fsmmxSCc6LIGQUDY94vzBn0zq/Yt/SEh3R + +89EzUQOAeJ+FGl63J4krktuqN2oRdwGodiC7WUotYUYhdSfZuCtnbdcXPAPRt86Z73u1XRGrDvS + EwkYDosgTxHmzkcRx458MrtbOYYylqZlhOnPKfV7KcvI3B0pIRJBXnL7XQ== + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/65536 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:03:53 GMT + ETag: + - '"0x8D72DE9C3786DBF"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:52 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - e004938c-cbc5-11e9-a901-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:03:50 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - eabc610a-601e-00b7-47d2-5f7e5e000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-None-Match: + - '"0x8D72DE9C3786DBF"' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e01115c6-cbc5-11e9-b078-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource1c0e194e/blob1c0e194e?se=2019-08-31T09%3A03%3A50Z&sp=rd&sv=2019-02-02&sr=b&sig=/wSu0xTNBwDfdupGXsfG/GW%2BiLjOcUOGn85boPjKAic%3D + x-ms-date: + - Sat, 31 Aug 2019 08:03:53 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer1c0e194e/blob1c0e194e?comp=appendblock + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:eabc6147-601e-00b7-80d2-5f7e5e000000\nTime:2019-08-31T08:03:53.9266854Z" + headers: + Content-Length: + - '253' + Content-Type: + - application/xml + Date: + - Sat, 31 Aug 2019 08:03:53 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e01115c6-cbc5-11e9-b078-001a7dda7113 + x-ms-error-code: + - ConditionNotMet + x-ms-request-id: + - eabc6147-601e-00b7-80d2-5f7e5e000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_unmodified.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_unmodified.yaml new file mode 100644 index 000000000000..7e719554afe6 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_if_unmodified.yaml @@ -0,0 +1,3909 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - c6651130-cbc5-11e9-ba2d-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource1c861956/blob1c861956 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:10 GMT + ETag: + - '"0x8D72DE9AA9E9942"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:10 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c6651130-cbc5-11e9-ba2d-001a7dda7113 + x-ms-request-id: + - 7ef858c1-a01e-0011-56d2-5fc940000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - c67b1a8c-cbc5-11e9-869c-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource1c861956/blob1c861956?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:10 GMT + ETag: + - '"0x8D72DE9AAA72654"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:10 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - c67b1a8c-cbc5-11e9-869c-001a7dda7113 + x-ms-content-crc64: + - kRbRdhVoN/c= + x-ms-request-id: + - 7ef858eb-a01e-0011-7dd2-5fc940000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - c683a736-cbc5-11e9-a15d-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource1c861956/blob1c861956?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:10 GMT + ETag: + - '"0x8D72DE9AAAEA1C8"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:11 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '65536' + x-ms-blob-committed-block-count: + - '2' + x-ms-client-request-id: + - c683a736-cbc5-11e9-a15d-001a7dda7113 + x-ms-content-crc64: + - kRbRdhVoN/c= + x-ms-request-id: + - 7ef8591b-a01e-0011-24d2-5fc940000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - c68bdeee-cbc5-11e9-8ad3-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer1c861956/blob1c861956 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:10 GMT + ETag: + - '"0x8D72DE9AAB95214"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:11 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c68bdeee-cbc5-11e9-8ad3-001a7dda7113 + x-ms-request-id: + - 7ef85995-a01e-0011-0ed2-5fc940000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Unmodified-Since: + - Sat, 31 Aug 2019 08:03:11 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - c6963828-cbc5-11e9-9421-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource1c861956/blob1c861956?se=2019-08-31T09%3A03%3A11Z&sp=rd&sv=2019-02-02&sr=b&sig=mveR7qAXCKNwrRCzkiuAsV/XyuyExVaKvaTe%2BBjlTWE%3D + x-ms-date: + - Sat, 31 Aug 2019 08:03:11 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer1c861956/blob1c861956?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - Hz9F4asn99wI/hgATvWL9A== + Date: + - Sat, 31 Aug 2019 08:03:10 GMT + ETag: + - '"0x8D72DE9AAC6C20F"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:11 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - c6963828-cbc5-11e9-9421-001a7dda7113 + x-ms-request-id: + - 7ef859ca-a01e-0011-40d2-5fc940000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - c6a33658-cbc5-11e9-b1e4-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:11 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer1c861956/blob1c861956 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:03:10 GMT + ETag: + - '"0x8D72DE9AAC6C20F"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:11 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - c6a33658-cbc5-11e9-b1e4-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:03:11 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 7ef85a21-a01e-0011-0ed2-5fc940000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - c6aeefca-cbc5-11e9-9c21-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:11 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer1c861956/blob1c861956 + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/65536 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:03:10 GMT + ETag: + - '"0x8D72DE9AAC6C20F"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:11 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - c6aeefca-cbc5-11e9-9c21-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:03:11 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 7ef85a48-a01e-0011-30d2-5fc940000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Unmodified-Since: + - Sat, 31 Aug 2019 07:48:11 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - c6b8ffca-cbc5-11e9-a21b-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource1c861956/blob1c861956?se=2019-08-31T09%3A03%3A11Z&sp=rd&sv=2019-02-02&sr=b&sig=mveR7qAXCKNwrRCzkiuAsV/XyuyExVaKvaTe%2BBjlTWE%3D + x-ms-date: + - Sat, 31 Aug 2019 08:03:11 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer1c861956/blob1c861956?comp=appendblock + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:7ef85a72-a01e-0011-53d2-5fc940000000\nTime:2019-08-31T08:03:11.4098006Z" + headers: + Content-Length: + - '253' + Content-Type: + - application/xml + Date: + - Sat, 31 Aug 2019 08:03:10 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c6b8ffca-cbc5-11e9-a21b-001a7dda7113 + x-ms-error-code: + - ConditionNotMet + x-ms-request-id: + - 7ef85a72-a01e-0011-53d2-5fc940000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_maxsize_condition.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_maxsize_condition.yaml new file mode 100644 index 000000000000..0c2514adf24b --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_maxsize_condition.yaml @@ -0,0 +1,2705 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - d7a29a54-cbc5-11e9-a2c9-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:39 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource87871b2b/blob87871b2b + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:39 GMT + ETag: + - '"0x8D72DE9BBDCED39"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:39 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d7a29a54-cbc5-11e9-a2c9-001a7dda7113 + x-ms-request-id: + - 4c38ca44-d01e-0024-06d2-5fa554000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - d7b97ed8-cbc5-11e9-b9bf-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:39 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource87871b2b/blob87871b2b?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:39 GMT + ETag: + - '"0x8D72DE9BBE8D64D"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:39 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - d7b97ed8-cbc5-11e9-b9bf-001a7dda7113 + x-ms-content-crc64: + - mXlNU+VX9V8= + x-ms-request-id: + - 4c38ca85-d01e-0024-3ed2-5fa554000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - d7c709f0-cbc5-11e9-9dc6-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:40 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer87871b2b/blob87871b2b + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:03:39 GMT + ETag: + - '"0x8D72DE9BBF534A1"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:40 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d7c709f0-cbc5-11e9-9dc6-001a7dda7113 + x-ms-request-id: + - 4c38cafa-d01e-0024-16d2-5fa554000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-condition-maxsize: + - '65537' + x-ms-client-request-id: + - d7d205a4-cbc5-11e9-9354-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource87871b2b/blob87871b2b?se=2019-08-31T09%3A03%3A40Z&sp=rd&sv=2019-02-02&sr=b&sig=5p57SF%2B/eJ/SzySn0h/bDkuBKTUTsdt2Dh9Hl9Y8BXM%3D + x-ms-date: + - Sat, 31 Aug 2019 08:03:40 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer87871b2b/blob87871b2b?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - c8JovDyVtMgvLlyW0SyBYw== + Date: + - Sat, 31 Aug 2019 08:03:40 GMT + ETag: + - '"0x8D72DE9BCCFB71C"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - d7d205a4-cbc5-11e9-9354-001a7dda7113 + x-ms-request-id: + - 4c38cb9d-d01e-0024-1dd2-5fa554000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d8aedc10-cbc5-11e9-a174-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:41 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer87871b2b/blob87871b2b + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:03:40 GMT + ETag: + - '"0x8D72DE9BCCFB71C"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - d8aedc10-cbc5-11e9-a174-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:03:40 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 4c38d286-d01e-0024-25d2-5fa554000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d8b93524-cbc5-11e9-a4e7-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:03:41 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer87871b2b/blob87871b2b + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/65536 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:03:41 GMT + ETag: + - '"0x8D72DE9BCCFB71C"' + Last-Modified: + - Sat, 31 Aug 2019 08:03:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - d8b93524-cbc5-11e9-a4e7-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:03:40 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 4c38d2bc-d01e-0024-56d2-5fa554000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-condition-maxsize: + - '65537' + x-ms-client-request-id: + - d8c16922-cbc5-11e9-a862-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource87871b2b/blob87871b2b?se=2019-08-31T09%3A03%3A40Z&sp=rd&sv=2019-02-02&sr=b&sig=5p57SF%2B/eJ/SzySn0h/bDkuBKTUTsdt2Dh9Hl9Y8BXM%3D + x-ms-date: + - Sat, 31 Aug 2019 08:03:41 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer87871b2b/blob87871b2b?comp=appendblock + response: + body: + string: "\uFEFF\nMaxBlobSizeConditionNotMetThe + max blob size condition specified was not met.\nRequestId:4c38d313-d01e-0024-24d2-5fa554000000\nTime:2019-08-31T08:03:41.6573458Z" + headers: + Content-Length: + - '246' + Content-Type: + - application/xml + Date: + - Sat, 31 Aug 2019 08:03:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d8c16922-cbc5-11e9-a862-001a7dda7113 + x-ms-error-code: + - MaxBlobSizeConditionNotMet + x-ms-request-id: + - 4c38d313-d01e-0024-24d2-5fa554000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The max blob size condition specified was not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_match.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_match.yaml new file mode 100644 index 000000000000..51bf265b033a --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_match.yaml @@ -0,0 +1,2773 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - f055fc7a-cbc5-11e9-bd0d-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:21 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource51321a2f/blob51321a2f + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:20 GMT + ETag: + - '"0x8D72DE9D494665E"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:21 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f055fc7a-cbc5-11e9-bd0d-001a7dda7113 + x-ms-request-id: + - 2532d924-801e-0074-4bd2-5f6704000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + UGC3ashdCJ/Ia070DM8ZCDJVfIBmFaE6lYniHofhDeJotI3NajeZfQssPtrECvMpWRelSwh0Avgd + KlS7pSyWndvvrCaKt3mGr/tah7aqIGtZtb/r9kUJN4E+8+VTkgoUBlXmftL9h0fDWFJo1XlzmChP + vTALxOWFE/KQCzLlyVmsttzwkPOMlTqGKVTyAxO3PKIqwQCtvfcuQCXC9VDkE9rVpDXvj3WsneRb + bXMMWVSH73feycisehs+ErYg+sfA+pdsxoGiK2tb7G6rDOsgKK5ZqLL9Q/XVhEojZujc2Q3Onvoq + Zrla84SuZpbUMdh75qMLdYi+WWPIdTPP+ZtRlc25JUVjj67zAjAIMALli7ieseRYD1dwQi3fziRC + 6Qqo1a/dspcgWV/bS1yVKfikdQt2zttZEinzOU0F00uFnP7GjA1mtmLI6z++DhiguIJrxPBPEYmc + sq7PgHqptRVlY+XfIi6GR5SIG1GNTFzysny+mkEhRQitqgSTPBf1r9LF3gkurMGI1HOPE9sTz0ki + FKL5eGBeK4lwy0a3LpYw6zFgT8zbEF/hQn715jYLxS/s2gTPLCr1T2Zc0TB83WoUhohpDzMaERAL + Xp+wVR542YqMK84YJYkc3mRrhM2eBXjxB/kgkrC5+QLa21vGrYJsJZKwNH7CwdrgnxfWUZAb7OqC + XD4La7t9FtnvHRMF4V3tzP5G76BSOrsg1MzGIJ6H4l4KUXeD0Ty80iSVIpNBwOz4RLHhnFW/UM6o + QDInEbqkzwDgaHgugsI0JoObrNf5nxcHTSqiw8p7H0ZF3qF3E4knMVAKGiUksMlkQ9W+U789P/mA + mq6fO2+UXUzu6VI38zyP6kkg3HuoyQ68zWxqLDL7bRI1vsEoZMaKo9SC57l6uygt5YogLCv2zWUr + Khxeui74H0t+OFbgUMDeKsJt4UvF61PFWooqx+Z6orwtvmyE4stxjYw0MPxsRoXSdANtgQJKbYXs + FWlB6G1ex4gcS33GmaN6WDpwNwWtEE7RqSan2sMGW7anQi97O9yaJvnNPaGP2daaiIy2ZLUYfdHe + 5lW5reTOfYZVD/veaSqNvf1AJ5m/Glp2g94G0UNv5gCHlmaHZ/qz3V0HFuknjd0RZX5JoxJaGlJ+ + vnkzJPQxHcCXQk6g6UAjgE7ohPJz9R0GdS7vrXsdIRNk+abAvGKVJ/KzlBgh1+VTG6LbD5KLBTLp + mF8IjIK9vTRygC2zMinKpK3G5A8q3F1dzMz2LEc23Bw5gHrUrlBRz/mMqXgaUQEnqrW1jLQBpTmo + IDXnBuQ5dZcYZl+qZ1Ji+7K59cjnwf2lK0tD6yNAVmLtZ+wXkAUDLtxQ7pZk/ap+RCCp3Ql6gZeK + Ni2xR7/guAu/H907ePdEo5R5zb+2dOnUBx6WXbOLEsoAQ9A1M0iqqBeeVoYF8oRxtYNWwNHwxdAX + aHmvtg9OSWtsv10j7XyC4VDxqVH3PH1zDdVTsY2RGn8wfcKXqkhGWlIkiliLOcUshkSUUBHn1iOb + 6R/lvXfH5xon9KmMWdK2G+yuq+mez6DCSosPCKm0WuavYF340epEFbkFUKJEv10uLWbYi7R3EkYK + 4eLCw+8bYoL3CUiyTQ5rgd7Yd0uGcpMmXdnT6WRC16NTD4TOh2WD3dZ7lUVhBgffqzXxy5DzWwb7 + 0N0YK83pisZ9lHWnYJ+Fub5pZm5q7a+6f4siwM73mzl0tLGnB4uRijGB66IyKDumFsrkQJhPtSC7 + QBtt4200D3tjFbu2wQlrn8jW2pSM5xI5onwmI8E0QLjY+gMxS3hfXL9zsyYzsQlvyd0fLzv1cgLr + FXg8is14r4fz3ubKh40QOeJUYg0j4Pi3UFhnkVNCrNrclt07lKfkn0C50qcopKuQINTC/D6QxtJI + qZB0bYsStusBTEJmtDDHRYM2wjmZBkIVledc4bNYbU8zjQ3sKvajRBS13nBsC/iKcZoaFNY3XfwV + 45k4xBjA+tk6S8RbsWDs7oudmUIwi7ZRoN5+KiT17ORQV+3puN57P/sIOB50C/O5yPWRY+I14Pjo + 73S0QY15R57lN9cyXtbVmF/4UcsQDyTxuIvWXH3LhnJhaHURhRWSj19R1XymL52Q3g0CsSij3tUN + MxpoIjPKDe5scB/H/Mb6+vBjCRpsF4Ca4SB8k8c0Q4IbC74f4RPk87TDlJA70cITKKeKtvjc4g0M + wduCb7VDE7s+o5BeUfvS0sAEi3iXYh/4BZRJHUrPQaDuJfoq7AE5Va0qYo/tTQXdKHzdt6xwxHfl + EZIiL1HShS8ebb1a586rfSCrUh0azvBoiL7VjyhQHKUOBAyn0lZwrWUkF8+s26LQJxTK1dlwZ++Q + e++JGOJuRjwQSLcxOjkm3N8nHj64ygjvr8OiGTDewValozxRjTWB3cd4nadvB5l3LkYAFtIuUymx + 7kRibWazR1YxmXkVBUHXdQUu8z9lEQdFI0tC++qJtG20ZOZIQm/tDWcvlvzjgdY8UtvcN8zIhCGL + 7NdhyJa7hOynPKYmc1PWDF1TZaZJ4vk85s/1ZqX6vTTAqZW12mV2fKfgtRTOvtB8KmVnFYpGZgUz + CoFG5y6yrr3qfTT6dzJYVL1uLYrSv9zjI6ZfqR3pMnl0abqfV6rxj2KdEdCuaLw+XPTL6RqTPN8t + joHOR36diF5W5slLOZRj6wHg5WI/aK9VGVF7LE0qUo12b/MnzaBcMyRdGc+Aja7aGGmGI4UqW8vK + 8E+AwbOkNZ6ug+sUF1wRFDh+tFB/1MtZueKwaA65V2SAhexRtfXzWOMJ8jdfYMFX1secuLPeqC4A + I8MJErhFLh58kxSdaVhQHAY+jDApmOuYhCkUCQJOBY8u81HlTUWZ4iCKbyL0R3EEN0UWHwI68c40 + rnZxGDCDpsnxbjkA8gbo6k07rgPyU1jWYYAJuBMoNT3we6owDiyXwzgIBVZvXQHXdGfjPEDh4xxK + P/HlCuV1lCJEOpFLWocmHhlYn/dByBM9bzQNrXgMhIhikZaCr7+w2BhMvZGPE3aEGLkV5GSdaCtU + cIleuW48RiVXUD0gJPDi9wqaoHQLAzzoZzRHB906kdXpDWo7JfIC7OdeBUQtFnea7W50/BZeq9r5 + 6HxzPDEhofcAn6opIMoD+AJKh2JVNR5hQ2kVAb4WU2xF8yRINXmHYA9otEfNoiNabOlcipBPGM4f + DVm+tPBaSRgwascbl83X/pj5KX85I3fpy97AuBv2bttV6KbqrOg0fAUdd0ha7f4+MVQdfVV1XyM/ + 3lbA/V6zWmjv+SJOmz8QMH7rzfiE0UAaEkVP+dYkqoMDxeLqHqziHUgfBA1vwm/+sg+1OqsUbt6N + s9/9ii8A0vBN4r0iBrWorvRQ4f3gCp+9wSjKm6lxksOvcVEgHA/KaqYUkJnuOfaqanHYdIF+5Wtd + ck52SwQcoymd44JcL+fqPXVeMy7WYXiCdYLr7ba/zk5qr9tR1hGch9yeEr1WvdXzsAYzqx3yJzjj + eZhJKxHXsZHzm1NJes4Xy7Uo4OtolarT5PkVJxoXMLgdhjiaJ1n11S2k8GgtS/dAVMVoydKBQ+gG + Hbn0gRU5aDjojQkXXNRxSW6XUIwcnKMEw8FBixYUP+odWzPPSVLAs45eIGI21and4qaQUVvCWD2t + 0jX87tNqu28yEHnApKEEmxqnlVLWRqqZvAVcdJ3TYX8AZ5Zx6gNA7sBglqwvJHEX9sUjpFbGFjSR + nbA1+RRCPWLESwfYKWi6rc1fZYG1R2Xp0JFMa3Pkc7+4ZOaLGAAirNp8CcTREKomJp8D5MABnTWq + PwRQ0ofpMC1t1ksnv0J2FD5ZERMqR7dwjtwt3nK7Qc7zCvquRGKlBwdrGTdGx/0xPICLOw6+DAOS + jQccECPisZpbTlh0WQJWw5ypqeGW3MT6u1/qS9wUAc/ynF0WoEyQ70VCO44TExpLlsdaWoMNOi0Y + MXgK4pDX5rxFwxBUmYFZPsQOdZiLQB3S09uZBuyX4r3Q3yAx2A0ZOKZo5cOK+ToQNHTq40pER/dI + CelkMbEtEoR3jGHyOHyQd1z99KHvfLuX3h4pOhbnI8Prr3CtGlFumWy8Zglkh77FHIXi0pSjXXlu + j/F7bYNkK3+GWInhX7IZBhwB1TYzEbgV7FT5Ofs0YkWZvBuiUg5pQYyTZOu4Z5iJsKqhlGIfj+Xq + xQmO4mxNX9EYJepotP12iNgSdFYDEYVVchzRnzSsECVv2Td2CO8IIZYt0h+xqlfBdoRXagWanJNd + QZXTfz9CmXiwmho285XfKInyC3ijiyhQ7B5HcM1SWsAOGjnRneCjieZy6Znt7Tq9TrWLU/AEZKta + 0NXHP4Osfc2hyIfW/Uhbgr6IQ5SLxCjAeSPr1dao5l5aYPhDfCIGNHM/KFroimcQc0ddccJ7Rijo + LZ64IoPg+qPXb6HrcTrYVQsYwjkrTaS4sA3tWJgJremUTF8Als6ytzyh/sEKJgA3hXNCsM05bYcK + 6NPsb6JUAsTSKF2xIpD5jJYYliitC5RuK+7CEvDeQYGdX9tKqLRmPG/BeC2Sk9+WGqxqfG1UMoYk + zeSnCN7OBuZ8b6AHL133L2n6wOEz48SmvAHeuqwhxolgIR1+HpcwX1KSEblqJSmA9JWWbEqCes6N + HVHE3PLAp7KCONqPs+a7G3+6Qso/deqrAo3BXG09jNnAFipfFdFrTfQTsG+2IbrGiaXVdjWUsFpc + CzRKY/U7xSilCmJiGC5BqHowHRRt5ekpm2+81DEUrlaqYlyh48DQSOH6HPI67H1Ddli1B+gl0QXu + 33ZKUFnO7no16HpV/Jo50eUackiVpWYzIY9s7d3yGC2t4wqlgUKZIYV3/I/RA+yVLN5Op/ez62eC + 1mMIEwPwZ1/Uz/4XzTfZvlWGE/QU5TMPjnQHXSvUKQDYHXG3TKjbvCqLRJ0+aKXrfx5WPILVh9Cb + VxwIH+LAmSO/8epoRtvwykn0H/kIuThVR92tVJ/nFQdMlE8SfGnW+Om13z6c1EOpuIaLhMLa41CH + wWU3+0GlwK6ghFg27pLzh0Hw4HqHDfTYBVFEGKVSeWOc/hBdsZeX8ZF/w/lyaVJeYRySSLROZ9AZ + IT8W36RQCUezkSb6llItzC3F2Ojyit0U3D9D8X0dzhmqIB8SB4J1BhPpd5hnYNOacnt/eDh0/gMF + xjqVJxoZw5X3HZQiMIGJx8KuMV2c3g30aud9xo9LIqF7bXeT2NNuynJ8pXLuYuZ/Sjitm8l6Ch4d + HizTljdW8BdlGINbiz50y7UH7Vh2KHMuj+uAS382w6f8Z7jWoi2PWh5SimzAoijq5JREtmQis9BH + DPDypJ+4ebWecDQYzsrHiXEEyCVPAYvu31CA6IJlDTK8NKATxX82kW68duSHQHkCEnq5uNVn8FvG + 4DSHC0zazJ7zXk/RcG1CBeks71I78jyteHTw7P2+zssZbKyitEMbdpy/S9jqnrfYJsjO53J4T128 + F2zEAs3QKsDPglarWsjon3u37FhTAmzNMhV09G6SB8VenivkYg9uuTjxSm4Rfnl4eoL1qO/iZbE0 + JgJYC0AeBCQeJeTUjzYpR2kTYrjdZLAZB9Hh4NhKqkA+ITaZAOovlEGnugQ7LM7w6HyQ582aEmPS + sp9wNZGwj/cToPHlQQY5qEGm61LSPfD5dm4hwxPlz50KTNFm7uSwrCIGCJXXoj6g6b2ceMfkA6vj + 3cAQS9wb5z1jZvZAl0KIsfmR0e/oRKxXiVaW7ngVtfTK69bRC6B5au2zd2FmBHrd633eZM5GIC9E + KqsXgsG9VZ/+7Uvb49ghDtsdu2vtVlNKzmuf+VbYHJ9+drByg461ILMTNbNVy6PRtw8bklFD9kiM + ZfM6OGXigZh2YWsFEYbL6pzewGL6yjBEThfymBSEs23iLn9hPAyZ2XjrPr/TAa5CkQUazXmk6JxM + qtsqLe+SHHGW2KuYqWnCBnU4bT3MdQa1mN113iGdDczP/hFVXex6NbA89rypz8q/m7mAVWs80vBF + JOOcKvD9NgYZYz8RntnOjbBenkUntzvYIdvrvDSvZRBumEzUl6uVsCNslKPCEAb6uhvKWEALgJmE + eGKRFQ22WuqcHmt7YTFw+BDX+zVyJjXa+ANjMDKO5Wk47znf3lJGENDDqcAeILwUUc5MPkVp7Poh + Snz6dMOcjBGyDjeE/mi1PJIfp7srvH5cUSsgjpnzLuLlCi/KlylrP8daT3i2/RKPMGWDFt8h66pW + JrqTBQIjNiQIizKwR0COKfQaBkbnL8GLT88rgg9azP2w3zDCxDU/pPcl2BkqrcVF5a94G/G4+zbv + gtZj8sC1uwn22EEP4T3E2Bo6za1Rv5Gz2cb1qHsfvzI3cGF438j1HJbwhM4szHaetX0ZSUCEQZRz + xAY2pKQLzMRFmAkG45X7ed/2A+i3vyTNZAEcQMPOA7ekiu8QB9+JWPlxyMeTebLYsaXGZu1U7Ah2 + 1Csaux8XRlwu6ISZPqSu7/c0KFf94Uf7ytHMgw+RrYDxuD/r4dDGyOtAoKo9BEO5xxkBspMUgYo6 + +Nrz1gixG8RV871YsPxFNALkRIHVJoIa6ZEHeGbtHH0YpONcBJSw92WdIZuIinZvMvBxzZD0yQus + NsoKsmE1lOOMWwOp+gu1ZFNu8Os7SHKZFReZ/Mpgq1NfJcBbiTl0kT5gnwd4vHcO+aWJMJ54X0Ng + boMDPYxYNdrWf1XXKfxWc2WQ9ZfUoLaJOCsLVM3ENDpulbEkJxeCOyu639jjhK/phYQhXgU10GL7 + yJZ+WYi5eWKxuXVbO3wzIdWI32MfOriQZNpfgxzbZC/jXOOjhALPqECNUiOstBepiCwuUaAe8R/t + 6E7H18zhpDLRnc7N665RAR/f1Fa+1bfZG+1iWGp4N3zJ3UWXaFVjuOa0CKO42LaU13JP+4Z0dJ4A + fdRqtDlodoCUtw09RHbwIT6068eaMdlmlNz7EBW58PTTOfrn2xJIksnd8ouEBVrpjNJwAQMPIfgD + jbTE4toTlnuC06sz/b3hTnyb/VSlXYaDiRwl8Z2al/sOgBTjpmVXguHkTWudVHCmChggecXsUSKR + BR9jACQwUU+q8nVoz3rF+2qD0eMAnMhqhDvgyxwelYGrOxi4xnOIvxYehKF6hao1LdosFcL1S6oV + ONLe4KxEvQUh8wHC7UH0Q/XHJ2JZz4oXQpcwtHsJmKhYlDtYrsCLp9bLe+6cE2ReaVHajNl+r4AL + vsqIacmsKlUj35K/KQjMCJZ8yNS+3YvJn6n952Z/eV3e0ShFO6Se4ZK6oqA4QsUQ6MtyWagrtJQS + rJa9LIiTA/H+MP4Jy8TdpW+x0aDyd8WfI/rqFSE0JoURpJpWivJFN/17RwERWnsw6iuzsxYjaMcd + 4ybwUpuMGb6fa0Hkrsxq/MnjYMHMN8sLi3pnh4G2TmwBvw5DqUAJNqOS6/YAd4W1gYFQWoBfjxIA + wz6OzxGpMiTsJmvBhsRTTwaTAwNckBrQjqHVwySYNkUtrSTlAJteb5rkXQSXD5aaSz0mGWLHARsC + jdnvTCgb0NHFOUH0pxxqKMbBzE5sD8HJr0eYL3T0AonPJEgDizYM+LljaxVfUFBvkuC5hKipijg4 + zcQ2mXvH1hXk452q8seddMfa9byLzmcUwXebh45dI9LY6jpscwNc9UhyjRS4+8IdWvPPoYFxggPw + xmmPPIYO+/Yz82GiLfGitUvFrJhIoWkQmSkfduWXWlFbNnZFt1j3hOtWbWKs/LtmJTMAkAViZ0Lf + iNhVISeQmpMN1qygNLGnkr1ukApqQLpsLbXOhenBwNy77126JTYOOiyotnifJne/385YCwS1SbC/ + 1pyiney956PVMTqb2UC0SJOtRl8KeybRnEh8NoH0JBwMMV69QMJZnNZ6lWGkXfMPJn6tk2uYWxOO + x+swkGmftUJ3PS1waOu918X0YY6fhjH1HVerGe1tg6Y5/sDwDNIaS4+Zhl+4KVevapfxjBSLpOEn + UcLxxC1FAhjdhUKVGH7Msz0Hr4wdNYzglTNC43etIELZUJlA7QGHgZsq+dfNaWdkihxsV7cXp301 + 4BPtDqeEo0+oh1eD4KagfH2Xy5upP8kZb71zXurhQfxuE0Ft9FHzCZJeg/x4+rJRDaCVUL2YTo7V + cGbefI/oKyuzkdAOJuYi7PC0uWDt4Lyym3qYdVphpe3OqAKipNyHas1LNu6VO5oNJXetj46WPeez + guw4ruZGQ3exgL8OctzfEANL/rzkuLahFj/3wBoxIPFqj8kcpx0yUco4kWaPGm8NgEB8mAl14byS + DeDR/gov7eOq0ykMW2YKe+j9iU/ppB33nhjhpcz1iWS7J+7wU4C6juX3VzTdbSOHZqhPtAk+hHTH + 8zCMy0dYCy6kXiI6Oq2Ww/Oa0VxMiPUa7dOjdrUyzvRuL8oeu1fakMQeTPPdSlWQaXrLWBUwwnVb + X8CHSx+0DQgxkvt+EDpRmtI8kl+HSm5TDjUKo/X3+5mIo66x9kdg5NfReA21Zi/wTBycC2KFvB5T + dyMRxhNH2nTAMY1SmT1/sKyKkOK9PfbbzzmbpgxLFQg59d6SsW1QEqj1CjlgicBH5egunuXM8YVC + VlsZeBi70SetSPD21GNhD+oidy4nnOcy5naMPjnohkzuoGlunLh4XTYLP5yzTw0MARz0HA9Ql/06 + uIRuEDWUFh4GlXg7h3h2UJ/DKsTYKX8Q1RR76wCIzX7RTN8umBlTkwI3w175oqUAe1Vn7U8tYxlW + cD6wlhH91pTfTY0E6tfAjELGDtNxzUfVe/7i5RloIxyqL0mYf7gcUIxoFjPOt5j5/XQV6xOn+W4t + z/zJ7Vf9o57Uo3Rpexj2gKHlgYaRS+Tta2BymurLLUftSksRBRcfvw9MG8G3xr77zN1O2GJKwwi+ + XNxaoxXAoyAxBtIobGW7nAkd1ttpwa+YMNxkPtQ72VA8cNQ6m9oaZ6lJt3ZnWDdU9pAF0S42ftW0 + 6KklMsPqnVvLrQzyMTVCdSqRPoBl21S2HrQaERXFEnWW1x500WR8wiYgJfMG6wUdL46Tb+nI+SUF + J59QQgqxZ5bYKmXqP24Kj6cZRnoCwT8HBDJD/qqojG6F6VBqghr1l2PmYU/0nWULsfSnUZf3aIYJ + TbhAueGKNFaABoJTXJ516eBo4enMq3ydn/35pxJeNrrfDHfhJ5NOIL8YybfQgN01bo5hdV/usQAq + RzFY3eluNHjeY8gUW/ZwgPT6P11LOAwOTPmNd4YBAxeR7VU4y8vGoMYic7IPhXbIsf2u0kTK6hWF + 1kwFPt2PqGg92dGs5Zf4i3mwKfubICbVUIpdHInibPXWFzR+cRm4Ann4WiZWlnxGTNgIAOcWn9z1 + B0acihIaqQSGKgzVhaqaSLlw6sGuO5m1sEY+1XFzSPRFJ8/MQbxf0wvhblgl3oLh1IRnWuBpzbHA + wcKCuO8ZRU4ZH5KaeJMj0ckPdxzUsmhfOw5XoUah/Dffgykga1C2nEtFKCD1bXAlwwbCSAmDzX+q + CmZlUvdBUssZA58VV5pdXFfrXc0a8xY0Jwhkpguji0NjtauovFi8mEY5LldtGJ5CIdmpuK3k8Ilx + Wi5mJq82eCfYWxCFStrZSKYG62cMrW+z9xGkl+KEOtlnv2CzZcbd9uZBBrddtyVpsMezWjlu30RT + UhVcA7GwaNxQ9BeqLpNF99Ch4MxFwUB0+W6sq8bb09kXbFZiYotGV0d2+nOUkLoE5A+EfhepLRst + hno03BAQQJnWTO07limSVmEphSJKkGqQznpDOQzt5M7jY2zvheXNRlw7HJQDadUds4HEYHuvgN+C + g6Axvk3mQabHbOf885Vl1GmTIEFGA0Fqe6EfANwLxLJDYyhc/QTphR62E3Io9ZNq3KFsuZuMP/5+ + uWNxyDTsWtd0CL/hhJ/JTbjUYdySREjH73JhiUluBbDZD19m8nxrQxtPl+2o5JRI26MdLLxCANxu + W0r+vh1Q8XuQ/LyY3vW3ikZwIZ/tclU8sSykXLtx+vzfkvqtN69ihbMCFS9enX2QKqpk1cF2VVXe + SXPO3u7DL2iNcgm0u7OtPhZksKkECdQQR7XqJWWgzRogeo98Gz7NRkKZPaaiTViwFY9hbdPkPbYZ + mQ0zOjmo1IPAl9sWMJtMOCWQEYm/pjzIb3rpMNzpyuLrSJiuLt16YAFdfeBadSkospwUSkYvRHwX + sGd8D7swvzpNhwnyD8sY026htyNBV3ExsXJJsaChMnDg1C4h8ZUQTmvaT1B3bvozL8cTwj5c3KEo + 5x3MDYpfHgTIdD92tThEFt9Z7FvzYuQq8UB4wFMSJaTFC4rgAVvzIfHJ9khKrgS0+BM1fjUA+Z/N + 59NeTeUjXx/DzLfA5+ABCYXON/ZjN2RcroojgAJ3IC70LadxAji8BnisLLsGnYdEwiU9cdPoOWjI + ibVLXA5kQptJVsVsbSrUpjpdf+lloUxMuhyqOwzV1awzPaFvA9tIcrUAtLvfAVHAN7RFoBfXE8O4 + PTEDDSRN4WDX2RD13rtsqBdjSYewyZlU7XwS6hMbABCBil/Zkka4Fm/50udPbijQv1LoIpsREMVf + 3ULf688JKLibGWyhUfoJNyVm1rCd/inqpk4ilBdnzi0OMWm8oF+L7hgnF5xnYSZZ3hLIyOxAKIvt + WuNYk2jsuM9t42qwqdWj/bDcw445L1kZDLEdVtPM8JoeeU0LtCZ6+l4Rbg+q721fDIJ6AyPNKlHq + 5eRLGsmsVZbyJEsDp0LNfdUlDSyUspLte4zZG3e98a0vMsIPFYIdgHDNt+IvNV+VJGNyMd6ws0fa + AXfpOHxc+fQpHB1xIq5o5oKOmvYOOFs+kMYs5He+bHs980c2YWsg7nSL7nkFiZTHHInr8wNWkeyJ + 3BRx0wgUE1r1sSPB/ZC1tE00m4fQ5wctOjolXJD+cpz5wlEaijX45mss57DZYdY+f9ppR/zyCdaa + R63DMOrXui2aiXPAc2G0B1yHpUOqIVmUzuh3G8eKNdVVxBMBPMR1ZnbOWeXeFfyS4hRa2T/YPup4 + AcbBYEQokfPHmEejWe9PZL+ViYpIeqU2gPbynWoOngI8fMswFSbbYTcLCQ8WSGru+N3dzCAMAYlM + 1WZwv48oTtAZnaxEmQCoOjaGsiAo4uQrLjcsAPp49frDZG3dw1OjAQlU3B7dJWUedjRKp+QhSR8V + neAKYY1cufSo4tu5w/nZQ/ZYIYT2qp1KRCRCa1DGcJzVEa4khhoSq4CuKkDooh1hlN9r8uXt7672 + 1h/GVluKELIzImfnZ5DmdJTw0LyQcSBKgxwh/FrdA8SeOhboz9d+vbdywcKK8KGAvJQRRJsObO1+ + WGGs1NR59kv2nVCqOR9fOoSgu+VtfuXcubdrhRGcaQjO9XBntcaDWLB8y4Hcl4TJ9M2ETuvIjnVg + mn4yqS4XhZK+posv3G4AQVxorrckJwI6kOLoKTdk7kLGIbEJjCC9tHNUn/gavEHba5ngN+VwqtcF + pk0qegln7gz29pHVcPFGrvAyFripK8myScMmNMfR9JhzS5jyMnUDpxIsxrWmMjYDku50UTyKjBY9 + +0lxTsKHQ8x0U0/gEPZ3t9cgGwCCTNiHBUCyh+Bff2DwzXdeZnBxj4qAZnf1cQk0GOE1gtFm0CwL + mFk9Ux9nyUuuEMLAQdjT/tpHGTFu+JXfyOslAitrfGJ7TY30XCN8C8hDO8jh4xX+A+75P/Co72vw + 7xc+4HEgpw6svVVMa169r6F2PLtwQ9hXoUzkM/M6WjJ5ehCvJiLDnnozxB96iNTevynGsX1v9HTd + sE1bwRe3GZWAmCkFclkxy3d05YyiOYJVw7MhwnQak5Cn9Gpkwr0yshu5xyS5jHoshk3zCH6995TV + 3jm+wFfdY0TQMq5TbY7+Z+1ZQoI+PT2Rh+ICifXZ/ORTs2qtCuY55AWiYPeUHA94DqH2UiSkmLrN + jkPPHAG4yYjqSvNCIwiPrTb3VNk7hRqrX8RfZrXy/Cu1NFP3vzLH8wJPdhJ4Gi4ttyI5eGHay9Vp + ZJLvCQeVfgoEvb1onyVrLRdapbkbxJ5mBU/yr2mALgDJNFi7VcvoaYK98IvM2dTD4IVn9mqWojv3 + crz0PDh8ThWUd6Fu3xsIAuXT3jZ6p6/e1C1kOa2zCd8jPsb+ZzsWeVkc7oONjyvPtPnzn0MkhVbD + k6m1s7eQPDL3qMyZfcCF0mDWXofUsw0ONc4YDHhnQUPArhN9poPgF9Dre9bx8BQQOe7OyiFRscS8 + AMJbXJRz9fyqjNkv1bp5TSOc56YEHkSFPcsjyYumidszvp+TzKEPoj6D4z3AwCqQH9PpfdY8x+1k + EAKW4QKztUoV2uxYQHZ4JQfhJ/UioYL3gohze2cDjoZ4I3UIS8IynW1UWEVX6qPRhPKyWPjapL4K + X+HrdVwVKXhwAhukegJ157c376ksSrLCSHdpkX8Ja6vENGDZtsLHQ2PqwDqJC35uP3/wVHkM5kSJ + OKA3gNNryvypUS0mWQJ+7M+09wO2G+gnRO6zbdjNfomxS2uPlZZiJ6YbuFOEl/xwGeo3RsjItx/X + KYU5YVLM89F45GaPegZonoTP4tTfoeW5ZMD+yR18pf3+LPQps0r9sEB3bmY2lA2AgwvCKMvMQ0eA + KWKJYFJRztki2nPinIUsRKSp8DF7dTrGbCp2rdhO2XCJN6bgYmZqc7uKZiD3ZizT9T6KW4B6xStQ + T+MgQ2kH61kUD+jLMwXPDL9k250mlAMfmBB/+3ErnxhsHLFaHFKuvMWjAL6koCbDXdup90En/LsV + 7mnDSn8aVKpnb0CrtI+PcLp6XlDtPHBqJm/u3C+ItDRnCpUZ4sYw+b5H7jestWwfWxoomLhbu3qg + VcVdoPsZzq9CHsNIxNnI9nHwlSC0MKZeLlQG+dUTI6zrMzWERmjJUKCFNBEOlIgQEekCDIAJY+AT + Zh7XoaJNsEUJgq4JciwudFCypslkmhe94xuNPsC22dIBG/qsb4HGi4tFScokHLHKNMGkZJ93+Dan + XJKXYXij19jOHipjMjCNgqKehgQ7LQgqYux55i5UrYcTOEA2jlFee4+NFjlG/eXUSr8fw9NpW7Eu + 5MQtSw67oFWzw2XEVwnsM4RTfc3RgPqaLTGVph3doF5Ox69monK0dNJY7cQTH1sz1sHmRTjnTWse + eIPPgm122AxncIM16YCsmk+tx/1CvXxkDbpah7yA91AElrhYDnfd7W2olhvHiWyOd16FkBjdCGCI + o+jQbOJwKipS9vDiVwMzsjymN92nYohXg3XQLF7nn53U09xBl5ypZ0otZH3fKFGG8vN2YU3Ra6wV + vnozJY42Nx4tQbQQh071WcRujWJ/tt4q7t8pmEkbjd+LIu/MzS1rwoOTrGN1TFhvqOLhMSGvHHPX + Wk5V5Nm8LpAM4ckPfBHBeOUaJSNcDeCZbbfv6wj95VU5oPyNTtJXgFXPNIud7wa1Y2xDbEH2ARtV + nmXq3FhZaDMR9C6XVWc2+UwKA4UB6qkCkuBrnBMV3sSbnfC/02Bop5GMMmwzHdzikqDT2cESKZaL + 854zY8nszN9CEORk36fdQkRVFLHWYlroXg5RtJ5r58VTDSp4/XC/CeMCOvPvDaqYM0+g/IHh7H+9 + SPh1+akqZPTzH3WaY97b6+DyUvD1ZGGcKOp52Yufd6wyTqJ+0RJodPt9aewZ+52QuAZUTVaRFNAU + g7CQZRCPDI+kmtxdyCAPahDCCUGO9IscoOO2wr3JywecovJt60PVIwwWTiwx/Y5bPpDnql9km87Y + pUkUlzlJwfIsTgR3ocTMW0Y7uvVMlEU+XAABSSdaXutY8W9dEDCtJz+f7mWaunkkfrpps1uShozH + GJqLwPTOeJNE5hkoVvhWCmWjE9xiZ8MHsxjRrR74TBT0W/nEEToXesR0UtNfFLDTsPrpqryHCY3b + RC9wOiAzwg5N5bOa9fiy1kJj2Khgh1vVDyKGO1iZ5Ol6tShOpsmccesrbsJ3mXiRbmWA9Ew7LnCE + ZdmKt2hSrx+bzs2lYg0oNVoWDk/xMuWiWvyL6hKaOi/h+0Cq2Cw+VFMQDc6c/J7DzpiFJhhyNDNn + 2gcc91le93QtpAwTRzXEMMUsbQJyovPzPlPo0eSIFe+vc/y/EKZK4v4IYDCaVT8WxXXEpcyW79ez + QkQEXcurnzdwdgEwc/nIYzD+VZdamvi39zsln1d4uc6zmpOuevrqmzKlQGNx+pRJ3cqmfqEAHlxC + 05x4ZeFlH/m693LrgXrHA+yuUTVP0TuEliJKnkFGF1zQWLkcZyPQHcK0JL1Lsf0Rqc8JmPQKfjOV + ImIpJ3uS3xqplcwfASE6R+MoCgkQW00a+R+fdoj6JRpk75r4h0GSo06qXmqROU5ToND7nQKPCkQK + FvXXeXGySQIY5cnDE9Jb8vhxLBpBw/B4qlVveO122QfF8MpSrJgbQKPQ2wSL0RxDi0d5kRI1LQFe + /oRs+rKXQaZrSrmdOEnAFxbLmL3PmPALvHhseEa98z6CFoeBJRXw/GYQRuFXufw26XPEwGgQH+A0 + eLyNe94AjFZ2L+8SSzY328JmkznD924XYWoW/vw5R59oEfUi1fgnu1p4hCDQhYzoJhGVmWnmOInt + N5oarq1FRWcafhXwmrQngePI4sLbQzvVv28WtW0zBQO5eW+qBbpP1p0KW6Bn9EzG0on0cyMejDrd + ImGk90B3ikuatPI3kuOzw3F/I3+Q5MadQZ9GYE7G92lN5xO1R9stVpQqxEYsEDOCGOrFgyoj5UQ1 + cbmTf648v2qLna+PsDEaHTO/ttOlI/xx0Tx3CtR/jOckyAOqrcYKMA9+NY2djcg/pWgly8C81MCB + GHXkOdR/M4McoGLJUo6tJlLCoH6ugg8aTiT+Gdo/+4pPs5mWiNwiR/kTyB2jc1HRM1wyopN4C3Tr + fVq5ZHXJhI3aFTtV5MYGyoLCVmbH+0lqdC8+RPmQlzAe7TykSTvnHGO8XCyOyz23N0sxd451gpZK + lkCUAUT1Ow0NRyGAyA3RQGZFkPkIHO75AUIidE7jflfHkwWL/H3ALi7oNHvlgycUcL4vt6kIUTjq + pCa7Mmzj+ldo09fHkXc648lb2WNTTwBvzQsgnwuAEGhGmRm8XyVaXR2NFGr9fAxA1sh9sfstCv1Q + aZaRBFdUENI5FPLP1C8sT7zu42oWXwMA/u5y/G9RUqWuyavjHimUWIXG6vzjR0xLwzp6ZEQkoVcN + KUjO9HPRq0ozUYwU5psLfl3zLuFprFE/7V4Mruoe4X+zcRvWHjdokyCY5XxcYONTVLw9gPxML3Y0 + n4rerXdLFvNKEYBRP3XPpyFTbZBTanGAp8hQJdI1UmtLqrxKUYnrTBgwberaN6dCPUviBvvImbrx + LYGEmjCKAv0sIzid01SPfjZSD4TCawg3M9WaZiUKge79IvTF+O137D4g2Rec7kN3GRb59Dk8yU/p + b6eewnmQNMXC1Vekr6zMB0Y01rkr9zBb0stNwVE0J0TphHI8ZAtwkHwi7LbnVIAaxfHVw47c6Ixq + HIHR+nh1XNdVllKWRgdvPmwFcj9tC1Y6e/1WLkQpZD5mHRLZdkxQf9LAxQHM5aiXRjKQtKVCanaO + fxn9jOCph2TthVHpSeA0yVQHK4dFb9kButCCu6Psz0Lp7LsjgVTIW+5cdxSMB0TND2Q9bkAvi/rn + xHGehy586sKUMzCxaayTWwO0HK17olrTIOiRPwjp4shmysFpHTuoOsMjCkSeCFbsb/gMJDa5LxTe + 3oVa1XBS55SZkyM/Yb5qJNpRQTATjvEdH2DGXIVbBqBlYxTnuAlijXyMdQiK8iprEhSRiXvjZ5Sh + 7IBvu3AQ8HU9065s4s6RgPXmx15ieCOylA4qVw9f9DtZQ7YT7p1ZBmNcyVf5dEL2MM2WH+8c0Pga + FrzX0PK9HaC7W+yy1gKHdfQOsvbGABbauPzRfjK74begJ7wdTjDyhQztoFJVuAGlc6GdQ8eiG6su + czdYFOF3LzVHyx+TM4hAGdGTiJkevAjUml4XeWN/yxphT5kl2fWP60DATC1pGJKDR69qWtMeg6b7 + Q5GjTtuJ/FvbGrFJuscA4crJj6UhhFno+XUgIgxQeBlwsxZe6wkHJurrIo58tn0mTdYZwcById58 + e+O5Dtey9m68dWAOCAgq68CJ1wpZwivK/DQGqd3yrBHKx5jbpym2D1j5SxlmzzJqYCXickZwr7tB + Bf3P2ZNDw3HLlC8U9rG/jaR9dHNIc3JeOzFL7JgK13MV6qxWhfcJpp1xJw5Yfp/yHsQsfg/YpGBp + JWFGFi9mPnRhxzYVYWO6jpP8Uct/KswFs6DbX6ghEKsetJQhOttR9nNVqalYXYH5quxMD+7Vaxu4 + vQHXhelu7l83V9lYgrEfMW58rszC5TKfLfSrvFYHn6BoIslU+niN8QAYcbd28VMHf+nHUYddQWUk + 9XO6B1+IMwyss0FgJOjGPoAhnpGhD6q5kX2tyHCgM1FF/RsWQkjTXTd7zOw2UUSbnZlT+bTRzQ7J + QjFak+sQKOlJ1kdYEWrGxIW30BAAKMnXjCQkCZGXLlaHC3UoXeYOnZ+dA9ptsMIUWsbtv/6QGpXE + 8yUqce9xH++IArD2pEFvRddxmWXvJet1nRnOIoHEbEt11cjxC3nI2MUDT5+aVJkXThI5qtAMnx32 + ua4uJB/BkKEtC7JPlz/yHKggVRIW+QuZHYQAr7ggzodETMelx+gEz7OA41kJhwUMjM0LMa6Yp6km + uTyFlAhPlWGS4GE+msx0d/DPvFFOUslS9pFxy9ZU2hxPhwyczsEnit73h2KrnKGnleteTAgGmJL5 + vXYqWXKlR6o2RUCJxDFtP16VoO77ECgul07INHXYmU+Cn4FuHuW7DZc2NRd2T++jiXD+20phqscQ + aShp5gjmQK0asJeEWxx8pc7c1CukWhPMMLKrQZr6NpNwBZv2siqkRkpi3NipvmHS3uUXBEN1CzOe + BkQ2xPPZXcVzubM+HZTjGAUbC8EkEskifmJ5Gh2tN8mNCNumN4kf5NnMpSSlbQl53teQIjN3OUmu + LmiPV94sqRXeq2KRedk0Xoi+UC3JBowebenU5G1cF0Vpq7osNDxIp6ABbn2ph2R53OOn8K2fduJM + TzUIGKur13c/OtD3sFihrCe0rBpKdtfN0curZU4JfXgEkDXxg6Ua/DhI3weXfGBthL0pfd3Vi9HD + d3JXzQIYN+XnRI1UQoxaytR0PFq51oNL+R3xFKkTFlZAodbgXpfuRsQKSay8zdoqM2woArcs+dWw + o2Hu4GMkeLKkG794hH+8RLsB29x3yd7zfVo6N9eXc3hAPawhXQWJhMF9RG+aECRpTkJdAYTObrpQ + gn4PnLpyvhEc6won6jxDqVGV29OS/rT0ZX62m0LS7bLAH5miNEPQMNVQQf4G5ZldGmAaZ3SzRssc + UEWRvgpLnacSGqlPP5mlKLRBXhJXQZI3lSDeaVgEPKfbmnMIs7UKsWaZj84oo8NriNhkdJMazYpz + czxJHdkTznt7zA5wSg7Xl236+nCUuiOHAnMESkEWGn3DXC9N1lVtyDfQkpklVaGlOjYQkbS4QBkf + rMOSD0O/wbo7wjBKUwuPUaijd8LMEFGAeO9QY6lNEm6elXdFKvUWvS563yMG3N6flWV5UJyerQOU + TVzrjZjT15gvLN2VFSElh8rZ4o8V6po5gJPtuPOFsPMzXK03r3VIrnUdXJNMSMF/zevDNU3lzErF + MhLmEh79rkl/ptJMbaTONBoW0BwZ/kpFDPoM+5RlgIUlBwtFNuLNvBWwrvRqi+cilvh0BMxDAdls + vhjaZUqRd+UuJU3SFsWr7xrSG39sghLrk3tr2gNEsh4iXI/DaJ9pwMUL0zA3DTL0LVp/hp8+1864 + 5DNk7b0PMrnRKmqeYb8Xs4m1AT74ETZXfBlzqJceTIBMEO06EYV6B5UueIN7ly+DbKDrKzSCCk0n + r7m/y4p1Z08zuAYyk4Aqe6Ixf75TA8rhL7C0Nj1Ml1IjXd6lFGzVmuerBIsnTe4K0tluZ8lEqY0g + YcktZIaDx5xidWekFZqTOnrvVUMVBiOl4DTz4hBdDVgcbpMAR7Zkkt3Lpd3OrCwP/G2ANhDdOzWv + TUqTXljqSaZpDReumyND+FK1QTMiO1SeZeJsoRjPSUrSM5Ai99a/WwSd5lZTVmqVUDdZJOU9JaWS + j/gmf9/6nNSPjG+u+kXzSaNN3XPfVVZK8zwBs2E5K3hTEg+sc+UnlRzJH7ZaOCaJSL9laOo5oNeo + NFNnZ58qHYsP67Xd+uH0Zr8fBut1rtzxXVmb+0OJoB2e2cjwYXLsMh6v3nLoP2w2aGvsV9rsEYzT + smjDz7e8kOFYkUCkhii9i1kUhGrGZkoAExQxTlqBwiWZX4MkM2ul3pkaUVcSzGf435uU2LXI637g + sQZcX1cXkvYH82znA4rzFKcG7Am86kZjSKXn7jdnBpaxvMt1gvUEZbSgYD7RX+S7N5EmjVB9AO6U + VOBnhPE8GarQnmKpaE5fx8GBd0f1QZ5oOsFV8BTCQTLpwLeRfkkov04F+ecZDOOPLpemPvXf4K1C + cQYWVzdt60E51coO830DXZfXB60nHuwA7q1+uMwyq41oLDGVe0VLjVcAr/qfxUKUCekGapFrihJZ + hIGz2cBBZkBYTsTFCIsZbJbofesgmWFYQBW+y5wCnmkyLDmwdkNCyFsEkJqUk6XJDvm4/o91kFqc + yHdoLQptS5iHdhQO5Boi6hYutWfLqNyxKFIRXeEzG4YQTXRL0KfFxZtqoTVrJXsPWcU+txnkref9 + N2prVJ4q1Ok7KyoLcHB2PMiU9bjkLPEPlaA3FckoE3JV23Wuj70+PAS20hbkLBAwUjhNtnAtu8af + 3aQOeHrhcVemCuuTlXXyOQQZVSmLB4Q+0aRyRB4aOzh5sVUeok3e+h0K+Gl5N/vrtnuS+Qeehcrj + mFdSI59yHwrUvIRy3W59JfHWYYtqfQJmOl9fO1fgUW0OF+FySGHD8AkbVyUGiDYXQ1RN34l+JDP2 + T4wCcpmjFF2nyIdy6uh14r36PTlAH2ItsAdVN+k8cWcfgDF3BmgIbqoqFdbC0zoV8CVKBP2KxFIg + nofeZ1mdRqU5oNtd80Uzzyd45Kn3jlpW7QvOPpqgdt2PcbFCXyu+A5AeFCl3rdjFrgC5NM+aRav5 + k3BYV5OKW5mCUtKGDtFBOApfsix3lo46BNamISSSGKU5MjCmaTto1TvjmUpZMC5BFeTThk2IacAx + HIkbWFYfc3DNyNn0Y15RKMd8WcgpFvxXYXlajfdsMtxNgY32FluESxLyXGXfanAJT+7B2E8G23fO + R27ElCCORFmq/EMn3xEyd0t0uzfvapIOFuFhVioxwteROHfNX5sIRoAFDUPOEKkZjoNqx2fdxh4b + CHaknwSJ7R/xyko8haXBAUU3NqHukV45dNFOYQVLQgUn0qapPU19CW+aKGb7UOUDQ4PiW8RRjWVh + yT9xsey1RUd0Nse9I7L5S46bzhby5AYBsj1IsJ+0O9PxGBTWEAhBnAbkXvvDUMflW0FfDnf4UVFa + ctvt+cGWrLi0SKcR8P1qPGfHpOu3W8pQPlp//XUbkJvGxTJa+cacCQznW482J1JnBe3ZUcKz8OVr + cSMxGPXQpU5rrwDAtcQCwtXD79cKAYhNCQDQjoSQBitaudtqUfL1wzUmKbR2TPDVPOVKhEwfytxb + udR73KMHey2HfiuqQVUYnB+diO4w12gX9UfGeK17AeAIW5XK0ZvxsHfJEyyRCy3+SgxFcrtH9WKq + dB8QvTwJfXXWq1ew65LAwjfGvL0bqFTBovpA9fK5Uk6XW1vQztpnuF3lrtoMEUlpmmzZWWisEpjK + O0ELBCFIuXgfXTY8aoHFsAtdtC7Vj96agIMhFuIyNt+qBuIT1wAIYWZcC7/HRV8ei0F+qQltq09w + PlHOCFnp0h6bZWdnc402E/NWge2faXTLmwZuvPBxt9wCwsG5T/DmDyAzxZjXBKNyComch9U0FyA3 + loMat0eJ2ZcMjabJwSVsRgoykT2fpvuqOUf2JzlvbW+gf8phqld4EsQRHVBkYpMqSePw20zzq0jc + z5+2krX6Ru2OMouMsuJSzx8kzeeg2VU4fCUg5ZpB0yS3Bcc6bUhLVNVAETEq7kS8WijYODZPIvHg + OxzVVGQsRidD2hwAtgpQtLr9UpCKE7wk+Bbs3KX80wtVWGOy+NEwfWEivl9DTfCJBE+4+m35kE4F + 8Fub0pcDwXBXtK13Nmt2sDOChFEu2CPLC7qAJ59jRXfejI8MV4iXdrsNuJoRFPjs/femixJw1Rkt + m32CcMyt82C2Uhl05cgApbsOgSrJwrHzKyhpoweV8yRLiRgA2EwCixH7FLE0pF1k5xEIv8m7Frud + CNc96dRWAKSiuLDsu0aPTL2w9tZr3HC5k9xFRhqxOh1+NTx4tjf9W7G1WKveoYOhbY6jYa4LOHN+ + 3HrZ3ZqgkUGhUQZGadsiasLUyWZDGDF8fXVkcUwzPeLRyH/OqtxPza+OTDHt9jUYTd+cq7TgHx/h + 8dzhZDxeDDdvZukIa0Wwce+a5DopWRt/oHqAB8mEokD6lzH3r4+2M/PLRJQcJAeJammPQrG8AB2u + 62aRTlbUw6EAt+NXnmI+uaOhJVGVP36QP4VveatP5Z/rftxAoIgpGTLHHxCfaguW3auRt/OzRU2t + AmWijHiqrH9EXC62wIYsw1nRdqP6NPjGSGmQRKrFrlKCMRieaWPy3JouvWejOwhz+AH0LT3KGUY1 + 4xOEYvWbpAYTG9uti5wbqnaAEbUBUsoihblwODRTv51JUuHT1F4IL8vMZbT7E4EG3JiABp3cxZ2I + pjR58vs7C+zEeR9L1w5234JTa+UoO/TMSBw/3+55QF6naecOAphy65pIiWw+GlebWlQYKih1gRaV + KeP5cNRqZvP0ikSjwFBmpW/FkZJtKCIiZVNu76ILXMU8Xpcz3D4HKw0O2UFDRWz0K+TQVwmEuZ01 + TSGgnl/A9bEB0uD12VXQd6bOfeC0mFKundpmys+A6tfIopEIRxZrVqYHzsJa6CuMfdXGljJjX66v + WLFXQNq151+GjhM/ttdUAyGk6fxBwtRmeYW+3SBozx2rTMMPZp6DE9DnAoDCadViYEJt5heqzMxT + f1lBYSPuhrEHzrV/vPcr+d9Iu04hpeRzWLRh/lBdlPlx3K+gJ5k5Ts4g77WwPi254hZhgGYjIXXz + AYtDk48B4okRX2LT7aockKX2PD771556+Oj31/rpnQ92Ysvk1ikpT6x+aHnNxTlT/M4PzeNhzT+w + it8idqrTLeoqkDwxWG2rfDDwvcCvyCmM64V+WnOhJh6Q1ppwKRdbZJqUiWwtGioUR2f6WhHgdnzA + TStNP+P73N0eyRSNgd0+7uZ0w8x2TxhonKu9KZk7OvNEzLSznzpwgW/3ypcixio3dcajkD4DU75R + cTWSfd+S+zcje4juO1HrnHLAalaiohI7pK8TBUiz9L+ESLYAUeTbDB6mE6HFMg/lLMZHmVc91irw + Ttvi8JLmtQ/yDwXWT29EkV8ToHell2O1uHKSOY6JXZ+pRJmBkF3HgF7beGYr2WyEkptPdkROy8CF + 1NvTw2cNY9B49LpJjHgvbdZ6eFbI/RDeCA2lfgDa5F41NUUiRW/b1MeuFVavW68bC41HUROEqUXn + ikAxhGtsw0b62e+4JRHDGY/BGC12f9Wq4GEpRlio2WSAahFujmicmmcnB6I35FEgbzZ9J5u9mhnk + bg6GyijROTBVbGOlVu2VkmtzV/a9BROz86TsKdOsjVI9o0+JfbpeYeqmdVnXb6TxF9hJvCJKfZwv + CSK3LUcNOJmAZKDuBI9UHr6hr0RAgFHVInRA+SDeuYZ5xhM3Tni+hGnddtEUuyspfRhKKFfVY/VV + 5iytDK5kR38ici2CkwSY3a/5KtVyf290ErdXnOelqtflt/zCgf5cILXGV2rLMO0/8OBCeSgVszB3 + bEtvbOF5HRSYWLcAB1nhYpmGcwleITMe/LSpdWUXKewovAJ5Soq1TUJR63y4hwTQ5TqnZvZ/DYZK + MF2w2SBCxvMDxZmfjv3k6lKMCKdL3AYqusBkWh3Q1Xi796KiNpy+usbFXqJ3cFNCgZEiSLEmFzKU + Kq/f62qNwCK1Mx3QbvRzGVKrj3S9vkkmRGt+rIEtuwROcOQvhxKRd+OKCQC3bye20sFuEnsPpPJ7 + CsCesZ8NS8lwqNpGcjTCImKsoIPblXpafOoFYLeXLxu06+e5joqgTdMtQQm3O/Roxy+lq/Sbq0QJ + B3fAvEG1ODlErt1uCA5g5rnfE02fWq7lhUm/unq72+8bGJwxnlUqH8TgdeIul+H6PwXugyOH+Dv5 + NznRTuk9mTw+KM41W1E5PkaxuZt3crr8KvYM1LHh0h4UhWH50pG/+0gqV+reNa6QXfx5dTQ9orS+ + Ss1RkIx3woDQlFaYrur567MJvVp+xuCwDtuyxrTNZeewE6hExAx6s4/ona0TCAPoVkXfUPsBMja8 + GjbL03mYabe5CttrYGG/+MAkznDwoReGfNUXDXjylPXl4TJbPntK6HmnAMgmQ1J9/Kn4zfE6ZL0O + 0i6CCNt4MKbZ33tVN745zqnYsOVkao5UhiTOCSYOjjsvch7qV/jmxVg9M8e1fMrkbHdtDwjNtY+Q + Sa+tL/W9qAPk2mrtGNnu1u2HxYuw2IDWv22F3heZgXxqcWCAfUzT23CESj0C3jc2WUQyM2Qd4BAy + E62aYSj3MkCYDX9hWLxvj8+QoyIfjZaym8qhQPPK/KB+2YeWPBmyC39CyGc+Pr2ZmC+Jm2zAUdiO + qKTIJr0v3V42hFq7JHUp/Hu++/N3X0nW26h+qe/OxCQhGGmyJB9Ec6PDYH5hqK+HwTr7p5uoEH3O + ThlX5hKaszvq9/CPphNFNUmyfe6fF4JUO8OD7+H24G2YW6q8BmSdH4Gkbf5r/bnX0mLZMsPwl0VG + i1Yl1Ebi80XwjFt2KmgDHwyoYgxG1e01FIUl66SsVvyLtt0YtzCOFlqTelSLdO4onnoszZ8q2aqj + afGUPjyaERRcz6qZanKjZIhSpaJKjQlDQXMQObEk4GYhWuFQLtVLBzqwNWgwKohUagTVd1wDPviE + rXl+s7okH7Q4+pm5ToUbtWQyDXKqfkg3FFpZPEaALlHHZwQ9JpK5yk2UonrzA68HyYXurJaLFdos + jH32zEbpsgOMdcVvqktHvvZWoV/2CFIfNJckrf3jKvcCRN5LkWuVwqgyKgGFL4yT893wdfFvfq1f + J+2ZFVHhwBRiN46VnBEjKt9vVS80elvNsb0nGUOThGj0Q74IL0XbvjlCq/ckR8rwm7jHOEqaGSx+ + e7pbgKM9g6usUfv6ot5O1ABCpWeO/dCJWykiSO7GPMNueWVStRQSgvsPpV5h4KnOV9gkNUSW+61Z + kRw4xLvyGkr4MofaaQI4IOx5LYHnFt0DYlUqE+Hdq+d7Hg6CgMamAjJwuSS1vthTbNS+U9tKOnZ1 + 6wAmnbioJKi2q7QIjv7LICEvbrlIfZwJtMHhv+rp/ApFeN6tSNbjWQiiBWSrZ/ao5pKYZDib7SrK + qU01KtJFzoadgUtKgUsdj2xjZLI/3KwOPCw/JOhD8W4+3PwqnqR3DOB/M+JHL65WC8qHbSEhfTlk + TfkLIVfcQ75podRlfKfs3jkSnPhxPS+qLqvulmKikdggSkvmzeZAZ15ITMaiuVaOZ9KXdF7jweMY + zbVGmaWaFJgWNOpV4wK8JRhhzu+Xo7R25VXt/p5EdWx/z8aeJtoMjo2JTYs20Q9dAUoC03x/Kg6G + oh60LqTkH88ys3P9EMAjdpmbL7i/bLQ+BF1pjo3161yupEUxWkDXwmTz6NqTa/LBaKX5wgGwXtg1 + QumHzhnvS70Kloi65zn+3ZnqcYZ9sX8rtstwl5peIiFvgRGLuF288kb2hktieQELBjoUeEWf+v1L + WHvge13ZAXwoMoKFNlQnqGgtdtSgZaLPHQLC7hhD83D+ZuqW5EPuluSozhNZLxJb2t7Gaop52HO4 + IiDfSvZ7nH8tdem8iYxHekZxjHPJfKxLUOUMrUBrPnKiXLv3hJtwwyeenUP7mvxATCShiup0ER7i + JYH1KXNMve8JKgjdeg6D3/zDRVIxT7wMdJB8p5eDV3CjoZsd/Yz7fsNXILRKrtnXOKt3s7WwsTYs + STFeNZmUskezQ95yKhaukZWa7qgoWfvIEhtcye776FpvZREiXGciT3VgYJ7I4HEllGxdYGO2VVO2 + RUuXkTVALH1e8O2CPV1aqlnzcIwZKYHzcea7LR3IYNQUMl25yAohaXOxOl+xYePRNit21ER+3/c0 + 0VZN1ZEPUdpT3knptV7f0WwcY9BO7/SraMdKJmruSpnCJ/H8+IvQgYV7t07slq4QwfLzvbZN0BRt + B9K944K2UDjwvTPr/GjL5vWC8CN38YrNlzMKaFpIz/F0/kva41guU2VxsKFkstPlRtQ3scO+rjC8 + rSO3Osl3X6TNDMTbvi965cdoQlacGtUA9f4KZU48x7ID3Eza4bO1KZ05U7LHqLVFgvRtVHggUY7E + A4N9JhxinFGuOmulNibVIoXE14shFGD4KL7uKKqWw3RfcsyoZXulvPgBDM8IvcG0+0hgX80NHpoL + uBBT1nlBBSvoaNClxCJE6ZnM1+Wk3xW5Zr6lkXHM9eY/XgD1dMZZUm4CBskYtPKUPcEi6IamH/Pv + W29aDmQ5Fb2TLlj8wUPp1mUb9tYNT+t6M7/OIwtJwb82lkHEpp1jSnDawndW1s73/RphA0KsGDTG + VvXRJh+5fZCUoAYYOASwT0bbaZP5fnlldHQ2LqjTl2iEQ4wkhwfK5HsVsEEfqAPEujZbdcyTKWAR + 1kBmUBG5EOrU5qcP9fekf2I5xx/pEbAkQx7hn3KA8ZDBUioYouRc8lURjy+VLV+hKysCvdSwCuKN + H0PtxtH0oa4uH0thbZNLvvBBcvdBz+jjcFdr0Rg3PwSZJcIBhBdo3xiQ5xfAoBqSEHaK5bCJrXB0 + grjZElXZFg/matgHW8JhuLRoKOOyEmBcPv5gVRWPNJg5K+vxb8blSqXZw/jv82WyNVoDEe31csue + vDvw6OIPRjq5CB3Vi3gJw0+2iobjiMa46SiAcTqm5d7+6KthVmCPWbC8IYNCtE6mRytqPV67j+W7 + mNKJfoNPDvP3wrED8c1alsPUbDKu2aGcJel3TM0a06OYsN9UdsytqM91FHKpqcV/CyuHK8WYPGvd + 6+6v+TuCL1qk0fy1VG5g0gto/cCt0M9HTc8+5N0d0TFjVouScGqvJ26OS+jign4WlaFacj7ss1Ux + Eo8Z+qEuW7C+1aWZQwh/5i2d8HFMfCiGOobN2raCuYIoFstGEtNWx4g/Dsw35p70s8fM30PDiWYE + 5P43UPh5eGys0NdWyTHOsv7J5ZDts5c8DNPs8YiRnVl4bWs/ChqzAlFoIDORXHhDgTOPzhEGaf3G + x2lhcngUWlOYHc5EFysFVUSvfrVKv8jKHJSjNs93JGjsPgLEesor4iU7zCWzHNEDAiUBg8jnAanK + jAcqznZNl1kJiKvyJq7douZ7EiFYSY8mwsKISknRSgYqH04SLUcNJxxhlo2NDJDKRIf9uzMQbFhu + dshGjE6WIt86NppvqSDtFrmXy5kpYI8S9lS9dnoXgn205zIS9wANv3efojyCIkl4tgfNXtMVtygK + lp4yk44G0vr7BKBL4WqelMHvSawHsZThToWJuABKT512ZsMsfy2eeG6VI0AFgq/m25YBO4+5nZrH + KSPi53pVrjru7pYD3EE42nu7b5tdGs1pG+GnBK9FDGICchMF3bH9ooxPohJr5ftwPa8zekmRXpRp + GSa2F1rW1FMEauZGYsiTxuCkBfoppqcWz2hmU8oopCdfIKdapYBllJoVooWRIWxUoSEW9pgNw8SM + GvfSYnsJi7sXaG8gJEaKmzD9YQZi259Zc+SRE2Cjd9EZ7sC8LxPNNFV9zVqGT9P52wLRy8lJ5qKj + AXMMldyevvsZh1etzQEUaE8+zQ31Eg5aAFVuZxVAFw9yp/iIHRczYaUhI6GSnzq1LQR94GL1Q6BF + gMIax8GVCXgToP5SCEFAPrbB6grsk8dPPB3CzNvyqkogODxwtp0qQw+olo6GCFPvPgq4IbCW9ckO + mYtIc17wHhcrFhAaVkOGMvxQSP1guI69+J3NyS116NkiOgp+wz20+N7ryCDj1HZsphBFF3iHNMrx + rjKNkNQjYeqplISJfe5UisOgSMwrjktHHuvaEXlTP4sxG6flLQ60A0vBZkGfyrE46RXOM7nsqNRS + HPI+rXOTx9SkYGAGGbSDeGreOAJtsKsGawBPfp4y5NXsQq88FIG3BuzA4uBrRUVwv0JUQHIZHyn2 + cIQGid63BvtJdWHlobAWME9lOzTe4IGx/lfDFXygnNbn3dagy7/akQtXA3AYOo1xNpW/EMg8QCMp + EQWl9aB7Ed7WLv3jNPE6KEOJYsDpijG2HYmtMZlRJXmXPazPfG6W4pwb3NxiQnWe6TXZ3R2tczjc + WBoPxG3wdCUC7lADqTy9dCKcTu+tFqVGIMrbF9nZZ/W31XWWNg/n4NVLXu6eGtAuHeMZ+soPiAR4 + DVzFsSFBPKQwTWwCG3L3s+TgkHVICAojbS3ARBm3Hj34XNWPq/RuI1/GZ6lxb4UzHrlgsVONOhbp + +LoND/M82/tfL6wAu67zFSViunu67XFFHby79cRXDzgqqLvrz1pnVMxOF+R1ow2PNPUlSOyUkrN5 + 4R8N025pWX4ZsNwqOX0qEd9PK9z+EaEdFM8pIHbIGexvyQajUD4WnJAPBMpGOZMbl2zN7p1JgRP8 + 2WkNfnAq61fIj5keu5AjyzyoXcxoLSivDHhI2MYTG7TwNXjSwUzY8LLCV+1TEhh00KLhMxX9i1AF + MgGPLFeA26xX52JFfmp6DniCg2A2Ibel8T6uDRoJ2QlTSYK6ghhlrlTrAjXRKr8CU4qFO0GdUJpp + 6QIvlm8gB7Jfr/1tr0P+I5goL3lat0CjTwyiche5nB+HpJplBQdTP5/GmgkIeaV/Lw/QYyKUYCU6 + zOqyVLBRBTYG0bZbZ2guyqjD/VrPKSUD2HL+6fA7ZzLatRZEF+gsKLv+rJfyBkwxXwk5SQkx0rkR + IkmeMgEbTIknf6mxnPKR8FXS6tnkwvIHbF657+v8F6utuRb2zBZfcJShUShgsR4R0Awuw+tBP1hX + vU8QnPxD3Jq3S4/AK5FBui9iOOe8VMdELoH10JMdN64+OuhJ6/TArZEF9nrntrWSxlJcdnxAA8Hy + Im2AxzNNCxDMd9azDv04Q+zsx9IiI5GmMGXPpl/KYu6mBLnnVLWhBwcAQFHXv53tazhIQxjB51O3 + YxrDKn6Sgor47haj6u/PbjNvdJbfiVB4IhfItm2mhBXdV9bsF4gsO1cvmj75TMPuFnjtD29/K3HE + /Gj7ys5HDdkPZMe9/YoaRjH3CYL+bNAaxDqI89Qit1g62i8sejRCHbBtyNZcxkJVX3RCXPVrscBs + mBn1mRjPG5HNfg1NGQOPAsKN7gDG3heXtr+DwZUdQQRsNzCyjzE3TLuvnDlbrMz6zGMemDjgClap + JLHtARpI85GOMm2RIg/MLN4jonTkXAqZdHiq9K9BIRmNadtUXg1s+eu4lpja2qB7c+wBF89cYHnT + Wiblo1DyXVCDoSjKZtzV0HMEPahK7g/QyERk/L1DdpK8/MWoiSEvIqxeuschbo84nbqQKi3ip4E1 + pBQzFWbGnH/HLlyF457sMrzZ7Z+ZPrZVa+9wg7JGTohe1R97X5tckR9JaRQ6cRZcXV15JmAHRNUT + E+00Tn2hchPmXf2tmGl12D95h8YKr+AE26Ts0a5BXia1st/lD66AlzdndwVPo2fjtQ4MIznnDe2+ + MKeCyByYHKd20Z+V+NLi1qbxe1JxlQtS2Tj2a9ABymw7Ng+0cQrq/L8yOJfqRB/BHup9ZY8b0pGy + tnCwOIaQmv1xiEFiSP0mmduTY4luhwFUnDfUWvHe2w+t6AueC2KlJF0JGB3paJbzAurLSh1jYJzA + DLb9XXrctpAOQ/LHyWwQuuMp4mM/9ZXxYOHXZ9GoIVPxgnWEPzm/CLVkiOcsBz4IcGCbS7m+lPFS + oAEg1j1TClrNaD0BNyNxzVdMGtQkqk9Y6mn5zK3V5DuNBYWkvRPS3VEMAjMthFiiqW8ESF4gq3LE + hSe0IDFKLzQiGy2cDjRSJh2zbxRKYNtV6iSjT1Y8L2yaxj486VgnQ1zCY89GxceKLc2fsTsAcyRh + TfMhTXgndgaFosvi9nhqUwtLNxlVDloZPlFdBLtKSBoMUQQz+BB9NKOKnNawToXSfO2PUoB4VeZJ + MMGYuUZnXmqkF/0IvANR7Wo9fXZlDP7t8dM4TM+zB5T5MmNUsozVMaQr/nQ0yxjpA+G4VLS8hGAZ + oxQ+F2grqqAcaSoiqKQb7k3KB8IpLT1jv8z0i1GSWIXdRdA19T88XUu64+VrhiIdx7FUONbPC77X + Os/YeDb0iXM7FTVnKEe4cRxK+TI0ixAsJJ0DB9xe86OjqPMKUvuWZZ6xMkmf2GikQwvp5kvcbo4n + KZVlHNaqsvxmsDbKIu6X0poy9sUbYYIJw2FCPATfsmMyz20MfxTNYODjM9Hp61zvuZIlojtJLYaL + 9vWBJaojcP2YTj5GqKQZYiIDusHbhQ/rxmPDsb77fLAW/fsJt0mjdTn4D4WDccACLqOOCekE7QX4 + dd1hJM8jdezdegwetsNXpJBFSF6goArqa8HYUGU0lpE0JBxoZ+SQa78zlzd+DozK5AwxzG+t/FOw + k24gMlGqKH0qka+dJoIZhaLCildYcoR1U4HNTpJ/BSGo04GvfQmOeN55RDOZoDv7O1yl/PA43gnN + Ea3eaqX+gaRk5yK774fGt+cbO6NbD71gP44FOBp06wYqP+zuZy4ta0l/WWdQlxro5LDcHiwaOLg7 + qsBXxNbf0MS11c4eSHkaVd6ltSj8Ks1uc60ayCa2YaXIt6wrDWkmmMSWcvbJ8hXOrQ9OIjNKIF3g + JhvSX6m2e1lQQsVi2gYewZi+svjl1w7oBTsfqrhLfnPTxwkL3m+FrqAa5EM56Gja3x/zKE723HIH + aKbIFMZbKZZM7Pi3H1CDoa9EP4AMxk45MrlMlEgfL6ckGC5jU7f4Hofh6cXdvRy4/l2A7YmKKTDN + 4CG/Ac/4LQaTFNtXHsKIXTuPFcCMKWKdIGlcwG0XBeBW5k9aD7t8dwiP/Ahtm7mYVlz8loBr8Lqt + h2xaexlX546T46NyQeYYIKvBU2q45Xf6afNl7iHchEoFoerSmWsMbb9JkoK8JJE/aeLKlG6I38I8 + S8m1B5LipKE4koGHEmGGtqJYi8GnMRnFI/RCbrvUMjiRfdqfIuWSlSMKpANWKY+G29y7/UEQa4nh + z+5qozviYLV3lg7y+pwXxZ0pMcAXRXSKBRFk2yFsLjV63mzNIA3sEQ76pXcUum4c2mE9Vq2xiYnu + LRw0nNJMKNbu9xM0a8ykpK/+3Gjrpm7dE5MD1ea0b11CgSJQz0J4+ICEYgp194lzLH18jIZPYDEI + pXcHG7t4oV7RxB1ARk3LlaMDXt4XjR4lZ9AgBklNW40yuPHr0FgtRBaLcJaDmxmq8WQORigp/dP9 + 0OoY3NSc5a5/YRGFU5BQBaEcH4A13rwTwCtPo9HUjxCjhtq+KcJ9hkBCNW3ay63VprQTSHQqEAOf + C/tb+BcTnWhez6Ix0D2EApbFqMA6IJ77YYJ6s2NbJgKNKSRcJzwTe4sFGVxw0/IWLO0PD84cAV5E + r5Aqm8tKB8IhRiUH4OkLOAju1ZhylI2TsN7XrvSuUYyIsUWUEwq6A1gBkUcBcDhbl3SF3mEXa97K + JN7TaqgSTf2RWMGlathXfVX672shg1hBKsoHYfj4mR9eKcAdLuwRd1PvCIMBdYFnJkwSFtJ2nql6 + hcGCpwCplYmqzwvFVi4Up781H/vPlm+Wv/318lGqXouJU66cu35BZTkMLg3mNBQPn9Q3rjap6wPL + uvjdoRGcnhHttSneLvudFXDmA005gTNj+934ECtzFV0yLuMrjdOQmoYrQybu4nyzMXKBg93k/lKq + R6TwpcB31WlSYF1jmp8Hs48T8Z5z0jzDk20HOpYLKvyuNYi3BGc0cH3ICVk3VKws1IXRoYJUo6Bn + viyKZWiRKJCkLAHCr8jReIGRcVWNV0vjl+Aq+q29QGKgovJMejwqWQdbD6j4NVZsE0W/0wgjMnza + S2O3e8scfSGjU0EwQVeD6DFLOKIpOADeV570YPmujPHwopDCniuhn9u9fBspwXER4nF7AY8J6Fev + yu26+r7UGkVmbHsA8b+1lM78TUhXV7n1g6Ui3DKNueKoiyRUHN10bL74FbVRzCXUWBOzXjBtvE6a + 5dJHnGyp6RHp7p5LS3780SqUSsM/5K4miATJp0Ctl7FeSi1R0LTiUYkqSClrbG70/AJZhAFYSAOZ + o6GQ89ReSNRRt7igw1EIvW/rbczybyaljt17XUgR1p9TThccalOum3OqnPgJmCfO4gAHSqojmqgV + cwi+hpWGw17x526rF/v6YGHKH/LR0RcekHrR3fadiiIAbNYgcusRAusdnxort3jiB5ZcsTKtSWr+ + 49kSnyyrWy9/XUhACg+kbKsHUHwVWsHGNpqouHwWcT1vzuxfJTrkXpy1E4vVj8zwv8hUzXXDC7XB + GQmJP5IVwxafXhtePe5QdHPzLaDBqPb2Z0oQ2zkixM5az0q81Kg+Gvc+46M6tUyk83sj9nJnc7h2 + H8Z30eOdH8APFXyhpGmY650A9Z0HWwG8z3CgIXR9dZasEBpRlrb6KEEJZEq47rd49L0ItOaYoIB0 + QfMlvUB2SBI31CgwJ3zGHaUxvbhsV8Csfsk5reEUWznHh6h4U5y438qSXeS3deBg+h3yxoWO7TF/ + 1QtzRtk47GOw8wliKR31osxnEGDsxHNmJRxvzvuIAIc358EwrMRj5xpNh7mz/VYDpZ0GkdatDqRb + qnuYZ6kJa4pgP0ZXettSUOF2O1iSww6vF5Fepzz2ZZKI/HZYm4quUKnrUql55VXccBWUY+hkoyzT + YK0lQeO6v6e4Si4y01a0ljnqcLsy66FGd2XCoVKT32htEy5bS26oDAL27oUa2K1PsAsmmAbmSYId + oqGeY+M75NQeVVrZSNuFrsAg1IwWaie8ecVcNfYjfg2J5Kzov6q0qatm7bHWIDXdieUpwVKiid32 + CSdnbplwI0MEM0WTT9vzW98rk1ycZt/qvLk7iT5bPZQlwKVYEfuuAaenH7c33VHtAaZctK0/LRIR + rhJyCU/XpaOAyiTOXHfAfBKf7YqCunfby5bZGpJJxkO6GSUdGomxqfbjnWzHOsPCcjk7j9WCjfU3 + Mu2C+0DHBYjaK+5UFjtPH0ys7XZ4BJ5cwXFxYFaEiItZDr8FmCKidDO7ER+7oVY2E7HYa9aojF6h + qkdUt8r5TDUztdU2qISCNqp+xBQSZR8Xg5SEErgMB8YEuV/y1SsfLw8NJ6ofkzkLLmueHexKC051 + nb8+rPTL5Q5KrtXOc8qrysUcmShXMg04G+TycbPS63kMu9osgONy9hBw1PkugqmW9mpIVREAr/d6 + BjqE7BpuZCcfSu4Q6N8zMBdP6RhKcjd+PnCLugDFtWRz9LTzIZbzy8Q0s6bQB+ocb2a+8gUpbwzS + MoBvvWVYkUZBfONOl9z93gUvQyx7g2vqTwofO+ebTv2yLGAD2QyA233J0C6TBfZsDpLaDkYie+VI + 1kbrhW1pb1d87sAo3sJkKnysaf36Mkmzc1sPCsmAstFrKHK49dg4GT5+vQ1CAUxhXjTuerfu/Lux + BCF1nYKyrX0vUsG7qYfkXcOZ8t/7bSBmkq8YKoZ8YAJAg60/KADRjYhg65G7urQiwURJZMjbrphz + CZDa13xbH24iQlLbwTzvARxgit0EwXI1Jjkr7gN+L8KhfKTvM8VuPW6sDD8bkecGlJG3g4caGlS6 + +vSRmyoOtARGur9CTMitmLWPUJk5Ym2KEEB/gmaqaBPJYjsma/Mg9aXYoRxcSrsIyVEdBNkqbnk9 + D7SCKFfgxlh9WkhkLiXFsCJKtU7SJ5e7XbkaqFLrDEVbpBQS5P5prxW/FmJEfcXqUMDI78SbYaiK + xLmO6YmMahGFfX4LIt4eqdg138OhbSJv30gvDQ19SESs/h1JArskKzCoPDYKDk6T9xt9k+NAYvZo + PLTvwv17vGvOwOHb3HwCjrbCMaqb2UpretX5rD22s9wLKeGHQNU2JmS52K/JhSczm2ni/A9/M76+ + GwGGm42Fk7jOi3+ZKbOBxfwjSvLynxhpEBzwrkgRe4cKHDEQXVzHvtTVpEZdc/hZQOYhkNWhhg/G + OET2wcdhBnTPMabN0li6Qs/L2Cq10osIXhbvhJwU6rVetQA0L2za2A9dG7vjYnNoRjYDwSbhTR8w + v2DKvLB1Qco77iv63zZ5kpEo1wYg+TfwYbS9zMaYcq5W1tDADsqKowQ0C/Ob1XM0UE4+H6BAFqB2 + 5NzhCSgTs+dtCty+ciSkYGJMR/h008Llo64103f8Vix/9IDQbXT9AFTOqeHgSpyLn/wlCo+Aqh1i + 8CX68GyE7uSo6heQImyTX3EWa/iK9+e90PSrHXVxbWw41Xw0UM5F2FHSeEAG6w6ajJeoIHSEi6ng + 4nYKr0/Zkpz0n1mhN31CfRP7nXUj+hv32ZWnc+pIFgaHT1E9u+zsWi54UFpsW/pJkN8aYk5FdwSK + +msUqBi8DF8c50Ic/kgiqKw4PXKLQKEjACk9LtxbmUF5KhpURjGJFbaskMzf248IyB91EX2ehVf5 + E6FniQFGSS6cnafpLwxos2IiySvwhu37yyAk160UBMWjWj3e56j0cOTaJTsLky/WeVNrXRebGuIF + RnNurbdz0Zf15j8W1UJZ+9QsE+xZReTyb9DHPUo89jk3MagDfQO/49Lc4xyyXoaO7rnQRgmPTNZg + b0fI2JfxJRpc23PhGjPxPjrESl3Mky03x3DRq7xcbZZmYefZa9W9+3oHxdTzpehYTtTlFATQ3CYz + gjVtRXDHEUZOwqCBygBurAiOtbXHf2mpu6SEBWqqxwUpIVx2r6q4Bj8sCTBeF19/mUFH2HjdJ4K2 + Ol56XVLYCpxFwQKclT1IL/zJGjgnyG/Djkmzx0RMq8fySxmWQdkYiRZMbacCGTUJrtD91vLZpvqQ + 3X6oZbt0OIWL+dBlHcYCNq0R9fX23kECnGi+a+pKwCT5e1HUUX6bTxOYmoquC9XpgdpIo+yp3knU + x5dqDUvlt1LRAXanE5af5ztlNAfYZd6d/HR90us4l0LYfdaf1mtvexHgWNk19X0AFMh+frJmdlBU + 6ZGVKxhSswm0MciDragWZ8Hk2VO5UmkZd8lKH+d8k27FVHBwqbKcVU+1g+eoQvZAVRPd0vdgI4fP + mdu9V6J1asLzTG2lukVHRbh2oetbsNNq5aQd0l14V32g480AwThuTX8Rfht8NEmJHUNDI8iacoS3 + ooSNnCCbZw4/VI0c4TY5MYpg3sjdiIZSIYIW32g4Vzf9en8uQ50XBa1crmvCsqlqT/fl5EBK74uY + bprzfuyjpN6phmTzox8wzOVGrA9aDo4n9tqWHfDVfXHwzMKRST6EuXot1d4c8oVv4MmXRXjhaxzO + 8sDKf3RFf460D3RRpOS2v/G6dkHwtaVUqeDshdS8P4MHJ0CKkeKtyUOdC910m8nyQ0lnc8c5FaHL + GafEb5akv21/MyIs2Mi8OyHBCzvYx1AXhVkp3Qy0GX+pcUiq5JSXWeQx+ZED/ceJQ6pIlI8Lz7kc + bykUuND6z78QfqK6z2EZgcuDZYZLUdtDSi2cQ1+0IqG2pUp37JZcQrmzrpmKVPgJvgSM6KTEUedY + 5hAbNm3VdNM+vTwGPzprn1q3/Xj0R/w8EvoVxO2fJR5q1jogCXDbQbuouFMCaQZOmQrx5YvoutSZ + oGHnCRPdz9U8p60peyhPC6/nGkPTG8p04zjj6yv6m80bPf4K+pAqLB/Lz0sITGH174QFDVisG5Cy + RaQt18QFFJ3q5CB4D/tkvbDfIsl19eAPy+R7Y9UwdRDJk24MMuM9F7Swr9i1Mvl2opOh92SExNQ5 + 7r0Rh2/1Kxk5WPBNMoE5RBCo/mauCKbacRYqpb0bZ+/YwR2+STCYeynyRdtBksuiVUits0KZCiNG + E18CZLz9sbSkBNf7VR3F4sJizoy3c/rxtrXS/W+cfqgqPFfjfhGm20+ldYK71N2wwKxM1oZ19VNj + 9NGBQcW4WJn2UkXoTZFo7Hjvz0U+0uPul0ofC6/YlQ8s6NWyp1pmVFRgD5SD7STxSv7hgGzBzsPa + 0aJchUJDR2s5Et4o7uRetjGF13QSmkA5q8jJSzfrTSiKR8oY2E3nlEELcUeoTM2kHoeIQxg75c+R + RW1yOfzYz9XOt1b9yLUIMzuSXbxbxxRiAO/G4s/9XePImP63dOR20lz6cu/B/HpMSAWD80Z7wPZo + xAHm9qOTvILLBB2SFZiIL9tpEYpNz5v26WzRrEMVIgC5yg32eqZSY1tkKe+/daaES6bZ/d5JnzmH + 1CNr2ImWZlkhN3iRRcieHpaN9Nx0P5JifL4IzKMVPtaz2JNiinop5cg3bb6d2yOj9J0anTJNXquJ + kGCKdzRpKTUZ9BDKYVnHP8jRQXPTZjpiXFYulEEwWjAxaMoC1UrLYSus44Rr7NPRse3M3tC6Hg1I + CDo2qau+oOiaVdwj9A63ByHBXHix5pyD3PoNQ0NeZEy4c1ilrKZb63my43d3MDkvFkzHubPds8Av + EOMYkrZYfIXwxQtoSfrV4I9QmsbPL4sXhYcW4p4lkeCT54wC54XjValnD6yD4wpac2hxQL0iBFGN + Owskm0TV4orDIOHzh8QtiYxEX2Ul+f5hBVfPu8iAc9EZ02/8X5wRI59MeTJn0jki1t2sXmXJku5C + HoFts9KwypvX2XMkOS+/L2Nu0M6OY7PAJEY0BiVvuABaaB2jOZupbv7veXZx3sZKY/RjMj6Hne0o + CrjNi/BQozAKbQvyAEfgLyneZp4FJ5hxC0MX0LIUoOy5omIZNEVk4429aFgwtTm4SMMqog1yU3o3 + OMNFGB8qfEXcaJVGOvcoQd6m79XFJWc88JEFbqCYrnY6qLtavhdmQFeWsqakpvjyPoZayGw9Rmse + fO9QKwmkvX8u5uHglQ9/s5V3bE8gxneFpTIz9fB74a8zAYLckFfOtmBVgI848jfabn74QO2R9R91 + nD1BSK3mb30XEaNlO7SiwXeVV1SX8qEYhrUXidzSRTHgK+WPJwdRiP3xMyq9C1UxweL91JDk544v + iGrRonv6SOnKnGBrZVoIELKfhc9b6jCIrHg0bFvQV2KCtHs88t4eJm7dKu4P+rufdDfr6N2pKj1b + l3cQ2jpk6EhwbaQr0nGz7EXKLZ8cRMOTB9eUiG9BLO4eGzb+OesI8R6RhoYnlCi7C3HZuLp04z0C + eAND8ZfeiUCKuTyXmETGcsoZ4bbltRdNi2+HrW3DkhpzTJPdagUQy5bDhgavEnTj1CHJ1IDqsDgB + /adG6xeSUXfNiOJCxwevJRA1uUIyw1edmBZg2FDshgCb1L48nPMC5p8Sh+S0SNgvLDNlqw8mfe8i + FMbSGMkOKq6azBnpV8JrnR5xC1CxwnoMEqSrHViFw1q1ov7AnEeguNxlUHq0pPQkvGqKioPlNm0O + 9jHIEWO6nokTI9DoqcHBZi8zVQ2X9hODYyVQcRu0616fo4Dz/DlaYDljt1A3lUDaYBWUQnj9t2lg + pPzH2x3VFHzSMWIgeV7qfZ5gtKXevRdHos2RJDAGGIviQIXzw3gnEHz5S8PFoB8H0tVlCDyMHGPH + Q1OO48hfn9+LwbwisErDv1Lobz+Hjz91jTo7eznR6ttcN97TTbR42cyYZZgTap0IxH2FKzHcHrjS + 3m6mBQRDYZEvVZAUkFe7Wx1Acr01dXCZ7EXB0tA+h8tve+oWdW4WwanytDUDMz+VLHthrWHkusSh + BJhVKBbuhJ0Rr3ldjypaimvHBje0Zqu4MjG2G038oqif7Pjm+bEpMoBoD1d28t45Rt8nnTOcMS7w + bbJJzU8fim3MeuG5HlGJCgKbdj0t0aq6CF/kIuqksq2zasad6ZQscMz2zsrcyPwgY9UfvoIsx1wn + /Gvn1VwgcX7VVu9KvUhwob7xL7Rl8/AxZulkZcGoabEYoLZ3Cl1MFEGg+M6q0ROmx+ReYy1M3fOa + g4XgYBgx86Ddr6cg7OPl5KCi+qtayR9wXJBt54jImLBmmj3vmSlO3n9LQDjnxZpAM3eyBnafm4FA + uSjNttKtelHYwEm/X8XRuCw6b3M1CkaPuiMDeDIPS1nPQ21vRfSspVUQCLNmEtjy2V2loz7ybKbU + /GJofjgj61O1WKGhuFkOA3hB/gyDk7NK5xfjxQtXqcVEXzudiTwfOwhIbdkTaONg0VQ/h2qBIhLn + M0fetpiV0PDfyOGhKVkKM0BXAieG6X/vz6FIImgPnG6cj9pw+EPLPt2DmYYhqSCxfj6o02NhJhdy + 2NUpywu1pI+BYnM/nXjkUc48Pxp3tReLEgZWI5lbCUaIrw8V1cjJ8tJzJlomSUGvnD6HoPpFF2gM + eR03GjugCxukZi31lScuvXJSmZcXMEpq01/BIVLZrB8MLUeC0lynC3F5rZfBsQ5IN9nFaUvMMQSo + 1c6PBIU6BeEVrA/Y6zA0EyGBCxz3DnPAXgkF2burf3OttN6IPCz+FJw3s8qagMrEZivQXTFZapJU + zZw/8dN9QtIROqUtJzL8NjvHynYdx5nIz57SgRLXifDZS8cSy4262TizKil0QrOgGsfI4znUKvO1 + 1m24axgW/l8IuvKmlIPzc1FnIPmtT6iW/IwlRq9MURw2Ri9DJdzfPKMK7bCKDoMeULNaLqx7hC7f + q13JY0z8XFFweWbLkHWTjR3jCkTKBCXQoLVyq5J1kjDwAiXVAHkqr+iViXB4JZuFqfBKpYdaM6Si + gdf1WcDoGNa0fPurnxwcZvg9INY/zAzkWlONGAYzyNMneUIJT2YyL1CoMqhC1rWy2k1PCFBI7pBe + Nx9HaWIyqHHjLC69ncB1WRcRlpHbntD+khyHlQJS+qWE4JChQ3Iq0FYuNMc+WmcEt8HRLYQPi1jg + c9AQGen6UD5AxTLH0UTGqJfafXLjcDceXHRBp3aJdb4VYc7de8ojvg/Iqs7jp6pylPndg4ggOA+I + ox1rOEm+vHIK32x6/JNvvJHdNITNASKfviEw4kPvE0/gRvoHr6fTfLjtkOkryV3JUYUnoltVO3/R + 2yU3/dr1OZZAOJBN0RRL3UbGFLXxbSfmOc9Y9QyxIpMiwLdkL6alrXf33tTdys19t9AiVAGTmtNQ + tAG0LNnwTK3EUQxkfqvJPoaSItszPZVZWScQLvXisIL4Hr4YSEoQGT09hSWaco3n1tCZui/LvdjN + gj5ZTiwzICzpnF3d9QqTzuEanq6IJkqFx9OaD+borWL3gthuLdEpsLXtRmXgn/Qy375RmoQq8yHV + l5nWdkZ7jBi7muoA7uU1QbBfM2UJC3Qx+DJ3Xyg1qoBXEOwIAHemDBfy709ZpsV4bLww60u2+nLr + phYToswKqpmxRYNVi6DK3/5FbIfP1yOqgzG9RaLdLS5awKeiPuGffXucpLD2l/XFIu+mPXobAWvX + KfhZWAP30y5/+0n4/PjCFvgi9Y5n6fpfkZmBhZH26AUbkpfH8qNlhEGO9/1cjPGhtJh3UTSbdzXG + hkU+lG6JAYViEp22I6iN+zNwZ9IQI1NpuEqyy24B5AMFwwv0iQZrmNCaohpo99KHR5u/y8LDTzk6 + fJE+T+IqPUTEAlMU/PljxQ/a45SixTOMtZLTNK+bW7TmqHuwXIW4dkqNIjytmhy3JYzSJGvebZaN + Yw5Tsk3gZxHytBtEGrwlluTMJ9vaQPZqh77AokQP5BAdG1r7HHp6/LDkTLmMUoIR8qjY6W8ZXnNH + GDlnu0jvbwWDI/h+IO3w4i9vJYAa1ywHGZd/UveY7HUwwEhXb5OQxnYAiTjy+2WXCYAUWm0VQuag + wfELpvK+BkQINRFXS8BJjySz8hIOYoTdM5blgoHKSTmSYsCcbckXjvGyNHlg3MK+G1eJAZKbXSr8 + Uy+YAbwyf8kVPMIVx57VPz3FyEZ+yS6IwaP6l9UthborI5/rmk1PeDcXrKiclZnNw9sGGoQwudRM + DR+a2YBfeJDAcfMalG3frhUxZtoRqWk7fpWH1cKIzwL4TJklRikCM3t8TXz7ht7E1kR95nCbHJOQ + 9SIL2iB4b0eNLkFk55s2sBXCsHdbGcGRtJyRCBCCGLjBXeagtMDYamBfjP4NojDVfZgnCYdeiRlj + GhcJT9JHKym4QL+6UB065DYbNWtQ0kQmRbIvTHbI9MTm/kICAdSIhV1XwO8O0sMEJgmX3BqfN+XW + 1mgF0N2IludiPXGsFpJiQt7aDWj1Ft5oxZtUu945Y6oJ32af+fJkNOgRDhxQSnu8dy80PIC7JbWR + SFXF++dYLaElr8c1ZPg4TaSWICGJEO9k3IyI7sNJwqfomJIRdpfh8RaCCZyo4ec1N8YPxDU3hfmy + x9xYOX6RrwjiS5CXVSr0gzuZqXeP8s+pHJ0qwAcAUJnl673Bi7OsHvMl524wSFbniPUAm7L95uPD + harXU1ur/VVvsrTzbfgUTiXDRKZ/KtYjshaS03giDeXQej3KDeuAWyn8bjVJlhz0C4Lf/X4ZUwBz + ks7M4XJbSWghHh5uyCrYlRux08I5zgKcXvsalCbFEUln24Om/IKZ3IE+PCUSavzsDESPfqPsmURB + JSCAxe9n0A77rMsO6ZaG1yIVTQEyACtaP7UzS/20xLMRioZOoKbvgwWubjkbholoYDgbsY0dPXP5 + 2Yai48T8GkAfrGIGMFhdUgUnqy2fDcLUruFbw4bPhd2jV72TlwnoqfHCXbKwGXy95KFusej2AV4G + f8ih+mLl23Z0BGBxqnfhJoxesSQxlvENaMPGeriw65jYieIpWxBIwotEU03YEHj3Eq/QmJq56rDf + l3Fiwm99Ug9QrmKj3lw/bd3yNd0LYs0DezcjGbbHJZ6zjKezF80EEAfjuESvmL/XjEPfJEWTE/yo + DAo5qJ/TWYacyAzkVMCssuOHBmqA7H+T8LDR3eZvgVsf1iY9dsbDXqhPngLlD7PzGYCi3j2zZhml + sUcZYO8obsjDXpgQGaj4yk6avsmufd6Q4FXMsjA+0eyDdeewujdKRXOy6z/zCYeAqrhJ2nLm2J+q + JJA2gY+8Ra7CNxXLF8JYipDYguno1xPPnIDuRp77kpl9hJmeM1yMizW2BoWl+geNivNAIpcn61HK + GTcHTxteN29uv3hg3Saf97L8JsGDgTbrBoOSPZK/pbAeLG4fFe9c27JaeuPv6iHSI7jNUUIquCwk + 2muaupx3UGG0CpU2t3hBmfoM57pWr1QaHl6SjPqoFMZiLdH2XtxToKx2xEE74PPwoKAVDH4hzR0L + eRq3Jk4ctVV4M3ZokSoz+/TCWBeOADYcFxD0dK+r/C7TN4+jGnXHLy0U0+o9FJsdGRtoYKPRqQcj + 4LM9NgMhXSyXZ6445qraOmRS3m1zvPdD18Q0DdrVi12GGa52XnV2ce/KVcjqtdoKUEXONhfZ95Pk + YLhr3vIgqrKH7loItQ8KTcHSY14IQuRW13FTzreV8MkOMKNtts1AeRvUvba8sWoQNmLbodA+OBmj + 7GcJJIJdNV3NyTuPiTfEFJGYJzJ9qJGYYpDYSf69gqRv8oUH/p6KyKaGRnvXeO9bgJB8anULwbu5 + L6YYO3Q8PGOO+lgp1mhRAub+zMGyZyi+qfT+nIgoOQahY7+E00kL93PCIOlxi7KhB4fb7Cx9Jau/ + /PwCLyBQScAIYIRbpoefP5a2A/W5sog70QnKPbFltDO6QzHM4s4W5wDrCal4l2STCv0jtQaIELyw + Kig3J1B55LSuadev/M2ycuSLYu2fDu4ChB9gfq9xk9K70ZOBNZO/FQxBYo8S/feHVHC0x/WpvEUu + V0yngO3myIpWKrNvpV5qqlAKWfa60NjMlOoR/AhQZObH2PqC15HX3LIkrYasniR+JinhANt/Ygcv + ge3ENlPur9Ba5V/EPD19RsGKBBDYekCNSQ+105TiKQMc7myFy5IXLW+3bQQsutZEprHrqEMzVbDs + ZSgHw85fAhZRvNkzgnFkFXS0dnrxz4UQTMgPGp581ImlLlpBT2u7wKkjUq9WiL29RzIKrrivaySw + VRoK9Dq3jCtyn7vF5mMGWhTuJbvhCzsMM2rXeU+ILewZCjGjHLwEVoiIQ4RIgOKjOFRlpaMzK2kF + OsBZbqWEgqP2rozPvdMzG5huoTWe2sDc8GRkZ46IlV93y+bEHCa3ohNLSUPQC1maqHVDedbFg3/u + BGM8tYbOj+yl+uXbOelm1Cj8OBwYGLeVNVbnyQKJwhysd5H+rbtuV5FXCGXpB0DInHA5TKuCIYlb + ZaqyO6JZM9V8p5qoq3aWzLpxaWUbzA/84n0bsYhbJ0QqpmUdOQrYllywFtF/bahg7vaJhWekWU+b + gI0d2G0OyAGorYUnm5aa0KU++auSPyNTNuVM5AGn7jfl9n4a0g+MGQ8UKgQhqyuFBxW98+XV6ku2 + r8AMGzZoMWa/jj6+IMConccGez7eVk4QfFoMTaUxLbkFTMk5i0hbMF14ieCnsJMz21qkgyua6a96 + mQgy47lKg9Du6x3+Aw9JN2xvfyVh2zHWGV8AvjfrHZHPbOkjMQUZYu+wVHC0BLPBsHHDPYGzO0x+ + 4lWp4u4bYM9dy9erOffrem56GvYpwHk/UiUA5us8Yt0ojGflSYzDCdDU+qXNQdRJJ/vN4iy//jm2 + mEgFzUL+Lr9NmpmouyRY488Nd+qacVXVmy0p6jN9Tbex1RHOWGYdHclr4wglytYXHdpAUTsr+4jd + IVrW7Ryvn00QN3PSrqhHDf0v9HbbnssWr4VNOd6GJHLC1tK0LwibdeQjwiFkV9absDcHvE0zpGLV + kuEb/dRdPkYbfwxnF2gMxr3pPfVwDTinD8XZd0gVoU4Y+QupGzVtR/ZjmUX1NOTI04C/hB+Q/LYT + huXz14U5vPl4/KigDIKxvvNZ6eXlf9ippkXKMtYdshVHHj5Y3BqT3RDkNtCEUQyjExBl350CB+yN + dwqbh+BV9QFPYBECiCh+um2VkCRJEa20HP6OZsDh+S08qZMElSQXQtS2+MKGp81en9ecMEwtWQYF + XbXoNiSfIDgEEmZ8L/mUed1HpMIQL4P6drNmwyaEsoKGqO8JA44jNheTku7yntiVRWjmVCkwm9fx + JbdAGHZvlkwmhP7GlgjOoIPCJOMByeFyPXgW2XoNnPZs2Tnr8b/S72WjxvAgGOnO9zaRIIUAAu8O + CjJyfyqL8YDP4yoi82qvbm20OhholO+uG7o1nAg8jKQDSZdb7ZqsWV+thMhXZNDYJOPs9yCVzZ/G + 3K07DiOO5nbPMSqVY5tsLMr4vOxLQWZR12KqOnqK2/4Rn4bZ8yIuDDiy2yRo/o2nKDKwSd9EiB0e + PejmT7M1Adshn0HcWszGk22SV5hHzb5/vx8iwqnoDanqm46eUVEJdL81QXnXz4Sqex+YzZU8Fzjc + zAZsz5t667cAJ6YDJqQERc2+VTOuayxCZ4VyJ4cqeK8Fy9/BTdYNMxUIkPF14LB0C1+YL5eGiipM + bxwwET6Wxu/FiE8k6LIKcochESe+Xhph2PkSk35DG5BoCNKDP0ItOq6XZ1dQ7vYAHSYepW05PT1T + p8qRPYWamIyMgq7TjWn1LpwXK9tqvvOz+NsLA1t5fKUycW7v5Y8yTD69MPOL9o6N1kZa120MHWs4 + kQaxYK+XDDAll24Y8tGYz1a1Zjtrj/3YPU8csdb0XRD3l+7OXK471Z41E5xh98ctPvLI7bF0+I3t + 0wGZWkIg6aQgSv24F/HSw3pl7oG4oS8r87OmQbJhspxX2wSxmmUIdtrdcd243q1ZOCSNDf2SdNgs + wjlHfK6kOfk7WtQnzmIxA2SgBt60w9hFfcdEVXZEajBwwoxzqF99Ss7m9IrrVCLGDKeeu4HOKXVT + QmxDFBwmD+p8rXFr/rDs2q8Ak5cM7H4soqPiG649SDLeQg2QpxJhETOkaWnfofUaLUGa6a5+4SpW + f1uvoqierWRbSs1Z3guJMa5EMU9BoNO+/LhrgV2W1YhN0ABcuiyw10iLU/JXPbvc8VKE8qP286cw + Mvt2GreT8qNsGe2s8GEQnkt6ewAAXKWKQ1dJa78B55FFCi0Q2N+2nIV7+pE5HbLtnRYSLs7bwi/q + dopES3A+pxEg5ckGPRphd4OKDrMK3XoKzip0F3acMwnU3imIZv2WD8PqBI5EWoL9Gs/ggYa8bdwO + nu0s5LLyhvoqi+QGkE8rfEqp2mL2G08xmutsiBBSVjh6FFqQEsBy9MrIDg5RJNaM/mbyIS6ts1bu + KlRNNFkgDh7rOQc6xFXrP3ZmmDuYI9XUwh33JfWdhiC342CbaxFrQZLN8wSlCFLvsGBLEWVl0EYG + SiwrGb+YNAepPIZALxN3JqmeRPoHOyddp9wPbmnA7yxXQcH5Ja9FTx+uK75+5kIswShyVhk1lWox + t2W8GTw3gAiw64KpbtIp6xqxs0GL+7T1lOb2OAUfOsqOY4abvygWWkPAKmsNXJvzbw4FP/7jx4XH + pU1FfuZVXvG/+/hFaZesETPP2O/k0FqDPYNO79sB2SifWfw0uK/GIXqhPJxissW+31KuTAGs3H/Z + wljw6ybHUC7+F3B5gLvRAU6ZMeCJeLSRiIofEeqgShMI1lvggvjDgyLYLR40uqze4bUQZUv0n1EW + 9r7pOfk7dQXtswwBm7Q28z4iHHynlgobHubU3bKGp0g/QXxeBso3z5vQWwBYL0y6KSPoDzl0wqtl + 89Te/eKzbXVC0elyjK26RREN0bVnv8uEDXM7Gv42OSFkLJsUEbao+sAA7q94KgiB3Gk9DghCC9FX + QH/HlYXfiupIBl2KdGMfW2PxMmtuPbMZ0+z7deY0KJeSW490L65ygCWGDWsudeuta9d39zcTMRdA + dfHw9KMIE3htjsDowkQoLNUDQnHO5UVUHghSCJxsg0G8O8Rt+8lTtCVyb7BgvLp/lGhLuDOuCXVL + m/Xr+QIhiuGa7up5p0YrVdTLOKjakC4V3zzW365MCMFV973w00ZjzncSdlq2UXrKLHXXcqkLtrXO + KBn1IFGwizXilzr4goX6RFwm3ZW/Y5VtSZKPkmi1pU8Vrlt4btk2EIh0cjn9unNtEIcZG1BCkRo4 + 2CzJyHqKtYy7j7tMyF/VjDFthNjlG1vaApjwGkOHuk3AFxk7JNoTljsh8km0VBBsWazzUqqNHCZv + LRRNi5CxtIQWqQsHlS7BCfoVYQbTUhpSaklS+vG4G2fSt8l90gIGBJEO+T5vozUV9eeBsJYQ49SQ + 0OTJpPUpLLGhqeN7xxrNFiauNyGysjT9XoThMM0ny7Q+ySHz2W2aNMyMKzvHZxrHm8ng5/EvqGCw + wJ9d4xK+ZK+QZDZ0iErwVBBj1uTxnd98zdZ/m0diD6xb2vWWxy5cjP0d2z33vkkRfTI8IzrWWda8 + mgYBEu9gHUry/KAKuNAhHHwAR1d+vBoSiJ0X8bgxXJu0p2+b9BTzx3U0G5fVORB7Yk5sjcz087Q0 + u01myefJKyUs2KytUmpRIegYz9lwFDWQ3bIwV9npfa8isjr+8SaUDmAjsLupsFZY/CY+kHDX/m49 + fyyk5xHT5Y0JLEYwWmI5PkFRkCBrOxvgRlHf2jmxgpnLoDLYR7dtiKRyzAc8OXPSsDfChDiUKCdi + IE1iknOYZN0/NDrBKOPUseNuMY507xVQgXruaSVGE/QK9afzrSXC779OZeRyA4EB9qyUB5mZJK7e + R/u8SmuS2KDStE64gfY29dolhIYZDR79Hfxv1wcXqrqF7UaWTgJd7ZXCOwW6Zl4HVk48DocbMSMb + KXb9eFrrqNUlyzTUGcM1vdI005AbQaIrO9NnNUMFvU3TeaBbwUQgtuX8K/p82b/EH9OUYIhA9X/L + fhTjhrL4cEGJGpIVxrENdldhxQPdOV3z6zhHxyG5Gwpb4elrNDlu+a4vLR1i9ZwqyPAoyQAXcQC3 + ZS7UlMSIi/KvgLEb2qWWHFhNTV6JCGVsw25FJLR0sS7SLP0rcpi2XZ8kivUZKri2BUOSm/f3FV8W + NWUlgEBRRPlWWh7SZkldUmklrXLvzsi6XalSeA9pgNsPQm2gQTO1wunnpQTHoqMIZYaFDJ86rWfS + jn0/2zPBpnfliB3YUK9L1z3B0OnOwtW15Ibf/W9cjClsN3o+O9JrMDbkYD77qFw1A/kkQMpkPOZM + LjUlnkgkwb46r55jaT1v14OeSc7ZFGu7monlEX21GDpEpfy5KpZLYApiYR37bVVXJaysxNDz7QA8 + SGha3wf35kRuNPI9JLgrtYpNzJr8SVccS4AjQz12pmv4PoU7ugc2JpFtY6VEyMybxcB4XOpQ/QHY + HODOv4VQ9boU/bQHwQ7rnMSZgJ0GyGcEgyZyFixHexfQLK8cM7fPRl25G4wAAVQG3QhMuSJYLxkI + v08D213E4k3ACOk+EUtV3jo70qRyNHCETAuLTncqybuz91OiKme/bxQAYqjsSTY59aezQSy/0FAb + x2qbEN5TsEgFbhTcCcD0cJAl/eOe+8NzkYoeE8SQsXefz4F3xVO+rI05NDzzebzNpG9k5cI76o7e + PjMVQcz5RsdY68VMrlgskultOXHBHoXbJeKTCohhcP4zmsh+qJM9m2jsQBdKPT5VJcgSQL+8c48L + eTuoe2o5tV2/asBotyqDJGediz1xfw4DVwJ3ksJmTpF7vgiGpD/W1I5XAOY8/N2pdfZ6+S8CRMCm + 8uiIiICipTyw8Jj0hPCjDy6S6OSAbsokD49r47/v4Bqmp809mwSyjj1SPf3diCC4rEBLn727p3XI + MKQPYWcig/FNpWSPwNK2JUD1ApLwTcUrZQqvXXniXudcBJrkZUhn1pqpq6WXDEVrrWGR0yPsqpgq + 96Mnfg7Y45NqhYsl2HSmYAVZEflGmMV/e/aotgps1DDPWx0scwHus4YSPlAUmuDIEo0eBszY/H0K + KeeDljlVOVphiO9MwJFJtnVYxJfIUWlxVOL5uX70c+H7lOClo4jHeZ4/nV4R8Uos8d0muJEQPOFL + F1J8ZghojeuhCutAZEyBZTEn/njq5e+S7WfTs0MqPuSHNrVbRgzUIiRs00vHhBkxWdNW+tyWG6CN + UzAeNpOLOJxuejnCEUXrO8O6FFrvxpQTTW1s82LIRNOGbOnfGE3IX4YM7J4iyWKG0Y1/8V82mkeJ + UF5vvvnOFt+bQKbBxiCsNPtDy+TlncDrgwkL4XOH6HADvyhdl9sdyvqqq8w4kD86SgJ7oJMrlDsP + SOEIKPJV9Z6vtiCI9TOSKxtjqFgWqug9igX8KOSnkiHIRipZcFem5nuoSCSapls9mV4UlSn54YYi + GcS5cz8o+TkKFU5PxbB0YXqzpcOOwto0MP368OGzXmWq9dp2zoEAps7UnPmhkBh1SPDKByUI34sk + RJfjhzZpwoxmON3pe+4Nmb7z9VyOEixkNt8mGNLhdV6c08l3Zhb+IISfML4/FUNrvU41/VPphq6T + ROXG98RycomEtAoI/mNI+h8I0h4pS/OsaX6FxZk4b/qq6qV79+LK8lbz7cjHob1pwYG8U0bc8gHQ + H8wbZauX2wnkTmnoXob7irKD+Q3YJtd0/RaVtEMBJ2NqQ9pkMLO6o2tlgycq1oJahMMHa5Bf+weP + i94C6cVAerJj1M9wuN2h03tvVcecvAeHXhLCYL2JZHTNtw+CqbYNjQO8uJnJEj3EAgby0rXvfsGv + kziSR9qJWZRTP2Hl6AlE7s6wVXBbmvdvfFJxxetK0avddKZBRWx1W8/4CLSrvK+9jHkCA2jtqAfF + z3J8LZMOr1scWb9hj7XIQKccRx4wPE7lyAKT1fNT/SArrDxpSMAJ/iivQyBcgIELZa7OCWrGvSls + 55qggRH5GABjjxHp3/JGpgeLLq1FIqockCpGhw3AqUXNdimZUUE89laouHRlZW5EiRpC8XUzuemV + UQToqP7Xbv0qSisb6HrKMoYJAUjVf6f+hjA5KUjVXTPQoQhrwFciyAfKZMmLwdX0QN/PRXAv7LP4 + xHvslINNBWvaw139ijceS7oP2SExyb6+j4hEo+3Pqex1iZmOGUKy45wfHIoSufFMqwXILJNOwzBX + Sk1zwqtqwAZGFoWXuzDutikegoL7z4sa7sDo+UAdOJAW7GzpVlnS0mlNEQeY65/NTPwpQZoGtySo + k3/KurUp8wEcK2UtgoS3UKoNOHdHzl+hnsFrg2qYNbDysgdmLUHPSwJus9tmo2vmKN6gtEW3G21o + +2myPpeA1ETqm/ZiIISqx/IFmvWGozgbUSAN7/ZmxR47JLx24FcIgRsDvRM9B6zyvU00EPQn8Fo0 + fQmnXcTm3cKkWE8CI4nMTm/56Ps+XES/7o1CG0YTf84cRuZ+VQCibg4I0FRYyaStVOVIybOgiiWJ + WM/SIj5w2pCCQ6DvjdvkmKG2AXjEeSkfOw+EZDjYZLMuG8SkhZAOqY89uGmEnI4dUlUz6FyUcpce + 5EbSoOIHz6cSatlj594uD5+a0jJLQiE9OkqFg/OoOjl/pvIYflAOS99fWyJqUT+AC5d7in3A9OzN + sR3TsZAB9XoFwT8f2dtYnHdyZ0JnEeCMvBqu0R2HHY5Xin8Ie3IukFOLNJZrOVI7e5Z8iB+yu2mK + BE1I6Vdpdq8QTITe1V3ooiWx94FYDhMGSvybPSi32JHmSPQP66bNMBLo4ZOkLfIKjJ715Rzz1jZk + q4bvYDg/ym2Jn7MachsFzGYQ9yHJFPQDHfgtViJkoNn4tBgz8w67uenyRLYtOUjTE1m1GZBHJSY3 + PQWYSgFM1t4BFID6LhmUAU7ykpe3Ueb04gZ/xgVzjkriKM2yUbGrJapxryok6o8GIKDqpE+qSOhd + gVi1x3fP0Gery4AAx6YikVSIOA4deIG8hnlJoNB33S7u95hoW00tx+CaogKrYiFd1d6wcfyEnfPZ + xq1elfg9abc2VG6Do0Eq47Nvlwdcn702bHjsAFx/+OUTtcv1gMZftmSm8nB07rcWqyf6lo1YEJyu + hIOvsaZWOH67YejIgboYaoxbEOI/cupBafV8EPh+WvXW4+HxHAk0+eoDzi3rSWGo21tvFG20pxgg + QCKu7zjIEmhfx3EuiOt7bpma6gw3RrloUn0WmBr2FQRJVf5jCH0JnApugoXU10fydu7dP+qL1vi5 + FO8H8konIdmkKmD42pAuRycQHFJG7KOqta4fWqLvuIwAJAfmOhkajXyDeF9/2a1S6GvflGRaCygg + KD2APDSXaPesfDi+rDavGBbykdsSpn2SzezZj5kMULxski0Z1oOrKzehXLEoA0aThwHJ/T/WG3tK + ODrBpkoOieKrqZUw8VX1G54/ANCUXwaQ+T4H4ar3s5qfzWudVP4ZYzVFKZEP3RyDUhFhb1gavye0 + LpnVDmcU2X7ag62IPA8ZHS0fAJsyFD1xGLH8xvoMpncpvTYhmmz+CZC68Tr4EpcIGQxHF3eX2Vyh + 7kyEz8xi2oyDrq24rBCDXGQOkCiI9+jwG+Zk8lzeXrSlplax8h0ZoZJYLd4RNWnpwn8HRcEzy2rr + +KqsE1mi2+t99QDrkW7aJT4wvR8Nigbs8Si1P/C2FlmpMvDgDwo1Zq57sGH4eoXSB8oEPq4LCgoJ + id1pO1EGuV5D7cQKDpXfdfHtnNS7MGGG83WVkm5Nx7kFKYQAwq7euWmufg2pTglWaZM/DzbqcgP6 + BvZfqI39N4/jV5h/cMCDRx7DdIkVy2QtFA0mNlfFsRFc1Yn7xGqXKkzaccc5Hj1UuKXYNkmJJvFu + 5DvYSsVWC2/mI8TEgqDrAcOkJB3SS7jexyAjRB9758O5XnsCkPyIMsm3sppNMsaRFKFWc5SK3FGP + c4EC1MqXoeda16K8NmKaf+PLtS0ViS/wjbeAm0M7SUPA9GAFPV8TLeIsvxb0QWSIdTcRUquYrzFe + gF+anQIFeOH8faBJkae52drxCqzgCD59tPLV/FEvKaUbBmGXns0W5xNJ/vZ4JdZaHDqIZqYncpoQ + KmxdAsW3bbGHHd4QDoi+gUl54ccCxznC5RAOeWNo7Lym9e8TvKfO4pAcIurCxUJGfhZrqnK/lW5+ + DqLnCKBzReiA6MblLCE9+4ft5z+lwm+ePkuOIxZivods1QFB5+EHB2tYyFcsXmLOxpH1cukFtg+3 + j2AAz9c2B4Ou2gICDwcjwC41iJnrk6jMRpG4YgUUfm1z5wDO4xj6tMCdiCcFJWhWGgfWjCuwa31x + ZO6Msf7jdnPvVWoDP893tZmdXECvE5zBfMWzff3NcMfZJ+0QHe/ApyFOQNsXDEXnvnzUp8JbWlVn + s6WcL9ZT5HbIE3AtVvPpE5/07wGK3UgW+o8Z0/jQ6roym6ZcmB/CLcmDE5U/PuchplBmlvrBzkWZ + T7NhvOecNOQRJ6dmrppGoPpO6bs+hilB04biHWwExLOryeJQf0PzybdFQpwsU+7GeXxtHjT+DkXM + Huxs+Rp9Oy1nNrz0zze89WmZcW0MTGQzXPYgF9rOLooe7vV4ta9UgvCn/d/darLgrWyGpoeWPTKw + bEa2nDAYBD4jUPKOHUCJW9Gl01WsqndcTPrTeiN+1Au6xhd+6LGIfkv9r0dPfoVOYUgaKIicso/p + bI9Dc2vK5OF1NUV0Isma93CLTxR7AfuSV7fRw7LVKNIXoKj95SqAJ51jG5K8xyKajfIX6lG+4EQW + Lnb2qhhIU2SIxEPd9Dnn63QjJl/vJSv0XexqKiEXX6AVRhUh5bWqnyXdElaVZo3k7HWsu9O7gZxb + oRDxrUTKZPFFul/Mc58Mk/nOnjE3MwJa7YnDn2HzkvHnuy7QejiYIEvcBK43HAgDXKpEeb/0bnp/ + rXy6aRpWGiUXzuHxWXRxOi2p/F8qqi3hm1+Q4eXqxsCb40lZycBhq8wVP9Tzw9OXM5mkWQE47IzF + DU8DqrF15GbwyqMjvuu5uO1AJao2eGoR8vv53k9nxGXmv3y7ETqNU66OKt+TU2zgOqEBHLVZzEh7 + asmOrYC5KawvJxpkLphVJ0oDFEZBsjejDhjeg9tidZ9Z+5zsaKKV4N7mcQ33sloQAL/KTZPlIaI8 + ehLV/U1AGZ5u7TDcmGGzvSrwJWlniuMeeyEGi+QkrAQ3pz5slYJSRdo/aKjkWGW4QeKWWTcUNzty + iJxYf2CM7ULePFfOyUJ9GTdoxhzhsy4wut1xHLpXyN98QpfyB6EkmCvf7BiWQjVbfoX5QIBKiiav + oxChRPdY00aay4VaxmW2nIM7nqRE9fNVCIFBKE9Od1VdonQgXAkdQcaIn5V2CtKUrO+XByGialHz + 2Q1xO4w4rlQI1tRtCiApSC612blVQCNYySbr5XtXn8ewgsa1I01u98sQGsMxxb8WASd+GAVjgA4Q + qSu9a4a6NinOJUrr2wjP7MStIZLtMp/f0MrTIGQrEbFKPKWAlz4EHRq7CtCP9LAYRAc8iAaiE4Fp + 7Y2acS418hGyrm+rQ1QRPkAXQ7xknuXX1jYEhT29Np28yctU2fUql6GMVUvSgh+W+0z8hygj2F6d + U/HoAyL7xPWBBZSx8Eq3/KOVf74hbBIeTmWJEvywQJacT6GxSN0uOujQx83mcV0ZEfYLNEBYyi7y + N4ZCCCgQaOTAhSOqRLshH5rpaaB9UWuT6vgDJNoMdoDUqoBMqEIkKlkY67Ip3xhGOBLgO9Jo+wnZ + oG9nQYLloN/ecjHIREiNSB3LbLDVQajuw6VqS994dK4ecDR15GCsHm3H99puGNr8A9cuSwzA9QiK + AtRKdp8Tz3TVAJlAMgqdCl1XHIoAmQkeJ3Ai5XRf2oduVWNt6pgd5VVGtm23N9iMc9xHDtLpferd + KKegme00pjX1zTaUssMGqaRiDNxgdgx+OFdYTa1UiBZAph1h+klzH2z4B6+SidSyg2xE23BXJWaU + ksvmhxxjGWGpScHbBQTsmVVafEcG5znn0l+jBJlFHhQhYRFT7tp0InVLfpZOfgTqXcfQFtZ3m6BL + CBFA6QoBIQn0qYhIHtDR7AazJDfkN60X1qbnt8iVN59FeRM/ErXq9IF1SrIAXBcmMhsDV8Lu0wo0 + VjUdQ9fcUB7gdUIuMAZ62ZvYcaOAQFcP5/3vbJmR932Eh0tRRSVx7ddnSq0MBC+f2tNQ6gBfRpM2 + laYq9pWWwyJInwx9Su254bxKWhVXqL8Bv/JKXBvR+JjNhdK7u3vRR3YXfVtFPksK2RLF9TLzCxSK + HtDqpAIljYEAWuTJadj2zwBxap15H5NowmOzHeXUyZpsL+bC9uKuUQ1Z+tnWiCIjnnMeZmG6tlFB + U90mzIwYkS/LqEy+LmkCOAUWErQQAxPo6ZMJP1e9SI4m+3kuqmABKQsTExklh9q3AAU43ma9GhJe + cV3iKuQsWC5uQSXpBLFRVDZYtE32Pcw82ikxO5ldmS3VGgXFdG4iEUV8FH01tpoLirRnYbvsJEat + ohVScGZNOiYwOPqM6sC6MOMQ435rk/gbmQ9YUdSNKSUi/T63hSLrND/UZMR95W+baBq+yVI96cex + 3+zbqkQ0AsVfeWsDmg30QMgqUqzoqxpWhdipXT50rfkfbZ3nwf7ILs+6mKekXHddcGDeNYGtE1ih + 9VlSHrYd1hfqILQvw5IiQAHt9OHYxgXmt8nQO/2kCBDsN9b4SM+vJoznMPjFUzccprkezl6Q+PJg + 98t4/NYsO3hebsGwADw2hKgeEw4SAnI8jd09+i15Tf0Tv49AwtVd1sFDJHRSTxIXynNtWAJHZRpG + Tky9oRSfZBQoyWqIyWCEGyc2IcizpxiepeLBidw4EDpa9i6UXOZWWlPCsLKyvgpTvwzCFCT5RBym + y9rVrEN5+/JBzOz084r48BFc/j5qOnkxrBjjfR27VEHukVmLAYpazBOytI5VrXXh0dRW+r6P7x81 + 1Jj8zDZHvLClNFXEucaSVzkjI1mXxt/iE7JkIhhy0fs4jMVxhimNZBYUOrfVuQC6ZQLyCPevLo+z + qpa31Z+7DSqLgmLItmz0erzWzjFtDKRzc7M9SAzre2enz0Yij323pBfzutWWcrlI7VGHShKtsej2 + o79t5SXNAQe8jfRpLiB1BFq1HuC6GHlVfTE/igzhQh+Hm+afM7vdZaOs93IjAFw3cPEAPD5g1tCR + 7OaN9/GccBpAlQjtnH0EVLju0GYk7C1IA4oTaY8L0h2FoguN8UjgYEET4GpNGw+LcEtJfKUlWY5U + 82Uy7PLf53XUa/SesPqdS9qvOWrMqAvVwqKDjzlUgMwGowQQDMCdP6rqDj6ScRONhco0cEiZTrvg + l/nyfryzVMssEzVAs4eHhWg+2ryvC0DLshWB2y6XQSUWId2wRSvps41usCNeZsqE8usJBFroB0Ph + CwvJSsmID2FejcYV0FI4xISSTExdVRnJkAQuTNJA8pXxmGCmdMowwdv+9fu6Njm0lCdvLkporjUa + Wwuz/PwXFwiP3zFfYvypaykte+JHeD0eMVreiA9tluClG84/y95NXGkd71j7nqeB13qrEPhBvs1n + D7uhSul3NGDoVwrisIIGGRSmz4qcpsvamYbUiizCl4h/l6Gqv2Bn6HnHqzTG0gmRnp9rVE91qeyF + 07iALPgKXP0/Xy/dkDTPOIoacGEvRwIJxWfOCtnv7ShvpAWDdF8RDS57cmn4OI9h6ZqTq4TW9wrO + +YlJFQYBMqrUf8Ov9VQUnaxeSYun0Dk6p3zHsfBUsyHvy6ELNw8jKvvWeiPvmkNzbZq+1JvrDfiO + eZpff/OVQ2hq7kqYYVnrB666qGCVWPKem57aaQbxNDWPuBUnc0FBgeZdE66We2imd8i9PFlMGjxM + UKswapnOXJqQL5thoo/zcPg+kJVwOuLGIqCbYzL9axEoKwkfocG2lQ3hfqC5JuPyXqgORsdBaoiA + kqfkINEqMrh8hnbvd+944oOALUF+U0I1m7aEVOOkYrtp+jZjHI9rYfY7dfhByORWBH3hVdH7Djp2 + foLjTMxjb/Ri7QAmRyy0mTzhwskoN5yV+CBUViONGYTaXk+3aU2muYPY78DeLZfbDQVXFap4QF72 + JQoz3UhETXCMWKaZJetOou2XGNvhW1t4ItoOfUUVBEXajIIETbE81wQrCQxSFUTUbuq0lU+j2DyV + lZiblLJPWWrqFgVn6AF4/L4Lq+QiCQ8lTsmgWHAcsercTtDAsrJnJaQSEZrxOh3rSSrnnvP2xeBA + K/XhZ1s6BuRcxcGxbRIoCTSrH2EUNGswoavEozA+VpDRKCo1x+oTb0bp8kI4On9jSXgWlDmB9sVi + erjtrDporb5/IXZewLNTkaNLiOt8G+Y1QsbZup3fMMWwlH+JC9+iFh0937EPOYj5FSn99Kuvb02v + 4XZrAGjosSL75sf+svy/GH6rtaax5vudkVq4iFvVlQz5K9HfzkocpqrCNXw195gwOdkgM/OvYcQR + hncZuOs19d1M2rTNa0vNdHCX+ujgSrwW9PYwLdsz46nFRUhFS6f0a8dl0wo34fLi8DKlFSei88wN + AnPkTu4YcJ2YSPa8LaZSvmpukqySyOPzUIze03P1sTCH/ZjEftWysV6QEdZHUPF4tBEgbGa38tMZ + G48ooukhhrqbYZ+2PK0LHEOmX0xl2QoQLeORnXIjokpXvHB/00MKTfG+qY0Roj7+3d2qw7jjw6ix + p78IogFfQxFqTq1pmOAiOrmMwuTVqBjeR3EtZU4serAKOwrvrCdKguvrd7/K8VOdltZO6bL6xYO0 + 45ORKnuH89fNNYKsh9zl5CWP1afqTVbB4hHovAAQpeE2Il3WmC51OT/AEJsgjahi6KDx5afpgQES + d7/G33EZPCoRWW/mJnQSFKRm++D6CJHyEgs9dWvgCXf4h/NZNkyzLNKn8uKKBG8qiH3qjO3vXrf9 + U4vkowJV81E877v3Q+Bf8JUBlwV3N9NVpQ+qUzu+ETPL7V/tQ+j20m+h9hFK9UD2qTRv5eGEtqdU + PFYBKEjFoVwuMGfUfBKdoVJrQtEN+YLa1GpaNOb8+pF676xde6YF9ndEI2X9N6Q+JRgpPkDFTyzU + cajoEJ4DTgY7dVrP6UDAWuFlE14diB7f545FBjMTsr729byLbdlb49a/D1P3uVthjS3nck0gZd1H + RYq0JgyBo0G4ks+cS0Ab+6l8x+3MqxwBK6VF9nhgeengmyFzCg+iQgfFD0GIHf1nEjUNu8fyJ6WT + cPqMpjnibMCkbHGgfhPrkjIPwmYo3T1wuPX7rwB/mhAG34l9BV0BpBrkU+Hvl+yvRTtJNYYD9HiX + mvkbX0ssqvSoHTuvgmhp7h5mkLuLYgQ64VQvj1IMZwDdAGcgSSMV6rZcIErpx6IFv+Hik3zcyet/ + ie44xAUVOMhOUCnMLbw12SvjQpAT8VE0lH0G0HT2sd10ObZSNbU33fIrNaxrJCHuhhGhSGtE+X1a + NO6sZL75GKbFSTfBmV47+GJrQPk+g93nFjlPuUjZX6uG6RWqQq/OGaLqIOkrCt4RE7KJglIZDjLp + 3QIWbOsO/ENCy3MCSycc0ah15yGPL9JmROasfgj192NiOkUgMgjDQ9v+fPEODKiMHgV5h31lEuyJ + u+jNSJ5VshCqrHyQb7K2fu3BrFRa60ZD2D87yzeIG9SY6EtLgi13ws8Vp0T2xJtHf2EMXt2NPlw7 + zV7Ue/Cml8vzhWC11+5QMTKTEZCF8QQeTpTcgxphW+80cE834xZxa4qCb+WGW7o3sqQMOZH6OYpY + 27JAaoSYRJGUXPQsr8GAT38LDbtUOLW+/PO8Q4AAdHZJu6d2PRgdBIMvJFI99kWWkP4Lm7w4v1uQ + B/L4BY39jaFGOJTCzxJXh/SjAYiBNzQg6SoKf4GsdH6UA4dsDe0ECw9ZbApsJY4L5fC3P9xb7Gxk + VgBsFOgAGVfYGbnVeF2cbp4zLstEgyBO1TWvRtA0eGaCFHxBqgobJLgKT2vWHRQQPacY9kzeSIkF + DlVYAtq5udQwp3xxwAi2lCmJw9utc2QXaJ99E/ZDKu5L7vxgdHNq40GSZtzsvKfB6B6DNDcWjiMo + Zg/aSbEUfYRuqRjx76HCkavh6xV2v5eoQqen114pbB8W018+b0AdTn345JTYpYxJUff681lV2TSf + cKvBq3Aqv/6HWi6cDUQCMaUr4dohFVMzh0h81QrbN2GNPzu4GKb5EYOEygYcebao0GY8g1rHNuh0 + RemtDS+JLluMcQY/G0DBfwp64BtYgshuHjcVcjnkPCuCsVLXgSJwe7U8sUAMGlE83E44IczpFZag + w93EMbgrDGb50wYDtIKMv2UIahVTV1a2le/03YNqHs+3sgPr+RqwigB+17EDDbIcQ3ex2nh4ClxT + yZfwqspOAdSJdBTcw/CoNJB6iHJxmd9DgXDIfnf+sMYVSf7YO99gijIN4tMYLCKDHgWONj6Qvfhb + +aO1XgrmotQ0lQjAsrBL/oQvjM9UZ2RBqqpI6/AlqoIawWOd97DqboiwHRxqXYyyT6SOUaU4T1DY + so2zSyIMyX3TiFIZa6a/DdfZNkreaERX22dRtLdp0SfuGwOge4466WTSDUiuAXOV3bFdOIn4TB6F + 8ZZpEnXZktHEf1xZVTd3IlVjC7URyKHgzDavoIE1XhBAClvqfkaX+XKDYSlIw1UgzFHdGH7k0DOg + dPUoXcztxKTrVEgBVXKI8jgCXMM+uTAYuVhHU7XyVv399li3YuJ2Lwx4g2oD2+4dKfi5ZZW9NMJy + tp5o34LOF3prhGHu42kNMd2LokxLEARgZwx9j9GntQ5rdE+KwychLLpxY/aSyMYv0hw92ntEdkli + vlhfa+c8yy5u+3EJTjKFJ6JzXPIs0HLko1cpWsYH+3SZBOjQMqDXPl5gH4urZ3P8lYJ+OFsCEMKn + Hh67kZw9BU/awWk9s0BVEYCqQBCMKSAbQdL+ovXKMxP908+Lf9/RjMcP8W7YA+uXEBiwOTKjnI0u + t3Ryiqz3vj0Q5FC2pcdFefPTF6/DQmm+cqACMWJqXlVaFN/Kxhk8EBuc5DJDUTKpd2Sp8o3uOseF + /lj0XeqWny5Cik/MXK3O7xY83Tt98CZW5ottJh2r+FPpfTOmlEPlItjiu9i0umeJ3AXXz7dqRABb + OoQzA8g3SpuvAO0fH5EXjnhnKJSr/XWr4UCdtm++kSDHT6oydHmwRimmiBsZXctpk1w7VPQ0L/MP + +c7Mcwx4p7kueinZZOPwlI5ZyNhgzeOXudwJfeHeOLWGcfwu33S/HUSBYybkZ+IKgkk/z7FJXaUx + EjY7ceP4fbHiTJ2IDR/7K/m1+z3vFq4BWvL9hD9ATKScNY2SBKRI3clVSZscCmJ9sAl29FoER+yW + hhGrMAQq8QqInxxpxzRppisS6S6r4qcmc9SuZ2S0WvlRdh7w7eVrPzfnGncQRM6tW0lX47hk+Ggw + pCPheIstaikUxsV+N9c0szV35lSM8zAu8LWLy5B/8Z923u61y4mwj7OUHvs9PFMy4fYtE1yNaf5R + kSQPzkWvway4GBbgFDJkEvvf/PYMvRKV1DJn2JH+fwpLkNdg5bCAAA2+DDiu4LySJMtT9+c+E2VB + IU6cfZkKmrTTOExzoGev7EdmvVqKL8qNApKq1dx9LAu1674IfM0RF72jbcxXpe+fD8jJxMv7BnUZ + CAz33vLJMUu1kmMZ3LmsnsGlEDiipddrC13cKJGNrsG9D0/WyBzWkONVPU8VJWT9dLbDw/ktJ+DI + ZROLbTKQv+PaHxk7C5gEE/4ru0KUQLM1mAFFOFgnbOSX3Fbe2uhwNi/HYzpmpmNJYQmoODsSUsYD + +ioTygCX3mZ54/vSN7G9QJtpPUKdWW3pvAlYBwa9PwFIQquPHfIQFIhtLrp5c7SZ6LvM9RnAz85V + AYkm4HHgA72zl/6amSl/yfFq8YUHNgNgwd+ZvwMMPRt42EL5AMBdVwumk7bJzT52SUNBcOFuwPbh + AQGH62RjxKzWuQRNYgZL+aWnCroGuAvAcs58p8IbGyoBz2uvj7ZqUd228BOP8Im48VSZCURpZjQv + 6OpPMXCGS6ZJoHXr/DKCgIPlVQ/AILN9A5hezWurWWfBI/xVvwGU8mFYezbumvDB/Sk66APDt/UG + /gpahiSIJpdt4Etfiig+oq7okqpZzWwqTui7SnBCvrNToLgZw+oYtyOMEE/ppWXD4O+LPa+HcTpo + YuziFpYqZDXw4tjo7GyPtmJTDnIbwCa4c2aoV5YCnrYV7Pg+BYj6nK3OK2u/qJmv5PpV/qhQUxlr + uqoP+GQO2t2R2V12c8LZf4z1AZxRuJKHwiJ/tisQne2rRYtVkuAaqtCgiszzbc/qOkiwa8aKcwU+ + feUDLIVpr3g0Is+R4oAbtrKYYbPNdtjsrUEVW/46HOsEIs+eQvEoGHoemwXSR9agOscSr9u5K+7A + UcMyblQL7ZLr7KXw7Wbk5yJy3kH703H43TiqTkWY/e3Ipl7bn7ONpvxMsBPnI20jNUPT5A8lamvS + F0AmNgk/DzN4X5g9efWv0JSUlKhxgka0Y4P3N6usnsDmT96oH5p0rqQhf3guzJiXFEqwLac/jny7 + xo2fdCWWVNj4sJUuMCQAjl0zVhzBvSBbwwn6mh7BrSutXte1hhyZR5JcmhcVXeFPwZpjXQB5DwQ4 + mJwos/VbBOaBkcxfLkuzRyvGpcAjVklPnX/78PxhEyje16IuT7At5oMQOwsKnaqKnycuapRLeMOT + 4Zp0+eJjXXX0oIwbfFHfDGM7ZVnsCfoVAfsTmqtif9Zux321sinvj4aKlB4qtsdTI4fut7jcia3c + xIYXLmO+PcV8abnLT4m5JW/RWnG8ckhB1NRiHMarG9oD0yF0wb/j7cW3iitd/ISH6EGyqfDxFB98 + 2HF1HVpogcr5zbULe6wy1LVbllHkqBgEo3kZSFL9vCjSGkCwyDfKjZc9RONRo2rcvku61wxZDj6L + Km/ljbdeg72QBjjkdDBFnruyrbwgdkUCy7Z2dxKzngulxoyI9kXeLl6fwk6gBS4im0GBCF4FqmP1 + 7iGmlKZyNNfrxn8j5GxCJogc/VVQ5LPzNeSzbA6B8tJlAuLvQeATYhpgb9M5yC2qZGo1hCF9bLna + 1HPagAX7kh5WggxeYRcjsyOK0kyd7SjNW+VY51rB0tUIYKEkq3FnzDcNRWalOVKZzxBaSQUon8DD + IvPaWwfGtQBW7RS0y/nIXoSzdI/y/oYXIFJyahohOhK+0Az2CDgWDg2vi7qBqk3hjTFUBCKs77S0 + 7tPTsjwa+VtPvvdJiIkuZm+0aHsoTjw3CBKE4aCcMF+6uha4PbyGuImoC/ez9+qdKCITOTM78bSE + JfcViHm185f7y8XDQ6zVAvCNSBwf/prclXrn4G8JPbWG4iaBBLAK4FqPlGHdcdP1m9tMiIoulUF2 + srrd1GpQR0RitFAB1PgNBQJ0CcOy2UmpodyToPPmw1PwPPHo0Tm0hWb1rvqrn84k1Id7u8pCaVbz + pDJIWXVjVKLXd1NujsQ7zwQPMyEzeliqUlSfeCzJvlpTLAJmmqVzCAV+RGtqHttbDCmaT1Egkwd/ + VmDQfQ/DuoJy+HH18TDdy5r9TD3+SIxL1PXIp0DtTUyVw+TQg9udEuMwY3NMxKs2xwhaQozyg9rp + p5CfTwSFBU3xj7o0j+NpiQ+0ToKBN8Fznkaw+5aNHI5rYncj+XI4QjtZvmTBXKrsziJALFxIAn7l + WJtpy0qR/qXsAGi/xOxZo8UH1hD74w5yXw/SyZ0f2t6M4RyNHopM2oDXJ/ydzaiKcK/T1gA1QVHB + 0T72NL7MqIAlNOehQWTX1MRF9sJQ5VIFI1brSXQ8C7nGoMJ7B+bW3RdftjXK9qE90bvjX7c97+Aq + O2SyjcPPGUqV3X9BQ1n8gXEVcmN5g61Fep4vNbX8h76LZQWcXSXaGyjQQjIrYG2HS3NG0RJSKh4c + jnG5bh0Vjpr9FRGEsY9Rh1RNm20aqUI9Y8XbAJiN5OKWakCcCjA/ZRIXKWEXQCxjHicqX3tohfuU + P4eoK3uYmmhiSR0gBJY+QcLnqaPqj+vDzWqCGx8nIlYjf8crVqLp58bJWQ+dr3XowrDdXg7x2rnA + i4K/IB/stbMpA6DlLe6R0Ot0ptOqADw9W55mqjBDVGUtnJ1DNxzz+Ms4YMKULEAQqnYYJ/tdcINQ + vck5zWTjLfCHsBkx6ZhAGZXinRb5e5udtYTulnfD2v0bhdlkllKZ04HsfEuxFtupkQcxM9x88GmN + UYfvR4bBcYTZ7mtrlztEHmMfWMD8yEkhSpW8sauGUu0OZTWA9unSvek5Oz6jzdKYKlw8TIetclKS + REb+5sEJLwvLCCbGAygkhq7H6/iOgZBHGChlegKqpRmdT4TrzHPML+C/PDZj6aMjB+gifx6pQEqA + rjEE8o7QXJ0SNY+SYycbb/GLK7fnDTuP94l4hMZVr557mxFXLsnWHQcOTDyFTTkkyXyemJ+M1F0K + 33l0d+WHvaBP8rDgIo+Zw1wL3uxfmgcTek1GPveiX+Yev7uNhwpC79Vy58IJ6MlOcACpoJg3ke/W + JmC+AgbQ9GqXWa1Z+OKelD2gZOhHCHXMvGI145XQ7/MRUC+AvEdyygI6v0f61La1PpDFbFk5SWrG + Hw4D9IMKMD9/V7z6RTF49YrqxVcIdVOH4HKE8UjbR0uv0Txkw3n6EdXNlnBvQfUZrgq2/N24+W+v + TYU/97U8CJeOIXPRfWH+MMQ/e7jWeRKpRiA52kiWfe4Rr13LwrIuP8y1gfYlEbA0nI3EzrkZSeqy + 5JiZY60yHLaLPKC9dW1I3Ri9r5n3tu2agiWfH6rrQ5LbrjMm9o7Mrdm+DX13QhxakQ6x+Ic6S8p1 + eQRCsBKJFetdeVCPJBTZfS4lDS36CkmpdWa3LmjzT0gazvNSnG66O2wJVrySorye/rBlNKXLEYAE + IM4SBrxRFsFWOONnaBhqzBBTngVrkXLadJq2UbfYDx2thry5XJFzfqoYsYBCuzNj+fAxbDGpcuoP + qDn1vpOsaTy6ozmBWMydABy9TjwkQfCcg6R4vXeYICTvBRBddl5xkjwvKuq0lbMV4WzrfELMqgRG + 3vdWVIKxLLZLyn+6LImRfWnvdDlHTz1MDP6Z0Dgp2LrHcRHnArohspiIFOepushrgpMiHE2zgvLF + qklIGC1srPMZl94RMPXu8lpdCcLiX6bMnS4LKlcx/NjyZAhMjsfRqGSyemDmxVI6SYJh+tDZYjXo + OgBvgaDgERJcS3dUNnVCOaia+Etrh+RBL6JiDN4c+5toAZ+/mOvct+oJzKU+khUUcptFNUHtOWpa + 7RVd9twANz89fTtbws5rCMVGXSIKhb2aR9KGF8SJONdHOT9VGM24rkP3P2bgD5JTW4slNxBIRWlh + 0JOdgwxKMHLtKjSE0qmouynopJ77PAuw4QsHvp2IPoOX2ZsEqcBGVhISBo9uCF0WFiZ/8/WayFD9 + Hk1xjEmv7UiWrj7gr5MDlDKnwz+Jbd1e/OVdFy1IZM+JXzRsNbmXjVhA8M0odzvJR7aSAwidkVjV + zodbHqyuaDQL43oRdrRAHMxCczuBGgcVkHRHELt2h5gzlo8+N2wQjWPSaZgoAsk8QH6wSeshObWC + od7+aZ+6gp+TJsUfiKBBuYlj2845LihtkHGVqke0ZMiKuC0mQaDSUIvVNkmGMAl9+3Sj6Ftd108C + lXG54MmwCtQQQuK53yYtZYJ+muFYCObyZP6fTXkWVFk90JtlIfe2J/PdkAH+G9EKBqDuappIeQPn + dX0FHnCu2V+3Am09bsxPeurhSiLcfq7gL0eVWuAmZ01Z+gwDBnXzU2AIo+xXSis/HJp8+m/fnkpH + pI4bcyWIsaBfm8Eq/PQK/TVegvqzuUPidavB1OAoCEohZ1DWw3SHGUYJmMqbCi6uAfPS1AzyGREZ + TxiDWu7xpLhHluFzxXo5VjAfckppi0yF3ERq5Za2Q9X2dGY8Hn5aRVX6aXcHi7Oclz8K8JOIE2gn + ylrJG6GKiGv1WApkFsYltYq8rpvUpGCQdxFDvFMd8klwo+ZRPCdxSexUfFG8PyxXsTa1PGM2VEs6 + rpuwh3z5pPZytGq2840LQHSrrKESmICDQeyzjWtunIthTTa8LhBKEfADP7wKojSs3vuU44YHf3lF + OORMF7/4PzT7TLkU2JP8wbTu7BPuV0gNeEfPs5rh/Z+r+8QiGfT4CdsD2WGrZFwrwa5i6tw1AFxB + TL/FAS0y069FaAMwW3o77mQv/uYFj9bj+1DeTJERV2AQCJZ1ogU8U/ji1hiP60NJjp3sKwKnNtZV + 6/Nbl1o+B3gGaxIIRHTGA3bbZfc1sndNAyRimToY1E4paMhCvfRnjZPKzUsmbV9KCgHoR59/k9Hc + 3lvrBQRLmhclfNf51zp4XUDsy8PZuiKWNM82OfvQtMhFp2KMNPKbcDVHbyKUbzItacLVYLagtjox + fxfTMPQ9lQoEf6JTQAXQFSfW9/pLI1GHBcazv76JiLs9Fkjy3ASXX7soVhoXMZJCBsMIJGZGtHrs + adzTnrO6tpUO3AUwHTBJotzMA95ECNgYl07axis0+E0b4l+qzSvwQwiFBCYk1qDhwIvckNlT6PvB + w/F0ps5KiZDl3QVGaIzUXjUtbBFO3N/Onp/91XX0wcRlMzDBtsQuXHvwbzuwmyJs6mXTRmc9mEyO + d93qZeduGREIg8pTkqq2D4C85UvLjtgcYVarMpE6p/ue86pEs3E6OHkeOfqCxaqEsHMYdkqRSC6q + ECd5N+HpxQ2fIV7tVEAkwZ3Twz9EyKNLwy/EjYRbif4uXPHqb7PjW/dPmWBrXMmiXR9F1n3pLbPX + wdJc2MM+EzhAGH5qXHBZdIys0U+FRk3ndyImlwUludfklaCMSOWyJhaeT2AOwi9ljFRfI8/sz1JH + tdjdMa1mPagYMED1w7JuBqZjqxigZy0uN/BQz0t1xzddSezTSgNkkXw1BZLLZ37BmPvUuhlDWyRD + sAGfpmhkp2v22pzuZ0KbgBk3MGCW+N/m4jh6xDEsfR+JAo3TH3NL2qmgk2S8lfD4CkZ2X7L6E+xN + 9MGAwcTgQT8eovmokQ+12+ma9DrMibCsTHSP880CsgOS9zhS8fc/lHYos7ZtfsvS20Z4Zd4PI7vP + ZwuFec4N6WNyYx1UDeifokeEtJEDFgOgTVH10QtA09NPDVPV1Cbb3TzgXHhxbGQ2qYbEVV79T2ty + 8rJMKq6ExIWz4LPqO3c6dzM7JI1SpHgc07KnIiDXw3Je+Dv0l6tizzap+hntQBytNrebZ5rJ+TCo + dH9uIrTLl3O6se8KE0r47jg8ELIlMYFLq3WschcLj59asYCmcq926nBzHmcQO/fdwIsr49NOHSZw + sDGUjyu/izTF75Spx/eG5F6fCmXA0UWQymPdUNTW3auMTC1iertISUV3FB8RgphEpzq5VML9Qf09 + ZrG577Uy9aMxfrJxFlfVuq6p8qRe30xG6F53p3hnR+0Wy/4kByHO5EBR/XwHcmqRw/dvp3Q1vFSt + 9RmvZri/R19jCL9k+RDY5+rv550+FBjNeamVZu5j8lMY4SMOo8TxuI6RHbjUyGNV1HgmVnJhQeL7 + A0hVWb0Cy1BHbRki56D34Ksru7xyraois2SggDRx37p4JcVIW3hGwW0znnqLn84Nd73Kl2dxPjKn + S0eElg2cmXpNoUrZYu9e+LUB+4baviKe057metsVb5LqEd4W2K7YupPku2g3CZ4n0tyQYFfNdtfk + jVY1fwKckPxzudOrKD2z5uGdP+0bDHgKtyNOg8px3mEJWLPzP/x8Lv224DkRNvQIhVDr3qcB8CJp + kHOkwQIhO1x7q3YecmOQ5ntOTNlfzssBb2DoGWlJAHeN8Y90fqRhGnWF8qF5hgdca0Z3l1zTv93f + pWQ4qWzhvKDcmSpYvCnnImR6svZGIhvLGTflYLW88jUkT4Ndvz9hprs3y09AoNuuxQP2ImAYJDKY + nEv5iBDHF6YWC5zLEDHT86nfZvv7utt+HGhyjgeucKkYVPU15GB5Ks3HTcJQ6VEi5z6FkvRoo6hd + PUk07yxirIG4lswtAgMhEaCt0O9NuUDtPxojjDz85Dez2XwQ4RBrmb4iqlA66J0wkHyAD36mk9Kq + Gsd6MFZQdZD0FakHfQn620yDBrhSPh+RISp3vkRUO6V5gOgoYf2Zl8wwLZn9UwoBfrVtUcYZEZpQ + GSdKdZJf4Ywue1zr9rQKHsQx77hfa9+EYCOihHfWAZIqdmBff2TDM+od0fGRNZpGXUmt8F6kE+6B + 9rRTjL0ywvSklN4M8XNtLB4CY3AsnXPtSqCLVgzS66EpuXR7L+d7WtZLLrqGd6yg9cBzp9TDagm5 + Cn825SJ95GH8m1I/4KLrm23zYqUDxEUp0FdtLOCWez1CTiiiBRUkcfLyiOOTl92/91Ex0b6nCupI + tDOSpvAk2RiYagOq406fOKk3XEShAEJaRD/DG2xExTqk1web26cOkgO5bFPjHbXi+EEPb36aepCX + Ct/PXZaUeceZzS7xzQxP4ndLXKWmfgZvk584Rtx5UNG0GWgNL6Wk5kkyaua/XwlAYjx99IgTBAlH + GHI/D5/hXxDVh28QiV2nGZWlaQs1kaqCvzOaN5NY3hbeX22zzbPmPqmPcGxsRtbjSbPLXmGYtENH + AdDsqBtsGgut+2Tn4ufS4Zq+qHHwl1VUV6TRD7evKr+2rpRxzCn0wda181zMmpFIe0D3eh/ikboE + sqNMH4RwDWuX12Y9qwtCf9AD8F6pcuSrFcYhYkAyQyrfX/Gv6pI/OoMzTPh7mZ5y0QyholxLCi5A + OWke/DRiK4u4YUv3d74NFkk54YB9dic29BG5hnDblZEONm1vHUuUPCcG0iKUDG4XMHZyK0oY92J6 + 3vBFQIjK75OHX+boeCbzAD7UajJbcEi2g43Iq4NnTDaDpOhr9FOQh1TmtlCCULV6aWVhLkQJmNfx + X9YoHrkK9lhDG8Y/xH6s9alZ51hrWtqSfOUDhIR4xqvrvxulSA5NjGHPG5PClwq5lpS39orx9kCS + eoD6WjQJeorYqLb71Dt5WRr5+xorQ6qGJokNnSwfUUWTZUMX6F4yJNShNJ+spfEnvgUKk39CpLUg + K9Av8+2daAXVaxnot99xrWC7srn+bPNHq/I3xJHu+xLYmVzFQLrLyFzvOLHFFjT9GkvN6uo8Hk0h + MiYgkkYEE87d6suGhI/Zm9zBWYplxbXqDkDtDaBhccE8vVInO5gzcczo1Y96jcBG43AcjK+dfWgW + aT2jdnh+Lcix1qIb058OcdEnOQpjk/baupObJ2g/lozIEdGGLRav5KBxQ/JznjW7g5Dgvr6lH4oE + sYzLQFVrFuiF+ouoqPH6jbR/v/3tP14svVekg1vnqIc4H3pDBjS7posxUsBGm5gOP/nmwmfFTMLD + RNZ1qifcuQf3TOmeg5kVzTRk0Z8hoykYPS8sm/WQ9/DCZ/afTn1+Bkyp9/K/4K3CAWau8g6PEAR3 + UzBVwEAF2bZmxVB57O+4wPGdekktJeIaGMXEwPqvEUYjDamQGFAFHrH2icEbX36+/XUNHL6XJylK + MfAQaBP68EE4DFbPBsuHlLGxIqSUIzCTUZc0kHTHw30c3syZBZ2lyJ+HUomLoJPWxx4ldUskMU6D + 20skbcofSrl9kxM3Xd4sTrOqfYZzOWCNej/zUv3AJzw6n13LyBQBFFrrx0jOLo7fy9bH9Okh0/u9 + LUTBldhPTKSmg+RsUYDnJIjqt5v7iM1HHw9JDYCMeqVOWBVawfF3uIbCue718ki6+T6XuM9LdGN9 + BiYQukpzS61ULuXqBDt99xPIptIgAa0ZKORKy4ibtnOZBw1oFGbu7C9pA34htcIBk99Am7RYXvOD + ffmnZpawAYPtpR1G2elXf10Gu0aNjcCV1T9XYsoqBD13R8F/TFqKjrZm5DA5ViWf+qi3QmYas8oc + D9oF2oCM1CP1hJ53Z2aV8JxZSUAy10NWpLAdiIhwW/DDQH34HDWX2dV1GBmxMRK563J+Eyv+JCwS + gPeWv5UzkSSjCniCrkl78Zw0Cxep6+6ya/1UubaK4QHACERvEQH1LLpf4behAwLrSVN3Kza5oOZZ + PD0dueNHluC19CejVoH2H1TafkH3bXEQIVTjsdLzMLYR5JelTJ8R94PMMARjmG38tX7TaLiHDagN + KUoZlDiGPNVE7PwVgzrbdoruLXJvZ7NVrquks7ccJBBe23tFnyTORuzrHrZJXzmP+jAgVCzDNPMj + TR/yfuLakIdkRB2V+qj4QIkgIU/9kt8ODPppt/aXZFfY5EV/tyo/cO0YTk9q14R2QVhqAzFms0GX + DzXsMt0/+YpLKptzyaHmP1feEb98zD3pdeinHLGDBuikt2Tyctxgr31qHZIxCP3pi56wycE3ysc9 + WNuIHXXlJjNbNBcB4c6Oc4664nOh1YyQpovyMd2f5homncNzuhY2JeMHYdWjqCIrQ7OmjoyswST5 + m4jFUSF+wFoFExN4xs30Mbsv2SCeD/kTn8/9KATS2o8i7GE/CT8YoIDs1+jnF2yWUoAiFg6ZN/OR + FJ6boBVwftII5vEdeQClfqg/QNLqE73aXI8TrOyWM9P15VXqE6VNm3+QiK/gU936xs2bRCGFHjmc + 0xoxe7XRf8MOqdQeKjBsCezjdk70DuolvpKz9gAZoVopXlP2K2g7cmKjz9ZGbOXEMHxzIrPp8xlu + oGL7rUQs4YAL3073NqBWid4KksNBiXcflZf2gscsAdNkvSZp8B7GOOv1YbEiFkKYsLc3NtQ4hS5P + FQmxeQ4bA18XxoJ0p50Wp6FVh/56gOr1ifg4ALcFSF7kXOKTCwoRTgYuKQ+m2zp/KD28ovM3cj4h + MJ5W/lWJV6bAjD6V1vAcYz2Qg7Y2WwZwCQ+2LLZgTygNe606A5dwP1xOkjOGss0aj6rxX81LgwfO + tJNSjcm6KcfCf+rry/0ubDnQSCboWEOZ/Z72No6UlxXsygbkrNTGQp6MdiqOh/SScgy/hy6Ov1WI + 3mr5A+EP4+bXbizImywTaLL+agQMK0VGGlBo+ICdO46LG1xsziw/K3yjWbXWAbRWbmswinu4sXsJ + 3Jyu22vuwdDbFA9YvrAHnTmm7axwHYzpogJ6n6s5bTgZppMOzkJHMFYEP5+MT0feE6yR9C1WbiS1 + iYHS+Y61aTSyq/pVcFENd6VyHL8K63zKTQMMgCHwNsSUxgUWuJlidbAVFiJs4x2oYHkO0fFoHvbp + k3Y4vJyJ82rbDxBUxYV+b2mGTz+8rJa9o/6DHoKPigZs8CVlvQ8H7YkDJRcTyGvorGFeHKHsch8s + 1EugB9nvlb+P2kP1R7lxPFg7UKBjuYdmTfOSBGdV01/B/NPWsQONd/SMb3ywtFByUYEHOFiaENZy + 7ff3TwLCE75B9PCQE19JkRZW7vMH88h0AiyoqFOOlNIYtZLGRJ+Tf7GzQaNfrZbytwthgebwPvAR + ip53iXbN9EN80ZwV9Ghv5VmrhnzbtECMI3ZuHZ9sfTnKb0z5JmMpJNMt13BTRWbRrL2VowUiAADk + XnBMXBD5KiUxPdEtI8tcYTQCBpzpEpZmR7K39qfWw4ktfbP3iowz9ug+VePsslVnkkn96H/3rpqW + 96dkaQWkGGj2L/JmMXicDUdkJsZH+q+p3mCmKp9ddtwP9OFHLT9mTzWbkfFwjRxayG6O4Ja0yblO + B9nIqsiGWpE2aRiEyV5fzgcQG2743eDJvStxRhLRRaQUfx3GO50KxC7zdT/Cno+PSUdt57WThYCs + MghsLHvG3qyV9mrjzqPA+feYBZds/im7oZ1zjVLavDYq66Yr5H8m85P03KiNYEI1I+OEGML71sUb + 5QUd5Nv5IA+T+mXFoLq5Kl6X93cgX9axw2BxtoIbrd0WYlaIO7QcsumWNd7xupkeLbcN2QU2EM4h + J7bS0mXovj3PtI6zzCgU52DUGukr2NKUr/ci+tP4BuyCyNlbu1dmAkiSdyHbl5WBJcUi2ytsddhI + W6tP9kiejoLIBoK6rakpUb3k68JNTZwH3RMQ964EfhkmvzW9Oy7GdVbdYNoM/MSy/s6TMrqBubMC + P2WxmgN57/zlms1RhxCAmW0XeKa28ai43NQ4H7yFbTpk8e0xKrNdox4rZbBp7dyQknnI4QHwGMX+ + FhDRPlpD9cnGGCldjNxDge1U6RKGOsSiHta2WmFnnUOuwFYiArRcu+qQcZjzPUwcK18E7felpFuh + 9Tb5F0k90kWevC4ITQci9EEQtriAVWMKB3wSB26J4j/3HVoaPL6Av2ZmAQhFXqptT0htoM8eWF5Y + K/tXjF4Oa+NXYILjWNUpFnbo6S4na7Y1EL8zR/hBAdZnvfMYVDenL/x8TDQgc3WyORu6Dqi3Fvv4 + T11jimqGSAbcovsRN7HlOnQKEmPn5zHJG2/4Br7GoE8jjfe8NlVyx0Zrm/LBd50b1Wtgx+IqECWY + U/O3YTpwXXMxIq+neiPKkZrPb2ONaojAijD4y+XRlT/AJN30zW2flncEe8VGkElxD6q5xXzhKx/7 + 4fi64vnRN4T2XrTLlzeALVQ/LGeYqEa2iQlF+DuY7StV+u9IqS9gpOag51H7vLlC4yGIVoULsWaO + iJG35xhG7KcidC3UCSZAlNXkowQQ7/VusNc94Z7XCEeswHsOQYCEjjnlB+M4er/O5pJlceYirsmv + FL794z0JpRpU2E/Z1jqDY1fXE8CIWlpiIaDu8waT2vMHVwm4AtcRusPVNYRiTBlUcw4B/nQNcSNb + J/gnrGITblm09Nz3L4sN7GhnpweoCd/ry5Iz2PrdtV2thpDAHPnG2PAvMcyONJfRjFzFEhyK2YVH + BnyC+ClmKFgPy7sqpef8oN02vXYpIS6Y1f1gXhG0jox5yJSswUDEyoqFxJJqVO9qk1xVISiyyyfs + jnMxjrsVs0W+OjSQ0JzyoAuoIm4zQ+PVGQ/JoEfKv/OsBAyP2LjwUcREIKJDb1A4aYcNjvcS8olB + yuuoreWTYimTtUgWtWUPI9opkhbg7iAZdVGOJ80p/R755AnF7hyUGZK0dO7t+/p6WBGTZr4dzBpL + e11wwbdVey8PhLt5SB/ZafcrOrNR1Ddms/wzBtYT1jJIJcG1e8tO+3Ona7lcqLugrEwU1y01MnCz + cBdYozC5oSY+z4F8nsgqL+ixadei7LMnC/1rhfm1mkApKviIgtoqY+VAveFGBqWJjqYOtsYpuvfi + hm4Bv6nAqSvPP71Fwm49BiuJ4dsxl4qSpKzP6QzwvifXeQJRU8zixHVPP6E4uvv6/Xe1jxyKmAWZ + ysMl1BeONcIUCcccWAfYKBJX3EqmQ1Gv1NiOf0Q+Pz0Ny2UQNuPE1B2/hMZ1lWeyBMIit+f9IpIL + 8Yk3sQyzqcxjWdziGtbHuLk7cxAMX4gIyzAKq5mp/Dx3xWnXhlNIpwAmX8A/K9KzPJYQ9RpLM0Ec + +exdPu02uFj2NzSXrUELWhwq2fjENSpeidC5brtCKwKPpxKyhwBgtY5ubmlNOj5Syj4UlryEKUW5 + 3ndFxIHMgVJxPAAJe4ypiBKK3dgcNx+v5mHYWRexHVYv4e6kvD+uL6mBsW84iG0AK6+ZM3KfFrYh + DGmzBvRWtHsQOKh61QO300w8INeywtmf86PWa1aczRZUxbwAqjkyel/LcBwDhehzcMUH789AKcVx + eNlFUs1D4Yxk2iE30j8q9/jaC75EQAryMLZTKVrRsKGnGieH19ArlAunUohr+PDS4tXmNIK22fWv + rWE8tCuT5aISehU+ohUmAFnFFlN3ENOla86bU7JaabdEfuKZX/mVt6prYaFFbkHbzkjn5d6eDug7 + uJmGEOsZrC46qSrNdW9OPKKbxEtWte4N3/Qzmefvxvyxomvgx1x1B3EZgJ797SJuTsIFDuR5jPRQ + d5enl/BCGo+NOwTfjAgvbqep6UqpRxt9I47EkCB9IlIoK+JNBee7Vj4uSldGPLlR+0q/BCrHGOvp + ayvVb5jcIY2z8a1Yj0A38U22rJy4qGtN0UU4oT8WOZpYWD04Mdiy4Lr+N/fmiJzkwhf77gdrlOkc + WV8GjcrzgPsjHvPlOerp1So47Tc/PKuWL93NZ877O+3qtNY0uv6kHZCxLXCm/ZV9X4Kjuzcw5PhS + HXawa5V9GP2UWnPh3bnCybxfgxI6RVegJkw2hajF93bb95BC0nqwbCwBFHos9A6lzOuy29pnYIrk + zKcUFSQUKZw5Uqj9S0ffHN53ymAnI3EmDdzIBVcVHfInLEpgfw27/G/+cHkKHO9j3hO93hUFSJi3 + yHSv6nYheDndEBRVWwGpK/mL1n1f1pYOesfoG2Bs4K4lwlLWZEUZ9uAJXXJvZ4DisEg6EshbfA/J + wv33WfbAfdmmI03aFOb+7EIvoMb+AaZrlYBnuj1c22LrN+ZAqGv46NBWcRXlkqcenXnzUbhohwhu + vPdDtUtRJ5PTR2TwabvR8JmUGayNCgm0WvQNJAaOtT3j0L86vTPDsj2+4PlMB7TZ73MdnCC1ISha + f4OUucvyId6Bb/Iqj3S6SwNsdlXv0uXup5kB+gVkFhYOfkhEqh1WY4jyWxEhgJAEL3BQQZYSzeVy + cVO7SE2svLRJpfDTRvEbe1elNAVnlMYdQ+zw4BqZCTRCwcjQ9L1v9sbCCKfwDM6ZTG1hF0twP56k + 71Gx3koh0aCUgQtOcfdqfIRpFQqjBWarFNhN3nKdSfv1OjpYadd3i9/JbviHb1UT20L181ohuIUT + Y42iA8aYc+Y2gUAvOMCZMlxO+6/SkB2U5SK2Qt3JMJg4R5KRNewkHDFb85s6m4NsTY4KmMMrjQkf + v9BXDukGeLu7sEvJ139joeqEh6ZaYek8UVivzgZFNogpoiojC1N7FCq7cHBQ9f3ydjxpVlTHS56e + VNVvcnybteRHP/VE0VNVgdJCXICEvucf+4QKH/q+9IWjVY4x2nmRZzSIzgGHe7tPMvDH6k8anlhw + 2tDM9xwgz9ujDqX+LxPYGyLvVDiDCTtWUkJOn4Tb4Ou2mQgAdrd0okUY0XX+HIa8x+CABt/JvYBH + drFj6tBEXzvtfO90OuP5D8ugvaTDQTMg5pBzONn5iTm7CKPHVWGHbcdZcbWcULO1NCefSD0KSyD9 + wSNBWkMi03hv6ij6AconWpFMtAwNAjFqfdhEfGJ6nZuMa4efr8T1VbfQj0WjLzdqaBEc5ZRC84uA + lE1lCWahW04qL5b3iIpEqm4d9FdeGXjVNbPZsQOXP6sDNAnmSHc89gFj8BR8/Tn0RowydQsJkuho + DiZaJPcxxE5ZxMirGc3vj9VECKVBzISXm9TXmPIYRg2PtROqQmEk8vZvuxQKQXGCvCQQQHv8V7aQ + duXuCo5ukcFqc5fuf5Usu8i3grXBvK2fDCZKxeRmqP2JcLxsIvHH9JBReg0n2ihI/TQHbWEqTfRJ + ejntpR1nu2lxjsAe8wmb2/JQlfE8zYKsuEPiWJQrD4lFcGdFdiBH3raCjkM5mSJ+bgP+Ic/0fw7u + 3f1v0MT2+R93We2HujSoIeExKn1GMR5n3HOprDXL3u1KAArDK3WgYuGCdAVlad9dyAboTFUtZ4q1 + ZayrUJ/UhDEMFw4oUCPxuNzG5qNqTvF+PbgMadFBDt7Udj9G6Pbw/LIw6uyS2DOLfRVj/WlF+nUJ + e8AXG/wTMiSazh2YXFNqwCtOuVlThFdyqi6IxLinwUyoXZOlQBVVRacalwbIaswQixk4rJtBVzYD + thZQchUpzdNZ64UxOTWe2Lp29OzqbvTEzJwshWMhHklpkK/q7PVcA5L0DlOe8HHP+pJEoaNGxMqp + q1/dsgF12fgZOq5JIQ9vwTvZacEqya0C7pfw7ssSfRsYgGZb2jUslonvEYKUI8gxEnmjct+ffa97 + gWDHOFPwkZNfzRxTwSq9KQfFcEETShdUKhzzVBgv57pTj/xBEi02ZBOu2/V19gZzPyYvflKW6Qyk + 3reN7OoLyYElHKwkqqQHDHhzCLayN5fHhjC1c5dxUNGIj2/OKnCsa2x+mDMhOmzCxL8SmkDAfY8I + iT9SmSGIRYA4tVo/oEmmAYjYTFpqpnVSF7kRilU+zsLO6+puZbjiC4bQ3WI/lFMT0WSWX1jj0Sx+ + jY6eBtzS3wVxyLJvkIjKUjprro6P6koBRA3Rajtn1Z2EvbS2rknl05eDf8NZ5owVf51/rspEFYm9 + W1yemNgJLLOl6KTP6VE6dL0MKRr0Pvf3lgbSx4DKgyERKZxMDVb+lwKmhbKOrcMnM2mxDRgWXuXS + TiThLAk3GSkp7vUUe5sTVJX2qn9mGvLtLFlYDDtvD1X4J/Tos2aGDGECzWprvhL71hFnIr0p+RCu + MwfGuw2FcObearyDIcKUjvhD37Wn7wsXa8/HUl8pkbRLDCE49end4DHa7qKr5LWSXfeLDsrRCBjH + nLW0XM0rFZLBAyz7Q2rYxQXxOZQWhglrH7zVRcGegUOssQL0RQ9m8Uloja9yYtbX1KiQbLMnAVMX + ne9TFH4Mf1R1b1rqiuYjxBwpx1vlnmfIoMBrmVpn4heyHswjUrvPJ8s9KCyFDR79UWaIfOdEVJbJ + g+4vRUCQEtmvTO34u8MBWqm6MEi6LXDCoIS2GiLjuoUGn4eOtTR6BZJ58L7hv0LWjGjDRZHcHZ7D + tXpOUMY5U/j4DaDXe9BCwBm/XVEqj7IMkXyASOjEjOu6VvZsGxmcek/ja+VlqPlCT2eGZCss7Ltb + 7cLIhSxjd7OztQvxUYRX9Igud/0ZFbr0UW9gZwiDMnfWuh/35t63MsZquprxx9ffq2MHYjwOY6TO + sTyfX2q9jDFSWkPWIhRNhEAigCnlq2r7opJ74Q/h9Dzqmnx8moUuZVGyU1nbWJDVOWjnP3urH3h9 + F4CsowVWtfQBtpDnefqzl0mxrEg7qDObfVqHcbslUsbEPPdnsNVFqSUfD8ANw29a3eg77W9NCKTZ + AHPEJaNIpwremcY7ztx/dCiKtt3oMQuWr4zToI8CyTgJ2uadXhHEeHf+0xovewp9VbcXAanSgMhX + RBDl4rnFhtPG7+dUCON9t3kw32BJYSlEydDPtPPRImwNSUc2iWujs0ZRCwagdoQY4TipdxAdtoHh + XMbWbSCBipuloLbBP+2ZKEeF/NRRPVHf0MPMNExPPh1XikRBud8uMrhXmKPKmd/T7Mn0d+jdcu48 + qGW4GoxlcIqm9Le10jcIXBNMXaLfDSvGUUDaGyPvwvoS1c0ufuHkiOd0sgzJZAEtSFpAPQlh81Hy + ZcBFFTEj79h4/IhaS+MUiEjZxwOTwOuUmtmrqvuIRbPFDt4/TwQ0afN7dADN5ENVuEd23wg9TcOG + boEFrFLpzbSf4jf9i6YdE1Hm9zZ1w/07OPRmJqQWzTB+E8cyAfktcy56CKwdazTSd6IrawW3kIsj + rndR+S8YV/GYSTo2yf0LhEuDS7AvHc9wn2fOvOappmOG6ERsjYR75nN64en1kJBpnShczSnWPz7P + rXCVnbwW0Ch3SJU91+uivZdJj504qu9V6MoYnOpPGfOH4yySsMyDQIm7ijmV6wWeew3HOmjN82dh + dGl1vyJqNv4ptaSyNSCy4tDHYckIk2Zw2RgeHcFUYsMXm05JfK7UUAPWco+5ljUKrnMfRtpqGHy9 + 5bLa7oaLKnGAqMI3qa6cxl/T+KgR8XJOvUxyItNDnFuscHQSVeYNp/hHzS3E1976ezQp0LGgmTL1 + VxzD5Ol4XLAVZYrpCSsDGutbphbawnCscYNJaI0oexl+JTLIq4S/QtBjHOas5g7OQBlW9xbCDS5a + owxL4FbFMDNwU7p6IsLbtOrCKdH4D3mZjSGpBVHiAmCvVuvE0EXeIotGdQ/GJKgZPgaYAorHlAp6 + CWQtVx/JJDgQdWsSXbcLrARPCM2LlSIr8Z0W6rx6zUjx5gXTQKZux+Up37Ho9ZQB5z5dMeHtzLaV + PbfD5RgznrB9UiPMCMWRrorkoVr2lQ9PHonlBGZTbWdUtnfOyEUTdadF3J67XaW1flqNYCOWUsFt + wG64VFUZWReAaKGhNZqmrTnaGGzk0tje+4J1ae7lqdJ7Li+azr021DU3NwwLnVpj23QNG/h/sy2G + JA/nyb1UU9PBK9Dlu+w7vZGpB2HkHPWc008geTthIDwAc9v1Kdi34S98WChxY9Jc0cerVQh0jdvj + 5fWFSzfT0ami4J+OIob8UHZL7AiVC9EIDrup1/f37gXbn+xA8lM4mANdquAP1/UnSdGcpUSdPT0v + OF+JmwWb/gSXKS+kzxJCfB34MKwT88AUFM9hf4upOczzP8PbORb6knLamo0VoQGx/EcHLlHEwFfO + 6gTnpyIm4Vo5h2F2iLFyF6LTIHzkuG9rEX3lLCcOrfdsMjbQDHQ3NWeLpCnBCt9qRA5v4fjgi4eR + ypVaDcgCEGVp0awCyiPXMJy+nIUMUQpgO8UoisTKNE57gaBVcW52rpnl1gTVpTpA1ISY8goLFovl + 6T/wL6hmg0WNrPhbasrAqJy2NQjzy30yTfAKiLXmxaU8yzFAY6cBDJUDH9X78RQvRsDY4LDl8UMV + 5dV+8gVL71edKvWtNFb3rwK19sQlp3V2qZ/qCEDwPcteY5X+kZpWeVCMmR4HE6hyeMpfwtRzrxDp + xGqtrCj796eOl/WUoHfIhE9FoP7MYOKlpPY4I5hlWwUAvje8tZU39m/4Mfe7o9GEmVPVNTj0LfNT + CCSnksgoCSMmzcNxt0RSmN4CF0alCNCvUV3wtWlGs3PM7okxpXPPlkXVYqEjIXv9urGv8KGGr1OH + IoA7EI3bTckcMxmUc87R7IwtAA7DNQFqADSONI2N8F9qO3pSEtbxkxoPeIHnpzXTQDFkYUZj5q9c + btDagn4WPgrLx4iyDKEoamhjYay/Wfuxg1gJc1fVvgXMK5ehGwm3LDC6iKj3QulYSg0ww0QeBTX+ + NDsBS+T8SUD2w8e/40Y5gTiJWz8jRXP5GNYNbp9najhHVlwOqKi6nl7x/O3hDZ0wAGozgI8TaTk8 + uma54xvwmZ7Yl5h9hUamwjRvqC/Hq2P0YwqF8qod6NlBsd7ekIrNBosBT0pCOKJU+lKAK2BQxxAu + nCUnKKc7UkTqNSPFRBJunVoOhUrDz69jundXtCt/zVpZmxENsQbvLkrFLBfOwbnxJIQBfpEg7EuA + fF6QmvqGOgD8LtjvZIF4JdUUedkmx0pNmJfIoHEXX1Mg4xvLHO3oUZ0XNBXSViHltWE0TwJ1+zj7 + kavgR0CVuKGo8vPI0bUslfHo4e1jllVnrs63YqGcyvT5CW8g4hyvmfJSiNKwih6XLzfiGtCi2Rlg + asT7OSzjNQGKYSY3Ca47QxmJkVFA9DCqUqej3MXzF4wF1vBLycwSjJ6o6J9CQZ3qORSSgOFecEhW + C6dkeIRqo02fiFOlUnAEptM+V7wjOm7j7GHUdtgZvKk1upzU+I+1PGaXCsECukqgigt03V7xIPJJ + GGDcDfUefgCilOV0Z36h+GEA+9Vox6btVHQC4wjtHPHqXltG7+WVn8iVPLsr9FI1gwEWeUMaYNu7 + +zaIeXH3LayGTYxdoW9JnJAwzN4CeOHcqC0gtTOZ85n5ijS9UHjlfXR5DroGPVIuOprm7heKaOOO + MASNKVEoLJTGWIHfTdAnnV22Vl+WSETV4Yq/Az0dacJrCrrY6nLlML6N86K/HNhE+vwaCYwL6u1N + h4mUg3owNY1hGtZg8OUF3EdGPJ4Vvon0UGGFJDKNh3Sj7qV4SqqWzJOWJlR+EglYjmWVD7Qx8d00 + lF3SKxCCJODxFB3f46M/V4I4K1du2ARERENk4caCIx5wh6wZgPbVg+db1lAUtYA4RYYMYK1zFwMi + sMLf7iKaWeqJggMyN2PoeYWOuXNVx7B5IQZdBtiAWfrBH0uos1fHpg0I3Bm5ZLYytkmdyydRgwCA + kZegiY4Hk068GPZIFbCaEXJprfXTly+djhdPgUb8Mz1lQI2W3ZYTP+02lqoaHlPCLVl1gE+T7cHV + wQK3DnjVGcw0EfKKDGS+XDnNQLpQ7nUjnVJkRH4GYSIqVa9io1cx/qywYvQynJmgvhRpk6pGHhXs + HilrH+z0cqWp+IeHNwF/g4BQPqYn+SfuZpBAUTWQUM5KP6nzDeOWWYnQJVtPwLdDqBAgHPRyLveG + Al4zJSOc/eigLSVjW6/F7uXiuA2jtvXHHncDJouaHJaF+AJWLeyhtCtdayQI+Y5bQtkO8nClL7/0 + ks+iV97JUrCx133GQUisuEgW4Ko8QeMvzwNASGrOfIVaByxXBzFVD8/XHhbfYlxOsGiZljgaLEdn + ryIbuEIz+9fHxVaSgz3b9PjjS3oP8IJBdKDGUE3zyFcGv8e8/YAcPqHtOhD7NFkSXQfFWIriPfDL + dA0b7BuNyI5oLDyjDEH0oxbisHzJBtWXa0DjkZpD0fapd693kQsw+geL2F9YWEPHY/CPez956e2p + O2+lh1h2tCt1mAzjYHbzQ/AughbSOAAHP+PWGff8xUWFCsvnb7h6cFT6SioG2VucdqihY+H3oaqr + Y9c+DO+x/Q3tbDRsZsZz28U+ttIQ4PQ04FdeZZo0MHwBVcdx3OsuIn+Y7G20k+I9ayDFIJGN3wEs + BDn3uOT39I4X84H94o7b4YGOJlGQu3yxA0J/BKuPl7bGw406ZlbNCrPZ09BV3nCOeAd6YMaivF70 + j0UPif4tXzOCmN3Xs66IagZOjUCSaZgQ/okgVzO+Hzx24ZYn76qzZXVGrnkTxC0pB3qT3XEbPL8W + qi67y3SS33UVKk4iCeAvxqHYegcNi/2AcnDxW3zZDQBa0QSM3P1Pb5vmXNpPOZA9ajLxKxea8mIo + qPhGlKzIiymcY7cONFbgU1PqJmDhSHLV1IyYsNCz52pgNoffL227SwATvNxwrMKV9mmb0tUEeg2K + NYLWmuv1ZU5mnb1tsLB7DPFLg68Hwd7MnartCwxYdyuyEWJ2Z1v+ME31kG1ME1xbI22zoHr96c6e + mFpgl8zOcA1ZyN7s/R8GPCmBxLzAxcnMtlMJKCO8AOhiLlordyvNr7kmJ6MWxEmQfI8HiqA+mvRX + wiAM5wnt5l8IcRip0JHledWNcnrdsp2dpum9RkAI0Gjl6ACWZ0DzMCHDUfA2NiwPPUZ7v8hkOYku + 6y5SX7Os4Ybsu23pXvt64BcJIk+ec+w4ytDu2h8sDwFk0mQG+xH7SWoez/HAOD6XI4Cw3TwO1u3W + MyzJuzsbjc7qE2zSNxOfAnXAW/Hrg2XqeYyXmJiOsWSfYJ05+byiL3sDRooJbX0IgU+d1YeTFiAS + C8cHsMfvWAKOyYE4r9z1wNJyiL+3V6ljMbb4M2JQTpXB12+78hqIB1dU69ALIbyIiaCoNZUtx0f4 + yGeFTlrYDRyZq5ZngzZpSHgj+YYelIR9QNsW11OYXHdywldCPB9GDnYWUB4uWz93jZopAqvL5GPI + Ruq3xKurWO/djXkq4kPSj9smXB9nmUfwlxYGxtDt2f2aGVRjfMCNmP4rWdRw2W9ZdFTVjvQGBtHA + UvHQvKoYMF6mWNf6KR8w0YqS95O2a+bx9lgkCfxoDavVurz3yZ8USOFW+N69PzR9dqHp7tV/oMzd + rGADkmDaKXr0HxgZPY8yjjTMyAq1g2Kracin3QA/umCMphEghfBOZfkwnHneicS0yMEi8FDA3O+b + NWDML0LXZDqxddCF/OjCDqrUu3bx+PDgZp2T7f5+bJIbeT5sLe9gUvI6G8auCuhzTKH2PIVMYZ9G + VlM1+R4tKs0kOZ41OGCzj1ZdbtOd1pxljkQ7kM4f4TzzT0pQlCazjr0+d1uMlznbIzhrVM6oaEAQ + QJEr+fC2sj2qRGpRt41HzyJ7NY9cG8p6AdtGpyBq1IG/2aQ8Vq2GDLsKy63rvAEEBQ4Qz6dwYqFt + uVCAWR6nMSNmK73+dFH839GxrCgZJtTs+EnOAGYleVqmuPDLj9fteecmr0M03CvppH07rYtX2nel + zGWBRi4cpn6F737E6HLSh31KeQg3myerXzbft2JwDzi0yhc3yqktKduRH7empdMYnWvQPXtxTDmw + RaET8Y6V8F/Mm3jFOaIJbszS7c4hELL4CNSFQFiy0TH8I1mwQc5XDc9NLu/nmrcE6DMHAYy0Pjmk + 53HT6gTjO6PAoU2GaXi5b/micp29kFB/AcVnam3Qb8wO6ERWR0xWg4iPezLXuPAZfmS2zgZvBcxb + SeSf7A/l82Pc7DUJRShuy5KlSwrVDJdgJ9u6lSTn1OycgmT8et6F1YAKxkXJe87Wo+poSnyg6Iyv + iwLaulFQ7q2H3uYf43PtuJTJZ3YxWGl1IY3n6JfnIqXopIjtCXu773lrc61LPFtShK1oZvCVhsMq + nuO/3jq2l+/FRHTrX24v+gOWzQcpBbqMD2esOEyDCC1jMeya7S+AQy9vL1IujjbYxtJsabMB8iqZ + BAJdyxDwNJhc4qBoHnfbznHNyu4Wquy5FS26ZqYL0hqVX4ZMmMB3nIEBUcNHR/HdF+TWonlIvWl4 + Cdw/EdanCMm2PxnCjETbKatKn5CS9f5MaNyeG25unNuPrVyhl7VIPeEucD+BylvUyjRkl6flbKmD + mq3urkEjg51I3IR1Yo6Fzw/P7KYF2V3rZiC0mgWNvHjosykhzq6G5ouuTj3DIAQ8zG2ASTvq4J8H + e5rd5UlcT8zHDD7JQ4YFjZ6g70/jSag7omI0mz3aX6hLFNLHIYJDSBi+ckiDzsV9pOk0N8Gy6SGi + aI44m13NoSSaD6VGxczILnhRtrWYjDudCw0Ho526sJESA69HBpiALzGtkKedOV/HSGj79ba3SRrR + 2JaR4i8tNOAnjcwvqh1hyJN6u6vfxebut7arXQZollMShARkze8AOyG4VfjEdHc8uL/JYIUFTlYc + 69IBbxx6CHsEX3wOUHYOpYA/s+p1hrFbjVksOZq0+jvIYPt/So3VNfdkPHuB5gmiO90GX6PnFCFO + p7zJAUYKpsiDfOWPTfDAvx1840KcCSCDXBjHEpSyXHl6MZKiPRLnMXbfKhxlXY5uTBTwRSZ3urJr + KuRXeT2gr3iq3+a9nEpTsFtCDs5dPzxYfe2jUX3UqF+PObqtHQ6r2aXW476dg8DyFMuDcG0NcECl + 4RbowZkZYOIuMYVLRXArrZYSmCYauBpNsRkUuBDQmBCc2fDCzbG5MZ93gul30gDbOn+mMTfzXz7a + uoChzXf4O/dSxL7fnJsBKqXs6P23ayGlAWnJp9iDRulQ2/C/DeT5H150/BxyIMdHJXQY6spQ1hHn + idwf4SWzqrr2zolis4XsRUxpTM68CJ76GJTPS9i7LpBfjXtRAhnoOV81IFCFgkylpmemBKtzEG/b + 35/8eXbzRf0C73y7Es+3pLToJLy5Xxatp8DpZm7LBYLeAhb5pJD1ybk7kPZWai+Jt67GR097SAPg + 8jcANUENGHfXthl9vCfvBmxYC+4OJJpe8ycVVpSyEWWlESYMGz5RqzVcK0N34DiDhGDOrkmUjdU2 + KR8+UhF4arstlkZBzadwHZ8L7HwpXvG+JxM5ShaLxYDF1aE/U+f8/KCaKpVL6dygsj+HpWIA3JgU + WuOG7Ec0qzFsxBpcBzb7+YdF3nmUF5Wc6tMxjAbwPhYLTCB9IyGTbuQAueFWChgK0r/p4yQEBsbl + H4yGf3kJeGs1geV/i8y49ep70DDzhNTpXEhLx6SwLaRIfkGk2vE79P4hXXZND87ZRGJZ1V+W2mmn + ai2Uqxd1fL2+/E/OYpI9YypMC0XZVghogAd9fd7NXsNgEtFan0jrO3XVTwhnrpA9B+sM9T4BYhNH + aJH3C8XD/Y04xyp7MJu3nXWb9tkRny1ly+6utT7HqW1FYF9H1CzOqvuDeegoSwO5LPIFJos50EJ/ + im6gVtg7BRBfOD3nBx8Vx59yLywZyBfVCOew1zgtB1qgHMZL3eRPPqjCkf3AZJ62OLHxIC999w1+ + rHUrVu8LRHGJ6LiC8PSa/daX8aHE+HF5y7ZXU4ibNpJV9zVgmRdJFY8fQawFQuCqZ7+cX6i2lKRV + yrDEZuTS6lofQ1JdmXdrd71stOQ8UR5ynnPunirW2qTvVkZPTY/A5qn9+0FNYPVMH6j7MPobn3oq + 5u0pLDq+vDeuGZJVxCgXhK/29FRr2zl6KoqK6YDYNB3kk/Pbl5SqpHWE1YljKelURUgGz85vzNTE + sIplOICaud9J7+u6OU7AXz0eRmlPhzJ3Vbl6LSlLJbkBAHWliPIhepRCi+w2rUOfLBGY6dkxKyus + HgQwT5mrHpGz3L422gCwQ7OByEO7yux+p+2OfFiGz/ESNSBWInKGf23DMhv5p+jYq2+hH5+C2h86 + P4dj/PG/iA7UlSpD6R7KOtIXGlm1akBg6okmwhvmscGpJNulCg8TJJQjQCI3hRvG9AX3a8DnBqYx + MiOcZn0UQF82NV95MvJiihlWQg6wTXdqOBi8zvtT9PE5VB1TzJudtpNtZa8XU7ZHB40mfVRz6H6X + dIgaRdjozBMvSEGhmcC65NXmteqBEbmqhATeb+DHyq7lnb7QT/hGIvmnBMT5NeMXVYyc6qId1U7J + O5tuI7TK9TDQq1GseuBH4foCgkx3M9QQ4OfxGN48l+qS/DlDwjiCSTK83mzxQY9wvvdKkNpXLmDT + sOs7WoER9+2owz3JuSGUBfiKOcywtMn4Qk3jWTnIgP3LlaRYPINdPBVjYS1h7yrcwNp9yxhRvcdL + uc3F+UQX3iu6jfiIcxFcX/kzGerr0Jtmce+Vm4RKPj5ZEWnteWi7fyLrtCLOW9A8+Pu1Ycp2fuZ3 + RDCNXt7GFCiR0nGH4E9s/pIJ8jYjbsVzXku6HT+/W64B0bZHU9uduA2F2KRhffIeRjCvMDCLcNpg + zBL5JSmEgiDFLCdbiW8p7ok61BjCSsEVEAvhuj/e1ug5eX6FAirb9xtjnN+OXZhsnhGUAdFxqjdY + 6OaocRKUi81L8Sl4WDLgOu9FQFG34zBqW8kKBkH0IDjE9BL+xc0Niztjdo+a9hhZOCmPZLkvZ/ml + wALSoh3wtBxqXmuMF8GQtUVflKAlcteLV1GMjB3YSHEKiPmtPnZZqyLYDPEDNLUF0D8CAuEvLx9R + hcdnICD6IEPFw2XTAsUawF5BoRKaZJVcJQM09dFlYSDV7Ae5ESDqmrOWZ5nYRx56lG+/BVWhsZNc + AMiADTcsVEq7QAS0LLDZwzCbpk1L4rzHEcxgmihJbdMaCjHzEQcpat3cYy2bX/Fbh+ab4KBaRmoF + 8Vtlb4nTdmSz4qirVkqErfoOgGBmVtEwKRAeXX1NRUNcEmgfTpwQJiOYk6vgA72lMvJB+QEyMYcB + ptDzpd6gNCmvVe+I8HSml66S7Eo/Hn33wLubRd101QLdjUgL1nV2+h3sTLww4ZzzzhXyXX+al0fR + YSk9u2h2TKp9+WG6qU8wkhxq3mZqNe1eaRVGkkZWkYoZ1jk84gyJjbXVGYwflBUGxYB/7dl1ffja + 5IhugLQ1tXBHhsgXmS3mqB5Pzf2yxRbhcz5ULpYiV6zM9LZycUehq0dLtveCrwIeTlaezbOA+SPE + 3ed2EIH9f8eTee46rTV9neOXKISberY6dmFA/pNpLiD3AIVEa4eyUwtxnXQZdA/X1iiUZ55T/eYz + 9PDop7sMBS2HgkDrdkbWqCaxGEA1m+wXCJ1nUpNqwt7khp88rnN31I8LS1XqCdBADoETJ8z3xH/G + lSyzkWCcpDx29riYdOFKhDZ0kPoLXYPrcJJWoup/6Yf3B9qtr0KoKJVH449fSC7I3RLyhuf5hJoh + 4XvjEwUWy5YWfouxSsy2ZX6pZFta32lRDhmImOXIGTYN3iW60mZ0JL89wzElqC7lbi1HHo74OSjX + s6RXLJ3yx1rPkDM6ykpRCw7pNMzIBYKHMSod2nUqxpR5wQMaE88WodzPj7wjmxF8cm84S+YyJpH7 + 5YBK3VWLTFM2SR+XU7bqBPPbYtnNMfY1iO9nqM+UqJ5JJwTpEDLnnZ1fNpmOPalO5TLZouU/WBY2 + oiq4N57IPypZ4ZXTNi8j18LFhN1dYBDXVJ45QhVNuRA4FM66z6OeePCVEAl/dnPzCTVPayU0BQTh + UxE1jsz8hZPbSf44nl5SfSPo3CtTfALroTUFBY2aL+gtDjWk59tBUmiaWIlrkfet2Omzc/6kipMG + JVReeShsJOOvNGx3VGS2pCd5VK7te24AJ89GNJ79Zx6PkHReUG52Okn4McY61L9sK2P+JRi0Z2Zr + 1IniSPMI1WZHP2mrLNMHs2863MSxV98dLbXFu51PC1lNCDRXpKfYCkxuJnEJE5exSVo9cjYX1Ndl + /dfzVKTYCGgWpIID1VHTjgkDuIeB4NjMceH6/B9p/vaouFlPChvQh21mjatuUL/wgBRRYVaHyQ+s + igVf9L09PR68IaR+2GMGNPnd7gVcC+7XTYlbxD6NM4yahfkcmyEfGqF86BaSkm1KnaY0dQk5lxYv + FusSJ9tj+bFwVfbb2/spFAwlxGQBUlO1gUrT287HOHr8sqJaQnLyKlIqOIgzCvwiuhSDhrxD0n6d + 6dNlbWn2eevhjEIbDHxXYA30fL/noAtmw4wADktdLFgwy+tCxuJcBNSjX75Gv0eRx0uLMzuEvwUs + mGCk/bh5b6zyH66d7Qygte9xh2FFpGdwdTod1z2IjjQRlfeos8r1yTwVxeF9Nj2/yhJtSRTaYBFA + 011EdJgcrKcQJeyuPCKbcz6iyWcrhOxr5sBs2RXCrMm5UKZEtsID5rHN3b0xGwNQqC0O8FdFvMVo + a6P8YtU3hGL8d/EJOWzpifpqmVQIRxC2SATIzKqua2ul+QJMzPJsrG6tNipgJrHVfzWvkRvScXOl + vDsXa+8yyPhFr5m9rYThtpPkMdJzdc1GLGcSME6tXRRgwkbIOLR7o4wHXoF//X7FTqhWXWDACsba + 2XAX3X67w09D6+STAz/+KoHkCSDFP67RsvBWaWBqHJ9ArqGKGXIggtq6ZKnN37DaYbq+w0b5LSDj + XtxFQr1wn8y+JWg3yyESAdv5qiwV1RvQYDMYh77pXDPgoaNAXD6/ecd88xioNhV3iw31q5zJnvUU + hfwue24v6BFagtE0tCihR8JLwpQ02hbk+uYfGQaPgHa/3rwfinsMVMXdMe1zjAGbSJYbINxKPI6+ + BVq5W9wAmi3MAHH3jogrLDmbYknS3hKvOO+cC09Vs0xqgFucP2jXz+LzdJnnWwjpbvTjE6LAWIfI + /LOjYlawhD0kwb/S1xO7JyjSpE9UAmMXwxSEIifG5dqd7IotSiH64BXRO/HpkUIYMk9rhEsrisho + N20ceMlS5BMby+nAJR1L7u7MFIoqdgTacZRFyLr+9YBwaZR2WSvXkYQJCXaMEi0nDZo617rTtJE0 + tbhfXEHm7FJIR0tfdlLo80CCDLdc0kuBUNZ9JpCUVxW+GmII3qW1i32CgN8x8mvOr/pAz1YriwIF + 4XHGs0a8bFWsi0COIigdS1EZKZPjuRrOkKIF9gC3aniGmFa9le/TX0o/8YR3rW2X13qiL/U3TG9B + u3xp0KK7J1pTRVg6LYS51plGPRtexDPsGGhttlKEs7Xcg9cG+r2d9dFkgyecm2dcrXN3YCWE01iZ + USyle2eD2SQ25NtdZLhcAkqPAqZkpK7FBmiaxkSRW/J68NA7/Y9R4nYgh9Q3GDpnhWSOqQANe9x0 + m2XApRDRfnjSusWponEXAOenFqdY3XKccEfvcjQBPW/qdvpnzkLa931ZIVNMS4ImvMoiOaLI2d8h + p5xJk7qngUWFm5KpiBBrBx+xGEWg9OW7BoPtDWa0LeBHJDSEmDbILNjB8Eo5SL0dn7IsSHpJv6kW + eq9M2mSZuk7IzUvgESvuAakSjbWIBA4dvqm3z5bry/Oh3GFvvTOm93nkSVbuDAn4064gBIMdddFb + DfqYaoAhgcuYPo0f7mf80aefn+18Gv4Vk6u8lbmnq/bVL6KGHzWfshhu1tEGCqeHJjPxJvOOn7K3 + eRtu66OY3h+iGjE3Aem0ITuLf43wFn/bqwa4XrfC2O2SUyhcD4P5mmpNRRj5sRu8kW1UriVN05qr + ioDWBfysC3Xdkpvb5iFDax/3NvXjoA/Hsfqb71qPdcExC3SLqhI/BvRhd+9199X4Q+5/TWZ7e1bi + MlFC4e7RMLFc7JPxuNYrwFMyJ3lzGar8ZzHuGOz7gU7Prm8YkHyhs7GJfBixFFBKtxjUuNVil8ST + exujAr2g0yosfckVhSarm0GZYnpu6VLQTn19uVinqz6Q33cKTxYOkBDvXEVphFMlROUqfEfua966 + UU5aKlKw2Y4WfAN/umc5rz4OwdTkh6ji3k/JgMTM6Np4+vD1tvQSAcci0FgSMQn2FUtu0ANHh3cr + oH79e/b+XtKkyUMbFBRJcCFW6pxKDtFJQQmau2wO4pwH89MkBGdkGdqTkZ3DcQr+ehNDreEdnXcI + 5cuwljwKASi9Yv4/CUXb+Z0O4hFbiMAr4mKPEEXnY5+uI6paJ4l4g7/2qNzJydb++D5DOut2z24e + ku/CCzUlB2PrFgH2sFP8vPGXBdv+bF6Y4VlKpKKiKCcHg065Exbr2KMwvYgqFQ7ejKsWz6HhMLFA + LUZ36Nfy/KoC7it2AX7Of8Sr0+2vd0QnQdGFBrw6ZUkyz6hBjBtSDj3E6+OsK4jGT5XqBzJav/v6 + y/BrMC7lCCAGeqQCdkRqy+IbrMYuUYC9WsIw022GnPldUYwSDBS8FfqOJJ5hWEpsk1q/wETWqMgl + PhFIDpc4Pto+AS4AQ10pi/ZU71b200MF16tpfUegoSb2Ih58tNO5MDDGniBj0vrtxbLOE71AGY2D + UE+SmyHCeOfdPoA5jTYlTfJF/Fehs7upOrUlahncC0DAP4Wwlj9viAtdAzaDaw7J95YCddsSA5TX + TnJcSrkIJh33SRp0xxQtGtieCHB/ekKg8W6GerS9TWqga5XkXNcIcmM+NOqILqTSerO6ipSwVVCz + 48Qb4jsbpYAzPBDOYcc5qk3YxOmzkxRx9nUC1F+QKzkLCZa/3hyN4AY3P8nNH6yV0F/ZLgXmz12A + 5YT4t/kHUwrlHXiXaNqvXXgD0TDmidAgs6mV4LKngeHweRPtW/lUWF3x6RcqdZqU9l5+h3tA3yRo + YKLGfPJ5VK1o/bc6QkZDzpyF/hAzZ7rn0RB1YVXOcRJE0xFnI1zj3TiBwHFoYzW621Emyl1w6xbz + I/5dn2Epxhi3XFkxoBFwfdVrkny5Pb3OyEj9B15uTOxBEadieL6zsi8yM6e5tCbvJ7vW2BrPOgUR + i4pCGC6IkW5sHfJquUmioCHZ25TUl40tfKlgMcgD3s9N6dsYIbaNHedQbSNv7OhfOXWOPeHS31tX + 96wUF299zk4MbhjlEOJDEoGbVWXLzGS4JYhdabJcakZWLdlJIZ6JgcDnEcjlCNvSlCAxt4XaUF3z + ijg+wFY3MwMc2Z5HP9LkEkwIjv3tQ8+l2BNzU6gdsZq0ZcDrfPdq0NEEcRlo42s6hr5UGUNAFVrM + QPEecuR5cGfXLshDQYJWIiypoBiss2LUqNeNxKy/KQmGE5K85ELmCO70rlEe3Wv1udAJWzMCIdEm + iSUcx2JRdI5HEfLZw1ZIEkNVnnFPjWnrvST6NNImYFZmjDyTUSiZQV9mc71gllIlhymY5wPGDfLe + k5euDk75iizDMPIMnwCszNBOjXPPrOgmVLyt6dmtQRWfIVoHruupS85p+tu9ejunAhCJEtnV38cM + Y/gbQ7gsog8gNMtqvZtpwLhjv/Tl6IN2oDxKBKe05MfegJhUyMNbhjVwr0LBLmskqA0vOyfeRvLc + X46lG6MnrRhdGQpSClrFUPlKJiOcunsIMaBu1Y3v6lbZ+YM9cgODe5nDNrpCcjAaE8gN/oSoFBUs + J6XKTwGiCpJ+snlR3bU8mY/VcObR9Jiv3ZGR1z8Gx5vo9PgpIF04wmX5eiIOZ8+PDkP7w2Q7shdD + HajUE1iigmkEDXI8DpQsnIeDRUbNgiqNDa7V4lWZgiNfMj4msfWapJRA0MA+gMvaZj+5zaurU6Yh + mNJwdz31XYi1KNTbamz+WhVfUqadVDyG6WbgrrmLXwD03TR2dyirmakb0RIzZG0GL+dmHmL10Msw + peF30yJN5JYNDH1q/KBp4BOAnBHYtku0tiVz0Vii8RR2oxwSurm9yPDfFfD62fNP3O1h/N3s+9Fl + P8hhwWq+jkKCSYVYFNmlZo2AnHjwxWvbkpK8uUb7GuMmBRvB7lKYIYxEIJZnTApOpjKalKsw5KJi + JDWk083vpXGgLseyahz7NcwzGLthrnDTciTir3gUeq6XRFkEzo9HWL9dGeFYvpD8u+qHepBztrIA + B0WAx/EzmuCVcimCc6XlAqal9ys265IlV0U3X8XlHpRs80WkwOrcNwo8xu2mf/iFOmN3zu4HJc/2 + x81EHbz83fA4sstmIkM3dsSkolXDQ1d/eIQlKtIHNp/XBOHTZzhEFfeOIJ4vk98HRBbH2l9zsE1s + OLdIljo1505mp8bezUoQ3Fyysg/A5Dm5qT5WU7a0noPanzgj8FtO0if51hwjvWl5B4Bc8sPKFbdj + Vc3+1mzl9y+cdQ5VNxnFXEzIAUL9e8GnrbdLZ53Fn/isULbvp5OwnBQG+TbcGAbgsg7nw5UVXMfl + 6Q3pnydkZwUQMoLlpeIilJUBw1Jfef04srGuoGcC3E0ZM5utGx76UU8kvuO/7OgpWrt827DmNsN+ + tkuB54mLeZdG2twN/fhUU0KnFz/aFHlhEv1ggyj07IXO/OWpTJcM+x0fJ4v70i6NAj3xdQs4rYCC + d+DJnT0rOKEh98cFfTnL99EYFa+/uXKq923fqtuDZtFZJHQ5UqBpGi2rMqQ7V9c2EoOz4Zpy61QF + LhvPOFyySykHpfrsNgWJtUVR7RIvop45FCGqbdGce/rdLgoMIK9EM+RYfW83yTCHj7/Kwsb2057K + SlLACq0wYUL0t2fx52FlKXXpSYXM5ngfd4fQNmTOaCzVcnCX0DBgCYv+XaM3aNEjDVqrjFxr0hpR + JSmNffZf9fWScYX9bmbzuvDs5kXruIQSKF47DWhNS2vfNPI+FXU5ghfff5siBSYXqNmroc2zsSJi + 4tBFj1OAqPsttpcf58x8OrlHkQdyNnHG4RSxtk+p3R718sgci3D0bT6kWLTp/UG86r8Vbmm9Hwq7 + wLrSMB/XOtXka0WOzk/tEQjKKiRihrkonJTFP3FB5O2MenkJUgvjFiw/PiOt6r4LnoL0i1CpD5m/ + TJ09zd5SQjMxYX/7M42BAlz3XICe6byOY+PXzhGWXdzryyH3Fr8JpareWcMYGhB5QFOoON8gmEAL + sk4ZNOF1xIqakVUkh6FnvE4DkIUs786tAzJLPbzjpMwCfenmrWVe5iR9eLe8XlwbNlxJR+zkKCAd + 5GOBu+DYiH1D0r/btn9WCXCh0/DIN66glJr5eLKM039tvo9QE3E4b+OmF4Y10T/muKJXjHERKSzG + adaQm/S2lEa+X39FUAeBspzZwJv6sm79R0FT0rQV9qjwfNPnEqZaONmFFuI2GNt6R6z4E/Nd72OU + +3mOYRSAHzJuJ29CFio8O6IOobCbMvYiAK2ItR7yWDfhwEozrkw8mOLlUP5prnY8EsqXqWwCKN3b + vu2+BRwDGOhXF7i7fB2qhFP4ffL6Cn1jWMyECdY6JbnT1JTf2wYlsySkHKnGqmnZqOaQogtQZhya + nX0TUopz4fm/fU1Ld6evZrY9UgLEepiUPoULpEFV7TzWNsZG7amdCdLDNCLW2XKsPB2disb+2uBq + dcauDi/8PAC2r6bxT/WX3vGKZLdsFLbHXR4Wa1s0J/YTxuGiuIhqp1isov7uu6OXt3Xq1a/ohvCD + nwNFzUgJ+BWIYfCAElQAQppZ9HZgxvZtq8BcacDH2P5z0ER5PHrTs9FNJ4Yx/XJgDZ8r65U2dd4L + hnfWSLX0n8HMOMTBI+JRh509n2yg0hg57yRsrvjYl4VTtMOv+dXHQhNXHWoy6y1Tp30eCA9bzIkf + YBT9R15hCiYE+aQV54ggEKviFpMCjzH7yTFEoEdSFD41L52FCsL2DrNqUAkv/mGnHI5o64gPjb77 + Ji3+rDUzZ14dgzzbpEa+2R+XU8urqQvRgUbiv5wvdmSbmcB9swsfYKG+a7/zI4NgLWnMzDDIWOGR + 0okNfTpcetKjdDWjgNaI2/adn6AWSnrfJ/54UYhJvurCQi66NU8rXp4Z7arOOLeycu8uV8OZ80sd + QnkpKywk1/mqeKqYhHEigbLCQDH5v1zZ9x9b+OQWTXZ09q+BDWgpWZ97/JzXr+hPGYYMVHoVGw1R + MKcs9XN2DvICxW10FMkycDusX+HuJwT3HI5CGwnJDqbg7BMcTutjkLZjuenjZSlbPFc0T14yYUV0 + VOL3XpEuAom2E2Y7bWtilttepPgV2CwtzaWOICyzQ5Ap/WowfDnX0NGHf7she+zH5nWfFmQPx+9/ + lg+oTQnQMrmZ1sD0wCc+zcTRDZfLf7C8lLidBrMLrjrl5E/XqTYfuKgP4vIM0NbHMoL6kx2BADFr + C6892kcKX5IHJWGWuKLHy0Y6OiWc0zz38mPdqe446cTQb9utQbEYPFrDt81AVt9cEzv7zH105oL0 + mU+5qaoOdtInqYduf677hNfaE+NPE5cDeMdnEg9a/ABR+3ZPpVmDfZAsIQ9usUSnv+ahtrpHTdbp + 8BsPd4f9hD0t5wFL/pPGv1XH8PP2igj5dV8FA2K5eaXBzcMCDJG5JE0DBHVXs14hH1MaSZIVinqB + g6vhq2UUAi6DhLGalHhEF++XAZEzZ0opYX0SmSmSNDmRjIUPbyUmISYHxdF8v3USAmmyJFd/gABB + 8PBkbVvK0mRt434+5wcFMsnp/NOnUR1kfPtLRRsRLhgyTMk9o7u1dwq4Gz6K9Gx+GkXXiIDTLN/T + 3DPJeAmIGVQjUn5mjiq9rbIlxvZWEi3qrAW/XmvBiq/spMKq12NIVNtShXgim6OJeLdWW4B1uHaN + ICBN4V380wrZ1DWxsDU92hHdvefjTEJqcmVtNnt+75WBYu3ZWhf4Bm1wNK8E2842nhTv5AvSa7Xw + kOfyaFk/igypm/XiXmFLzGYdw/FkP7WNhAHdivpAqBa0EQWiZn9/Ri7pMRII41awJ45UijJC07Kt + rCvnlm1Up6ZI7/WgR73l3lYEVYC4QYUgR0buK1JuALDSbSfAY9fyh/hoP4V/fyEz4NoGXT3w3czm + tiwdshUk22iFfad+pVYfZbHzGexDn1VVSZSs0ern9L23dA4LfxRYX729zg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - f070f364-cbc5-11e9-8b60-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:21 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource51321a2f/blob51321a2f?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:20 GMT + ETag: + - '"0x8D72DE9D49D1A83"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:21 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - f070f364-cbc5-11e9-8b60-001a7dda7113 + x-ms-content-crc64: + - LnCipbK6SWg= + x-ms-request-id: + - 2532d948-801e-0074-6cd2-5f6704000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f079d31e-cbc5-11e9-9b06-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:21 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersource51321a2f/blob51321a2f + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:20 GMT + ETag: + - '"0x8D72DE9D49D1A83"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:21 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - f079d31e-cbc5-11e9-9b06-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:21 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 2532d979-801e-0074-17d2-5f6704000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - f08090dc-cbc5-11e9-8921-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:21 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer51321a2f/blob51321a2f + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:20 GMT + ETag: + - '"0x8D72DE9D4AAB18F"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:21 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f08090dc-cbc5-11e9-8921-001a7dda7113 + x-ms-request-id: + - 2532d99c-801e-0074-35d2-5f6704000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f0872ed0-cbc5-11e9-9610-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource51321a2f/blob51321a2f?se=2019-08-31T09%3A04%3A21Z&sp=rd&sv=2019-02-02&sr=b&sig=GWsPlW4P1V2vSIVa13U/CzExQ9lbq5MH0wwN6IWoB14%3D + x-ms-date: + - Sat, 31 Aug 2019 08:04:21 GMT + x-ms-source-if-match: + - '"0x8D72DE9D49D1A83"' + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer51321a2f/blob51321a2f?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - 1j84kLRuL35+arcFQRh35A== + Date: + - Sat, 31 Aug 2019 08:04:23 GMT + ETag: + - '"0x8D72DE9D66339C1"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - f0872ed0-cbc5-11e9-9610-001a7dda7113 + x-ms-request-id: + - 2532d9bf-801e-0074-55d2-5f6704000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f28bdbac-cbc5-11e9-8f4f-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:24 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer51321a2f/blob51321a2f + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:23 GMT + ETag: + - '"0x8D72DE9D66339C1"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - f28bdbac-cbc5-11e9-8f4f-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:21 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 2532e37d-801e-0074-15d2-5f6704000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f295beae-cbc5-11e9-8106-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:25 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer51321a2f/blob51321a2f + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/65536 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:24 GMT + ETag: + - '"0x8D72DE9D66339C1"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - f295beae-cbc5-11e9-8106-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:21 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 2532e399-801e-0074-2fd2-5f6704000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f29da880-cbc5-11e9-9b9f-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource51321a2f/blob51321a2f?se=2019-08-31T09%3A04%3A21Z&sp=rd&sv=2019-02-02&sr=b&sig=GWsPlW4P1V2vSIVa13U/CzExQ9lbq5MH0wwN6IWoB14%3D + x-ms-date: + - Sat, 31 Aug 2019 08:04:25 GMT + x-ms-source-if-match: + - '0x111111111111111' + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer51321a2f/blob51321a2f?comp=appendblock + response: + body: + string: "\uFEFF\nCannotVerifyCopySourceCould + not verify the copy source within the specified time.\nRequestId:2532e3ac-801e-0074-42d2-5f6704000000\nTime:2019-08-31T08:04:25.0305441Z" + headers: + Content-Length: + - '251' + Content-Type: + - application/xml + Date: + - Sat, 31 Aug 2019 08:04:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f29da880-cbc5-11e9-9b9f-001a7dda7113 + x-ms-error-code: + - CannotVerifyCopySource + x-ms-request-id: + - 2532e3ac-801e-0074-42d2-5f6704000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_modified.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_modified.yaml new file mode 100644 index 000000000000..7d206a88c13a --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_modified.yaml @@ -0,0 +1,2768 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - fec92f06-cbc5-11e9-8428-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcea2401b63/bloba2401b63 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:45 GMT + ETag: + - '"0x8D72DE9E3066CA2"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - fec92f06-cbc5-11e9-8428-001a7dda7113 + x-ms-request-id: + - 363c30c7-801e-0080-78d2-5facf2000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - fee302b8-cbc5-11e9-a232-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcea2401b63/bloba2401b63?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:45 GMT + ETag: + - '"0x8D72DE9E30F20CB"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - fee302b8-cbc5-11e9-a232-001a7dda7113 + x-ms-content-crc64: + - +LLbkvcv+0E= + x-ms-request-id: + - 363c30f0-801e-0080-20d2-5facf2000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - feeba234-cbc5-11e9-b452-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:45 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourcea2401b63/bloba2401b63 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:45 GMT + ETag: + - '"0x8D72DE9E30F20CB"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - feeba234-cbc5-11e9-b452-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:45 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 363c3138-801e-0080-65d2-5facf2000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - fef5691e-cbc5-11e9-a8a8-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera2401b63/bloba2401b63 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:45 GMT + ETag: + - '"0x8D72DE9E32013D9"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - fef5691e-cbc5-11e9-a8a8-001a7dda7113 + x-ms-request-id: + - 363c3172-801e-0080-1dd2-5facf2000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - fefcbbc6-cbc5-11e9-bfe2-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourcea2401b63/bloba2401b63?se=2019-08-31T09%3A04%3A45Z&sp=rd&sv=2019-02-02&sr=b&sig=w%2BdEjchMvX0FfamMRMwOqs1Wl7r7BVFhWsYcQ3TPbWU%3D + x-ms-date: + - Sat, 31 Aug 2019 08:04:45 GMT + x-ms-source-if-modified-since: + - Fri, 30 Aug 2019 17:04:45 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera2401b63/bloba2401b63?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - XXvtBo7Nm6DFUoGSdFOZcg== + Date: + - Sat, 31 Aug 2019 08:04:45 GMT + ETag: + - '"0x8D72DE9E3426F36"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - fefcbbc6-cbc5-11e9-bfe2-001a7dda7113 + x-ms-request-id: + - 363c31ab-801e-0080-52d2-5facf2000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - ff245c6e-cbc5-11e9-ae27-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:46 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainera2401b63/bloba2401b63 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:45 GMT + ETag: + - '"0x8D72DE9E3426F36"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - ff245c6e-cbc5-11e9-ae27-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:45 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 363c3359-801e-0080-6bd2-5facf2000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - ff314db0-cbc5-11e9-8eb4-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:46 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainera2401b63/bloba2401b63 + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/65536 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:45 GMT + ETag: + - '"0x8D72DE9E3426F36"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - ff314db0-cbc5-11e9-8eb4-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:45 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 363c3396-801e-0080-26d2-5facf2000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - ff394364-cbc5-11e9-be2f-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourcea2401b63/bloba2401b63?se=2019-08-31T09%3A04%3A45Z&sp=rd&sv=2019-02-02&sr=b&sig=w%2BdEjchMvX0FfamMRMwOqs1Wl7r7BVFhWsYcQ3TPbWU%3D + x-ms-date: + - Sat, 31 Aug 2019 08:04:46 GMT + x-ms-source-if-modified-since: + - Sat, 31 Aug 2019 08:04:45 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera2401b63/bloba2401b63?comp=appendblock + response: + body: + string: '' + headers: + Date: + - Sat, 31 Aug 2019 08:04:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ff394364-cbc5-11e9-be2f-001a7dda7113 + x-ms-error-code: + - CannotVerifyCopySource + x-ms-request-id: + - 363c33c7-801e-0080-55d2-5facf2000000 + x-ms-version: + - '2019-02-02' + status: + code: 304 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_none_match.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_none_match.yaml new file mode 100644 index 000000000000..d71736b08723 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_none_match.yaml @@ -0,0 +1,2768 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - ea8c0c4a-cbc5-11e9-b4cc-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceda7c1c3e/blobda7c1c3e + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:11 GMT + ETag: + - '"0x8D72DE9CECBD88A"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:11 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ea8c0c4a-cbc5-11e9-b4cc-001a7dda7113 + x-ms-request-id: + - 60456d1e-201e-0052-49d2-5f2f1c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - eaa88f62-cbc5-11e9-9182-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceda7c1c3e/blobda7c1c3e?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:11 GMT + ETag: + - '"0x8D72DE9CED8AC25"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:11 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - eaa88f62-cbc5-11e9-9182-001a7dda7113 + x-ms-content-crc64: + - jc/vsLnGjak= + x-ms-request-id: + - 60456d3c-201e-0052-5cd2-5f2f1c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - eab54022-cbc5-11e9-9a01-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:11 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourceda7c1c3e/blobda7c1c3e + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:11 GMT + ETag: + - '"0x8D72DE9CED8AC25"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:11 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - eab54022-cbc5-11e9-9a01-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:11 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 60456d58-201e-0052-72d2-5f2f1c000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - eabd769c-cbc5-11e9-8b70-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerda7c1c3e/blobda7c1c3e + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:11 GMT + ETag: + - '"0x8D72DE9CEE7A302"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:11 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - eabd769c-cbc5-11e9-8b70-001a7dda7113 + x-ms-request-id: + - 60456d72-201e-0052-07d2-5f2f1c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - eac41710-cbc5-11e9-b89f-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourceda7c1c3e/blobda7c1c3e?se=2019-08-31T09%3A04%3A11Z&sp=rd&sv=2019-02-02&sr=b&sig=aHHaTY1DTbEV0BV6HMvQn45O8rUF486gOhONAQLgRoM%3D + x-ms-date: + - Sat, 31 Aug 2019 08:04:11 GMT + x-ms-source-if-none-match: + - '0x111111111111111' + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerda7c1c3e/blobda7c1c3e?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - c7986ryGtZLKQlD/soqrtw== + Date: + - Sat, 31 Aug 2019 08:04:13 GMT + ETag: + - '"0x8D72DE9D046D767"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:14 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - eac41710-cbc5-11e9-b89f-001a7dda7113 + x-ms-request-id: + - 60456d7b-201e-0052-0fd2-5f2f1c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - ec413ed4-cbc5-11e9-aad2-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:14 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerda7c1c3e/blobda7c1c3e + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:14 GMT + ETag: + - '"0x8D72DE9D046D767"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:14 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - ec413ed4-cbc5-11e9-aad2-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:11 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 604571d9-201e-0052-20d2-5f2f1c000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - ec4fb564-cbc5-11e9-840d-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:14 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerda7c1c3e/blobda7c1c3e + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/65536 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:14 GMT + ETag: + - '"0x8D72DE9D046D767"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:14 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - ec4fb564-cbc5-11e9-840d-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:11 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 604571f5-201e-0052-36d2-5f2f1c000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - ec5a6e34-cbc5-11e9-9cba-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourceda7c1c3e/blobda7c1c3e?se=2019-08-31T09%3A04%3A11Z&sp=rd&sv=2019-02-02&sr=b&sig=aHHaTY1DTbEV0BV6HMvQn45O8rUF486gOhONAQLgRoM%3D + x-ms-date: + - Sat, 31 Aug 2019 08:04:14 GMT + x-ms-source-if-none-match: + - '"0x8D72DE9CED8AC25"' + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerda7c1c3e/blobda7c1c3e?comp=appendblock + response: + body: + string: '' + headers: + Date: + - Sat, 31 Aug 2019 08:04:14 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ec5a6e34-cbc5-11e9-9cba-001a7dda7113 + x-ms-error-code: + - CannotVerifyCopySource + x-ms-request-id: + - 60457210-201e-0052-4fd2-5f2f1c000000 + x-ms-version: + - '2019-02-02' + status: + code: 304 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_unmodified.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_unmodified.yaml new file mode 100644 index 000000000000..0e1b3f3f7796 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob.test_append_block_from_url_with_source_if_unmodified.yaml @@ -0,0 +1,2773 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - f6758e1a-cbc5-11e9-9a97-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcedaf41c46/blobdaf41c46 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:30 GMT + ETag: + - '"0x8D72DE9DAAF41F2"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:31 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f6758e1a-cbc5-11e9-9a97-001a7dda7113 + x-ms-request-id: + - 005b3fbb-f01e-008a-0bd2-5f0845000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - f68bd38a-cbc5-11e9-b4f2-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcedaf41c46/blobdaf41c46?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:30 GMT + ETag: + - '"0x8D72DE9DAB86B5C"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:31 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - f68bd38a-cbc5-11e9-b4f2-001a7dda7113 + x-ms-content-crc64: + - TpDEDW3OjZM= + x-ms-request-id: + - 005b3fe5-f01e-008a-31d2-5f0845000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f694f4c6-cbc5-11e9-891b-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:31 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourcedaf41c46/blobdaf41c46 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:31 GMT + ETag: + - '"0x8D72DE9DAB86B5C"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:31 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - f694f4c6-cbc5-11e9-891b-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:31 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 005b400f-f01e-008a-54d2-5f0845000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - f69bf51e-cbc5-11e9-8d93-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerdaf41c46/blobdaf41c46 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sat, 31 Aug 2019 08:04:31 GMT + ETag: + - '"0x8D72DE9DAC62984"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:31 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f69bf51e-cbc5-11e9-8d93-001a7dda7113 + x-ms-request-id: + - 005b4033-f01e-008a-74d2-5f0845000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f6a2ce10-cbc5-11e9-87c2-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourcedaf41c46/blobdaf41c46?se=2019-08-31T09%3A04%3A31Z&sp=rd&sv=2019-02-02&sr=b&sig=riWmIyYXjYXsehJP8tEWWCs2svKis2uUD5zTpZj6GYU%3D + x-ms-date: + - Sat, 31 Aug 2019 08:04:31 GMT + x-ms-source-if-unmodified-since: + - Sat, 31 Aug 2019 08:04:31 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerdaf41c46/blobdaf41c46?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - jwv7Mw9cMzDXV28EuzNTRw== + Date: + - Sat, 31 Aug 2019 08:04:31 GMT + ETag: + - '"0x8D72DE9DB04EBB1"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:32 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - f6a2ce10-cbc5-11e9-87c2-001a7dda7113 + x-ms-request-id: + - 005b4056-f01e-008a-16d2-5f0845000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f6e40ce4-cbc5-11e9-9a69-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:32 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerdaf41c46/blobdaf41c46 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:31 GMT + ETag: + - '"0x8D72DE9DB04EBB1"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:32 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - f6e40ce4-cbc5-11e9-9a69-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:31 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 005b4209-f01e-008a-2fd2-5f0845000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f6ef9da4-cbc5-11e9-bb40-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:04:32 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerdaf41c46/blobdaf41c46 + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/65536 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sat, 31 Aug 2019 08:04:31 GMT + ETag: + - '"0x8D72DE9DB04EBB1"' + Last-Modified: + - Sat, 31 Aug 2019 08:04:32 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Vary: + - Origin + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - f6ef9da4-cbc5-11e9-bb40-001a7dda7113 + x-ms-creation-time: + - Sat, 31 Aug 2019 08:04:31 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 005b4239-f01e-008a-5dd2-5f0845000000 + x-ms-server-encrypted: + - 'true' + x-ms-tag-count: + - '0' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Unmodified-Since: + - Fri, 30 Aug 2019 17:04:31 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f6f82410-cbc5-11e9-9dfe-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourcedaf41c46/blobdaf41c46?se=2019-08-31T09%3A04%3A31Z&sp=rd&sv=2019-02-02&sr=b&sig=riWmIyYXjYXsehJP8tEWWCs2svKis2uUD5zTpZj6GYU%3D + x-ms-date: + - Sat, 31 Aug 2019 08:04:32 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerdaf41c46/blobdaf41c46?comp=appendblock + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:005b4264-f01e-008a-08d2-5f0845000000\nTime:2019-08-31T08:04:32.3371836Z" + headers: + Content-Length: + - '253' + Content-Type: + - application/xml + Date: + - Sat, 31 Aug 2019 08:04:31 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f6f82410-cbc5-11e9-9dfe-001a7dda7113 + x-ms-error-code: + - ConditionNotMet + x-ms-request-id: + - 005b4264-f01e-008a-08d2-5f0845000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_and_validate_content_md5_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_and_validate_content_md5_async.yaml new file mode 100644 index 000000000000..5bcb3fef8cc8 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_and_validate_content_md5_async.yaml @@ -0,0 +1,1589 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7cbd435c-cbc8-11e9-865e-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:35 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer287d207e?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:35 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC60EA93C9"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:35 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7cbd435c-cbc8-11e9-865e-001a7dda7113 + x-ms-request-id: 335c30c0-f01e-00d7-42d5-5f02c1000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer287d207e + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7cc945be-cbc8-11e9-aaf7-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:35 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource287d207e?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:35 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC60EEB33D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:35 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7cc945be-cbc8-11e9-aaf7-001a7dda7113 + x-ms-request-id: 335c30cf-f01e-00d7-4dd5-5f02c1000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource287d207e + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 7ccf0e3e-cbc8-11e9-8a68-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:35 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource287d207e/blob287d207e + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:35 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC60F487F3"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:35 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7ccf0e3e-cbc8-11e9-8a68-001a7dda7113 + x-ms-request-id: 335c30e1-f01e-00d7-5ad5-5f02c1000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource287d207e/blob287d207e + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7cd17d92-cbc8-11e9-96c3-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:35 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource287d207e/blob287d207e?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:35 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC60F8804E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:35 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 7cd17d92-cbc8-11e9-96c3-001a7dda7113 + x-ms-content-crc64: G3yVka5L9Zg= + x-ms-request-id: 335c30e7-f01e-00d7-60d5-5f02c1000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource287d207e/blob287d207e + - comp=appendblock + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 7cd6d20a-cbc8-11e9-973c-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:35 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer287d207e/blob287d207e + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:35 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC60FC2A79"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:35 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7cd6d20a-cbc8-11e9-973c-001a7dda7113 + x-ms-request-id: 335c30f5-f01e-00d7-6dd5-5f02c1000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer287d207e/blob287d207e + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7cd930c6-cbc8-11e9-96c6-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource287d207e/blob287d207e?se=2019-08-31T09%3A22%3A35Z&sp=rd&sv=2019-02-02&sr=b&sig=7J/FuSbVffKm1y8ofK5h0J3Dz5nLq%2BBbzxDUH3ZzTG0%3D + x-ms-date: + - Sat, 31 Aug 2019 08:22:36 GMT + x-ms-source-content-md5: + - 9vCNhS/QIQe4VY41EcElzQ== + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer287d207e/blob287d207e?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : 9vCNhS/QIQe4VY41EcElzQ== + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:39 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC62C33461"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:38 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 7cd930c6-cbc8-11e9-96c6-001a7dda7113 + x-ms-request-id: 335c30fb-f01e-00d7-73d5-5f02c1000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer287d207e/blob287d207e + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7ec8fb9e-cbc8-11e9-8838-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:39 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer287d207e/blob287d207e + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:39 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC62C33461"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:38 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 7ec8fb9e-cbc8-11e9-8838-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:22:35 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 335c36e9-f01e-00d7-3cd5-5f02c1000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer287d207e/blob287d207e + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7ecd1798-cbc8-11e9-8302-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource287d207e/blob287d207e?se=2019-08-31T09%3A22%3A35Z&sp=rd&sv=2019-02-02&sr=b&sig=7J/FuSbVffKm1y8ofK5h0J3Dz5nLq%2BBbzxDUH3ZzTG0%3D + x-ms-date: + - Sat, 31 Aug 2019 08:22:39 GMT + x-ms-source-content-md5: + - isbyeiguSTgSVIJgfM+1Xw== + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer287d207e/blob287d207e?comp=appendblock + response: + body: + string: "\uFEFF\nMd5MismatchThe + MD5 value specified in the request did not match with the MD5 value calculated + by the server.\nRequestId:6439f077-b01e-008b-2bd5-5f5799000000\nTime:2019-08-31T08:22:40.5670336Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '278' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:40 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7ecd1798-cbc8-11e9-8302-001a7dda7113 + x-ms-error-code: Md5Mismatch + x-ms-request-id: 6439f077-b01e-008b-2bd5-5f5799000000 + x-ms-version: '2019-02-02' + status: + code: 400 + message: The MD5 value specified in the request did not match with the MD5 value + calculated by the server. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer287d207e/blob287d207e + - comp=appendblock + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_async.yaml new file mode 100644 index 000000000000..4a7f14bd0acb --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_async.yaml @@ -0,0 +1,1594 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 82e1e212-cbc8-11e9-9e9f-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer74d91684?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:45 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC671064A0"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:46 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 82e1e212-cbc8-11e9-9e9f-001a7dda7113 + x-ms-request-id: 6d342905-501e-0067-75d5-5f4308000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer74d91684 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 82efce9c-cbc8-11e9-b09e-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource74d91684?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:45 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC6715206B"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:46 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 82efce9c-cbc8-11e9-b09e-001a7dda7113 + x-ms-request-id: 6d342925-501e-0067-0dd5-5f4308000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource74d91684 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 82f5b022-cbc8-11e9-ae87-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource74d91684/blob74d91684 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:45 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC671AFE6C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:46 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 82f5b022-cbc8-11e9-ae87-001a7dda7113 + x-ms-request-id: 6d342942-501e-0067-24d5-5f4308000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource74d91684/blob74d91684 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 82f81e3e-cbc8-11e9-a46f-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource74d91684/blob74d91684?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:46 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC671FBA3F"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:46 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 82f81e3e-cbc8-11e9-a46f-001a7dda7113 + x-ms-content-crc64: KHBYgZ59jEM= + x-ms-request-id: 6d342949-501e-0067-2bd5-5f4308000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource74d91684/blob74d91684 + - comp=appendblock + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 82ff91e2-cbc8-11e9-a4ab-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer74d91684/blob74d91684 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:46 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC67256093"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:46 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 82ff91e2-cbc8-11e9-a4ab-001a7dda7113 + x-ms-request-id: 6d342963-501e-0067-43d5-5f4308000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer74d91684/blob74d91684 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 83029bf0-cbc8-11e9-9be7-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource74d91684/blob74d91684?se=2019-08-31T09%3A22%3A46Z&sp=rd&sv=2019-02-02&sr=b&sig=LSY0eWXVoLHjSguq1XsYECjnVjkRIlnezHvR3ztbL9M%3D + x-ms-date: + - Sat, 31 Aug 2019 08:22:46 GMT + x-ms-source-range: + - bytes=0-4095 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer74d91684/blob74d91684?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : dqTmP78QWWGkxeP33h0HEQ== + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:47 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC67CCBBBB"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:47 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 83029bf0-cbc8-11e9-9be7-001a7dda7113 + x-ms-request-id: 6d342973-501e-0067-50d5-5f4308000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer74d91684/blob74d91684 + - comp=appendblock + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 83c2068a-cbc8-11e9-ae5c-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource74d91684/blob74d91684?se=2019-08-31T09%3A22%3A46Z&sp=rd&sv=2019-02-02&sr=b&sig=LSY0eWXVoLHjSguq1XsYECjnVjkRIlnezHvR3ztbL9M%3D + x-ms-date: + - Sat, 31 Aug 2019 08:22:47 GMT + x-ms-source-range: + - bytes=4096-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer74d91684/blob74d91684?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : TEbnF4MwDChPP9KgsASssw== + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:47 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC67E8D465"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:47 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '4096' + x-ms-blob-committed-block-count: '2' + x-ms-client-request-id: 83c2068a-cbc8-11e9-ae5c-001a7dda7113 + x-ms-request-id: 6d342d40-501e-0067-28d5-5f4308000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer74d91684/blob74d91684 + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 83c622b8-cbc8-11e9-9b21-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:47 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer74d91684/blob74d91684 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:47 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC67E8D465"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:47 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '2' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 83c622b8-cbc8-11e9-9b21-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:22:46 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 6d342d56-501e-0067-3dd5-5f4308000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer74d91684/blob74d91684 + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_appendpos_condition_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_appendpos_condition_async.yaml new file mode 100644 index 000000000000..151da69ee761 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_appendpos_condition_async.yaml @@ -0,0 +1,1591 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4ec30958-cbc8-11e9-9e57-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:18 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer2ef420ee?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC32F04941"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4ec30958-cbc8-11e9-9e57-001a7dda7113 + x-ms-request-id: bef3ff3e-a01e-00da-18d5-5fca15000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer2ef420ee + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4eceadca-cbc8-11e9-808f-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:18 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource2ef420ee?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC32F41A87"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4eceadca-cbc8-11e9-808f-001a7dda7113 + x-ms-request-id: bef3ff59-a01e-00da-2ed5-5fca15000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource2ef420ee + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 4ed4c42c-cbc8-11e9-8ea4-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:18 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource2ef420ee/blob2ef420ee + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC32FA2919"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4ed4c42c-cbc8-11e9-8ea4-001a7dda7113 + x-ms-request-id: bef3ff80-a01e-00da-54d5-5fca15000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource2ef420ee/blob2ef420ee + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 4ed75a8c-cbc8-11e9-aa26-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:18 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource2ef420ee/blob2ef420ee?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC32FF0C01"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 4ed75a8c-cbc8-11e9-aa26-001a7dda7113 + x-ms-content-crc64: 31rINNrvAl0= + x-ms-request-id: bef3ff91-a01e-00da-63d5-5fca15000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource2ef420ee/blob2ef420ee + - comp=appendblock + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 4edfe8cc-cbc8-11e9-b88e-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:18 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer2ef420ee/blob2ef420ee + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC33059CE7"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4edfe8cc-cbc8-11e9-b88e-001a7dda7113 + x-ms-request-id: bef3ffb0-a01e-00da-80d5-5fca15000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer2ef420ee/blob2ef420ee + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-condition-appendpos: + - '0' + x-ms-client-request-id: + - 4ee25b2e-cbc8-11e9-b691-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource2ef420ee/blob2ef420ee?se=2019-08-31T09%3A21%3A18Z&sp=rd&sv=2019-02-02&sr=b&sig=fVrvUIVOG47QGz8s2pz59M2MEVdyNPlmwvNnDnukAgA%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:18 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer2ef420ee/blob2ef420ee?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : mLsuZ+FlykrYRrhBYWTURA== + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:19 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC335EA2AB"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 4ee25b2e-cbc8-11e9-b691-001a7dda7113 + x-ms-request-id: bef3ffb7-a01e-00da-07d5-5fca15000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer2ef420ee/blob2ef420ee + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4f3ec7c2-cbc8-11e9-bfc3-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:19 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer2ef420ee/blob2ef420ee + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:19 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC335EA2AB"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 4f3ec7c2-cbc8-11e9-bfc3-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:21:18 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: bef401d7-a01e-00da-7bd5-5fca15000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer2ef420ee/blob2ef420ee + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-condition-appendpos: + - '0' + x-ms-client-request-id: + - 4f413b06-cbc8-11e9-bd7a-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource2ef420ee/blob2ef420ee?se=2019-08-31T09%3A21%3A18Z&sp=rd&sv=2019-02-02&sr=b&sig=fVrvUIVOG47QGz8s2pz59M2MEVdyNPlmwvNnDnukAgA%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:19 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer2ef420ee/blob2ef420ee?comp=appendblock + response: + body: + string: "\uFEFF\nAppendPositionConditionNotMetThe + append position condition specified was not met.\nRequestId:2a43dec8-001e-00a1-7dd5-5f8889000000\nTime:2019-08-31T08:21:19.5120006Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '251' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4f413b06-cbc8-11e9-bd7a-001a7dda7113 + x-ms-error-code: AppendPositionConditionNotMet + x-ms-request-id: 2a43dec8-001e-00a1-7dd5-5f8889000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The append position condition specified was not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer2ef420ee/blob2ef420ee + - comp=appendblock + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_match_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_match_async.yaml new file mode 100644 index 000000000000..3e3d80859479 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_match_async.yaml @@ -0,0 +1,1591 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 5dbf7ed4-cbc8-11e9-872c-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerda8f1c39?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:43 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC41F5BCBE"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 5dbf7ed4-cbc8-11e9-872c-001a7dda7113 + x-ms-request-id: 0069cd95-f01e-008a-40d5-5f0845000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerda8f1c39 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 5dd41cc8-cbc8-11e9-9d9c-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceda8f1c39?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:43 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC41F9B517"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 5dd41cc8-cbc8-11e9-9d9c-001a7dda7113 + x-ms-request-id: 0069cda1-f01e-008a-49d5-5f0845000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourceda8f1c39 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 5dda0b12-cbc8-11e9-ac85-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceda8f1c39/blobda8f1c39 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:43 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC41FF89B9"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 5dda0b12-cbc8-11e9-ac85-001a7dda7113 + x-ms-request-id: 0069cdb2-f01e-008a-59d5-5f0845000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourceda8f1c39/blobda8f1c39 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 5ddc7a66-cbc8-11e9-96fc-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceda8f1c39/blobda8f1c39?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:43 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC42038214"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 5ddc7a66-cbc8-11e9-96fc-001a7dda7113 + x-ms-content-crc64: qh5ds+pV5mc= + x-ms-request-id: 0069cdb7-f01e-008a-5ed5-5f0845000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourceda8f1c39/blobda8f1c39 + - comp=appendblock + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 5de17ffa-cbc8-11e9-8440-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerda8f1c39/blobda8f1c39 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:43 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC4206DE11"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 5de17ffa-cbc8-11e9-8440-001a7dda7113 + x-ms-request-id: 0069cdc8-f01e-008a-6fd5-5f0845000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerda8f1c39/blobda8f1c39 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-Match: + - '"0x8D72DEC4206DE11"' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 5de3ac9c-cbc8-11e9-bcfd-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourceda8f1c39/blobda8f1c39?se=2019-08-31T09%3A21%3A44Z&sp=rd&sv=2019-02-02&sr=b&sig=MZlHYuHjDnskoHQ/5w8woPwToKyDA0HyKYsQsy3sa78%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:44 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerda8f1c39/blobda8f1c39?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : TTn2QMCZleIrD+UcqORPLw== + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:43 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC421251DB"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 5de3ac9c-cbc8-11e9-bcfd-001a7dda7113 + x-ms-request-id: 0069cdce-f01e-008a-75d5-5f0845000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerda8f1c39/blobda8f1c39 + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 5def06e4-cbc8-11e9-a787-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:44 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerda8f1c39/blobda8f1c39 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:43 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC421251DB"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 5def06e4-cbc8-11e9-a787-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:21:43 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 0069ce09-f01e-008a-2bd5-5f0845000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerda8f1c39/blobda8f1c39 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-Match: + - '0x111111111111111' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 5df0fc5c-cbc8-11e9-8f1a-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourceda8f1c39/blobda8f1c39?se=2019-08-31T09%3A21%3A44Z&sp=rd&sv=2019-02-02&sr=b&sig=MZlHYuHjDnskoHQ/5w8woPwToKyDA0HyKYsQsy3sa78%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:44 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerda8f1c39/blobda8f1c39?comp=appendblock + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:f4fe9ecd-201e-0020-21d5-5f2853000000\nTime:2019-08-31T08:21:44.1081422Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '253' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 5df0fc5c-cbc8-11e9-8f1a-001a7dda7113 + x-ms-error-code: ConditionNotMet + x-ms-request-id: f4fe9ecd-201e-0020-21d5-5f2853000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerda8f1c39/blobda8f1c39 + - comp=appendblock + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_modified_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_modified_async.yaml new file mode 100644 index 000000000000..ed230f8f6e15 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_modified_async.yaml @@ -0,0 +1,1657 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4a4c7e1c-cbc8-11e9-904d-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer318b1d6d?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:10 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2E7AB720"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4a4c7e1c-cbc8-11e9-904d-001a7dda7113 + x-ms-request-id: 6cb188b0-a01e-003e-47d5-5fc48b000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer318b1d6d + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4a591264-cbc8-11e9-a562-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource318b1d6d?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:10 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2E7ED688"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4a591264-cbc8-11e9-a562-001a7dda7113 + x-ms-request-id: 6cb188cf-a01e-003e-62d5-5fc48b000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource318b1d6d + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 4a64ca46-cbc8-11e9-86a3-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource318b1d6d/blob318b1d6d + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:10 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2E8AB3CA"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4a64ca46-cbc8-11e9-86a3-001a7dda7113 + x-ms-request-id: 6cb1891f-a01e-003e-2dd5-5fc48b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource318b1d6d/blob318b1d6d + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 4a679582-cbc8-11e9-96c0-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource318b1d6d/blob318b1d6d?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:10 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2E8FBDC3"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 4a679582-cbc8-11e9-96c0-001a7dda7113 + x-ms-content-crc64: JfoBRH8hqhs= + x-ms-request-id: 6cb1892f-a01e-003e-3dd5-5fc48b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource318b1d6d/blob318b1d6d + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4a6d2e42-cbc8-11e9-8eef-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:11 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersource318b1d6d/blob318b1d6d + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:10 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2E8FBDC3"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 4a6d2e42-cbc8-11e9-8eef-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:21:11 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 6cb18954-a01e-003e-5fd5-5fc48b000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource318b1d6d/blob318b1d6d + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 4a74554c-cbc8-11e9-b44b-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer318b1d6d/blob318b1d6d + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:11 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2E9F29EA"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4a74554c-cbc8-11e9-b44b-001a7dda7113 + x-ms-request-id: bf4db575-f01e-009a-5ed5-5fcd2d000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer318b1d6d/blob318b1d6d + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-Modified-Since: + - Sat, 31 Aug 2019 08:06:11 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4a7c1fa8-cbc8-11e9-9435-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource318b1d6d/blob318b1d6d?se=2019-08-31T09%3A21%3A11Z&sp=rd&sv=2019-02-02&sr=b&sig=Y%2BLH4dmhy1rMa5nZEAtkOZMJEeb5Lqn5MB/HuBpZnLA%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:11 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer318b1d6d/blob318b1d6d?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : ympkBWEae3FN2XLdwnlU2A== + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:11 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2EA2FB32"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 4a7c1fa8-cbc8-11e9-9435-001a7dda7113 + x-ms-request-id: bf4db58e-f01e-009a-75d5-5fcd2d000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer318b1d6d/blob318b1d6d + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4a7ff252-cbc8-11e9-acce-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:11 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer318b1d6d/blob318b1d6d + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:11 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2EA2FB32"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 4a7ff252-cbc8-11e9-acce-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:21:11 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: bf4db5a4-f01e-009a-0ad5-5fcd2d000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer318b1d6d/blob318b1d6d + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-Modified-Since: + - Sat, 31 Aug 2019 08:21:11 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4a826068-cbc8-11e9-b90f-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource318b1d6d/blob318b1d6d?se=2019-08-31T09%3A21%3A11Z&sp=rd&sv=2019-02-02&sr=b&sig=Y%2BLH4dmhy1rMa5nZEAtkOZMJEeb5Lqn5MB/HuBpZnLA%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:11 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer318b1d6d/blob318b1d6d?comp=appendblock + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:9448dc9c-801e-00cd-62d5-5f631e000000\nTime:2019-08-31T08:21:12.4864712Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '253' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4a826068-cbc8-11e9-b90f-001a7dda7113 + x-ms-error-code: ConditionNotMet + x-ms-request-id: 9448dc9c-801e-00cd-62d5-5f631e000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer318b1d6d/blob318b1d6d + - comp=appendblock + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_none_match_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_none_match_async.yaml new file mode 100644 index 000000000000..65cb29c2e41c --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_none_match_async.yaml @@ -0,0 +1,1591 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 5810794c-cbc8-11e9-9c5a-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6e031e48?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:33 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC3C3D4F6A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:34 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 5810794c-cbc8-11e9-9c5a-001a7dda7113 + x-ms-request-id: 4c49ed6c-d01e-0024-3cd5-5fa554000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer6e031e48 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 581b9a74-cbc8-11e9-a96f-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource6e031e48?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:33 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC3C4120A8"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:34 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 581b9a74-cbc8-11e9-a96f-001a7dda7113 + x-ms-request-id: 4c49ed86-d01e-0024-51d5-5fa554000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource6e031e48 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 58214592-cbc8-11e9-beae-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource6e031e48/blob6e031e48 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:33 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC3C46B637"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:34 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 58214592-cbc8-11e9-beae-001a7dda7113 + x-ms-request-id: 4c49eda7-d01e-0024-6ed5-5fa554000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource6e031e48/blob6e031e48 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 58237df8-cbc8-11e9-8691-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource6e031e48/blob6e031e48?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:33 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC3C4A877C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:34 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 58237df8-cbc8-11e9-8691-001a7dda7113 + x-ms-content-crc64: oFoOWMvl9ho= + x-ms-request-id: 4c49edb3-d01e-0024-76d5-5fa554000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource6e031e48/blob6e031e48 + - comp=appendblock + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 5828aa8a-cbc8-11e9-b464-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6e031e48/blob6e031e48 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:33 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC3C4E31A6"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:34 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 5828aa8a-cbc8-11e9-b464-001a7dda7113 + x-ms-request-id: 4c49edd3-d01e-0024-13d5-5fa554000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer6e031e48/blob6e031e48 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-None-Match: + - '0x111111111111111' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 582b41f6-cbc8-11e9-8540-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource6e031e48/blob6e031e48?se=2019-08-31T09%3A21%3A34Z&sp=rd&sv=2019-02-02&sr=b&sig=RcXi9YvVOETPktkQdWJN9U1ja6yxzCOHOFluDS1gjY4%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:34 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6e031e48/blob6e031e48?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : tZK2shavtD+J5cuYUtnE8A== + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:33 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC3C52511D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:34 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 582b41f6-cbc8-11e9-8540-001a7dda7113 + x-ms-request-id: 4c49ede4-d01e-0024-24d5-5fa554000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer6e031e48/blob6e031e48 + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 582f0eca-cbc8-11e9-b9a5-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:34 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer6e031e48/blob6e031e48 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:33 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC3C52511D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:34 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 582f0eca-cbc8-11e9-b9a5-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:21:34 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 4c49edf7-d01e-0024-36d5-5fa554000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer6e031e48/blob6e031e48 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-None-Match: + - '"0x8D72DEC3C52511D"' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 58313036-cbc8-11e9-9ae8-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource6e031e48/blob6e031e48?se=2019-08-31T09%3A21%3A34Z&sp=rd&sv=2019-02-02&sr=b&sig=RcXi9YvVOETPktkQdWJN9U1ja6yxzCOHOFluDS1gjY4%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:34 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6e031e48/blob6e031e48?comp=appendblock + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:c5edeb6c-a01e-0001-53d5-5f0c28000000\nTime:2019-08-31T08:21:34.4607350Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '253' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:34 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 58313036-cbc8-11e9-9ae8-001a7dda7113 + x-ms-error-code: ConditionNotMet + x-ms-request-id: c5edeb6c-a01e-0001-53d5-5f0c28000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer6e031e48/blob6e031e48 + - comp=appendblock + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_unmodified_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_unmodified_async.yaml new file mode 100644 index 000000000000..8e85c4bd5c80 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_if_unmodified_async.yaml @@ -0,0 +1,1657 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 46d9ae8c-cbc8-11e9-9d4c-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:05 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6eab1e50?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2B0C2761"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 46d9ae8c-cbc8-11e9-9d4c-001a7dda7113 + x-ms-request-id: 94e21779-d01e-0069-74d5-5f6ab8000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer6eab1e50 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 46eb289c-cbc8-11e9-a902-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:05 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource6eab1e50?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2B10950D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 46eb289c-cbc8-11e9-a902-001a7dda7113 + x-ms-request-id: 94e2178f-d01e-0069-07d5-5f6ab8000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource6eab1e50 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 46f3f998-cbc8-11e9-a821-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:05 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource6eab1e50/blob6eab1e50 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2B19A376"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 46f3f998-cbc8-11e9-a821-001a7dda7113 + x-ms-request-id: 94e217c1-d01e-0069-32d5-5f6ab8000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource6eab1e50/blob6eab1e50 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 46f6991c-cbc8-11e9-aa65-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:05 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource6eab1e50/blob6eab1e50?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2B1DC2EC"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 46f6991c-cbc8-11e9-aa65-001a7dda7113 + x-ms-content-crc64: 97aTD2m6qyM= + x-ms-request-id: 94e217d0-d01e-0069-41d5-5f6ab8000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource6eab1e50/blob6eab1e50 + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 46fabbac-cbc8-11e9-98da-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:05 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersource6eab1e50/blob6eab1e50 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2B1DC2EC"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 46fabbac-cbc8-11e9-98da-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:21:05 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 94e217e9-d01e-0069-58d5-5f6ab8000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource6eab1e50/blob6eab1e50 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 46fed94c-cbc8-11e9-b1f8-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:05 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6eab1e50/blob6eab1e50 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2B2936B5"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 46fed94c-cbc8-11e9-b1f8-001a7dda7113 + x-ms-request-id: 4c4979c9-d01e-0024-54d5-5fa554000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer6eab1e50/blob6eab1e50 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-Unmodified-Since: + - Sat, 31 Aug 2019 08:21:05 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 470627c8-cbc8-11e9-8f03-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource6eab1e50/blob6eab1e50?se=2019-08-31T09%3A21%3A05Z&sp=rd&sv=2019-02-02&sr=b&sig=RUoQYAi3SopYomJOOUWfU5K2puJ7kd0RnhZ8MkSwXYQ%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:05 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6eab1e50/blob6eab1e50?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : kQrPUDM2BrEGbdJ9vtoLIA== + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2B32390C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 470627c8-cbc8-11e9-8f03-001a7dda7113 + x-ms-request-id: 4c4979dc-d01e-0024-64d5-5fa554000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer6eab1e50/blob6eab1e50 + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 470f704c-cbc8-11e9-a6d7-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:05 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer6eab1e50/blob6eab1e50 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC2B32390C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 470f704c-cbc8-11e9-a6d7-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:21:05 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 4c497a15-d01e-0024-1cd5-5fa554000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer6eab1e50/blob6eab1e50 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-Unmodified-Since: + - Sat, 31 Aug 2019 08:06:05 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 47154028-cbc8-11e9-943d-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource6eab1e50/blob6eab1e50?se=2019-08-31T09%3A21%3A05Z&sp=rd&sv=2019-02-02&sr=b&sig=RUoQYAi3SopYomJOOUWfU5K2puJ7kd0RnhZ8MkSwXYQ%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:05 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6eab1e50/blob6eab1e50?comp=appendblock + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:bf4da1ca-f01e-009a-02d5-5fcd2d000000\nTime:2019-08-31T08:21:05.9280060Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '253' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:05 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 47154028-cbc8-11e9-943d-001a7dda7113 + x-ms-error-code: ConditionNotMet + x-ms-request-id: bf4da1ca-f01e-009a-02d5-5fcd2d000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer6eab1e50/blob6eab1e50 + - comp=appendblock + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_maxsize_condition_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_maxsize_condition_async.yaml new file mode 100644 index 000000000000..c118f50f3666 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_maxsize_condition_async.yaml @@ -0,0 +1,1591 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 535c7a34-cbc8-11e9-a4d8-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:26 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontaineree9e2025?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:25 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC378B2BBF"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:26 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 535c7a34-cbc8-11e9-a4d8-001a7dda7113 + x-ms-request-id: 9a8a4612-c01e-0028-55d5-5f325c000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontaineree9e2025 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 5369caa8-cbc8-11e9-9adc-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:26 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceee9e2025?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:25 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC378F2415"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:26 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 5369caa8-cbc8-11e9-9adc-001a7dda7113 + x-ms-request-id: 9a8a4627-c01e-0028-66d5-5f325c000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourceee9e2025 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 536fd528-cbc8-11e9-a42f-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:26 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceee9e2025/blobee9e2025 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:26 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC3795712A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:26 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 536fd528-cbc8-11e9-a42f-001a7dda7113 + x-ms-request-id: 9a8a4643-c01e-0028-7cd5-5f325c000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourceee9e2025/blobee9e2025 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 537295ba-cbc8-11e9-aa93-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:26 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceee9e2025/blobee9e2025?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:26 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC379A540C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:26 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 537295ba-cbc8-11e9-aa93-001a7dda7113 + x-ms-content-crc64: Qi19XVPdfg4= + x-ms-request-id: 9a8a4652-c01e-0028-0ad5-5f325c000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourceee9e2025/blobee9e2025 + - comp=appendblock + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 537ace9c-cbc8-11e9-bbb9-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:26 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontaineree9e2025/blobee9e2025 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:26 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC37A096C5"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:26 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 537ace9c-cbc8-11e9-bbb9-001a7dda7113 + x-ms-request-id: 9a8a467c-c01e-0028-33d5-5f325c000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontaineree9e2025/blobee9e2025 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-condition-maxsize: + - '65537' + x-ms-client-request-id: + - 537dd9cc-cbc8-11e9-b03e-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourceee9e2025/blobee9e2025?se=2019-08-31T09%3A21%3A26Z&sp=rd&sv=2019-02-02&sr=b&sig=ST0/qgjKsPCn915GzM8bOGJMZXyekUZkuXKRamqKCgI%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:26 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontaineree9e2025/blobee9e2025?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : il8+ptxZwF3TUHxSPt5RfA== + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:26 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC37ACA6EC"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:26 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 537dd9cc-cbc8-11e9-b03e-001a7dda7113 + x-ms-request-id: 9a8a468c-c01e-0028-43d5-5f325c000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontaineree9e2025/blobee9e2025 + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 5389ebe8-cbc8-11e9-a8d3-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:26 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontaineree9e2025/blobee9e2025 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:26 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC37ACA6EC"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:26 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 5389ebe8-cbc8-11e9-a8d3-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:21:26 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 9a8a46be-c01e-0028-71d5-5f325c000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontaineree9e2025/blobee9e2025 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-condition-maxsize: + - '65537' + x-ms-client-request-id: + - 538d1e08-cbc8-11e9-ac72-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourceee9e2025/blobee9e2025?se=2019-08-31T09%3A21%3A26Z&sp=rd&sv=2019-02-02&sr=b&sig=ST0/qgjKsPCn915GzM8bOGJMZXyekUZkuXKRamqKCgI%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:26 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontaineree9e2025/blobee9e2025?comp=appendblock + response: + body: + string: "\uFEFF\nMaxBlobSizeConditionNotMetThe + max blob size condition specified was not met.\nRequestId:d112e98f-501e-002a-10d5-5f8ce4000000\nTime:2019-08-31T08:21:26.8068969Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '246' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:25 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 538d1e08-cbc8-11e9-ac72-001a7dda7113 + x-ms-error-code: MaxBlobSizeConditionNotMet + x-ms-request-id: d112e98f-501e-002a-10d5-5f8ce4000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The max blob size condition specified was not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontaineree9e2025/blobee9e2025 + - comp=appendblock + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_match_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_match_async.yaml new file mode 100644 index 000000000000..50aff434f6b4 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_match_async.yaml @@ -0,0 +1,1657 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 69a06ff8-cbc8-11e9-8010-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:03 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerad671f29?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC4DD0CBF8"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 69a06ff8-cbc8-11e9-8010-001a7dda7113 + x-ms-request-id: 9a8aca0c-c01e-0028-63d5-5f325c000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerad671f29 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 69b3deb6-cbc8-11e9-b7cc-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:03 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcead671f29?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC4DD9A729"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 69b3deb6-cbc8-11e9-b7cc-001a7dda7113 + x-ms-request-id: 9a8aca39-c01e-0028-08d5-5f325c000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourcead671f29 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 69c647ee-cbc8-11e9-8a17-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:04 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcead671f29/blobad671f29 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC4DEBA708"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 69c647ee-cbc8-11e9-8a17-001a7dda7113 + x-ms-request-id: 9a8aca85-c01e-0028-48d5-5f325c000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourcead671f29/blobad671f29 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 69c89080-cbc8-11e9-9d1c-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:04 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcead671f29/blobad671f29?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC4DEF784E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 69c89080-cbc8-11e9-9d1c-001a7dda7113 + x-ms-content-crc64: a6a3r7ce/rc= + x-ms-request-id: 9a8aca87-c01e-0028-4ad5-5f325c000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourcead671f29/blobad671f29 + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 69cc5fac-cbc8-11e9-ad42-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:04 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourcead671f29/blobad671f29 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC4DEF784E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 69cc5fac-cbc8-11e9-ad42-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:22:03 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 9a8aca96-c01e-0028-58d5-5f325c000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourcead671f29/blobad671f29 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 69cf4b3a-cbc8-11e9-a8e5-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:04 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerad671f29/blobad671f29 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC4DF93E1C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 69cf4b3a-cbc8-11e9-a8e5-001a7dda7113 + x-ms-request-id: 0681859e-401e-00d2-0dd5-5fd01a000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerad671f29/blobad671f29 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 69d6574c-cbc8-11e9-bf46-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourcead671f29/blobad671f29?se=2019-08-31T09%3A22%3A04Z&sp=rd&sv=2019-02-02&sr=b&sig=zxfD4keSc/7VzvE1EWZr7OSW40VY0IYcfL3KJ944kW8%3D + x-ms-date: + - Sat, 31 Aug 2019 08:22:04 GMT + x-ms-source-if-match: + - '"0x8D72DEC4DEF784E"' + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerad671f29/blobad671f29?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : johlsZDRxULAujkV3FX8XA== + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC4DFF80D1"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:04 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 69d6574c-cbc8-11e9-bf46-001a7dda7113 + x-ms-request-id: 068185ad-401e-00d2-19d5-5fd01a000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerad671f29/blobad671f29 + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 69dc806c-cbc8-11e9-848a-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:04 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerad671f29/blobad671f29 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC4DFF80D1"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:04 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 69dc806c-cbc8-11e9-848a-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:22:03 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 068185c3-401e-00d2-2cd5-5fd01a000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerad671f29/blobad671f29 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 69dfe0b8-cbc8-11e9-a9cd-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourcead671f29/blobad671f29?se=2019-08-31T09%3A22%3A04Z&sp=rd&sv=2019-02-02&sr=b&sig=zxfD4keSc/7VzvE1EWZr7OSW40VY0IYcfL3KJ944kW8%3D + x-ms-date: + - Sat, 31 Aug 2019 08:22:04 GMT + x-ms-source-if-match: + - '0x111111111111111' + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerad671f29/blobad671f29?comp=appendblock + response: + body: + string: "\uFEFF\nCannotVerifyCopySourceCould + not verify the copy source within the specified time.\nRequestId:0d8ba632-101e-0014-60d5-5f1b9b000000\nTime:2019-08-31T08:22:04.1876151Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '251' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:03 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 69dfe0b8-cbc8-11e9-a9cd-001a7dda7113 + x-ms-error-code: CannotVerifyCopySource + x-ms-request-id: 0d8ba632-101e-0014-60d5-5f1b9b000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerad671f29/blobad671f29 + - comp=appendblock + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_modified_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_modified_async.yaml new file mode 100644 index 000000000000..80cb50c150fc --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_modified_async.yaml @@ -0,0 +1,1650 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 75d71c48-cbc8-11e9-b065-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:24 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd33205d?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:23 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC5A0817D9"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 75d71c48-cbc8-11e9-b065-001a7dda7113 + x-ms-request-id: 31f98591-b01e-007f-27d5-5f9c6f000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerd33205d + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 75e9f310-cbc8-11e9-b306-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:24 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourced33205d?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:23 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC5A0FE16F"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 75e9f310-cbc8-11e9-b306-001a7dda7113 + x-ms-request-id: 31f985c5-b01e-007f-55d5-5f9c6f000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourced33205d + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 75f510e8-cbc8-11e9-b0be-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:24 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourced33205d/blobd33205d + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:23 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC5A1D65D7"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 75f510e8-cbc8-11e9-b0be-001a7dda7113 + x-ms-request-id: 31f98606-b01e-007f-0fd5-5f9c6f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourced33205d/blobd33205d + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 75fa6a00-cbc8-11e9-a78e-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:24 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourced33205d/blobd33205d?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:23 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC5A21AC58"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 75fa6a00-cbc8-11e9-a78e-001a7dda7113 + x-ms-content-crc64: W1rQZlEwKkc= + x-ms-request-id: 31f9861a-b01e-007f-22d5-5f9c6f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourced33205d/blobd33205d + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 75fefac2-cbc8-11e9-9e3e-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:24 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourced33205d/blobd33205d + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:23 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC5A21AC58"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 75fefac2-cbc8-11e9-9e3e-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:22:24 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 31f9863d-b01e-007f-3fd5-5f9c6f000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersourced33205d/blobd33205d + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 76038ca4-cbc8-11e9-bae7-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:24 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd33205d/blobd33205d + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:24 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC5A2DBC7D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 76038ca4-cbc8-11e9-bae7-001a7dda7113 + x-ms-request-id: 8f69f215-701e-0012-33d5-5f2824000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerd33205d/blobd33205d + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 760ac63a-cbc8-11e9-a323-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourced33205d/blobd33205d?se=2019-08-31T09%3A22%3A24Z&sp=rd&sv=2019-02-02&sr=b&sig=guBFNR7kMarKo2sbIO4UlsyxxJ52/WcAXX2gOqto2u8%3D + x-ms-date: + - Sat, 31 Aug 2019 08:22:24 GMT + x-ms-source-if-modified-since: + - Fri, 30 Aug 2019 17:22:24 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd33205d/blobd33205d?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : 8oIl30VFYOUY6f1SMiQrvA== + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:27 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC5C06A3E8"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:27 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 760ac63a-cbc8-11e9-a323-001a7dda7113 + x-ms-request-id: 8f69f227-701e-0012-44d5-5f2824000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerd33205d/blobd33205d + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 77fa1e80-cbc8-11e9-852c-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:27 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerd33205d/blobd33205d + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:27 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC5C06A3E8"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:27 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 77fa1e80-cbc8-11e9-852c-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:22:24 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 8f69fcd8-701e-0012-31d5-5f2824000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerd33205d/blobd33205d + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 77fda85a-cbc8-11e9-b086-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersourced33205d/blobd33205d?se=2019-08-31T09%3A22%3A24Z&sp=rd&sv=2019-02-02&sr=b&sig=guBFNR7kMarKo2sbIO4UlsyxxJ52/WcAXX2gOqto2u8%3D + x-ms-date: + - Sat, 31 Aug 2019 08:22:27 GMT + x-ms-source-if-modified-since: + - Sat, 31 Aug 2019 08:22:24 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerd33205d/blobd33205d?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:27 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 77fda85a-cbc8-11e9-b086-001a7dda7113 + x-ms-error-code: CannotVerifyCopySource + x-ms-request-id: 5cf3f276-b01e-009b-75d5-5f92f1000000 + x-ms-version: '2019-02-02' + status: + code: 304 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainerd33205d/blobd33205d + - comp=appendblock + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_none_match_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_none_match_async.yaml new file mode 100644 index 000000000000..59f8fa075b7b --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_none_match_async.yaml @@ -0,0 +1,1650 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 639452e4-cbc8-11e9-a6f5-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:53 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer4f8b2138?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC47C1C616"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 639452e4-cbc8-11e9-a6f5-001a7dda7113 + x-ms-request-id: c1b24363-701e-0060-7cd5-5f2f6b000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer4f8b2138 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 63a024a6-cbc8-11e9-ad77-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:53 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource4f8b2138?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC47C5BE6D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 63a024a6-cbc8-11e9-ad77-001a7dda7113 + x-ms-request-id: c1b2437a-701e-0060-10d5-5f2f6b000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource4f8b2138 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 63a612c6-cbc8-11e9-bfa8-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:53 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource4f8b2138/blob4f8b2138 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC47CB9A8B"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 63a612c6-cbc8-11e9-bfa8-001a7dda7113 + x-ms-request-id: c1b2439d-701e-0060-32d5-5f2f6b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource4f8b2138/blob4f8b2138 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 63a8aa34-cbc8-11e9-9f7a-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:53 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource4f8b2138/blob4f8b2138?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC47CFE11B"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 63a8aa34-cbc8-11e9-9f7a-001a7dda7113 + x-ms-content-crc64: rC702Svk/dY= + x-ms-request-id: c1b243a7-701e-0060-3bd5-5f2f6b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource4f8b2138/blob4f8b2138 + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 63acc8b4-cbc8-11e9-bd9a-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:53 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersource4f8b2138/blob4f8b2138 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC47CFE11B"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 63acc8b4-cbc8-11e9-bd9a-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:21:53 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: c1b243c2-701e-0060-54d5-5f2f6b000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource4f8b2138/blob4f8b2138 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 63afd506-cbc8-11e9-adb9-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:53 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer4f8b2138/blob4f8b2138 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC47DA916F"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 63afd506-cbc8-11e9-adb9-001a7dda7113 + x-ms-request-id: 9a8aaa09-c01e-0028-33d5-5f325c000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer4f8b2138/blob4f8b2138 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 63b7753e-cbc8-11e9-8363-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource4f8b2138/blob4f8b2138?se=2019-08-31T09%3A21%3A53Z&sp=rd&sv=2019-02-02&sr=b&sig=2gF3ZNsBmvS%2Bex1BolmiTFmjXUKlnArIRBbQ%2BFs1zP4%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:53 GMT + x-ms-source-if-none-match: + - '0x111111111111111' + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer4f8b2138/blob4f8b2138?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : vdo4r499xW4o6rW7QECMgw== + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC47DEFF12"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 63b7753e-cbc8-11e9-8363-001a7dda7113 + x-ms-request-id: 9a8aaa1c-c01e-0028-44d5-5f325c000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer4f8b2138/blob4f8b2138 + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 63bbe74c-cbc8-11e9-88db-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:21:53 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer4f8b2138/blob4f8b2138 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC47DEFF12"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 63bbe74c-cbc8-11e9-88db-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:21:53 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 9a8aaa2f-c01e-0028-54d5-5f325c000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer4f8b2138/blob4f8b2138 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 63be47b4-cbc8-11e9-b31e-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource4f8b2138/blob4f8b2138?se=2019-08-31T09%3A21%3A53Z&sp=rd&sv=2019-02-02&sr=b&sig=2gF3ZNsBmvS%2Bex1BolmiTFmjXUKlnArIRBbQ%2BFs1zP4%3D + x-ms-date: + - Sat, 31 Aug 2019 08:21:53 GMT + x-ms-source-if-none-match: + - '"0x8D72DEC47CFE11B"' + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer4f8b2138/blob4f8b2138?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:21:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 63be47b4-cbc8-11e9-b31e-001a7dda7113 + x-ms-error-code: CannotVerifyCopySource + x-ms-request-id: 03954842-301e-0095-2ad5-5fbb41000000 + x-ms-version: '2019-02-02' + status: + code: 304 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer4f8b2138/blob4f8b2138 + - comp=appendblock + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_unmodified_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_unmodified_async.yaml new file mode 100644 index 000000000000..ecaed9e26bd3 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_append_blob_async.test_append_block_from_url_with_source_if_unmodified_async.yaml @@ -0,0 +1,1657 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 70126eb6-cbc8-11e9-81d1-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:14 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer50332140?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:13 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC54424746"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 70126eb6-cbc8-11e9-81d1-001a7dda7113 + x-ms-request-id: 0681a0f7-401e-00d2-6cd5-5fd01a000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer50332140 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7020fc40-cbc8-11e9-93b8-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:14 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource50332140?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:13 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC544666B6"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7020fc40-cbc8-11e9-93b8-001a7dda7113 + x-ms-request-id: 0681a100-401e-00d2-73d5-5fd01a000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource50332140 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 70276542-cbc8-11e9-ad7a-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:14 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource50332140/blob50332140 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:13 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC544CE74F"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 70276542-cbc8-11e9-ad7a-001a7dda7113 + x-ms-request-id: 0681a129-401e-00d2-17d5-5fd01a000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource50332140/blob50332140 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '65536' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7029d46e-cbc8-11e9-9457-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:14 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource50332140/blob50332140?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:13 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC5450B88F"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 7029d46e-cbc8-11e9-9457-001a7dda7113 + x-ms-content-crc64: 8JbTPz/hqu4= + x-ms-request-id: 0681a131-401e-00d2-1fd5-5fd01a000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource50332140/blob50332140 + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 702dba06-cbc8-11e9-9cdc-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:14 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersource50332140/blob50332140 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:13 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC5450B88F"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 702dba06-cbc8-11e9-9cdc-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:22:14 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 0681a143-401e-00d2-2fd5-5fd01a000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainersource50332140/blob50332140 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 70316ac0-cbc8-11e9-96ab-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:14 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer50332140/blob50332140 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:13 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC545CC8B4"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 70316ac0-cbc8-11e9-96ab-001a7dda7113 + x-ms-request-id: c37b4331-001e-0055-03d5-5f437f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer50332140/blob50332140 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7039f1a2-cbc8-11e9-8b4b-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource50332140/blob50332140?se=2019-08-31T09%3A22%3A14Z&sp=rd&sv=2019-02-02&sr=b&sig=MaS60yv3p7cSU0X1Le8%2BzfFgOJnBtZzyGoU5vG6Qaf8%3D + x-ms-date: + - Sat, 31 Aug 2019 08:22:14 GMT + x-ms-source-if-unmodified-since: + - Sat, 31 Aug 2019 08:22:14 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer50332140/blob50332140?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : YWxOoYx6sr6CQfz1B+0thw== + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:13 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC5468FFF2"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 7039f1a2-cbc8-11e9-8b4b-001a7dda7113 + x-ms-request-id: c37b433c-001e-0055-0dd5-5f437f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer50332140/blob50332140 + - comp=appendblock + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 70465748-cbc8-11e9-92da-001a7dda7113 + x-ms-date: + - Sat, 31 Aug 2019 08:22:14 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer50332140/blob50332140 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:13 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72DEC5468FFF2"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sat, 31 Aug 2019 08:22:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 70465748-cbc8-11e9-92da-001a7dda7113 + x-ms-creation-time: Sat, 31 Aug 2019 08:22:14 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: c37b436d-001e-0055-35d5-5f437f000000 + x-ms-server-encrypted: 'true' + x-ms-tag-count: '0' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer50332140/blob50332140 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-Unmodified-Since: + - Fri, 30 Aug 2019 17:22:14 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7049b114-cbc8-11e9-b0b8-001a7dda7113 + x-ms-copy-source: + - https://emilydevtest.blob.core.windows.net/utcontainersource50332140/blob50332140?se=2019-08-31T09%3A22%3A14Z&sp=rd&sv=2019-02-02&sr=b&sig=MaS60yv3p7cSU0X1Le8%2BzfFgOJnBtZzyGoU5vG6Qaf8%3D + x-ms-date: + - Sat, 31 Aug 2019 08:22:14 GMT + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer50332140/blob50332140?comp=appendblock + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:d20c9701-101e-00e0-5ad5-5fd06d000000\nTime:2019-08-31T08:22:16.2832040Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '253' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sat, 31 Aug 2019 08:22:16 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7049b114-cbc8-11e9-b0b8-001a7dda7113 + x-ms-error-code: ConditionNotMet + x-ms-request-id: d20c9701-101e-00e0-5ad5-5fd06d000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - /utcontainer50332140/blob50332140 + - comp=appendblock + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_block_blob_sync_copy.test_put_block_from_url_and_commit.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_block_blob_sync_copy.test_put_block_from_url_and_commit.yaml index 389b6e1039b4..33a091c6921f 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_block_blob_sync_copy.test_put_block_from_url_and_commit.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_block_blob_sync_copy.test_put_block_from_url_and_commit.yaml @@ -11,404 +11,19 @@ interactions: Content-Length: - '0' User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 - x-ms-client-request-id: - - abfd137a-8eca-11e9-914d-f45c89a7d159 - x-ms-copy-source: - - https://amqptest.blob.core.windows.net/utcontainerf05f18ae/srcblobf05f18ae?se=2019-06-14T18%3A34%3A33Z&sp=r&sv=2018-03-28&sr=b&sig=zNQwGRESi6GvzyR7tcjLKQcUnP6NSlKfmZw8iguS1f4%3D - x-ms-date: - - Fri, 14 Jun 2019 17:34:33 GMT - x-ms-source-range: - - bytes=0-4095 - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://remotestoragename.blob.core.windows.net/utcontainerf05f18ae/destblobf05f18ae?blockid=MQ%3D%3D&comp=block - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - F9lONvBm6s38AkkCAqTlwA== - Date: - - Fri, 14 Jun 2019 17:34:33 GMT - Server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 35818bc6-c01e-0058-24d7-22607b000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-03-28' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 - x-ms-client-request-id: - - ac27d5ba-8eca-11e9-9330-f45c89a7d159 - x-ms-copy-source: - - https://amqptest.blob.core.windows.net/utcontainerf05f18ae/srcblobf05f18ae?se=2019-06-14T18%3A34%3A33Z&sp=r&sv=2018-03-28&sr=b&sig=zNQwGRESi6GvzyR7tcjLKQcUnP6NSlKfmZw8iguS1f4%3D - x-ms-date: - - Fri, 14 Jun 2019 17:34:33 GMT - x-ms-source-range: - - bytes=4096-8192 - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://remotestoragename.blob.core.windows.net/utcontainerf05f18ae/destblobf05f18ae?blockid=Mg%3D%3D&comp=block - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - TI2JO3EAcxK9GPuxkGh9FA== - Date: - - Fri, 14 Jun 2019 17:34:33 GMT - Server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 35818be8-c01e-0058-3fd7-22607b000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-03-28' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 - x-ms-client-request-id: - - ac310af6-8eca-11e9-aae1-f45c89a7d159 - x-ms-date: - - Fri, 14 Jun 2019 17:34:33 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://remotestoragename.blob.core.windows.net/utcontainerf05f18ae/destblobf05f18ae?blocklisttype=all&comp=blocklist - response: - body: - string: "\uFEFFMQ==4096Mg==4096" - headers: - Content-Type: - - application/xml - Date: - - Fri, 14 Jun 2019 17:34:34 GMT - Server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-request-id: - - 35818bee-c01e-0058-45d7-22607b000000 - x-ms-version: - - '2018-03-28' - status: - code: 200 - message: OK -- request: - body: ' - - MQ==Mg==' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '104' - Content-Type: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: - application/xml; charset=utf-8 - User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 - x-ms-client-request-id: - - ac3985e6-8eca-11e9-bc49-f45c89a7d159 - x-ms-date: - - Fri, 14 Jun 2019 17:34:33 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://remotestoragename.blob.core.windows.net/utcontainerf05f18ae/destblobf05f18ae?comp=blocklist - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - RwWrikcapqn3sUkVvh0Ubg== - Date: - - Fri, 14 Jun 2019 17:34:34 GMT - ETag: - - '"0x8D6F0EE90E7F570"' - Last-Modified: - - Fri, 14 Jun 2019 17:34:34 GMT - Server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 35818bff-c01e-0058-55d7-22607b000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-03-28' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 x-ms-client-request-id: - - ac42354c-8eca-11e9-b8f1-f45c89a7d159 - x-ms-date: - - Fri, 14 Jun 2019 17:34:33 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-03-28' - method: GET - uri: https://remotestoragename.blob.core.windows.net/utcontainerf05f18ae/destblobf05f18ae - response: - body: - string: !!binary | - ea9xEKDaKF8yhf0ReyWrdCpdGeuG6uKkWeJ/catXy8gHow4oOQFtJ6QImcHa0G6/KuHfz9Li6ece - HuYzU4CMYcghD0KM0wLVCNTa1cJ7Ji8tCvTpAnhSyoB1PdAZL/SubYXnfTdgwL0N6U3tU/JPjbhW - 8lsZJvwGTBmgkXoKzApEjJMrn36m03TL7Lbvw2KUzAy/9jZeaykQK7pZAvG5BZMz/fXR28cryRXX - 6a0RS4SrIo+/IfoVVTLKHVBJMW23qkpPJN1CLqLhbpX3sexWF68qgtaCkZqnS/jb7ihohhRi7XG9 - LQj2Yi9/tQc2mMwAXcwF8hIGnvAbvgdF2QAKL7pOWyHcNvOUDzVASCqUnM75r7GEGJjDLwz5LFAu - tYayw6mI14ALp18r/sKeLgzZwJf1gbHvqZxhjDeYHXS8TEiM/XXfMp625RQCcFImHfmlFm1Ws6F3 - 3TiXRyTtj4O4H1RUo2ETgaM8PnSdPAW4tSK8BYPbURBRbb+GH6y+TK4xF1NDKWuwPQ9HL9YRJPGj - EhthEal6KfKySVxv7NolUm1hUlH49BAdfwbdQ/qSyuOuP2mQvRyjPK3l+zSqVooNZqGzR3bk8WcM - Mu5TacRRllIEMuxLu01MzUWqT5UVVbjFZdIJK/GUPuPWaVspvR7xfPVuvdxHdc03H0lD394jr1YG - tJ3FdSqdOkvjYhUDr3SBdBHmxSmgboWoj4m8cYVO61F5Savqi+m/OHViRGvr3MPsxnC0nIwFuggS - i2/sgU8LvxgkVzwAKGhpcjM1mpMe6mglvvUIc+4sefp47RWBV6vSePx4Tf5cr9naC7K/jjau3zO7 - IJwwjAoLlsbYg5jVS8K9xd9s1ObURpli2UbsIVa1E2NICSOm0mKxlJVes4XXZnqKQaYNhkdJXbvm - Mo+npcwfbODGVFSZxCozzVnVbJ2qWWQavKgAKVfFtzbiaE+RZVJCWnQ5/NtqCQ2EUq7Ikr9ilAIx - oL7r+byyzXy5aWyYy45kLYaSwttFDQ8ttzsRlYFnyi6fp6k31Arhu9Tv+4Leu8iPczsGlKC/7i3S - t54YMtFH6jBsFfIObe3Ax25o+MbZMn/FTUjqYEWb7HCjSvJCw1e4k6H+8YKNR1g0odzyzkmid+Gn - Ez+krQRRWsLTUHs/3han1VhbFMWTHi9NBlKxwy+uRJTrtwALm2WfKruq1p1tDoCUdN2T21ld0soI - WgeKZLjWyy/BAybLysC7MftnO+scqfsCwS2JWM8iy676EMP64hdlnzubFBEuZBsH8WaCMO6g/l+x - 1OY15dfp/Tkiyb2p3BCKJkjP91jytHZQa6R8oM2YyqaUgJ+99HmAQ7G1+bsg43KhLDvfNIqr4/dq - +2xKyGatSjdUSU/BP/dwEHmP+ykBhkiSTNRpYi388xx/J4NcdXuimroGnm+0O9yN5s/3sL9i/oM5 - 4s+SHEKRkyicIuJk+CCGn7HZPNjP67oaS5Y7IEAyWG/PcyN2EHQVR+fX+4hTPDqCkQqZ9pXhBwI6 - qaZQLORtMGUKWDxH4VVB05HuuzlM74WTnU82c6rkVBh6nZwmzGLtTyEUv+f9vFLofbK6hhC4Pvdj - LES2V4ewiKr2fux8o8an5V+xdegT3S2+Ee4g7zGWJp6h6vfzEHNMBifTSXWftnkd8AcxbMq0mIr9 - pxwopecRqTUa0esjWIQX+He1JCwq8QkdgkRUSysIVOJ44T69lzLInGuMGF81mxOO5effUcUJjdtz - T4JbptTJIz/3KNxwnzBuSdFRWScLaerw8nQRqFwKTQD5zzjGoXr35Y4PYLo0yByOtuK+mYMgz8gl - dIjNH37csaJfNSt3jcNyFNpeLkWKCn0rPIgBi+THmJV89N9IxE12i/MWm2rpwgvGN5y6zkk+HFJe - 96ph9C08Z0IkRvAfoBBahC4TRB0le5VpZbOA82T2kxpQo99D1VQ6VwKdGT3nMFrOhj87dE5Gg85z - bVS1TAv4/nHFTjiq3NK42a+eKul3BdRhQpI2AhxyNCUMetPNWLDqFW/oOEu6WPKZ7XBSUMuTXek3 - x0z8nqEshHvlsZzRdOJrs0tliI3TPjC+zeWbVYDltYF6fhRurAUIOkmoF2U/bO/mJsfn5aEONYcT - xWx6+/rv9KnUQAtTPpqvMK8NkNa/j4Ru04KifXcSQGNRitmhcjSihissuIpgGScw0HjF4ofngxDo - O1i8iR8op5w77wjX5mlRDOmqWpOmyKZvIyQAzg4nSjMdUdlAiHZsWB/mTCR/IsJoXodWaGYznS5i - MGY7xPv9cF6gicuCnhEI0eJgqnrA8b+nGtby4M93yovIXjJCwd5/9Ww9M2Utwc0SwdNkDJ6XyGo0 - lWzndteUrR8PGYeMDG/eW2dR6GgowNiAyoMQt8zh5JOFImiCb00Zagcx6vDmBrSJkTARKo4w390Z - qgzNhlnEHibIEaeTgNLlD/HBS1BaBS43CbPTap94azXSNnxVLMy95d3mVy0ZndKnj6VVoFtRby82 - qC7F7pC6yi7m74lTofNcX/wP+/Cg9r7CPbAx+8mSMlGrl4grjJx/xYtf2uo+qE5C1viCiY8kCpKk - Dr89+PF5ZUYKdoOKxHSbF9EemfuYvQKO4hgBOHPITOTVaZ7+2yy4X9l5mw01PtOCFlwYupI33I6J - 5g/QdXlf8l+HxyEoI1c9KGmB99b85CYoaVRyDWPqW5CWquiQXI+jvV9pAy3E6PolJMouHPNSvLN7 - z0uzcRn6guDSZeZyyEKjzMeIpm/eaLZc85EgwR/KcBW7v1R0qZQ1zXpECosoRv3SuthTTTIXejzS - ZabwzmiF7ViLBcWbYmxP8eK/H+17tYRNOPL2ngVjBdB5GSpa3R04l43Gn8C6Da6GxUkY7iOsB0xe - vOeVEgNFApphHiPr8Ou5xktA2AjqePPTNbycxAIMVXKWVY4/KZWkKcDxSycolPlEZLWkHRRIdwkZ - loxK22pFEteU56x/R85TiKJ/W1DlzCKRm4oY2QYHc+vfKRiXX729j87RFHVgOcAkoVYPC6oua7RH - VLq1/XUvX1E7z8G4ozkwkPoifJAPVMIfZ8Emf8zNardg4dwWSpKhhB0rj6Wg0nCh8ROUN/LH5crR - u9hi+CXWlEXRJTY4bkaXv1ZlXRd7jKj8reeptIKrpxZWPRN4MXvO4HWMPLw7CeOuoW/rQKSruVP3 - YBtl5lmSXZ6/FNbzRtc+MdYv+8kYfm5esmPRa4MkQ4uHfX1qEEa6akavh8wzvSeCU2I8Sza2J8aX - HsOse8FpjH0zeW8id56HKOqYeQSKfta6Mz7EouAjmAYZqAmvr0NKt+7sec83RNWvb612+SlbvrZt - NzLVeMuP0IzolffPlHWMA9fA0EstD7o/bF+DBS2aGXtdOkIh5TC8EjRzCzJwoBBoP14mtM7zLPr8 - zUycjppxooVC3MfhKbke38aXS+8lKErYhJi8aUwkLYv+O2fMKx005CgbdKZVrp4cPVtrgDkuz4/g - I/amlM56nBhK4mihFGQo9HzhJnvwPSa9cIJORUuZqLv0p0gydLSpeIKQZktXR1spT7TyVdtpWPaY - EevUa5jCjoklWnofKQAWEjXPw0hZ3a/rOXRXHICCdWwCxqKeW3cJ7dbXl7yprlcyGpPJnRLBPzsN - AwU7dXYUKld2JzbBIEpRx+woaV2dBtgu2BCrO2dROfDJxuF/sjHah6Dowi/zTvjNJfkKyqnnEDss - jjxOAJOHGAetFk2jtu6fvSmcsZBwDSVW4svG1DdWVAdPH7MMdqqUsGFY5Om7MkV0cm8t7q5GqD9y - Na/WUnNdzjYS2399oY+UVnfR08OBtgcUAOi6Y8W5KbenCUqOzsVs3zUfWlRSTy6gGTbGPzjLwJPR - 8c9DgmFclXruxDYuG5vI9fiyW/nfxx5WFzK/Qyhqt75W4IzIXRBWMx3T8Pf7cNNfgbSUUpxHU4Ej - iHt/qgjk7KcDh6P+nzwq3KFUlCcW4ZNLje4RTTbWuAgCszTvZtDLSjyTt6JvTUYPbu6p3z+iRSND - DyFCZsvLrnUcsmqxKBYz3zhmG9h6UBu+KyFEVxQ7Gx4PAT3+KiHS4B1pgCc7OX6kbGe669IIk/Dm - JqD7F3Nh73PQEyx0tXyJrPXqe7udAGivMATFGA16vTF9ti4PoDGDoV8uzn8sBSPaYaXrcDTMT/5S - ToOqhbB7GQ8BHSYKY/HQR/tKeoCTbPiAxedmbIU85qCjrE0TRKQL8VEKZjKucJDh4RUbdhZwmmIh - DEa7SQnpPhygO2wkuGYWfcFppOP+5+Vo+w7EODKbLwiQY1SVPAq2/A0u5F0huQ9gQkO2O9fQNC2U - dLUDLFG6iWGi4pXgaAfkwzfnSPCyTZmMqFcw8Dmpu0YAvFl40gR30Q3ECRE8wSjj68mX5IipCCXv - H+CEQqV61ArbA9HUlKxO4/WPkCO1gfNVR4h1wr1TBtNqiR+wU8kHNuCrdZ+bQKVOcCfONBrRubNF - xP7k/iw+D+p+DvHVk9P1DJLkWu4wMdynaed1Hwz3xAXZMH6y4h69O9n9HtyzxokrijWBCLM0W5rk - vAYiCjNHsC7NyTb8JY2UfOp/Z/CDFXFi7WDt0mnTx34HXRBipNsgKPO/ZpSJtXuyuPqsbOfY2FJE - vut0cfBxwtGeDonqLCshMKfl+le8EW4mI6i9p6HNjxoaSKg948IHQoNl0SoSgSvoCooSGvd9OCa7 - TVXU3RuDqmtWAKeoS+322lOzJLI0qRyAmEJWPQshG/c/mhsTGcyPJf3mY5Te8vRw0aqQnQ6+XcmL - w+TItiCHPucnUOx/Z+x5bgaRzsDqNl7Ne5U7xW5/AZ09Z/WDZPxk8vgp9h7axPMb2T+FZHcHdxfz - YsgVWYa7taJOOl86T2Y62lP+tb/o5F4NbRQb85Jse8w1ElmhP9hk+Aq6zsfxuEj9iVRvUMLJRtcX - vG7Gj6r44SET1EnQbA0B5qqsFNeI3SUv07omGmo/wgvKaUy7xHItbc8YN/Iqz8amINAnrDwx6Gh0 - Q6f0t9jN0ccdy159mmtwQfh/06yDCYtQnQJe36cr84FCzL2kf2As/MyMIvAN0XeEkAu62d4LFo+I - z6ccGIikXuEeIlbzlNaotw62FMhOxEhHSQTJ1YPgJJqJei/AtWo3b6vXWFnEGTNZ+6h7J8rlalKk - zyg+vIQNRGY0wTYhN8HlSIYQ7HFMGPtYrRoe1BG91jroUMLckLtV8B5R3a6Zf6/30Vld0biLiSTN - xp4ioC/BpCOXDTrmdlCT7DPPX8FnxvVqyouhwoCaQppmaeZh560N7ilkL6S6zmwcbW2kMjgVtAj2 - rXe2CQdTjaZtijg5tarE2I2JEpq78NZP+3PbfSLnEDpMDEeEbvl65+Dm0hLiJfiO0LGc560+qaxQ - AgB7aglgW03aRp1YNrrLkayjs8hP5uGkLQrXmhoItI9vmI3WrCOXNq4xhj5lVF5rkOKKdSMv9EPV - vXGARCk2vYqdSgRlPM0c8m5cBCvW9/33cMW3aUDF9m79TdlLjsoYenbaV/Gc+5VUMO7Ef6UKO3In - RRrbcnMB+ci4zfoS13BmnNNv0R78DcLWcQlcfzuH3F5gDYe+guoojlI5HYgfppa0A2UDKpgGxJTd - WAcGGGwNvvOfu4d7iNJJKxC0Hc8aW+TuHqkg69wBsEnXiZXjZhe2My9ciDpVrPOaTs6OJe3gQh4J - Ssml3n5MDqMiXRzZtpgBKgpkW12Og4Zk5kb0ovAuJbtCy0AOl719kIJKXv3Ph9tO60FSBDtOtAk7 - 1L3Tpx1NyzD02/OEKaBKuSV4ZcZM2hFqyvhnSU1K8OYEGKtON6Msm8J0AeE4hDsQkpn9HdGgrRZd - 6Lx7LDPgQe+HWi6+iupsXIY6Rl2OMC8ZROFcA+CVTtyqO4vLUWjFBr1ZG967AnWhoOEdtpcCO7v+ - hzX74knO7mEcuaDydTheLryMFBfqF1TTt8vfILG3yFhnI535UOyIKkhB/qyBGhB1n/ChmTJFVm3p - PO4cCHi8eCRzI1PLD8s0HEI04j0G4hzjZJhy5k7Ia45NMNnYNWT5w/zXQSEzHu9ver/nRpSZ5mWd - QXapO3I57CgUkkMkQrkLHOyxIcwhEkFbXNnPl3QZj/iJq8cp/AGrBOrX1xOj3pluLSt/KOH8TnE1 - NhG33ibLng8LiehY05xUgvuWKQPT55+r3OqW0GWvtAN2JTaVCwzNjkjA4PWL/ttf0WFxR42IL9nV - mdaj7cWge/wuT5CHd0dtHlWI5QTlvnqQIi1kwhJusZJwViUc8I4JFiXtuUNQdmMukhFtPVfpH51D - oUD9BneLas/egzzRyrh40WowRnsHwMrKMhAmAcICN8wnPwF5XtvK9+0iUAe4n6ptdL/WTrUWp2+M - tQZXQGgb1ITEEgu+9BZPnk8Zl3icJyu9yEMkSRAi1Xs4XKJgN5s5u6XogoT+TWP9dhl320r2PGu0 - 6OL8SetEz7SuJnmkfJa+3F4pf+B9H0VytftfNibuM/B3Rwm8eOb14Jx4EU7LDNbaqQVLAeQ62E7h - QuH4yvqUSi4rpUp9vqUvT+A2oVXsL2WLGn0pe1xe+h8W3jpasbz14c9Z5Y1mVopsFbbRmZQ2eSTZ - 5MhIIseSfgr5gymAegSC3WbUyRbvm9ItqCaHeTvzA74zU9h642hMgHt6M+UEQ7/iLCVwrqXXm8V8 - CieJ35Hbnga+Qxok8pgEGi2ieqtTc7jjnHIuG5xB1OMZFuWxrUeRF2mO6l4VEG2G2+wh6BZC+ecX - ZuJLw8JV7LGCu1VepFrCys/TjjbT9LnQc/RvpnKa0fXHG/oxaP7x95asLgtcD47VbJVobdRAVi0u - 4ZHifw6plS9zlxR+XD+cNSllXJmz8IPHkUMsrrLYdpYJrWrBb3AE9/Yu5ofE1D6RzMTiCW9jhTBV - YqnNLLBkXT5w96aDjT66bMiZ2wD3Lz4DQvogJvRRHH8A2HJNTCE9ztI5r/qu5e1b1lfxFSGz6dBs - 6/KfCKfJzo5jrMj3I/xf2UzCN/Es7C8cgSONqeLBFz1yZrOAa/FYiu3+NgxHbDjG1nWBMPAJ7IHs - asx0YkEYFDyCPFFf8XylI7LZOg+11jI2ha1ZXL81FiEoPc3mgS32YWDzIirVuoDQvJajlCadwgNN - vWyigaaRLhv8zrABE0KW/F/q6kqV1U90ZiZQO8xtvQPOWdYlJlusYb6FCoWJ6nBfqCzFA3sww50c - nUPxr+EwuoQqG51hTp5y4Mma/BHxGjECt1/itCRKj6SKc0+ZUrVngarKCBEJ0JClUWKAEeMFMFbE - leoFNVX35vcuMgvWjQHMPOPGgdn3QQR+uLX+zxhpBc1qTAw3FxXpNsxpgps5XYiQ8JVnjV72fSto - l0237u97s1CknSNQCv2gzCsFGQ+IXxwidKiLRsHBGkuY2me0Q9gIHNVNLRBEPLZdnZ++HaB+Yajo - jJxxndBTuSBaEla21FkdRHzksD3Ccl/4uGFgWro/ZYO2XelQpVw25p5G4g+/Iov3jENwL6/JPdvu - lDW+cfm9+eX9CJ0FgOVEdQSLE3f94/GCAQRnMdA1d+UKRbBPc97y/jKxP+5j5kdACmNCTiH7+p2Z - FPO4x2HVXdxvrL1AIG0qrQfeYJ8qVT7KGHuo7x9HwEzscEec4Wunb7nJxEvDsQMn+i7QFBlnmViW - aRdyGnbYioGCvF+DcR5MQU/76KcvDbDVOYSDeiRuhFmkV7vZ4eF7tpIRzQ5aTwwRA5Vpmc87FvmH - rOub7PFkljuz4bkQqTDhaHukfAX9+BBLLnW+W1bbVbyLVUqqK2TlHvLiXzx/jWmiMVU96ydXBvEi - W4tdH1p8wlrd+oGhIvb0EWBKqWe2aelgMWTY2z6BT02GvEV/VRcc7D0b5FW1UzJtkPROwAasK34O - vVNjyWgERnAE2XI3PqKPsn6C6i5/04HbtJClhMnCYLogKZrXgRmNvRSJOLAxd3Dyg3J2UeAj96Tc - zOpHfmvCx0sUcbasLFZFvKCrvHQYrJZwNffk2jC/+7o/mQWN6dTKE4tXGxvkfjFHPJu2CIIHTm2Z - 9HOoxNpW07omdfKm2NLfqBvOZDzqv2Aw3F7C6ijzuNumMJ7n1YEvtuINB1B1/hJoJ4p3C2+RTPbB - ZI1aRgF/NYLOvpWSwUO3YSuoNaykW0r0vDLfpkUeao4vHYM+US6AXK6D043MmvB4iuu6F0ZZh6r2 - MNqHBZKGpB8J3JBnzCkaLKNxdvECz9AF05zu+K5DcxBz0EMhTeQZ/O9Rmbdp8uRKnBci+xDjPWKO - YJaamdzGmaFdgvXC/RPYSX2oDGwRkqXo1Ttl/i1XsIZNITrlBA+HPnPkCVCU9TX1je+q9XD1xqjn - +YjmuMym5rgSjWb8aQy9gp6OoLbmNooTuG7p7FrKfNKPhveoa26QdxHUQYpn4r3eI5rnk7bYLKJ7 - YzEUSj62Wdze5D4mwD5Jh+Lw8surkhqv+2Fok3bCDg6YHpx9emer0Z1vlxxaBeG6CZl2lH9SKG0N - V2IEgiwEsZ4bf/IsS7EwV00v/YI5jooGESZyV05iFIp2jGJrDIk1eJi1WsbdVZktBpfVgUmOstaM - 7DlmO0dEfFu0KIwunh1dsC4YSxJLYIjiq/5GOKac5oByqcTYN47X4H5qVias/ifBy6eZgcv1ZhVW - BwItjD17rLvfYDsR1N2LtafuQOwEi7hJ7ahvkbs56gP19Zm1AhC1N12fL9nDHhf+LV/aSlG8kdCA - WrUGySH0WMm25KELHYxoNm7VTRTttTyF97o60ARjDFTr0tyTLwPABE9pLXPEhQqL5p0OVhuQ5Ewj - kTfluXqXQKDpkjoKH0zNlYmpXpGuz3iztBoLkWSxD297MPbjdCPL1QOJuVK8lPTHX/AMrOIOxxuA - zcpbS0zIk0DhN2apqX/k9aalbfnrzd4QKUdb55UdaANdTA1lWANNnqAZDWxGMuhDL/FTt5J66x+Z - IclQZA39ILP8h9vgBbEQRsjHs4e0VRbdz7f4XsqDDz5Fa5fzvmRpZlj6YunVYqYOeApHwF/Ed5Yk - u5FyDvlp60ztf71rTdPKpMUIN5ldnxYwAVgSqFsqkaNhH1t57iOqcGNivR1LtcdeV0U7ysV4+o48 - nyqyKZxo1sAafX3wYK3FsL6vejwDki7tqK5BM6O44QQvk/uGEWOZtg+5fi0g6dafGV4JVK9DLQQn - P1KRppOj2LjWUoGyCj+QSx4judQc4Icxi/VCPf2P7woY4ZsGZ4cU1frbuER+EnrFLTsa6t8stK9c - akNS1SECczjOZS8pmiYXIKPRZ66nn7EemFkJxVhVlQYYHOAqe0t0bebiGBRZGfx6Q5ryztoUWgF0 - oQyV1stw/M5nFXRMSjTch+w0jjjzaFiGQ0vyCKQmNfvBkgnphwKwfaq5MLtpR99EKh0KGnMOWvGg - 668tJZYMlHCb/jUWGjh6Fcu+S/AozhkYcUGbsPW33vw9f9JX8/NiPgbe8cN/E6qlqeKNtoLPmycP - PReqp318t5irac93Gu6bVCPKH8LG+PY0tBwdXVFCO2ffKDyGxYpAEQw3wOWJ3wmom6G6qBcPooNZ - DrxY14YZT28PIRibeNHGsvXL8Zzny37DzomC+dTMQhgCq6GHVSN7Olbk8DlrUL59IxuXWcvhUBAO - wiK5g0du/G8+tCY9S8RTOGuGNNzIGZS2MZFoHI1NkxpCoDaZvmA8mRHNNw4j0CqNUTwiCZScBj77 - pxtg+Tw9ccbK3kuhL9dnuBKxQm0C7PgKrDxwDZ0n0ZpwhW3npcM33j11PShVKaRPN+OoL2CsPK17 - fvwWwWETFN9bX1RCqj8Liiecs4FsQcgetwEq4o0se/AWQkFh/Q7E7np7HenYIX41cmwkmG6u7KYj - 8oeuMXSDQiVL83JRi+EQAs9Jj4cyus+raXWGQwpn5X3eLufZT3qVxJl+uewTjObX7IQB6seHjRLj - hdj0jxARds0nedLutvfyoJVuYhYdobBRnGlf5jdHqGLkbWEriNiwu7fMZ84+IvsQPOtLrHuB3siG - ADGV4QjS34lC9MWQPjaPQjarFTwMP91d6z5+xu52TzLvsNkFkHvW5C2LrAFlJ2O2qysaXAj0mq9m - 6kB77H3LXvDHgbqGG7WddhWUKslU67Hl8Bf0bdKJ0UGSHHw2NHnVbEgbi0yV8JYDT+45oS5ejHOu - O4bBkWcZoe+rO+97jsrg2YWYtMHguF+WLMYtqQjy3eL2AwHoZHFZ2z4dn6qYj/TCPDUQrgYcGUHz - MwuMs6idqBDyIUmf/Iq145swHSD0yKNhmxo1yRPdtezx0pS7RR7MtFfiEGo3LQO39sLqvhYsqbGl - h0dRXYUloR2VVcbdnK7OEAROggT4HCJyYaNT4ncnbk2XFB6n4GpKtPgTqNVgH8f7Q2ngxQTDnr+3 - aLvxCbCnBrhtFyU8L8GE9l0oNqEeZ62N5FhsoSjrKNumHUy6GAPB45P4YjUxgzBau1+XBKZ9Pk9E - y7pmEzQpN6yhB9Pr11bnXMbJlyXjBjFQAoIKbQRhoDgFELV27ubvMNDML2+wSLWj4rBUdbPurSq/ - +BZAzPqN3EaIsmIOBQCWhWvaFWOknwWjzscvkV02BCP7iMKLHtyiButwqBsMOpW2VEhL6d/FdwFj - xFQ/mxUJ7EGz38axMtG74wOGAi630xbdldlxWrwYc3jEqyl5rAJEQt5YxmMWuzIVA/DUVlpqaoY2 - LqGSu8A2zHfVuyWmzdkdydP++OETzWSTOvjXQpBGRMbmmPZbPrJCec6zqlN1PyRjt1Odrs6CzZt8 - BCTeb6gifMc6obGOZh9pSP3J1CwL4hpKLPmZjQoiYql2Q8sr/EnUWlgum2RfXeoz77+QvZwP1mxi - ck6QlQw3p25Ymrdk0EAvnsiovHxyuilNBKwtF4RZWm5WScVGYiEP69A= - headers: - Accept-Ranges: - - bytes - Content-Length: - - '8192' - Content-Range: - - bytes 0-8191/8192 - Content-Type: - - application/octet-stream - Date: - - Fri, 14 Jun 2019 17:34:34 GMT - ETag: - - '"0x8D6F0EE90E7F570"' - Last-Modified: - - Fri, 14 Jun 2019 17:34:34 GMT - Server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-blob-type: - - BlockBlob - x-ms-creation-time: - - Fri, 14 Jun 2019 17:34:34 GMT - x-ms-lease-state: - - available - x-ms-lease-status: - - unlocked - x-ms-request-id: - - 35818c07-c01e-0058-5dd7-22607b000000 - x-ms-server-encrypted: - - 'true' - x-ms-version: - - '2018-03-28' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 - x-ms-client-request-id: - - 6cfd2df4-8ed3-11e9-8a39-f45c89a7d159 + - 167754a6-d291-11e9-b021-001a7dda7113 x-ms-copy-source: - - https://amqptest.blob.core.windows.net/utcontainerf05f18ae/srcblobf05f18ae?se=2019-06-14T19%3A37%3A12Z&sp=r&sv=2018-03-28&sr=b&sig=taJqpQ5g%2BQb8o02XEQ%2B7R4v32Ic4NueMwqYLvldwn88%3D + - https://emilystageaccount.blob.core.windows.net/utcontainerf05f18ae/srcblobf05f18ae?se=2019-09-09T00%3A33%3A39Z&sp=r&sv=2019-02-02&sr=b&sig=ZssiXHHxaeruhQ2eTj//Kd42ckp8nHANiNJGW%2BHHZF0%3D x-ms-date: - - Fri, 14 Jun 2019 18:37:12 GMT + - Sun, 08 Sep 2019 23:33:40 GMT x-ms-source-range: - bytes=0-4095 x-ms-version: - - '2018-03-28' + - '2019-02-02' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerf05f18ae/destblobf05f18ae?blockid=MQ%3D%3D&comp=block response: @@ -417,18 +32,20 @@ interactions: headers: Content-Length: - '0' - Content-MD5: - - F9lONvBm6s38AkkCAqTlwA== Date: - - Fri, 14 Jun 2019 18:37:12 GMT + - Sun, 08 Sep 2019 23:33:39 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 167754a6-d291-11e9-b021-001a7dda7113 + x-ms-content-crc64: + - KAUX/I4NuNA= x-ms-request-id: - - 7b7823fc-f01e-0050-21e0-227b08000000 + - f53744c5-201e-0011-049d-66088f000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-03-28' + - '2019-02-02' status: code: 201 message: Created @@ -444,17 +61,19 @@ interactions: Content-Length: - '0' User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 x-ms-client-request-id: - - 6d470648-8ed3-11e9-8887-f45c89a7d159 + - 16de76d4-d291-11e9-a518-001a7dda7113 x-ms-copy-source: - - https://amqptest.blob.core.windows.net/utcontainerf05f18ae/srcblobf05f18ae?se=2019-06-14T19%3A37%3A12Z&sp=r&sv=2018-03-28&sr=b&sig=taJqpQ5g%2BQb8o02XEQ%2B7R4v32Ic4NueMwqYLvldwn88%3D + - https://emilystageaccount.blob.core.windows.net/utcontainerf05f18ae/srcblobf05f18ae?se=2019-09-09T00%3A33%3A39Z&sp=r&sv=2019-02-02&sr=b&sig=ZssiXHHxaeruhQ2eTj//Kd42ckp8nHANiNJGW%2BHHZF0%3D x-ms-date: - - Fri, 14 Jun 2019 18:37:13 GMT + - Sun, 08 Sep 2019 23:33:40 GMT x-ms-source-range: - bytes=4096-8192 x-ms-version: - - '2018-03-28' + - '2019-02-02' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerf05f18ae/destblobf05f18ae?blockid=Mg%3D%3D&comp=block response: @@ -463,18 +82,20 @@ interactions: headers: Content-Length: - '0' - Content-MD5: - - TI2JO3EAcxK9GPuxkGh9FA== Date: - - Fri, 14 Jun 2019 18:37:12 GMT + - Sun, 08 Sep 2019 23:33:39 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 16de76d4-d291-11e9-a518-001a7dda7113 + x-ms-content-crc64: + - n0zSdxIFLKc= x-ms-request-id: - - 7b78245f-f01e-0050-7ee0-227b08000000 + - f53744e4-201e-0011-209d-66088f000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-03-28' + - '2019-02-02' status: code: 201 message: Created @@ -488,34 +109,36 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 x-ms-client-request-id: - - 6d5635be-8ed3-11e9-8261-f45c89a7d159 + - 16fe37e4-d291-11e9-a9b1-001a7dda7113 x-ms-date: - - Fri, 14 Jun 2019 18:37:13 GMT + - Sun, 08 Sep 2019 23:33:40 GMT x-ms-version: - - '2018-03-28' + - '2019-02-02' method: GET uri: https://storagename.blob.core.windows.net/utcontainerf05f18ae/destblobf05f18ae?blocklisttype=all&comp=blocklist response: body: - string: "\uFEFFMQ==4096Mg==4096" + string: "\uFEFFMQ==4096Mg==4096" headers: Content-Type: - application/xml Date: - - Fri, 14 Jun 2019 18:37:12 GMT + - Sun, 08 Sep 2019 23:33:40 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin + x-ms-client-request-id: + - 16fe37e4-d291-11e9-a9b1-001a7dda7113 x-ms-request-id: - - 7b78247b-f01e-0050-1ae0-227b08000000 + - f53744e9-201e-0011-259d-66088f000000 x-ms-version: - - '2018-03-28' + - '2019-02-02' status: code: 200 message: OK @@ -535,13 +158,13 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 6d695824-8ed3-11e9-935e-f45c89a7d159 + - 1714e28c-d291-11e9-a08b-001a7dda7113 x-ms-date: - - Fri, 14 Jun 2019 18:37:13 GMT + - Sun, 08 Sep 2019 23:33:41 GMT x-ms-version: - - '2018-03-28' + - '2019-02-02' method: PUT uri: https://storagename.blob.core.windows.net/utcontainerf05f18ae/destblobf05f18ae?comp=blocklist response: @@ -550,22 +173,24 @@ interactions: headers: Content-Length: - '0' - Content-MD5: - - RwWrikcapqn3sUkVvh0Ubg== Date: - - Fri, 14 Jun 2019 18:37:12 GMT + - Sun, 08 Sep 2019 23:33:40 GMT ETag: - - '"0x8D6F0F751A2B86E"' + - '"0x8D734B4FB51C1ED"' Last-Modified: - - Fri, 14 Jun 2019 18:37:13 GMT + - Sun, 08 Sep 2019 23:33:41 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 1714e28c-d291-11e9-a08b-001a7dda7113 + x-ms-content-crc64: + - jBoHqXt/R3g= x-ms-request-id: - - 7b7824a3-f01e-0050-40e0-227b08000000 + - f53744f2-201e-0011-2e9d-66088f000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-03-28' + - '2019-02-02' status: code: 201 message: Created @@ -579,15 +204,17 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 x-ms-client-request-id: - - 6d72597e-8ed3-11e9-80f3-f45c89a7d159 + - 17294d00-d291-11e9-b3cb-001a7dda7113 x-ms-date: - - Fri, 14 Jun 2019 18:37:13 GMT + - Sun, 08 Sep 2019 23:33:41 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-03-28' + - '2019-02-02' method: GET uri: https://storagename.blob.core.windows.net/utcontainerf05f18ae/destblobf05f18ae response: @@ -747,29 +374,29 @@ interactions: Content-Type: - application/octet-stream Date: - - Fri, 14 Jun 2019 18:37:12 GMT + - Sun, 08 Sep 2019 23:33:40 GMT ETag: - - '"0x8D6F0F751A2B86E"' + - '"0x8D734B4FB51C1ED"' Last-Modified: - - Fri, 14 Jun 2019 18:37:13 GMT + - Sun, 08 Sep 2019 23:33:41 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin x-ms-blob-type: - BlockBlob + x-ms-client-request-id: + - 17294d00-d291-11e9-b3cb-001a7dda7113 x-ms-creation-time: - - Fri, 14 Jun 2019 18:37:13 GMT + - Sun, 08 Sep 2019 23:33:41 GMT x-ms-lease-state: - available x-ms-lease-status: - unlocked x-ms-request-id: - - 7b7824ba-f01e-0050-57e0-227b08000000 + - f5374503-201e-0011-3b9d-66088f000000 x-ms-server-encrypted: - 'true' x-ms-version: - - '2018-03-28' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_get_user_delegation_key.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_get_user_delegation_key.yaml new file mode 100644 index 000000000000..74da6748ca62 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob.test_get_user_delegation_key.yaml @@ -0,0 +1,145 @@ +interactions: +- request: + body: client_id=68390a19-a897-236b-b453-488abf67b4fc&client_secret=3Usxz7pzkOeE7flc6Z187ubs5%2FcJnszGPjAiXmcwhaY%3D&grant_type=client_credentials&scope=https%3A%2F%2Fstorage.azure.com%2F.default + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '188' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - python-requests/2.22.0 + method: POST + uri: https://login.microsoftonline.com/32f988bf-54f1-15af-36ab-2d7cd364db47/oauth2/v2.0/token + response: + body: + string: '{"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImllX3FXQ1hoWHh0MXpJRXN1NGM3YWNRVkduNCIsImtpZCI6ImllX3FXQ1hoWHh0MXpJRXN1NGM3YWNRVkduNCJ9.eyJhdWQiOiJodHRwczovL3N0b3JhZ2UuYXp1cmUuY29tIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3LyIsImlhdCI6MTU2ODAxMzI3MSwibmJmIjoxNTY4MDEzMjcxLCJleHAiOjE1NjgwMTcxNzEsImFpbyI6IjQyRmdZRWllNE9INFQ0YkZrR3RoaExHT2hma1pBQT09IiwiYXBwaWQiOiI2ODM5MGExOS1hNjQzLTQ1OGItYjcyNi00MDhhYmY2N2I0ZmMiLCJhcHBpZGFjciI6IjEiLCJpZHAiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwib2lkIjoiYzRmNDgyODktYmI4NC00MDg2LWIyNTAtNmY5NGE4ZjY0Y2VlIiwic3ViIjoiYzRmNDgyODktYmI4NC00MDg2LWIyNTAtNmY5NGE4ZjY0Y2VlIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidXRpIjoiRkpWQVQxM2NYVXFLeFhlc0tUMHNBQSIsInZlciI6IjEuMCJ9.tk74OnnuvrPtFFWZe_v1H6GpGK5hU4n76EoIybK2O_Za8ddlQbBtgeMqNzifX6qlh8bce4RYOSggFNapknf01h9Z53UkdJXusB8IcIoPXv9t3NH-zkrSabU0VpWLh24cas9u5HT-re0YZy4b2T9czKCheU2ltyU3y2VwsFh1OAmaUUJaDUw0OSdQGRcOu2rS5LQAgAQu0UcQZG2bT_IoAeIGCnIIyOG25gaO7mt4_oHqU61b6q9AH72i7shblF1JBQp6eMmTkZe_Y1GnScOACUTh3R82nSQ-AKC2JrXXGCELl9L_bUmbxOVBwJ9F-La4d26axn6NcmFnMzaiGO1tyw"}' + headers: + Cache-Control: + - no-cache, no-store + Content-Length: + - '1233' + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 09 Sep 2019 07:19:30 GMT + Expires: + - '-1' + P3P: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + Pragma: + - no-cache + Set-Cookie: + - fpc=Arv4rF3oXGJOuCYLHWg4UbzeSEc1AQAAAAL0B9UOAAAA; expires=Wed, 09-Oct-2019 + 07:19:31 GMT; path=/; secure; HttpOnly + - x-ms-gateway-slice=estsfd; path=/; secure; HttpOnly + - stsservicecookie=estsfd; path=/; secure; HttpOnly + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + x-ms-ests-server: + - 2.1.9368.5 - WUS ProdSlices + x-ms-request-id: + - 4f409514-dc5d-4a5d-8ac5-77ac293d2c00 + status: + code: 200 + message: OK +- request: + body: ' + + 2019-09-09T07:19:30Z2019-09-09T08:19:30Z' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '130' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 2a824312-d2d2-11e9-8739-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 07:19:30 GMT + x-ms-version: + - '2019-02-02' + method: POST + uri: https://oauthstoragename.blob.core.windows.net/?restype=service&comp=userdelegationkey + response: + body: + string: "\uFEFFc4f48289-bb84-4086-b250-6f94a8f64cee32f988bf-54f1-15af-36ab-2d7cd364db472019-09-09T07:19:30Z2019-09-09T08:19:30Zb2019-02-021CVF1CqD5X/XQy7xviJADxqwoA9X1Sh/pQWYA6//6Pc=" + headers: + Content-Type: + - application/xml + Date: + - Mon, 09 Sep 2019 07:19:30 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Transfer-Encoding: + - chunked + x-ms-client-request-id: + - 2a824312-d2d2-11e9-8739-001a7dda7113 + x-ms-request-id: + - e2241bda-c01e-0028-5ade-66325c000000 + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: ' + + 2019-09-09T07:19:30Z2019-09-09T08:19:30Z' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '130' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 2af3d72e-d2d2-11e9-8331-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 07:19:31 GMT + x-ms-version: + - '2019-02-02' + method: POST + uri: https://oauthstoragename.blob.core.windows.net/?restype=service&comp=userdelegationkey + response: + body: + string: "\uFEFFc4f48289-bb84-4086-b250-6f94a8f64cee32f988bf-54f1-15af-36ab-2d7cd364db472019-09-09T07:19:30Z2019-09-09T08:19:30Zb2019-02-021CVF1CqD5X/XQy7xviJADxqwoA9X1Sh/pQWYA6//6Pc=" + headers: + Content-Type: + - application/xml + Date: + - Mon, 09 Sep 2019 07:19:30 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Transfer-Encoding: + - chunked + x-ms-client-request-id: + - 2af3d72e-d2d2-11e9-8331-001a7dda7113 + x-ms-request-id: + - e2241c96-c01e-0028-01de-66325c000000 + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_get_user_delegation_key_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_get_user_delegation_key_async.yaml new file mode 100644 index 000000000000..a9e13a93866c --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_common_blob_async.test_get_user_delegation_key_async.yaml @@ -0,0 +1,155 @@ +interactions: +- request: + body: client_id=68390a19-a897-236b-b453-488abf67b4fc&client_secret=3Usxz7pzkOeE7flc6Z187ubs5%2FcJnszGPjAiXmcwhaY%3D&grant_type=client_credentials&scope=https%3A%2F%2Fstorage.azure.com%2F.default + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '188' + Content-Type: + - application/x-www-form-urlencoded + User-Agent: + - python-requests/2.22.0 + method: POST + uri: https://login.microsoftonline.com/32f988bf-54f1-15af-36ab-2d7cd364db47/oauth2/v2.0/token + response: + body: + string: '{"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImllX3FXQ1hoWHh0MXpJRXN1NGM3YWNRVkduNCIsImtpZCI6ImllX3FXQ1hoWHh0MXpJRXN1NGM3YWNRVkduNCJ9.eyJhdWQiOiJodHRwczovL3N0b3JhZ2UuYXp1cmUuY29tIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3LyIsImlhdCI6MTU2ODAxNDM5OSwibmJmIjoxNTY4MDE0Mzk5LCJleHAiOjE1NjgwMTgyOTksImFpbyI6IjQyRmdZQkE2SWkzVnYrL3dyUzMrMHcrMEZDMmVDQUE9IiwiYXBwaWQiOiI2ODM5MGExOS1hNjQzLTQ1OGItYjcyNi00MDhhYmY2N2I0ZmMiLCJhcHBpZGFjciI6IjEiLCJpZHAiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwib2lkIjoiYzRmNDgyODktYmI4NC00MDg2LWIyNTAtNmY5NGE4ZjY0Y2VlIiwic3ViIjoiYzRmNDgyODktYmI4NC00MDg2LWIyNTAtNmY5NGE4ZjY0Y2VlIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidXRpIjoiUHMyLS1ZQjQ2MHluYUJ5S1ZDTXRBQSIsInZlciI6IjEuMCJ9.d3JgzJ664_Xmbbe7aWRDfUuw4g2W7MtKbCcOFAMko-gN5qXcmSNyAiOGHSUrvuORtEPOLye3CZuBmYw6hczqhl-9dF760mRxLyZjOjqE78YTJkudwU5iV69nr9VIAIMOk5Lh7N3sgUdWrSsz-ZUT8665da1pN3bpsl8zEHf9ZBM1qFia4J9OLtGQRb_Th2jJpm_LbMKdnMJ45cgoYxZeKcofo43we-BHSU5T-Jt4O8i6nalMSelp5ZuLI7KL308sm81iUyrrK3PCGGhGVdNIg5B4cOdMmq3B10m-Kk2gZfoPj2cJrsUkhY005mimBh7aa05B1BIwooRzxCE7t0ne_Q"}' + headers: + Cache-Control: + - no-cache, no-store + Content-Length: + - '1233' + Content-Type: + - application/json; charset=utf-8 + Date: + - Mon, 09 Sep 2019 07:38:19 GMT + Expires: + - '-1' + P3P: + - CP="DSP CUR OTPi IND OTRi ONL FIN" + Pragma: + - no-cache + Set-Cookie: + - fpc=AiNGuczA96ZBt-KrKg4lYNneSEc1AQAAAGv4B9UOAAAA; expires=Wed, 09-Oct-2019 + 07:38:19 GMT; path=/; secure; HttpOnly + - x-ms-gateway-slice=estsfd; path=/; secure; HttpOnly + - stsservicecookie=estsfd; path=/; secure; HttpOnly + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Content-Type-Options: + - nosniff + x-ms-ests-server: + - 2.1.9368.5 - WUS ProdSlices + x-ms-request-id: + - f9becd3e-7880-4ceb-a768-1c8a54232d00 + status: + code: 200 + message: OK +- request: + body: ' + + 2019-09-09T07:38:19Z2019-09-09T08:38:19Z' + headers: + Accept: + - application/xml + Content-Length: + - '130' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - cb271d62-d2d4-11e9-bda0-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 07:38:19 GMT + x-ms-version: + - '2019-02-02' + method: POST + uri: https://oauthstoragename.blob.core.windows.net/?restype=service&comp=userdelegationkey + response: + body: + string: "\uFEFFc4f48289-bb84-4086-b250-6f94a8f64cee32f988bf-54f1-15af-36ab-2d7cd364db472019-09-09T07:38:19Z2019-09-09T08:38:19Zb2019-02-02kFFrkuiikpAqQywiYShReWmx/tyTvEh8yl8fhjZoH7Q=" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Mon, 09 Sep 2019 07:38:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Transfer-Encoding + : chunked + x-ms-client-request-id: cb271d62-d2d4-11e9-bda0-001a7dda7113 + x-ms-request-id: f99f7a82-d01e-00b2-4be1-66ac85000000 + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - / + - restype=service&comp=userdelegationkey + - '' +- request: + body: ' + + 2019-09-09T07:38:19Z2019-09-09T08:38:19Z' + headers: + Accept: + - application/xml + Content-Length: + - '130' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - cb88c8d2-d2d4-11e9-b99d-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 07:38:20 GMT + x-ms-version: + - '2019-02-02' + method: POST + uri: https://oauthstoragename.blob.core.windows.net/?restype=service&comp=userdelegationkey + response: + body: + string: "\uFEFFc4f48289-bb84-4086-b250-6f94a8f64cee32f988bf-54f1-15af-36ab-2d7cd364db472019-09-09T07:38:19Z2019-09-09T08:38:19Zb2019-02-02kFFrkuiikpAqQywiYShReWmx/tyTvEh8yl8fhjZoH7Q=" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Mon, 09 Sep 2019 07:38:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Transfer-Encoding + : chunked + x-ms-client-request-id: cb88c8d2-d2d4-11e9-b99d-001a7dda7113 + x-ms-request-id: f99f7af3-d01e-00b2-36e1-66ac85000000 + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.blob.core.windows.net + - / + - restype=service&comp=userdelegationkey + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_set_container_acl_with_empty_identifiers.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_set_container_acl_with_empty_identifiers.yaml new file mode 100644 index 000000000000..d97173097663 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_set_container_acl_with_empty_identifiers.yaml @@ -0,0 +1,144 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.4 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8c1085a2-bef4-11e9-bcad-b831b5891408 + x-ms-date: + - Thu, 15 Aug 2019 00:35:14 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/containerf22818cb?restype=container + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Thu, 15 Aug 2019 00:35:15 GMT + ETag: + - '"0x8D721187110842F"' + Last-Modified: + - Thu, 15 Aug 2019 00:35:15 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8c1085a2-bef4-11e9-bcad-b831b5891408 + x-ms-request-id: + - 098af1ee-a01e-002e-7101-53e4c7000000 + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: ' + + 01' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '172' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.4 (Windows-10-10.0.17763-SP0) + x-ms-client-request-id: + - 8cf0245e-bef4-11e9-ae3c-b831b5891408 + x-ms-date: + - Thu, 15 Aug 2019 00:35:15 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/containerf22818cb?restype=container&comp=acl + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Thu, 15 Aug 2019 00:35:15 GMT + ETag: + - '"0x8D72118713EA993"' + Last-Modified: + - Thu, 15 Aug 2019 00:35:15 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8cf0245e-bef4-11e9-ae3c-b831b5891408 + x-ms-request-id: + - 098af281-a01e-002e-7801-53e4c7000000 + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.4 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8d2c88be-bef4-11e9-9b0a-b831b5891408 + x-ms-date: + - Thu, 15 Aug 2019 00:35:16 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/containerf22818cb?restype=container&comp=acl + response: + body: + string: "\uFEFF01" + headers: + Content-Type: + - application/xml + Date: + - Thu, 15 Aug 2019 00:35:16 GMT + ETag: + - '"0x8D72118713EA993"' + Last-Modified: + - Thu, 15 Aug 2019 00:35:15 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Transfer-Encoding: + - chunked + Vary: + - Origin + x-ms-client-request-id: + - 8d2c88be-bef4-11e9-9b0a-b831b5891408 + x-ms-request-id: + - 098af300-a01e-002e-6d01-53e4c7000000 + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_set_container_acl_with_three_identifiers.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_set_container_acl_with_three_identifiers.yaml index d707e4773876..7de50e917603 100644 --- a/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_set_container_acl_with_three_identifiers.yaml +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_container.test_set_container_acl_with_three_identifiers.yaml @@ -11,145 +11,15 @@ interactions: Content-Length: - '0' User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 - x-ms-client-request-id: - - d667fc70-8ecb-11e9-81e3-f45c89a7d159 - x-ms-date: - - Fri, 14 Jun 2019 17:42:53 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://remotestoragename.blob.core.windows.net/containerf11f18b4?restype=container - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Fri, 14 Jun 2019 17:42:54 GMT - ETag: - - '"0x8D6F0EFBB38033B"' - Last-Modified: - - Fri, 14 Jun 2019 17:42:54 GMT - Server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d82f9229-301e-006f-3ed8-22ccd4000000 - x-ms-version: - - '2018-03-28' - status: - code: 201 - message: Created -- request: - body: ' - - 012' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '219' - Content-Type: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.4 (Windows-10-10.0.17763-SP0) + content-type: - application/xml; charset=utf-8 - User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 x-ms-client-request-id: - - d692c8d8-8ecb-11e9-8f56-f45c89a7d159 + - 342854f6-bef5-11e9-92b9-b831b5891408 x-ms-date: - - Fri, 14 Jun 2019 17:42:54 GMT + - Thu, 15 Aug 2019 00:39:56 GMT x-ms-version: - - '2018-03-28' - method: PUT - uri: https://remotestoragename.blob.core.windows.net/containerf11f18b4?restype=container&comp=acl - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Fri, 14 Jun 2019 17:42:54 GMT - ETag: - - '"0x8D6F0EFBB42221A"' - Last-Modified: - - Fri, 14 Jun 2019 17:42:54 GMT - Server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d82f9236-301e-006f-49d8-22ccd4000000 - x-ms-version: - - '2018-03-28' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 - x-ms-client-request-id: - - d69c89f4-8ecb-11e9-924b-f45c89a7d159 - x-ms-date: - - Fri, 14 Jun 2019 17:42:54 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://remotestoragename.blob.core.windows.net/containerf11f18b4?restype=container&comp=acl - response: - body: - string: "\uFEFF012" - headers: - Content-Type: - - application/xml - Date: - - Fri, 14 Jun 2019 17:42:54 GMT - ETag: - - '"0x8D6F0EFBB42221A"' - Last-Modified: - - Fri, 14 Jun 2019 17:42:54 GMT - Server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-request-id: - - d82f9242-301e-006f-53d8-22ccd4000000 - x-ms-version: - - '2018-03-28' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 - x-ms-client-request-id: - - 26d6b258-8ed5-11e9-aa80-f45c89a7d159 - x-ms-date: - - Fri, 14 Jun 2019 18:49:34 GMT - x-ms-version: - - '2018-03-28' + - '2019-02-02' method: PUT uri: https://storagename.blob.core.windows.net/containerf11f18b4?restype=container response: @@ -159,24 +29,26 @@ interactions: Content-Length: - '0' Date: - - Fri, 14 Jun 2019 18:49:33 GMT + - Thu, 15 Aug 2019 00:39:58 GMT ETag: - - '"0x8D6F0F90B2AFDD4"' + - '"0x8D7211919E2A6A6"' Last-Modified: - - Fri, 14 Jun 2019 18:49:34 GMT + - Thu, 15 Aug 2019 00:39:58 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 342854f6-bef5-11e9-92b9-b831b5891408 x-ms-request-id: - - 1f682f4c-701e-0086-47e1-2230d2000000 + - b19b4d01-801e-00b1-7f01-539c7d000000 x-ms-version: - - '2018-03-28' + - '2019-02-02' status: code: 201 message: Created - request: body: ' - 012' + 02019-08-15T00:38:58Z2019-08-15T01:39:58Zr12019-08-15T00:38:58Z2019-08-15T01:39:58Zr22019-08-15T00:38:58Z2019-08-15T01:39:58Zr' headers: Accept: - '*/*' @@ -185,17 +57,17 @@ interactions: Connection: - keep-alive Content-Length: - - '219' + - '600' Content-Type: - application/xml; charset=utf-8 User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.4 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - 26fae306-8ed5-11e9-9fb9-f45c89a7d159 + - 35c69968-bef5-11e9-b84c-b831b5891408 x-ms-date: - - Fri, 14 Jun 2019 18:49:34 GMT + - Thu, 15 Aug 2019 00:39:58 GMT x-ms-version: - - '2018-03-28' + - '2019-02-02' method: PUT uri: https://storagename.blob.core.windows.net/containerf11f18b4?restype=container&comp=acl response: @@ -205,61 +77,19 @@ interactions: Content-Length: - '0' Date: - - Fri, 14 Jun 2019 18:49:33 GMT + - Thu, 15 Aug 2019 00:39:58 GMT ETag: - - '"0x8D6F0F90B33AAFC"' + - '"0x8D721191A1A1E9B"' Last-Modified: - - Fri, 14 Jun 2019 18:49:34 GMT + - Thu, 15 Aug 2019 00:39:59 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 1f682f6c-701e-0086-61e1-2230d2000000 - x-ms-version: - - '2018-03-28' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 x-ms-client-request-id: - - 27034898-8ed5-11e9-b352-f45c89a7d159 - x-ms-date: - - Fri, 14 Jun 2019 18:49:34 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.blob.core.windows.net/containerf11f18b4?restype=container&comp=acl - response: - body: - string: "\uFEFF012" - headers: - Content-Type: - - application/xml - Date: - - Fri, 14 Jun 2019 18:49:33 GMT - ETag: - - '"0x8D6F0F90B33AAFC"' - Last-Modified: - - Fri, 14 Jun 2019 18:49:34 GMT - Server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin + - 35c69968-bef5-11e9-b84c-b831b5891408 x-ms-request-id: - - 1f682f84-701e-0086-79e1-2230d2000000 + - b19b4d76-801e-00b1-6901-539c7d000000 x-ms-version: - - '2018-03-28' + - '2019-02-02' status: code: 200 message: OK @@ -267,131 +97,47 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml, application/octet-stream, text/plain Accept-Encoding: - gzip, deflate Connection: - keep-alive - Content-Length: - - '0' User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 - x-ms-client-request-id: - - 2a71f308-8eda-11e9-a00d-f45c89a7d159 - x-ms-date: - - Fri, 14 Jun 2019 19:25:27 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.blob.core.windows.net/containerf11f18b4?restype=container - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Fri, 14 Jun 2019 19:25:27 GMT - ETag: - - '"0x8D6F0FE0EC09509"' - Last-Modified: - - Fri, 14 Jun 2019 19:25:27 GMT - Server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ab508138-d01e-0065-3de6-22d55d000000 - x-ms-version: - - '2018-03-28' - status: - code: 201 - message: Created -- request: - body: ' - - 012' - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '219' - Content-Type: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.4 (Windows-10-10.0.17763-SP0) + content-type: - application/xml; charset=utf-8 - User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 - x-ms-client-request-id: - - 2a907e36-8eda-11e9-9161-f45c89a7d159 - x-ms-date: - - Fri, 14 Jun 2019 19:25:27 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.blob.core.windows.net/containerf11f18b4?restype=container&comp=acl - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Fri, 14 Jun 2019 19:25:27 GMT - ETag: - - '"0x8D6F0FE0EC944E2"' - Last-Modified: - - Fri, 14 Jun 2019 19:25:27 GMT - Server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ab508144-d01e-0065-47e6-22d55d000000 - x-ms-version: - - '2018-03-28' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python/3.6.5 (Darwin-16.7.0-x86_64-i386-64bit) azure-core/0.0.1 x-ms-client-request-id: - - 2a990bfa-8eda-11e9-b55a-f45c89a7d159 + - 3601e546-bef5-11e9-ad64-b831b5891408 x-ms-date: - - Fri, 14 Jun 2019 19:25:28 GMT + - Thu, 15 Aug 2019 00:39:59 GMT x-ms-version: - - '2018-03-28' + - '2019-02-02' method: GET uri: https://storagename.blob.core.windows.net/containerf11f18b4?restype=container&comp=acl response: body: - string: "\uFEFF012" + string: "\uFEFF02019-08-15T00:38:58.0000000Z2019-08-15T01:39:58.0000000Zr12019-08-15T00:38:58.0000000Z2019-08-15T01:39:58.0000000Zr22019-08-15T00:38:58.0000000Z2019-08-15T01:39:58.0000000Zr" headers: Content-Type: - application/xml Date: - - Fri, 14 Jun 2019 19:25:27 GMT + - Thu, 15 Aug 2019 00:39:59 GMT ETag: - - '"0x8D6F0FE0EC944E2"' + - '"0x8D721191A1A1E9B"' Last-Modified: - - Fri, 14 Jun 2019 19:25:27 GMT + - Thu, 15 Aug 2019 00:39:59 GMT Server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked Vary: - Origin + x-ms-client-request-id: + - 3601e546-bef5-11e9-ad64-b831b5891408 x-ms-request-id: - - ab50815b-d01e-0065-5be6-22d55d000000 + - b19b4ddb-801e-00b1-4901-539c7d000000 x-ms-version: - - '2018-03-28' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_set_container_acl_with_empty_identifiers.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_set_container_acl_with_empty_identifiers.yaml new file mode 100644 index 000000000000..d2eb61b9b833 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_container_async.test_set_container_acl_with_empty_identifiers.yaml @@ -0,0 +1,158 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.4 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8e090840-bef4-11e9-8005-b831b5891408 + x-ms-date: + - Thu, 15 Aug 2019 00:35:17 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/container90941b48?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 15 Aug 2019 00:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7211872F0BB29"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 15 Aug 2019 00:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8e090840-bef4-11e9-8005-b831b5891408 + x-ms-request-id: 3c48e8d0-801e-007d-4601-53f8c8000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - amqptest.blob.core.windows.net + - /container90941b48 + - restype=container + - '' +- request: + body: ' + + 012' + headers: + Content-Length: + - '219' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.4 (Windows-10-10.0.17763-SP0) + x-ms-client-request-id: + - 8ed281c0-bef4-11e9-a0ef-b831b5891408 + x-ms-date: + - Thu, 15 Aug 2019 00:35:18 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/container90941b48?restype=container&comp=acl + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 15 Aug 2019 00:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7211873179054"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 15 Aug 2019 00:35:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8ed281c0-bef4-11e9-a0ef-b831b5891408 + x-ms-request-id: 3c48e913-801e-007d-0401-53f8c8000000 + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - amqptest.blob.core.windows.net + - /container90941b48 + - restype=container&comp=acl + - '' +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.4 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8ef5de90-bef4-11e9-a656-b831b5891408 + x-ms-date: + - Thu, 15 Aug 2019 00:35:19 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/container90941b48?restype=container&comp=acl + response: + body: + string: "\uFEFF012" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 15 Aug 2019 00:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7211873179054"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 15 Aug 2019 00:35:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Transfer-Encoding + : chunked + ? !!python/object/new:multidict._istr.istr + - Vary + : Origin + x-ms-client-request-id: 8ef5de90-bef4-11e9-a656-b831b5891408 + x-ms-request-id: 3c48e962-801e-007d-4e01-53f8c8000000 + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - amqptest.blob.core.windows.net + - /container90941b48 + - restype=container&comp=acl + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_append_block.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_append_block.yaml new file mode 100644 index 000000000000..858fa196aa89 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_append_block.yaml @@ -0,0 +1,367 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - aa24df2e-d274-11e9-8b78-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:12 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8edc0a8d/cpk8edc0a8d + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:12 GMT + ETag: + - '"0x8D734988EA563BF"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:12 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - aa24df2e-d274-11e9-8b78-001a7dda7113 + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - a0acd9bb-a01e-0042-1b81-662bbb000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: AAA + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '3' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - aa86bdde-d274-11e9-a98c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:13 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8edc0a8d/cpk8edc0a8d?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:12 GMT + ETag: + - '"0x8D734988EC98DE2"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:13 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - aa86bdde-d274-11e9-a98c-001a7dda7113 + x-ms-content-crc64: + - Cc/2Kr4DuKg= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - a0acd9c1-a01e-0042-2081-662bbb000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: BBB + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '3' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - aa9ef5b4-d274-11e9-b296-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:13 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8edc0a8d/cpk8edc0a8d?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:13 GMT + ETag: + - '"0x8D734988EE3F3C3"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:13 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '3' + x-ms-blob-committed-block-count: + - '2' + x-ms-client-request-id: + - aa9ef5b4-d274-11e9-b296-001a7dda7113 + x-ms-content-crc64: + - +3yuPEA7IqE= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - a0acd9ce-a01e-0042-2981-662bbb000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: CCC + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '3' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - aab923ee-d274-11e9-ab1e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:13 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8edc0a8d/cpk8edc0a8d?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:13 GMT + ETag: + - '"0x8D734988EFB4E3E"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:13 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '6' + x-ms-blob-committed-block-count: + - '3' + x-ms-client-request-id: + - aab923ee-d274-11e9-ab1e-001a7dda7113 + x-ms-content-crc64: + - VRJmMeosVKY= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - a0acd9d3-a01e-0042-2e81-662bbb000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - aad0145c-d274-11e9-859d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:13 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer8edc0a8d/cpk8edc0a8d + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:a0acd9d5-a01e-0042-3081-662bbb000000\nTime:2019-09-08T20:10:13.6032002Z" + headers: + Content-Length: + - '301' + Content-Type: + - application/xml + Date: + - Sun, 08 Sep 2019 20:10:13 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - aad0145c-d274-11e9-859d-001a7dda7113 + x-ms-error-code: + - BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: + - a0acd9d5-a01e-0042-3081-662bbb000000 + x-ms-version: + - '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - aae4f7f8-d274-11e9-a029-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:13 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer8edc0a8d/cpk8edc0a8d + response: + body: + string: AAABBBCCC + headers: + Accept-Ranges: + - bytes + Content-Length: + - '9' + Content-Range: + - bytes 0-8/9 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sun, 08 Sep 2019 20:10:13 GMT + ETag: + - '"0x8D734988EFB4E3E"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:13 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-committed-block-count: + - '3' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - aae4f7f8-d274-11e9-a029-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 20:10:12 GMT + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - a0acd9de-a01e-0042-3981-662bbb000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_append_block_from_url.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_append_block_from_url.yaml new file mode 100644 index 000000000000..7f746fb95143 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_append_block_from_url.yaml @@ -0,0 +1,4469 @@ +interactions: +- request: + body: !!binary | + W5Y9GOW1LH2/zmRhmJQD9mLmmuaCvJi4vSFHwp8wKgz25MsJbK8BcqPtNkRuSB3NSXFSIioFnwHX + Nog7jr4eWoSD6Yq0OvgU6OWDvYaLaFptoZp98qWoMhr8Ux/DNKnXTxIV5Cl7rGJKH/rJRlyFPsiv + jwgRTD1I5tG9qVW3au2n628rIz2GGMWHNgi6ssb7NxQceAxDIt3MQ2b5+8Z4WKMrvRkUWljewZFl + +l7pIa1oONRxWYuxycK405dMMZkdL9bZi92HTOue1umbsO9pGM+zTY8JyMYm6nlZl5rcHUtOQiox + dV1NUF5XSDby3JWl6dP6IZhKWFupE1hYwVFd00g538z9NLBmdUFJbEeYReocAxj4Uf2Iqk76yjRN + WpTw3eLcah9CjLrQjznjpdmUQNwhMAgp2LbT9QVnUK3F+X4kF4yBSyhj4pcPHE/96keggwsjt/t0 + 4XJ6ZGV7TSeFery3v7M57wWq1owh/SJMbSqqZSSpsTqkZ2ptbBblv5gZU+pY4lVNJ6ggPNcEZMss + IndFBfFVlymwdtChYGRDmn2blxbDg0psmBT7tc8Oh9+NSdw5bYbfrsaozGmKwvyMn6MKgdfhGFhO + sKbBxqJ0GcWKT7aaMcgcGcZmY8e7tcQeGFQjCxVo7lQN6kXq4/gR4akiO+fbytEGWLs+NXprWrLy + zMW1p8nIhk8Ebt2uSLQGt54AaY60vM5NbyH118XU0JcrPHGaJIuEc8VE+nH8FttEtiBP0VX0klwr + kpBTJeEgKYtGVReXgdrit+4CxXbOLGwPGQKEMRg/smzKR2df7Uign8V7OpMwljsO0O/fXVHcnB0H + YkmvMugNyxpau7CPTU2Y15nnLiqx9/Jvcy6oOzDAq3GoL75FUbEP3ZqaY040qUgQw7HD/as/4jnz + UBp2DUoXpQRCvIs/9eSgJudL0ZI3mr+GR4n4St9tF+zHBttDFJWQ3C+wxgXyzklsL4dGG3IL5mlc + ifqPoGFfg72Y+LMZp3iNjK+CJSiVV43+kqJhKOd648LdghY81dzJGJ9YOXyMrgWSTaI59SdOs8Io + HvebvWVFErEzAqBzkjT6400hPB+w6IOa2QL1N7d/T5lN5OqHhnYKi8rPy9DgZKS0IollOzOlja8K + pYhkvZkqPd/wVvL0qq/F7p2EkqnXWzI7JdBE+uSu6VK7UlA65NHe1nSHEVE9KmVgqmN+vRC/clgz + /tyqd7WlvgjRGSvqG3H7GcaGgGMuMGMqYmeRduN9UTgKy5GdrKmeDisCInzf+dbES4ajCKO+6dmQ + DF9PjUjuH/FKrtwZqjBMUenDoNlMC/ML1rLtz/YG338fxu3krplqBIecFR2YlqCR2p34I6Rp0w== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a0501b46-d279-11e9-9324-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a0501b46-d279-11e9-9324-001a7dda7113 + x-ms-content-crc64: + - o1SL7HNC+rA= + x-ms-request-id: + - 813e730f-201e-002e-3e86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + tKSr0+krtY8plOllgIyHabmaYnOTBpSf5ey2TcfpYLxZMH/NFZuGbSJJtI35EG4S1XzEGO6SB8tq + cGOGhoo9IB3trO3ujTCsoPgeNB7Lw33RF3hg8nm5+dbG+11aSofq4pUW709KUBGhDuF99Jj6YQQ8 + UmXfbI274nVvYLonwkvzuOGqXy32VhW/9FKj5jp9xXUy2FYuhlw7s5ZH119vJbUeTU2ixQ8LypsD + tBTa7tH2nDbaoDrwh+FBdCwRHx32jDcceG/MueW8YWT1Ky60v7c+Tk/1dN8lh7XkfwAdKyEgyxyn + /GXvfG1v0+Q9ityhwsP4PUEx3+lnyQWtF0o643mEolzl0VdbpeaWcIIpUcWfTm/g8F3vqQPr3CI6 + BUemzB67AWyEZCbbwlM2h3sbV88n6PLHPi/llVjpi3AjdNGk2Voui5RzZGjGtIzoGzg9LmlMXCec + I3u9vVllhEtzpcqKtNr+sGlbFvETZivfssW67NgPBqtJiEtamtt8SGdF0eJ4TgiVO5vYrZGt0UCE + 1QuqVdYmBiHD6WXoIVjTMOaEt/rgnRIg4IDt7BkItlJ3pD+h+ZHqp9sm4FJbqgQ71dQImSZOrpPj + jEkJwM2Y1mQWZ14QGrfxUs33dO5JLnpf6zCnLhuB0vjLx73qOS/z3ICCRa9sgfe6zuaxDqGtvy4E + m1KwMLXV9I2WEelRVPYTW1iZYUiIeVYNzht8kPU0aXGPMRJI36hW9ajwZTWM+LcS2hpbbI/qOvys + sD9jqkts2icfxNLNcmton9hMEAlHeaVw6TUWCwdtjGm97IgVeQPe+N3Ft+IV+d4rsDpywjpFmfir + ad9jtssPiAmDEYruESa+RCq9TL4SMDnwoJOSn+sCUb/Ns518fMqr8e9nUDl1sRyS0OsDMfjQKNBq + CWJ2yWhv5vWkOFo+JqwJc1w8uiouHZ81YqzEiJ16rb027DhIGRJJ82k/zVVGxGeecFyOGdONLwo8 + 9+7jrkqDiTz3uso+W7A+JwNWf+XUkMPhv82up4j4fT0yNhAX+UFgsDVR5R/iPk4hXIyz84AKcarv + Kxb6xe9QgRp/NWtNFQS83HfWxNykwawy3M+W2fiEJZwCJt4DVmC2jqGUjEz0GxXt4zOoibGpirJ3 + BcF0OMkxlzX8Pe7kW26Xi3b9fmxOrAQ/8qUSnpaEQL/VxVVGlAxn/udjWxXRSM1eUyV1PZkTozHi + Qqfvi5X86UfI0ShT++HMsJNhJlW9QTzeG0PfSZNZM0sL0LF1O66VLyKAswurqDCEXRbAKQWlYUmB + bZnhKurSQGOFlja/3PtHC8a3CpTi1g6C9cUuuweWu9lPVqhaJSpxA4WIknOdHn3JG2XMr0oyxw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a09c5100-d279-11e9-b8f9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a09c5100-d279-11e9-b8f9-001a7dda7113 + x-ms-content-crc64: + - bWyFld+/hPE= + x-ms-request-id: + - 813e7314-201e-002e-4086-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + tVC1PP06MFltpdN7QkbPvv7G7n3U3M76aT9QRuXchb/uFVLDReaNcmAh5btfbSpFObM3WdD9/HGJ + Nn5iHLkOJiM2oFAxSVZMK4x26sL16/hjTYTHFW6kqXnWnJqsac7hndxYJUkSuZlXUVKrf5LJK1GR + DmRh4I12r6/d+pNMpveOayswsyEwIp79HCPB8NguDvDNrlCxcJqyPMN5hXMTB1EPSmQchRfxICAo + DTveTrJ0zUfko5XwuH6LgieHRYXhG+ndNPRKXtyxM5z1/AbU2+eC1uSG2knzFGbssvc4/EWYmvyd + psqfQsIiQhce0S0ALb2o3EES+5yq5Tt7gDrJiRv4NV9IzQe8j7CEE48EuhPdbGqThczh84qVoW+m + 9AG8eViD65HDkDeU1iUQ2sVMQPTC4AqVvJMjmH3mW7U83xon2McK1qDuAbTHKK15lLYGKvKL+GUX + f1MDw3s6xM5qa1gZKWFl3EbpJdNca7jpj4I5UyatBtacWEagnL+8MIpJDz2SxtgoLhaaGac0yl5g + YsTOjZ0gIHglkiIogCbXxXuflgtvPX4KeeN5W0kYeXFGxuY+jjLT4g7X5ugdz6ZFQIzUlY1sqNWe + H9wHSaoujP0MXwC3TN+XHnm7QMSyISNVYMgH+pNAlCrbSiS/kjLebS5OF1k2QNdeFpnJX/Q8MVRc + 7rofUt7gZz7tL8MQeOlQINxUOzj00IMChho94pffnnpWL8fPI59vGmrMo4EhMvrZ6LcUhSr1K9dk + bPbrS8uvDYApslgOfLpfDfhRv3zCYhyu+Fb3v+3aB7ogg7Id5nmy+Ahe6AKsZFT653EEvY/FSxyP + X/YjCNj3b1TqRhbFHC4Y5/G7qRW9swZivXYeaJjyfrf9tr5/AWkie+xHcQYm3qHQqZVLlHPHRrlg + x33v5hqXVj9J1oPOpVGCjXB9h8odoYWnVWxuyx1rwOsTAOl6AKcWh1n1+snFu1UvJcEJ7LutAxld + lbVc2kKif4LLK/kM/qZaCI5NOlZ/wAsR8VMnUk8OjDT4Ph4IRhlJXksE9ULN3OAlCd/ytmdZMp5K + l4az3RKLpUT1h+kzDcfpne/tT9If6OY+Sc1JWQx/NTafxNiNBnXbqwA6MkAUPKjks4ASh3BdAHD8 + Mp3MiaymZht6dkr+O3dgfz1tc2HnOEaEnuv9doKgnWhYbNyHU+FGuYegrxsbLbQJpq33OG3hqOiF + C6GccfhzVXfuzF1lFV54Gssg6AM3nHKXfWI/63U1zKnp1BSmjQ+9E5P0tcBEGzRD2danq7zS+Muw + /h8MVOLHKiuBQj5V+h4bKS+Ew5yZ/Lqg59KDdFoqIevYnygOvdkjoXn9jD1VK71B76OWCThHVw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a0b38ea6-d279-11e9-909e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a0b38ea6-d279-11e9-909e-001a7dda7113 + x-ms-content-crc64: + - BtGEKYSUFPk= + x-ms-request-id: + - 813e7315-201e-002e-4186-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + wVFSRnImGYPVkrzt1HZDlEFXAj2VROe5+04PavQQwLKa8GRnJvRvGXqGN0Kr5klZhcSpS7hVKNR3 + XLhoK7gAp8atiElYGwnrfcsCsB+nlxG7wBf0iWOcmwYlTKPozvfEr7aX3ppiF/gAQpXIWXly7B/0 + x2Paziw9qCv7sihech6x34JibJjtvMO1lsqH6d6tCLpouHlBYC/DJiVkK4/niZi5ZL52KKeu5Yzw + 0FysZ0HA7DM9YyUxqwpKnIeLq6lYWGO8g56nuqxQ6naGfhgxEB1ZX3QHY/jzkrZnpcuS9YTVrirb + l9aY186tcqAYK6wygzl1VQBjeKwm2bE7qdCiha4NomZNlNTW/eHsAqJKc7l1IbsRROkWhCm2h7vv + mp4jFHefGhWjhmqFs5DauTdrKPMhnoZaFOcnS3CLiPFCDCrAT+iGF8yqIBhCzL/GGvo/f90iKRYT + gLaBSwzmuEm3xHaAbU1Egt0MNTXMP9sRarBoGsv7iOSg/SwnIZuFxPfLHhFyBo3NxXNR1nLxmowJ + cFXBxZ6L+Yl8tKMa5ijNzI7bmCjAUtOgJcinEb3Vc7HG+2exZkK4riqa2M0DscBjTauBvnziLHLg + HjQhiGy5PNg9RCJcFou5v5uli67B0eHzxDidJ1c3/K7tSMemXB3IgPLX/B4IH0Y1N8gr5OyBQ95x + mtJUXxrw/B6TEgLoaDjY8dyzqyeQLa+fxl9Y+5XcYAeeT1Xqla8wZhLqXHqFwUAtpPSJ2sZGPyoe + 2ji7d1ljvez82yt3tVA2ic7Oihi56o+l2CSQAIGq59Gm6d17GPVHoF9cC5ImLtq8z7/XaYcZWjWS + Os3cRNRk5bHsQEREmBZ8hbOWjp6ZKb05+EhCPGQPd+kqebOi21pcZXJ+Q62Skc/fUaosgTBAnbGU + zIhlf5wYH3EmQT9bRivlfDj7JVuWNrqzdhGzyqpByglR5MLsMgBQzgGlmac6fmzLvrT17Yr07vA4 + 7vEmuhw82+wNTzr3n5LGCY+B4sXdmq8OW1qPPHdvqDiRujINV7qlRLmZzYQp+gifGeO3queiIyFt + 79j8i8lpErTbnXMkrjZs1S1PQkHR30Rxb/TXB7emZ5X0mCXVFvonsYMmXoLFbdbPHAJ81LWE03Rr + u8FJNGgLQ93I4jOumNCOwtb0xZ0195PN0vUVhcUndnSc9g87jBmM4UejioLup70pQTwbQDBLS83N + smpv/ucxUvA/JuHzEnGHXADlICi38+KOkUBe0PhKyQ2r6LzCJ1e4ViKFENZpFTT2OqEbeIZ1Uo1S + QRsRdgyLxhauuOAX/rw4EfYebwro0BDHGTEfG3YwjXDDu7Q5LAXYxaWEGaAu1S0wLxmSMTpXTg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a0c624c6-d279-11e9-8351-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a0c624c6-d279-11e9-8351-001a7dda7113 + x-ms-content-crc64: + - q/GAITz8+6k= + x-ms-request-id: + - 813e7317-201e-002e-4386-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Lqf9h61k4uMFCXiun4I7k07kj1nujta0Ef2pVK8R2zMJ+pDP7h3xeAdW9JtkmIz91D+/HQ3zozLN + zNtZ+Z4XUBtWmNrYjXSOp4AL4IXsiKhmWu2J8iv3BO34MeqwXboY+HECLPUCSZkmajfMmNBzAiIk + w74vTD/dUsxnGJ0r36Uw1EKLaFQrt40I5GlAqboR2zioshC3pYTHFVEXg0QrLJbJMXZ0lR0xwwq7 + vH04za1ibdNyt7deP0KmTbv2aPbax1RVyQoic88d4lgGRq66Z082xHlcqu5sBikoODhk2xQdpDWS + kRqcoImtFSgg8aJrFPmotT7bHHXW+AQLR6GhwYwyKCUJHMhMpFSDTXSdt2cUz788mPceL/TcBnp6 + +FJz9x14Nx6rhGAg4IeBW8MUX3tNVZaWTvAS+sI9v9NHMs0IoS6k7bQl/YZYgG0MvokDXIKy2Ye0 + 0grJU1xaKImyE1CDuQU0OaHMO9I5efcJx7c2Bg154qvibjvvzWXsVBS0e1ciD4lAP/5HlLsMccGD + UNqaL04IJepv37VE8pe1gMEJE8sngA5MamRyWjhNJzk7THHlDA6/p70+XUu6mjuX0IJwW2Vrwmzs + AfUjT3RnxSQh9ftCSyZc1mA7DB5ldUZBalhp4LK8gHVMx2yEd/bF6vsu7qkaeAIIzK+315dn+SkA + 4mDorUcw+xpOgna8Au5xBYwR/l8US6lRPNJ5Fct0DHSl0y19u9tBEuUT9AdF2XbttpkKGN8EwOVW + xtFsQxBVeeGhDaWQ6xmPu7etg8OHJB860trsV8mwFyQ4/QRtEZNFMGCC6rKU8l48NDqQjaPaqr5P + 0KujgGravUatxszv0zZHUfFOh2cDeN7hwdXsMzKQYuMVeZRBkQGWH288xu5jOOWm62P8XI+E83PZ + mm7pZpF4NKCcq47VVCOBn0/UlrgYrNabrR8pRXsYT+qMHu7NourcU7PlI7NbNsTVzIwqK2zlWTvx + 8IEMUSTKK8PPCL4e8Aevw5icfcwodsienjmAI33eeNtC+XzOlqS0sHYp5xUJq5S8gHGnoVFtFKn+ + 2JipngIJT69LGErYh6jL5SmCtCFi0evSbuY8RMat2Wmf15KWGgnnvboQSgEBS5YST247PUNFierN + ZLPm2mM2sS+DJk5g7+0NXi9cFVA4SsQYo4LnKy9CGKA49wLTsYJPpQ8uyQGkfEzfv4BT9qSGRJXb + b6oyt2YvVaJAM+gEgrcU70qdz0IldGaxQPsSvhiYEZ9hys3XVmddFSLPvd/x/UUYOnUUNsogPbT8 + Hisa9jEqopvq4oahzj2WGY1te4wkQVO+BDigTm1YDXY/yNCsQxneOcmZ/bygnPNbLANzKe3xyw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a0ddd052-d279-11e9-8a3e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a0ddd052-d279-11e9-8a3e-001a7dda7113 + x-ms-content-crc64: + - SjD9RW81iYg= + x-ms-request-id: + - 813e7319-201e-002e-4586-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + UoYkkdFM91SNT/HwLcxEOAPCbB0CYmIUdlpj6hhoux9cRmJhNHdJGVwb8BsE6CAwk84iyjMb+31O + EmMUtR7WxeGkrdC9W6mN+5z+P72bHLmjZF8Pvask+q/0wBN8r7cy/HdqHo1roldIQsJ8QmmhokM7 + qXMD8xlOer8L9PMVBQKL5rzpQoktkMB/tMVKrijmuqs2FbNuBQyUgmn1PoJFZVaUaWfCkUPuppzi + CSHgGWd9eroKu6f7KQyfUhvD3iP7/JcSPlfsUHkzHRpEYQX3l0WBBWZBktJLFPMYb1dJABlCM0CM + daKNMvZHSxecepsev15jJzbBfi3HfmukOBq88+gFsLdTvqEVN5RDBIO5UH/sMOdI8ZozcQHcRcAx + 1gCeaqlpFf0glexvAZ/V7caVtjncN5I0FLSs1gcWLfRh7m6JmLzyjurerH5A8TT2esImA4LTAi1M + e/q83yF0wRw1paxuXkmEksah8X7M3sPWJuYtJCkr8cGPh4Vv2wydptkikuQCnqrY42W4VQv0tYvs + hiJJe2slCrTQ+yjKo1UUfKqUmKDLzypIieCdfj/GKgWNGFLS7qn977jhAydpRKHO67Dpt6HaetgH + hWYroPMpMqMp7yCTb5cu5jEoffqlJuvtS03TCn7bsdd8DraC057M0ilNIer+ouwlbph9Ly2wkYRC + 9k0hpQviQfzbX+HobFcozHtVe+eHcZrEAs6FaMMXPsrtbcPvXi635LOp8Qlya5HTihh/9oNQcZpI + W7abQSMRYsdeLSiC8YvIBqx6ywARbzI6CCi25YelyQEsDwFhuee4yoBVP32H+eW/JRx1txpfbEpu + kcO+i9jjwSh04JTzTqa4aBaYUXlquByJ2ZeV6VI2QenogWuF+M5AqCrCPQEiUGjjll2AuqZVylyD + /FqAueE0w6ExCPSF4cXS3bbOBhFhF1kz3d0XNYoJ8giJ5InE/Dt2iSQciLJ7BFch1yfajJWLpNqg + hBLsYhRbZGsb2n4rse+p5WIe9c62caTzPgpLccp7Ns6dysAI5xQh7/gMjQBSE83owyK4gPZFGpsR + 8lVdu/ZhHYio8LNYKIcuCFCVdtMbHdYFy4Xh7kOrkOMX+FDUQHLFQsEVuugqlhPoZxNSYH+wOvCJ + 0mgWe/ZH2TL8A8eJyG7ZOmouZ4Xejkcwmagurc24UjmoC8mk5hb9B1vFt9A3nMZ1mIAJ73Bu9PSj + akIMRXf0WRwb9uYIPNyyrpFu7XClScbxGo8F6oNtB2OGCTInZtguYvDbenPmqj51ijXYQuDgyR88 + G2GQY3AzUOEr+RbQ0NvYA8G/bUPpriYLgYcce6xSwQqY1yzTS7yXNXMjqHgvK9TPJyn2HC2Rwg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a0eeec30-d279-11e9-a934-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a0eeec30-d279-11e9-a934-001a7dda7113 + x-ms-content-crc64: + - 2e8F0cYpBYE= + x-ms-request-id: + - 813e731c-201e-002e-4886-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 7GwaoyPBIqlMQlod8GQdib1BemRZW0vSQpOe45vLT5zBVc55AfWcIYXdUVvEZw/n/WUNzYJBtBrI + 3yhn7YzAOscUYPos1si24laIRN2fwHy8EiqZnfL4jsZE3p2fMSaNKJNGvkVdDAl+j/o7NLBMoTSB + qcx6hXFlgU1PPiWqXW0Cao+2T4mYXDQN0NR6EFd+SLKKkrGicRZTZALvPutSy4bktdsPEmfa+mMc + ctMuSdSXNDb85z/lCLXvvOZTFkmviAjw7g/YdaE3Uh9sF8gdcEZr7KvyAP76+7uuo24ZQ8iJQtpT + yi/kqbOFU29AbfdNfJAkqtre7nNUV+x7dPCjam0DzJqT6UzOFtMrCrtaEHO6HnoIe2Cv88FENwpY + BePj5AP3XY17GoZgIHE18rVD1Tb7flLqbia4BbQELs2BodYTpYMJyVwgml5ggUfCrHY6Do2VmuAT + lSq/CcuQxcCpS6rlaQ75PnkcL1eAuiYxZx0f5hgiQwBkIsZX9SNCTKLf2UNyO+MVZCZdFccxOcNH + RJ7XIDaUJhl5dT2iRT6r595BWeGT3qHzWEiAa/sLDmFpkdcr0x/YRlRfsbCuS3BXRz/0ywNJIqAz + KrTxAxCczO2lSYlxjDPIXVJ+2F7yMRu+Uwxl9da1FkHohmRXkCvlldIGN1Lr+nkS40AUPKv8qjJI + xTynJjzil66+ML6F/heAcLPHTLujlFXuYwP7rEQgJpWEy8zeQwBv+0CJ3UjnytnnMplwnOy/L0Ds + 82Xru8lI3PFdzFxSVKAXsAQYpqL3f6HBnTmkgA2Qm4wwD+OQXy4PES+D6ZmT64TwQ2nOp6Xx3fve + NxTJDNiC3GewBHuBfmyXZUBt61Q5iNcSdYSIVVERlKInqNsr58xy99Tz2bLHC9N1HEDGFmsT+oun + MKgSxNhK1zrrIcYX4KQ2G9JtuwIFiwqRaLREggqZXIjp8aIDFiJmFKT2Gt2DWGxs9f5ol+W0299z + 8UfisjilFLCDW5uQBjOUsYI4LfKS7vBC41rDw5RHvVN3Ux0vGG9vjvbSJAtEwXJ9rlYc/TbU9ylE + SO7mcdQcPQM5qnrSJrn7V66geDZqGYR215GzpgzBxOTwt5JrW9w9lPBzIBbKvfIbQxrPHw5aUi1P + YxV+94WVPDtnMUdsyio981oPm5C1WPg4p/Gd2abXm0lRM6EaclITbtqd7c3JFiuqMzqy/OigQq+p + gDYQYdciYhM6cSSlE0nnNGjXGPHCQON9A3tA0AxsRFUzaRAKQEpg+K1/XDYOgXjFPRhJgaZ80Lyq + R2NNTgMwhH04vA7kewfboyQsdCynfNBlBnxGnS61ZaFKMvjvXuE+27J22MU9dlIQg9TyEejLng== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a1000bd0-d279-11e9-a923-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a1000bd0-d279-11e9-a923-001a7dda7113 + x-ms-content-crc64: + - heH8p4A0x0U= + x-ms-request-id: + - 813e731e-201e-002e-4a86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + jRTBcpjjtRabdxqX9Yr2/JHobr7Vr6QToPzxSTk2PRCdHhruG/dpScf0X3Bu8ON4HWHvjuoaETif + cGeQYfS1w7iwpE4gHBzpsA0vB4K7dSL1g4DIjNiNyzUkYefJ8/5K8qUq0QMWJq8hMXGltSULwdoi + w/ztXayqZQ2HKx3Z/HHMn7WzWmMtxOavgE2i2fn60RYzZp+lg/slgRx63Sooz1i3reIyVhtrf/kh + AlpwHVP48bW5dXnFfc3EmPLmKi5ycuDRrTXFegwWlPAwkFTeE7MzkYZRUCCwhqW0mlDaZEKKoKOg + htkMzMzNAAuDZFEtSDdHbT947ZOCjKGd80odtRgKfgjnG9Z5e8m7etKKWmaOqaVLzgEp64WtjQNa + M1IU66AEZpj0SzFfMbltPrsURF5WmDgooMlOpAZZkpUIu38pYRXP/keZmDC2CWiXkEO/9zgrlcS1 + JkC65dZBNdDWB/M/8z2q1p4+d4yAErVikJjamfCVp6LVXzhdcqaPm31Q5iXGaIIGzpXYNJ6iuPDA + 5ZdLfB/7GaTZh6xyazppO1zj0Crjrccll18f7MYPtrInEFfYT+tzIggcFN83FbGnSmy7IbJQ09SB + /KnZnEl743tYWgbPF4LDvY5Z0yyykXLmX3oUaesyRhgYS3HxKyghya/efvzXje5y3kUpcoTx8FAE + Z32CqxM2N/RzxHoSXR02+oSS3l6xZkUXsYCRIRmlxs41v2kyTTbZcGe6s/Pi34O5bOm0ypcjXbPh + t+4s3xCNpUZMCMUGAZuKAUkW8TW6IRFPRTki+fDxbmbdgOgcJyUcxvc/SW3EE9mqYQoFQLHmTbA5 + Cfyx+R8VZAP4rKAE8urZT5SKSLxdHYzIxgyX98AoDXkDgkFLS0mKb6SktLbzBeV1Q0JfbmZxMtgw + HiLTWwVtsRngkjaZ12/bi3NWVHW3MAySi7NmUXarxM+gEofK/GBZHrLshU8QH6U4rym6RYPz2l8G + 6pg5dV9TDtBjorC0Yg1KEvGHQ8sh9gYiPFXYgY3dXqPMrvV5CH5YsR29C7y2KA1+us03beLIjl95 + pAXqOQU1LCoTyhuFhdtIvkW0GABXPC5JK8TQ8Gtjl3fwsucOlPtzuyhhkmoI7ztrhv34+XiuoUOH + kj+sskGFFA5Wvbl1zDCk1KilUv25F7cbc76Sq2BmQLK2o1MCWHWRz0ycaYw2zMhy60GM31YnegLz + ubjaBE1s0J+IGDYFRqremdI9vChd83KVba5v56tmiQVCyC4VHI+mhT8nlvsN2ynct5/F5Mv2ZOE1 + FVqQhctADRruGRTgSt4yr6nrNBNQBbjAC89T+FAV82oxRrpiUQ5KrMW4r/Y2ulzLxYxA1/6UUw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a1114ffe-d279-11e9-af57-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a1114ffe-d279-11e9-af57-001a7dda7113 + x-ms-content-crc64: + - F7N0jCnKL94= + x-ms-request-id: + - 813e7320-201e-002e-4c86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 8oO2AwXq044BhTi1WJOFhBzwCUnsyFTgjEmdWDvub7sfqMOcHP0NKHckTrcDb+Sl+NX0DT9RWiTg + 8qOckIkw0lmoxR84joVLmfdY3RJp3hJ3DZOtAZ6D+FaGJ/VPk7iHaW0bHCQ99jfBZyrlGsa2a6ol + GDZhs6uQgz2fXQ9iQklChib2vCwbm+/qFCpisNspFS1h72LLDNQBY4Xq9aV1MYwrlvIqL6I3lZ9e + gxxrVV4ZlE1Pb3wpSyJzxwHKI1vjDfcnoIcfJ9ou0MLxL6RtolG8Q+q31cQavquAt2Pn+hLWWOKd + vjd9ERSQ/TKO0duu+n4rKZkwtQWm0kytTcv+bT/3nRbx+D2+MHhFKuMlYlwe9U75Og2AAzBy12Ck + XJp3Q3+dR+BWSfx+D62uWF9BqPmLa4+WFfYkyC676nwVSn12D/S+enBjI8wiGt0LGeEJdgMTxQuD + CIg/EGNjmbawc6mAzaEtPTw3sItJqZ3KKQ0ZItaTxjDHZAqna9PxzOBtpVI92Rn0I+q2ZZ0u621l + Jxt6sWgvPBHcrjU3js64NA/MrWz9aK1HzGTqJ3M60r3e+7Dx3NxL5nWZWSHRBPKfzeXHsQbnP5V2 + Hr10QLNLysrViqe49VBwiQ7DiR5wWqUu2r8lbqlb0FKnXRV07dNpD45fHaQUnEW0w7iSknIi80K2 + bo1MuhIuIzrPPHS4seoBrjSkeJSyLbDOdtWwFBaE7dzHEcDZguYTzFkH2WpeNjMotewLqsg85Zhd + zreQ4B+EhBg13Ec6ZGDmSxRn5Dd2YRRMUmJBb4I4mDj6jHGmWStrKmkhMOz17531QMzCVJg9VKFn + TWCfLuw6dnDcAU/SAhn2yIIo9xJSeVExMuvTcYBC5eRbpdgzyLhZQcjIlCsqyAGPZTuyaUPsfnxU + yy+ObJrqbWJBwq6jCaYqdgYqfckee5IZuEtttD+SX51jqtzqFUE5nNQ+U6sJj7WmvnxdOZgmvo4r + 53giqwSZN03Edu5La9is3IfD9kaNP2I8amf4xvPOv1ZROdXsdLjVpkaF+u39TLAN65pMNrq/xdK9 + VlYw5lw8Cihf8IsbkLVeU4363Iu1oBkKZz3CtebYymksqhJLkZEEKQcWgnR+7aV2XFcCmGd3CMWT + NDBYny5jJzqPWv1DrABkIy3iNNfNZo7uxsod5KFlr/NNln95NUZ0I1UZfYVO5Zp6z+ASF0ueBZVu + P2laz2c/r3m6tT5Qyk8hHXqirYk5Xd4gKqJJorcKr8S0sKAfxy7nJv2yq0p8wJQmM8cPYBFFOdCn + oz5VXIpr9PBpaMp6L8KkzPW0j3QP2zcsxoRQwkg3Lp1CYKGm6vluoPQ+kuwwRtco5JG2gDjTKg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a1229c3e-d279-11e9-b60d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a1229c3e-d279-11e9-b60d-001a7dda7113 + x-ms-content-crc64: + - Z2L3FMk7EGE= + x-ms-request-id: + - 813e7321-201e-002e-4d86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + xHgevTrvacAXqRXKYev+x9wwmD06d3XZx4YjJouJ4C8C5O6Jf9fkfj6PXlSyJ/QE6721GRxWC9I3 + td0koNfaGyO7zyl4r6XS7ZaoFrwM5kcT8js7OLioeGREtWW2OjtPDq1i4tnaw6svBPuaeRJajCvV + 205RnaFrgqMghDMD4ReIT1nX30RZrZscaiTqV51tjEW/s6UZzSdDaTqfj5VVAPgjM/UX8upJ+hgt + xZbggxnbK8H7tyKmwl0lMukmyDf5xVaf2w50QOb6CFIXS9voEX/pYvSZ482oAo4pXkFicAI/fmDs + tQ1HUrURnK26wlU9fCQa0x4dZw/rMspTh1oDPidWsdRoSxXodSFVpFgv4keQOicfc6MZ5TUs9Op8 + Qut5apI/Y3CyEKmDw5+ufeN2hbOj9AMTEiGh0PE93ofP0CKO5zKPwHxaq6yJ1c6rbOtzwDQd304d + oFwhajUsP49scKSbvTQhTijaZNFxCCVpdNU2hUxgjFCp8wK98UkcGfUflTCBx6yvFQgyXCEVjV7j + UIX5vuDCIzl3WcrkAGDc98B1T/IuF/c8dyoXta5QTCCJzYhMFqUthabukdh9WD0fmn2RYaMfvbSh + gC+ythVRTpu8S/F4ahMq5kg8aa3IF4IWeD7phIVeJQ7UDLBQ6A1cB1H85Xkv0/6bXaPiHVDzJudK + uvJUlTWxFeuFUIn8wgMRLcCrwjsI036mQisBXH9UtIpUMzZQs3SFVXHVPR3G2K+9vDfoIJgz8bD9 + 117QhgQYoOBxzqksnvhoWNYql32CpkWhJcWZwZNBLh9a86kuNfzJ8/gsPw+xy4wfAaxYTneDqJ8g + TRfXYIfbTggkUU1/hyminieLCNd3rlFv7saxlPw2XF4eFO59TTeV0TD3tiLUxSpO2hKHbquc+JRp + WKaruRrjNJfW6ZiVU86uj0kJiPydv8M+iNuY1isXEPBHlbseh/cEtJNhFDV6rxL60fFUO1sJOk5I + wqRe4kryWGSmiLs2SshxqE8xQ3RetLI2pV/VhVfrc+Mh8X/y2pC0itZsTrrAXNRxDPBWCzcWRVfQ + dBooGrME/FJxn1DunXs2T7WY5C6T6+VS4G8ufsUQlD4QK+jDltTdIH9ZNl9nDjagLoL6PhSixtNP + 2lBsTe9I+0zLENSLluVfCLcwdzSbbQ+UJa3zptvOVrQX0el/dfchOb0kfIcgXwdYqEFKK/OVHg3c + aRIf5UCqvs3MUqbiss+H0HNeai5KLS1N3JKygIUcPffXWqEei5kL+BJc83wsYn5dDSlqprLJqqZl + ZbMd72pL3ImuapAWXFZgFc0gjIUPM8MoSLFpdR37m2xoPMK28kBxdnViJgCHxHGqm5aTIXmBlw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a133f25e-d279-11e9-a53b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a133f25e-d279-11e9-a53b-001a7dda7113 + x-ms-content-crc64: + - a0EG8y8dBLk= + x-ms-request-id: + - 813e7328-201e-002e-5186-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 0Qf267v35zM8UeSJtkbU2OOmECL2h3X4z8r3e/0IySjwlGf2JxwU6METbC40F7tKxEzPOz05VUU1 + /rod9VSbQ/3kZBKRQYYLd07tG8Cn8S+mizgxVM1aq3RQn9xz1uK5atgAbdLGPuWCnWYqGyWevRqw + knwsJXD2pe1FOEIa1nSYAdEUQy4K2wK+onaqKDWU0RboTmH7581R3qDNiNysobDxyxQNawTU3ltr + nU8uixXIiMjHe6QZUddUkVwqXTT5dyJAm7RCuNiMpYs9pojKetBvr+nYz6fXJnhOMSe4J5eGzon1 + 6kMQB7bNyRKFMdz4FqaFO0fS6Ez9DbQiut+eoQJM9QsR1vioPHSBfyjZj4HsCz8cbvikxkWDh+kb + HQ99u2LOppb1OZnxeXOS4yoLM4VSNzGmGSSiUI48QohtdGH+v80IrBgEVnC4SMavEUYIkMV64XM7 + 1iWM66qG6W7D3/tiS4vNO/cfccTVKHJTkCsjeudwhNlq/KQH1x/o4rxhq0rsFs6hFknFdKilaqei + ED53FsS7t3szHAc/hsGpeJ2T4HtJUaJDWSiitiSbMEXeYJ+Sy1zxWMSnJo1IbO8sHu3RrraRpyju + Ws8e2Z4g8pEW8tLeLVmobeFqgYS8fDUjPa0nRracSw4xZigvjtIwCgENtEy0IpzquTyCvFobF8Rb + rXA+rmZECHY/EnytJiI4Z2o2UDqCAhojLeqL6zv68bKlahUb5DOUduDS73IVIJnW5vy2pBMJ4o1A + HoK9ZpDd0fA2UJcnnfeRBFBYJZ9ssH3HgkpCWm75H6zQskrZfhBT8maJPrmyYZvEE5lp7xDNMmQV + Hi+WFYdRg8E10fjjva6ukFhs0UND7aiMchZgMxcXbMSm7N+j7H5s1NLffH4YQbKGC6wGJ2NQe5YC + tgrRsZRMCqzJA1E38GNEUrgJYvIJZ7hEa0hbW1mRXjnaohO37S+3W9J8I0UyXlk3G1QOT8jJ7YEa + xzgCPUtFFjw9cjfB5Y+2sjRluR8suxlhuU6pDsL9xQg8ARfgOjqkexS7E3f0RXn4P8QSCJAIAlt+ + 4G5bQGPMiPI+vBTEly7ZSZgbDFqpUzyrE+deQ4wqyfmbMg61/GzjfKZqid9IXrIJZ+nuID24qfV3 + cUPxvQkEtPajBkvDFEuPkJMY2o720AOrX7jHmfdY1xddFWTWxAgaYNqJCzTm2mMVV/lJy9ruZCOW + vzqsJE42pGd6EDaOlPJUS+Da2oOUH2qAF52tPcV2ehQDOr/tZCdHk0FO255HpMt2t4lRzHKqwpOL + EuOorZQSJjhjDyFq6uEQnBQ3bhxqlECj2fBAHZ9XlLq2LqpVAjvMHa70QBANWUd4l9A5+sL6FQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a14e6f9e-d279-11e9-aea3-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a14e6f9e-d279-11e9-aea3-001a7dda7113 + x-ms-content-crc64: + - aJPohxVZ8x8= + x-ms-request-id: + - 813e732c-201e-002e-5486-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + vI9oIYR619JoS0vbu+o+bQAO7Mj+Tjz4MNGMWIiNBi7knqXst5x/n5EiMXW7MVV5pesFDQDQ95Z0 + ajO4z6ehvThDXDdnr/E8jjpeE4/O4MLA4aK2LZZAr98mudkqvk5LigaUrhPri9pRJwKYU1scRI2F + V+a3xfEx0BQ5ttMJkce4XDofvZLKtkI8DM5ieth82MG2gwUnmUZYr1xUK8nvgGyfb3By+eukVi6J + utSo65JIvp9J9VtkCNv+ExWYD0ouVxJki8kBF91w6RZWrwFhKNSpVxugaoEpvdP6Cb6O9En3kofR + SJqxNtx6Ar4UuwWOXiIHyHGJ+iqu5xfgX7ZzGVNoZCuTdxXUQikM8dJ+3kxOpMBQz4OPpy0S5FnN + P/ycWX7QlJJMv8cCgzzdDD/kYP5/V9ryv5q1zd1OzrBlrm4ToYzLp9FgxQbu6Qs+MXgkxzRD7xKL + 5OfnSFqC5Hd8zLSjcytbGszMqSMpjSDfGLeY0W9rzlNEHZDEa9MI3R+mJaoYXxMEePaJc2NP2WgG + MLSVBtDILMzRheFTVqFpJcSnaUkRSg2x9CZF0cbeuQeT4WThkQ0dJr5W+qYHLGQmPeAaSBUiscEo + udTfgFbQsZ0waawQY+MNX9xu+ix+2rq83yfX5h1/XocRr/mrPGlwPp1dj+tqe4ocBvVK/GLHfkqk + 72tajz4XtIu42J+DHCNAyUG3Bo1XMJQoITGXvhLdI9KO0qlbf5l58HV3rkFqqwpGyoWGf8R6YBkO + TWCqpDFOqfAmTN+j+cAwsADqCqFMxYFKuPtNnBm4SiCCOGbNv7k78dEXnxqKyCYXCSJ9pCre/cWQ + +uDPWmTNukoTMqt4GHTt/PoZyGjj+x7Tmz8C5d6pnu2dCgxZvWhEc+QOK4ZmOWH62xT0kfrQy81f + +ET5WcoSXEXt0FHTbA+aYG9a4KwQuXaejErVo2U8GxN/p5fFtxQZ9TZh27nEOQcv3oYvgpml563i + vQctwcRmf8XhibCWAsUv/oVt1lQRUtc5P5YgIS+aTxdscPW+lC32vFIBxCWlf6jh3rPyH6Dq5tUT + KJ5Pi6qQRpXBVOslRivsE6azVzgRg8wo5ys+dAEMPDqeGm2nubyKL3fwB0T7Tb5xXZx/K5Xezuom + mTjPi6Jdv/NgtxQj0hkGVN8iEcEDqIWiiUOipOwsoIgLEbem0XUtXVYb+5nlxbRtnqxSvp/rHax/ + 8wQwD5J14PKG9wXOKZT7jGKw1MuyoE0/ini4ttRNhp2mkipqroaY2GYkpFpSrIlwB41SjaeiNDMu + 06TfHQZ3sBJfIiA8vEhIZysMbT+jsEn9fTxo1SrtBBfRTn4XA9G9zbNSrFMy3gKFEX/ujTweUQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a160873e-d279-11e9-b501-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a160873e-d279-11e9-b501-001a7dda7113 + x-ms-content-crc64: + - 7gapsxCpQLo= + x-ms-request-id: + - 813e7330-201e-002e-5886-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + hOj3ciDfFO+v/MmdDMWh8EDUlWX4/pjGvI144OQ31iNrQYZjUqX+9SvzV8pbJLbRlrbeK3XwCmg6 + UFGEy6cV23puU6VgXYbr75IQaLAUJJYVOJE+4GD038CPPMcIKBKaz9nn6VJKbRUq6VKPbf2UNRip + PtAuvRYfj/RARcJFwSNzArcgSi1CGlyZowkV+l6C0Bj8qVM3Z3N2wNBNEscXNMrdAnR0e8Ev6B2E + cC+y8X3oh5d93qsnIQZuMrxxrlYUjVLuphT4gXlWohguVKdRNR/l+xLW62FJjU3TrT9h8RybCcwZ + REgk+09brWzKm0UlZLdb2GLCKLPbd2BrRyBoYmWm3FfjVznOfsS/52kA3BrKlaus9GXc8w1s18hS + jKgdNrGgHtec2Vtd78odsSCw14TQx02YUOhyG6gJt3VQrLU91UjGt3ZoiF00yHhn13pPNbgI/oVg + 9bvlIjpIdmjmyVAj4n2J9jF9wAWP4EoPjmJLwnfpjw3UPfOowSlViwLWw+PUBSOHhQ0CyiMvKDV6 + REqrXHyAgKVMmMhdPQXT/r1/Mvx54Q8eJt9Fw2r6b+euFtNGVQRmqvk5Y/JNhumUP6YWE+R3Iaaw + 1aXKT+MDIiFafcqpXspeoo6uTnioJdcRU3Vb3c5Px/zoMiKfDCtztt36LbHUwdRF21P38VTzXajK + 4zmFfetypIr9PJxAIGu74orXRKwGtY2E2jIwzhLIjZxhAeimIZJCDsaCgHLPAP6JBDhBAAjINlCN + Z61ihg0jJkfNec42E5+PELJNVBw4eGKhLA2JRX9NByOXrVQD05KjQn+rb+yU6OSNC7XyBYGcsL0v + qYyzo9IInyG6xbvEqlyrLB0wvlpjtsByYyWeKimVaeBzvLljTqz5gvM9xMwzsDnhhISf9Sa86P6y + 0gRtRR++QSBW2TNyACidfN7vxFlJAwpkxWO6vV+wKxGjFqmPVayHOcjd9gQvKtjJdBBlpSGn67Uf + kSxtZ1OsPqlogcBYzstUg90z/rCFDjwX/qFFNV+W7iufVz9UezxOK18/MG1D4KdTZe8Ov/5ISRhX + fysUxIMcFAdOSn4bOtbn5yaxnsBpIoSDtKUdGW0BZ607xzA/+ih0tB8HlgznhGutXKyaG3TYZ0TS + rnYxhFhwLD1I2+U7Mey9w+g0XU/dSh11qlIBwNFxgyxK3fxJU6pp/kf24kIk25qa6RMiXuQEF2Kn + D+0B8s/Wba1bCLDEP1ic+5SKHLTYOrDEva610iSPrR+zK4DfePmcKwnXtbOyVJ1/GuFt4MS3sW/C + 84sthwoUheONCNSWvF31AvngUDDfvocwF71SW3LWKPZEvNFU8lZjD6x7lG2Enbm/8WooF0SRuQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a171b692-d279-11e9-bcda-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a171b692-d279-11e9-bcda-001a7dda7113 + x-ms-content-crc64: + - C1ZB6b1Iy38= + x-ms-request-id: + - 813e7331-201e-002e-5986-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + /UZuoTimfaaRCrSoOcj6iZCme9qm7eKOd+y4tWRttYwzBX0L1psUN/vke6rizl0RZ4Jejm/7Vu9/ + c+zED2o04CT0zfQMixCfO5CxJZM5S+8uOYPqibTMBQI3z+dduO+frxFXymw/F3daqNVwt9fx+S2E + vQYgHrGdgF7ekMKkbvNLiwR99Rbu7Ph+zAGHTu+X0H1px9qi5oG/ZWQvMMNPyRx0KwtDc+x2YQHp + 5nrQ+VqB9ND+qb9Ix1ivu4dSGWNOUNUTeO01pHBTJkw/gYTLGMjd12x36k4K7fEfL9RMuatEc23t + xk3wNDWEIRIyVSVkQOtT0y3yMZqt67RRN5G1bpRVktmf7ofnpZrlMAbfk3EX+GUtgbdt56HGGHeK + hbvCsN7eEHYJnaFrxgLbfr9hMCkAz6nSx9lBeswW0Ur5Fmj5y1aNMtHI/aAgqjm2nsUrClFv02Ge + GXjbFqBmeH0ZlSzfIaGwV+zMdr47qPBOTabTCcQJy7AQwljUOaJTLTy8BDASqLB9WNB8dMGFX9jQ + HXPNthoC+zzCIhZ3UD+OeFGLTChLAlFAEEUiRBENI7WlNGSWMEdbtUjGWzIkM73cLh6wiiXXQYqm + qRzFonY0ApwHzuj4RvsIJV91vrNTg1fg6waoAR1H4nRepJR45dYNpw4RnmWLqgC4fzL16CGt7BP6 + CP5bTZBSC+ZFH8dLG1WjyRD1Ny3ffwiGgqH8vziVtUob3UNa9ZoMK4qJPugt4HV1GU6YzE1qJxC1 + eLrpFGAU5Vy4FNHXRJxr2BykxWfpiXGAZ+sgHsMVn9kUyc5V7TRqKj7VwYfI0zcwxgCVj3EyszK5 + ax3gsBnSp376gDdLOzsPBEjsHVhTtyQWdCygocgtP+Yc61bLyjmfJFmD19ewGaNLWF7rhpGXy7EI + W1tTYyktPjRBt81q0mjliZN1v8OuPHgsXEtop5pFeinhAuc7OVJVtO3r1SADEnSixGOYvE1PnoBh + HuKah5E9B/ZBnq7vyUvf3IBSLl6UlEVnJM37eFnO3dFks+TYAwXvHfYmtu/DXdUQ5qjGzMke9cta + fsohe9e9Eh0oKHQkJd8WdUZ3ZOxDEJAw8/7mxrPauZ2uBwwWkULnnAkEXY/volKgtjC5VGCeHL9z + x6qEK/VEo7imPvbGZVvPf1RaSZhYk4l1NfcZE+pShgk+Uoxb6+LeIxDWOxpqu+L94icGSwUUNAzQ + HKLPdntLk/a/oeh0VweaEftqjL/ZXHXhsoTBlXgm80q+hiyhtSy2lNQAyqVPdk8qn37YGJyW8yCE + ZUkXAB4+P+iFsMhNe98zKHQVSXj0Wb1WoiyB5edpGK+4JQYxCRmP92/cQzjotR3I6ciXKL0ypQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a182e330-d279-11e9-a440-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a182e330-d279-11e9-a440-001a7dda7113 + x-ms-content-crc64: + - 9JFtrmHm7Jk= + x-ms-request-id: + - 813e7334-201e-002e-5c86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + li03C95czT4CsFL+bW1JHV2rf2J9b4Y3MlNaNYIYugy7iHUywRTQZK2bIDzWORfOf6fTZKwNdMKg + wkXLWvpTVcCu4Ozwi7lGA4LcxcN2XarkR3uSH9yAIrrtg17LPXx0ebAX/Gvn+KJv5DJng+5tzAjl + 9ashM2DhCD1pWy4Oby2SC1T4jQUEfGZBTjBowETDTJVxULq60MilBhwqtc/5RQdfowu+g5G5QVTK + XMLWiM8nouHhqwHaEW5SwvbUu/7D1n1zrNmkKbExY8clySJHFkMITGLKD9lgwatdUZWASYgF4Apd + g5YbrM2/AuZlfDxkNRdnJegA+N7tsWCq8vhj1yMQltsnruT0eUjMzZD2jnsGNqQNh0g9OMw8ayxA + jaXrDlKBqPsYOOxycsnJ80Zfh+90ZUa3C5wIZckI9b3bRDphFHey+M20cg9nT68s0mTve+iB249c + G8HmfmZGTQsHbgllYdwKbYpnJwg7LPxC6FmuwUMGJgPHh8wJ3D87kRu3/Z2dSXPfnazNjXwTToCm + 8YYYoLNW+rxtHI0o8p898zikzdLvcZ/GG7QkTpBJFHxqYi0iiygfDWsi/d2Y4Kxir/nHZHKTrcrS + xFF3Ek1Xeo1VSR5TvORjYV60H31dKugf6fcObNlPnUVfqHgb0KLCU1644XFKlP3GB208BTOq/O9L + b7iC0DOSZfKAJSYzzNIypxozQY8roKV4xFpQkV0aY406b9ZE4BvH1rdOzJvsVajsy41FTfUBqs4a + G1JTba2d88xjka11AkmeraJ2v5f09z4D1mETYjENh+CLt4hHrSR96Pqc27oK8pS2QF3o/Kp2XCMj + W9LnH5o0/Uy34mMZ24FvDlW/leriA+/VSZYLuaINrhFEcdNoQF3RMZLD5mCJAguRiGE0xJ5Iq9at + 6lRWbaMDM6TyqMqraozlpAywz84QxnQq3bvBUBRh+68WVnQblg24Uq6vodB8UGZTKh0raukuHlXO + pR5OLNJ8uug7kSWFMGfcJ91DGkIjnQxtyoTdT85PEXdzVAfj/WEJX5Z5i1+/PTM6Pwr0w/CoQ9rf + 2gk031Z0Fsc9frXzzpt84hfGtYKD99UFMlb9EhLydNYkgfackLF/uNxfmKk/0buvH1fmVH+AET3b + KGcmsURU4WIYfAyWODsQtqhW1Xi2gNgM0gww/oWvMnlGE7blHvc4hnn3WbpCruneSWgPdQd86D+W + 7TFTegFW9H9aeQfYxV1Wv4lZEOvdle4Um+hIHbDVWg/TejT6nRnO34i0oMlhq0f7T1ygdqpbvfC7 + tNcxzUy6Ob8x5SCshSbi2euR1Ci7mTpuMN1LZ7IuD/n0tjD6UngBRaWp3goB3HN8HPTQfYfq5g== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a19454f4-d279-11e9-ae01-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a19454f4-d279-11e9-ae01-001a7dda7113 + x-ms-content-crc64: + - ubOqty/+kJI= + x-ms-request-id: + - 813e7336-201e-002e-5e86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + c5p4FN9YstDca88KeCOyZm9IG51V4ZljGpoYa/mHjQNMsYkOA4tRSyYeQbJrT0LkUh4vOfS3VqBn + wJoAWIoPJVKR3+CLDx0xCnRtJX6hCeH3yxqnMltuw+sBk0FpXrQMLtGbEnknfgZ4bM1hAAtI5M6/ + 1Ci+HEuRPKdvc+udWlGWGWaxRZpBGoWE1VfL7P3c7WADz11YtPbAHK+31/ybSAOkdXZ/UYxER8na + wVArJJGoh6kKJQCxftLQKsLNjC7wzx+F8iYzrUM9c8xKmUNOpF58AChKmvjVxYVySkzNRrNq3xmO + oxtUZkeeFxELr0UJMwQUSPkggqFjDNVVs8xeqTVbvSdce9Yb8B0CP8hfUMqhuAFl6h2h6++OCA0v + uZQ+IFj00rYwueQzspdw6lN4x59lSN7xm6ZQQHOE7o0jINaOhDWOq2+drMMcNvvcwwi7oJ3RVl4C + rHCn7gXbXJKlE2wsEPc/Jzdf83W6xdLltMVdLJbuvaLe0DSMSFNRPLmHBR1byzK9Uc98+GAXl9nJ + hy0Ecm+wrUSY+02m9ky0zNhFvuDOJJPm7IYBPoWrQOWG4E744xGnwenq6lgKPMNOHTrW2l6rLzCR + qS6QCqX3u56xFoE5xvhcVzk00yrWwV2UiXrbshSLstdMtm2aRlkevbHUB8GxTlSX6AbNKwR+K+Gu + ftCVds+YPw4KadHYbQb+cqD3FrD8ZyVOR2A9oK3j7oYhAiQcecun1IYWvOLD8d07D2GQc9YDKoNT + Tmne4dC3XyXJjZORwjxMmr7MJGRMHOdJZkDKJVJSCNOIBV5Sz2qhIlYWUxawbzslR4x+6lNomUli + nClo2e0TWYaS5qBhNeXzUGH7j+aV5toXWwb2kzQkMXJ33Zv7rofDkFDSgAtU72PIZ/qVXleBQNSC + AaWdlunQTaMj5GWuqcYghZXrJZzTlR9gu9TxlIcYItAnnWWtAb+2nPVp3/EdGGRzyiPMaqxF/fk+ + WxrA4RdvUQAIeFzmWdknTFERxEEwrfunsvfRGtGleIbNVXC8l6OzWg/26PX8JHo0hO4UiRhSYsqp + /gMwTNzMpW+/4u3YkMSV1rtsAQ+tPCvvZLcZexMgxCK1ao598iVSgCSrevxpOfYlL73Zv0SLeh5m + QQdbZuU086ofdoxKshT5khieUVICoK+/FoTG4rmNtU+mOSgLHeVkz+BRYHZYKORXvB7Hs9BEXkyT + 40Bsj0ySr7krMDRABGb7YataQBF4xBQC9sqeNYdNXtbwcqLnbBgeSbVNM2eUh4R8icEnKlEvew4+ + HzvAiyLMRHdA4PRUR/ujB4Fg6iAS0RjOWWOxUrfrVBe5ecFrz2F8BBqQ/lgt3ILa3t1kOMRqAw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a1aa03ee-d279-11e9-8306-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a1aa03ee-d279-11e9-8306-001a7dda7113 + x-ms-content-crc64: + - 51aqRsbiDbg= + x-ms-request-id: + - 813e7338-201e-002e-6086-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 6iskM/AO5RCxmQnwLb8PkKItiZ1/XaRhRHCvHG2vxfMntN/3DnLGlqzhRoQuwOOGWaxUoalMdDsC + CSb9JuuCj76n1UBTKEyGHzgQWe5q4vRO9YwFTlLWrOR0bzJ2hRRDFp7XaJ7Vgc/o18yuJd1bI2zQ + KkIps4qGBNUoIlRch75gHrmXjjPJHVenY8OauTS3BBZQgTJgakT5IJUxXEfCQ4zJHgD3uCuZcUXf + pH2G0/Xei/UfrV2ISBkrgOdjqYor3Xi2jU61h06JDT0xz0eoNCJlH4vysaxi+TDz217qVGIF7lNh + 7+ThR/s6Q5ZA/uHntA9Ncr6I7+7FAKFMO9umht1oRK9jVQAN8+oYV+wY/PlZ17cRY/u5yJcerWIp + TtcEnSUAjkKf9YLoC5sSXkLRnUGFvhmbbnh89kdVPbIttlGSkGdWAxEsgfN5YO62wzMsLXciucsy + tbpHP0ZAb7LpZta7vl3rEnexBtZCPGKsxoMPL2BNTaaUONoEAE3pyFSunkrStsSVil1fbZhHbNne + oKqWaxGq6hArTa6Zv5NJAjY65GpE2LPNAbjwAltXhOArYGYJylcZZFxpzy5NhfCsQWxR9T0+0+w+ + x05JUKe0AcQ58SelzmY/DZiPCplOqrjZugI50yNnquXQmTLcLMMUUlws5f51MmCqZ9mPqi24IyuB + s8xlfVJ56goyS60vJPyrM5uPI7gBfIMiADl+NhydFhhZlcbUY+S6DbPffdyd0Mauq7DDCe5VUS7C + BRehaeC/p+Zhv/gGDa5qlB2lWZ7xu57lEfDBJIGGRHw71fJ+q4Bo5qlzzBxiTH7p7DolfT2d4QaS + UNsf2IBsVsjvyZOmXBzrWdO29/GiED75F2ezPynr3CZ59wVgHSWgHGMAeHSnCt/kMouZGRQy/SqJ + Aa0512vKQXinrSw3vd7SoLX4tLcP8sXBkWhiZY9fTaqrCFQLqqypjHXPRjmSI9mjsW63pb3oMF7q + kXdi8w1dyi5BWq7SENyV8CjUlBtCrwHDkAtBfsxX6SADajPpPQT62pG8TbPpW3tMQoWTuJ1cJ94V + xMRq5MT0BrQBT0Ej5TaXJXWhM7dP5j/vKTTRCqPhZGxO4ZfYOF6LMKr1or7dwZxTwwpIDiy9R+c6 + Zl8t84a//KZLb2yjF2fNmmTsH2UefNdyCpXQ2UrKTiUrq2Y6f+k5qigvQuRSlpcDn2rHupBXDfKL + WZ8DlEi7qbgsb236uAEeLraP21JP+QHmQBmoQEbUafY/Px1taGBjMljZfcSopLt+P5skvNCkYlM9 + 7q3j8qVMvPW5O55wJEcn/ZK1qcqgj3wI9+a+3pMIhC4Ns42Jx1Ho7NROr83GQYWXzl4klaq1ig== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a1bf1992-d279-11e9-a0c5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a1bf1992-d279-11e9-a0c5-001a7dda7113 + x-ms-content-crc64: + - RzVKlNwjD0E= + x-ms-request-id: + - 813e733b-201e-002e-6386-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + wnNo4rNAwFU2b8m9mSv0Xch80H6MtcsBBn4PcFlfq9aQHyUJmWRPyRj57ty1k5vdDlPCuRcFFFxT + d+G/qlvNQHVQEcGVl5NHHovnpZ19MWUFFjXrhIFpjzoROQbTX2zdoZBsBbMeC/NTgsP8HW/NnqDL + QdzTVru1BdU/UmJ1YmpwVaSq1JfLkTb3umiG29IM+Lk//iroiesIN5gsVCMyr2mh4gxnmQbK51M/ + Ss0PmuTQ4ADIcsr1IAgYLCe178B5L3ctsHazQNu9ChQ+iDBIBrYfH2JHxTf59YVGyNDj2rFiN6w2 + aEhz9219nVrPJG+u6jaGSpiMzZ0ejV+P62vddANM6iRg3jc3oZfzOEaIYWYcgXLkqfjfmgVeLIPi + epKXdP6f6DpKW0AhH7b4Mi43aLXU7uIuKRWTU9z5501eCf55XPUPFgHZpxdgI1Ni39WJo/JREWE/ + mxeA0pRb8+BH5TNggHuFXR/jeTbh65/5Md7trd9dEhgZszsPYEK8+Ca9kBbtn33uUlZWbpePyFQh + vkNKP4Fb6Gc0YLVcPynulVtWv6R2Z/2vbcNFM9Fe5ryhmTrCB5AtqL1B56rFVwvkX0lvnzeL34cU + sAxuw+YJwHysMgT1v7fqNq9ivO3MHypmnD2Md55xbi0aF83QDwR1cfp4MBodilRKk7hGoHbI8tQz + 6HsFT6de/HJEqkSRdbnEzBiMCirPlRx8o44O5uA0GFtvAyF7kwxkHr3rfF6wK2SQXzj7CyEs1WL8 + dCCoLo4DKc8ruO9tDG+51u22FsHUdZrHPiQvThqMxMLXywMCda40JuO3aro892nKxGL77NZitkYd + YO7C9i/244eWzMH7QwqfzK0yYOLNqGeTuRGNlypMKu32yvXbsGXIN+lJDJJwqbs01WMhW52t4Lub + Pl2gHsf0dvxj9pQ40Fet8UhGqAGne2Kn9YRKySZPwFyqFBvUMHDmp8CtCenG6Ddq+stMDcglkQk1 + g+G8ZZ1uWdtRCAkxxpZH6nG87QtAPFBOobCUD3lfzuGd75BhnSzftmDsWt2N98dLsIwqijaolUCj + +xcN1c8rWR+CeKD0PqL60XIfuJt6xO5yu1WScbMqod/uFc0DFje4+/bMG3U0L99tv0QQ4tmKa0gQ + HXOoE9jolECEtGsBA1loJhPns0QwL95MUomHZZfmZcuESA5whObRwAK19H6cYMgNZStowYc2oLbR + Njag9m5eB4yeF4QO/g0rtO/kuOspsbzOiT2kdcKFaOrNhBAaj6EhdpRNQMp2AOEYjUi0ZdWDm6o4 + vrX2zPNXKvRrB3QiaJRTOZwFf4i0D6oWynZqK34f/W3G1d9eZ5s9bNSwp+/GakZwcrC/sYRuig== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a1d06dda-d279-11e9-932c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a1d06dda-d279-11e9-932c-001a7dda7113 + x-ms-content-crc64: + - inNgkD3ob/k= + x-ms-request-id: + - 813e733e-201e-002e-6686-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + XFJ6Q1xkVlM3iHHA6gaDlBfdam04u/u8rAOueoCGB1M7x/ju1kX6RHXaGXAypoyFGank+Ek7FBdz + vAY9bE1ktrWvskBFVR8+5co080nFLtTKKLMd5mxjow1j9Ty30Vb0KcwqmjjIqZ3hevO40JVV7iNO + as7A10wqDtzV2YejlMfHW7Jx0+URb/ckA5Brljk8DyCGe0QcS+aKpWk2rivgtTyNlWH1lOCHfkbX + Fs01r9B2U5BxInPO9PZYy5J0WyIL7LdLZThAZPUThch+UlypT2nVzZXVa2ejSnH0S2auKgc1++zn + cjHdJ60vY2rQqRiT72UAfs/aG22UfsOrTNXJ4oEdGyOBVSrvNeglQJ3zSbOteL8FfIfP5HIXXHac + 9BL8leH3swdoYfsPRdhgJ5tRJ6Ta5RJB5qBhvwQYBED+flcnBMfu54RW6k62LCCeJxa460ukWc1w + wYGhOiQEYCSuvTsdq7KKxnrmEhsE+3Gvo1PYvbgdGOEJhvZf7DxCMRQW7QciQA/QU3Nz/K+E+mGX + BygFLpuWY7bBYlOfPp7SrHR5c/4ciXIeX/KDlawSVejplt66kNd529je0Scq19NikQrZ8rNDFN7s + UYWrbhEO9zJ6Pa4OQak/D9R8hYyP6ThiYX9NprlXlGi/B88xE4pi8CT3ENF6HkBtSzcJvaEBuAIe + 5GIB7c7zrFqCSUR6QIwBWJrfyTvcEppbWwU6inHMu0wO97EFYcMWFuBK3qVbQ9fFT4goRs1Ve1Lp + XaNEiU4PBLuno2TvIqUM+PoQs8EMXDgGulfNd02UIhkrgcdRkIUcGGr6yQwCq604sTqjJpXm7IiU + wvfSPmV9t5XawwVerHXVo5CzsC8EfVf7sJ+yO8YrPTeYHjsN7He/UYFM/V3EUM1qzymkDTr5a6T5 + FhOV06Ap7qIAsGqu8ogwXn4AbIV/oZvDphEkBj0eLVZ7lRpGdJVI2Iowdsj7TvFQQ0MLcjQA1yJ6 + a1Y6vjZVJfQKexzhv+avqIAU52HLUikAE7o5eCtihlw5FGKOvw755ablZ3ghVOU5b1hp+8liubpB + 99X2zGT71+Rm8HJ60Rv5LCWyGdqc53oCpz0uSCGUIY/fWp8odTHw4FlCO0Z8C0Ne8nbfiBgoERRF + 3Oswl+EUFuOR1IG/kIkonzBq0pXwmJmEbjM0iDeg+5DvlT/T6ZOB/MKql89cdrY8+CuhNMlbT7DS + 1bDcm9r1phl8QKWQud1mJwoh1c28opvi6d8kLtHmw4QDNZ5XnzxjQxHqlmkxKt7v4lQBm7IhejtQ + HilA/bX0hPHcz4viKUdEi0OUMumlfFelsajq+76rX8GQbjGAV/7BPpbcI9xgS6NY/tJPLVOPKg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a1e9af76-d279-11e9-9875-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a1e9af76-d279-11e9-9875-001a7dda7113 + x-ms-content-crc64: + - xTE99UvuWbA= + x-ms-request-id: + - 813e7340-201e-002e-6886-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 2QZb3VzI/Th2ADP+w/rnselRvqlC93aunykGABba4uuv5duxVvqNl1199pPEB/byNCtY0wdIoMAa + UUctrb8zZm9YYqfKepuLM3qpws6XhJApE/wt/ERk2YuBs/HpB1FL+z4/5E+eCUBQJG3WeTVaCro6 + Ofk4xPujhCIQnVcCOFvjL3stD9kzx7DLWkpcQke6S+zYaoCN/X3kU9MKO3ELxUIvja4K2fMX/AgD + orj3JdMX7G/eJ/Y352YjmLJCoqFVp1HJLkO5Gf0/SiRsi21rExMaq/NGI20vrs+9Gt1z/RE09PAw + W6hqmFhQjo6r0HDiCQy54BmcjlrO2uHnBtsdjV34JGvVq2Nwvj6Ujp4uyAQWCltJdvwcfiOlfWz6 + WkWvnksIT+uE0ecMeXoIecEWPXPprCsLksyA3dUGit4m7Li06w86OsqBvCagQGl4sl1aw8bBJdpl + FQE6CqiiILmMw2sNhgATaXLcS7ebQ80926OoPXAfX752nt/KEqxlgvvRJ7J7llATYdwNrAAVQmP8 + UszXruADmPlsbXsy3Y21QvPMoXYCzL6L7BD+89DweA9zi75uXZXogfeWVE3EgQKRA4WApv1OvcK9 + lTcWg9GhHE4qfl2Y7LbdCjMZycHwCvpCiJRRL8VtNXS1R4FbTnOHHjXffjwi2ZLSWHR0Qwq/irxN + 6HE0S2NCQTSUdNSKEOMX3y+1OXJDtblog5fV0z2zCj2dbxMBy1VIwfrqCp1bWvCvcs21IE0NdeY3 + 8jGZP6SQGIG8Sl5eZaDX5Ez6heYeW64O0SVmLVrP7d+R9QVQ6x3tLNpvsZZxuBhP45zsfYrL2Xyk + /Z3lnGn9CRuzjO4Fr9TxkA7RP/ggJMQ+NfMJbe7baHC59S9SoMguJowAeSHpCO8v0PJSKk0kGx6N + wiQIOXjdKt5rIIsrXWHbX56oN10o307UOJTGQB1Afwfbqsdq5kFyCwZiHsb3gPsa7KdqlFUN72++ + b2BPO6yUtwXmsdu5uELFh/G5gYCqesi1SsmwgwA5V9XzmNzqXu3pOxhbTqUbO5XGB0jKjsbuxCTe + ospifbjrt7MmdO5GtanGGgbF2vXS1Fb0lUSHHy31voh34fSUQL/Vy4+uCJP8iKj01Qm9F5Hue5DI + +M5XZRMt1bIdS4Jd41ad65kMkg8FuXWLwXEEg0XnoCwe/ot4xiO+n6GH2jw5YSFZC7iH0lujnCMe + RG8wBDijz4oXajf6T4hzPF4drYpdEFqw1eykn3cmMbQ5HQ2i8GvJfOim1ly4icpWPG+nO6oF9GMJ + 8ycMtCE5yadlNkH8Xjeb4ArD0AMtpITi9PrPcczt5ByaXudvr1IC9UhSaTZE+HicWmSZmndiRQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a1ffd726-d279-11e9-b5e0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a1ffd726-d279-11e9-b5e0-001a7dda7113 + x-ms-content-crc64: + - YPgiKxV/DEw= + x-ms-request-id: + - 813e7341-201e-002e-6986-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 0g+kPVrCa2q/OjWe7nXIr5rPYljAj44Ept7YGdTAOBLkwANYQtwxqIIdcb/AConCWJCTlC13RLeZ + PK0/k6h1h9fHd8XCgR7OxZu+dSFnBnSz+3hJzGiHpVSj6R7szJF/BQrYq7ZTfzQlv8XQp8CTSnsn + U6MIWdmniP6EvQNn67eBLoTP0fw48wyLnLGeKd85PDRR+3G1flBn2+91JeA0FHzTGRmAoFYSZ4AJ + ONGcBr3VRLOYSb1YOSL3FbyUbuDGl0IaKBCDT2kbHVBHii92eqdiWyk8/tQ6vlEGSLjCvOCI3S3a + 8WZd4Q/4VJKV0gQk+WcV1x8U/R5lNdKY1VQDBTR0SWSFVwiI1rtbwTfvLE5vTSPDvFtCImYhKMok + y0rz94m1RqhQnTFSXVryyEzxdVqwDWByvI/dChDaVQ2hXf5fRSsSSDUJM/ibt+7mslaL12bPDDuN + DbS16GzgMKcW03KK3k9ZPjWNioe1ohz7hU4P1GTtjkHgpYxjJYvNi2zP62tTV5L+Rdjaa5I6t9ZR + 8/tj4X+NGJY+FqY32MmzCBPD74RhXkGbYBTWxr5Dn7VSGg7DX8oHDhs6u4fkoZofbxj848fO5tIl + zcJEual8KfNzTdadm76bujt6sD9tl39Af9eNqLuNZWYvjXmWgbCO8gG4XndwRQk+ebJ9g+F9MfAp + sjdn6F6OsWUMEw+Av5pDAKxrtH+HulhpzBU3K/s2gQczu7o7ALxa/fPJuvBaKuVt3mqpH6xnnpiM + 8DgPcxu7RhJSiUpRZauxgqFZ2G07Yyae0wvEaaR31YN4ok9wOZvlB3NRLTOTLvDCPko9GGg29Bf4 + /vsg4JNJKU8FaKJbrETIr1TFaCYcOtY4WSSDP2v5T4aQEDETzdskZwRcKF0slHO5uh1ol0U7UyWK + 5CtTiIbR3/0O2VFb1E3HbOF5n+j4R9SBA5712qGzF+9/IJDgNFBNgcU+jOVh0GoF4J+K6MLEAXEK + ZLFkZCMvaemw6NP1F9OykQa84zOAq1hsLZbv9rpboOO1TJC05o8QUtK96biPyKHNB518a4OmCavL + cbBxdUgAHm/ME06QJ4vHgQKUouJe+lTP1tl/0OU5bHw+l5vjShgHa+laT+kZQyfa+vnu83hqjweW + Zi1sqTumvgWfmXIzXAgf62FNBpWa7Mq9e0lCZ/dbMzFhBBpeOidrdnqlYLntjBm4wY1VlIYiZb3J + EoLvavITaCYeg+PSXbmz4fDHWtNJ8GeTGy1Qbx072zq1AImOgTeAnEOSxk6/lCYCElO7yl+4f7QN + 6Adz9ift1n2a5vHiGX6LKleokOo3A0kRdUUHFGRLGISHQ+hNzFj8+WsUFSR/mews9NzFrSd4Xg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a21144e6-d279-11e9-add8-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a21144e6-d279-11e9-add8-001a7dda7113 + x-ms-content-crc64: + - BEdlyN+UFas= + x-ms-request-id: + - 813e7343-201e-002e-6b86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + EHuFhGEqyZoxL07tjC/nNFx6vff5WnlXJou3sm0/F6wV1++KQnxEg2N3eLqtvx/E4R52VTvZr43Y + g5AdPABEr3oXhnlX2zSHVtZJZ7bD1K78Aaw0Tmi4w5hXym+F61M1t7gfYvdNgjV0LBAYlCbapDbq + ZvH038eEUkQPtlxwuRdaGZcJJr5IerzggG3HacynDo6150vrfomNffZiOr4vodfRjzZS31y34g12 + wQMbOZEkUtS3hD/7Uy4KA4clyh0IKKnklq5bByxhvHxRB1ZtI3SC3tntXX71Qe+Y9pVEnYSMKYJQ + yUJ+wVRUwctdX2paCPjiQFMJoLlNcV/HunqpQNd097kAcLrD2H/yVwrZ997WFLrqJdlo7fT1N7jP + ImAHsw8o42F3DHbIaD8gY0mt7zjC/HI2oFrGu+W65hgJYS+uZ9ScuoWxu4YUPyN7CApW4gE6e878 + ge0tddo0ueEgp24MfQ9Qg9ycn251ltCBFLYTH8ddHETqGKKO4ZpHjlVJYg4M6phkVuT2JcMk3G8v + BlffQkFDOIQy8e9eNNGdeW7qn9M4afQE20fQksyoYM1t+K+yTiaaj7kbe5l/gMUyifgiNxpu5mci + H0wMQp01j6VmFfKAoBHKmnhFWFL4GeMAgbmQoz8PX/xhvwauQhc9ANw33Ju4bFmkMzSX9HLxEWL1 + IQwuh5dx6rlbVrtDQ55ASTxQyoMF8gZhXGzHSvv9FwoFgMCIb1yyXN/hQgAGBJu0WBjRi3Ol7YpR + RyRqys/fMB+RGkREEzbsLeLecKTjt0q0pKU+us5SRhM8N3TVmNG/NqOjzMDP009WTBckZmQ7a6bT + BAbDiDKxKNTm+ETWzPd7N68C+nW72JFmabZN3gENjKq8mcDHSsO6Xs7CCJuP+pGQo5F2fLZMfMSx + Pk4o6CrbTWYjWkZp+B2q6IKtM7Fvw0jbd/x3VTjUioDufmqbk5R8aFHxHLj0PosfpSioljnyQX5s + QUk7GppP5oaHNA6SiI3U8WnuXQqVFK8m69HzTnon1QqlOHGiNJe9G8zQF3u5sDEXx1Zs9IN66kAz + DtddR2guFg2BDX7QaSSNoDg+QRUjpq3P5fxcTb/x60us3qV+73QtiA1BiOd+gSStFKIRV81Krz/h + cevfx4jfgdFWIXqQq+W3yH0nzT8Q0rtxe3XY/ANbW9VEq1zDaoHXzFAQFo7+7BiyYWwlV/N6XZNr + c1AnqopQja9bTcaUoe05BSNwS8l5T3yhiKuj0Tu416a7XRlg3a7Mq9nAwBOFg9LgVo0BgTFJKKOu + 2tbW0Yy08zivqd1ukBZlYPXlFUnc8qeg71X7Meo9Jsvws3jIImWKOPUBQvHKZ9UWF/YvrZShrQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a225715a-d279-11e9-a732-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a225715a-d279-11e9-a732-001a7dda7113 + x-ms-content-crc64: + - AdDErFxofLI= + x-ms-request-id: + - 813e7345-201e-002e-6c86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 807VzHbgvt16An82aEGVViRlGGc3Ln0f6mEWlWFaJjVeoVc8/QkH+xx9fuY1gouO1N+cf5nIYFPB + W3V1y3l4qlyaKw9cYBO1Sw6jcZg5jLu4jLsqSfP4y5P6jMSy4ddT2IoRBVImygyNH2TKEIICkYIX + U5269XPrWVPiA+z2IozZtnZASWZnmPw28I7gEUv+Tix/O42FqwSw6q5lJQOKZUAi+Zjehyi9HAxa + ppvd2/wpT+x5KBDVJ01g5LYu12UtBi+JZnl10AILZv3GYbCUB5D1HimxQUBSBq8H6tkQxRZVIAAz + shomSEs8eLCuiIdN4Qh9fVLap3+GnzQNTyxB2j46GyixqosDm/ybcRXgRm90BtCFNmuipY8DowtP + Ih+zFBBl3ENfj+sxRxSyX/XJ45KEuJLNzxqv09676YVwiW0HJPFzyoIn6774pAaTsetFXUEu3n4D + UqZ09xKB4vOHjvU6Oj5Wv0I+eS77FdhEaExypYY/mZH7OJ37nlUin8N4Himdm855px69YrJBLaW2 + OTHuZRtRESEH16IbTZHUGRNkhSSMOkAPgOBI4sR46nz72SJFjVshuDsMCeA1PpYESUcy+SGuvanK + 1XQ4NlLnL1EI0B+va0fMzs5nFvbO+FJsDCK5P3gHW5Hzm5X4nR+CcdrTAGRqtKvFPtTnaZtCV9ij + wq1dZwH10+3tU737yAKj6arwZqaZ5FtqtnEKdyCOHatZ0TYepS7edzSuuNdcdWSzQPEtq6GIfuik + 5zYU8c4eCbC5hZL1A/6ZphJDFCA2hKYohNjo7N5uUnTHlIY6JYLrjDz0Dy0bNu5WNHOl0KjBUVyk + gX3QJlIbGavrRzulbxQkSnfW6bp620OhULXOqYAAZSwIcjItAJH2dGr0d1X4E/gZGGz6JZmVOeky + K24nG1W/px8c4jMKDrD90HmG1DSU2mqeMloPkfxgm2g0WMcnrtHrOuWprU3UWUvUpjrqDj7ezzc3 + TjsAh/t/x4FMumUPLhX8bwa3HDzn3pd0S8Z3ZJ8jRqbzG7RR5fvhHBIWLujRHiqkEGne3Lzi1eiV + 8A6G349eSKUOsAXpfBhlbX8iXpSI27oEekv+gkMC+xUN2xwJrQaTQhNDecPQ0Wvw9LccM1DjdXRZ + MrkbjlyAHBTZ7jWTDnL2ZiQDjYBFbM+9V4ITwEBCW6+KdYzkHkvmfC1rgTyFbS1hWmoXX8qIQoAi + ViU8iO1HJti+bPi5QGbnb0IuCI2/RkBEUzMNOX4EEnNAuhk0NAQ9Dp+BSJ5UXRCdcjNxpeDlwHAx + zTCi1fD9mRaXb7EvsF2kc/Pv46XtrBvYsB0Nn6b6YcjfmK4x6L4gpVvSbGcK82tqUqJgzyAepA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a237689e-d279-11e9-ae9e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a237689e-d279-11e9-ae9e-001a7dda7113 + x-ms-content-crc64: + - S38x80brdI4= + x-ms-request-id: + - 813e7347-201e-002e-6e86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + bk9gpaePjb8q6pDymQC28nhzdx6mqNQxkBBBWEDdkh8EFqxF2Ik0LWmz38f0x277keyJ4o3ejo+f + 6AZgNycULnCZ7XE5hll7hqTIdtDNfik1bXEiEvNdLCkkp9V6wdZdHRleDLrzwZLvjNI7v1JgEjv+ + MqiR/JFGknmYInyvz3rWTB+zWMBUw5qlcVDd5XAlnf56mOxAddI+PFJ+g/tfE6MmQdsDfX4kuOOu + KRbh5Ujy8exaqjFC5i03lHLjfTBw4ZftfNp3Kl+XBzIMuZPx4oSWjvONPjXasawy9wRta/m3WIcx + aGlRq++jDvNn/ayKE3Srf1Z2Y4dX3sdjxD5A+8n3TbT6AryoQRNMnEYNaidApDTvhv1078rF5rXS + T/XrrM+J6keUWUVXWL9pGbWWO5jjLYSdWiFpuJqaVxUADQkqHDY0JRgaN9CO4LAewkc2NYfUX3ou + wgC254TIM69GY+nq3ZKE6ZTfTlgYP6NkuxLC36Bp1WpThW37fgt9LIvWe5+E5SycMLf5YNVprfPz + 4gr11w0jQ7EvBwMubLUjzaTjIuJ98kJ9FgOhaB/aYYLam+Dst1a76Ej444hHxVJcPxq82ZlSFfPT + 6VNP+ksghaY5301KGHtS6aGMylU8v3OvyOz+tlWHotdR+C8aSlUYKtxnOkbFDB/SzOAPRbgwVBKH + dxbvbdJFCgMmFSTwco+MCyE1WAJG08ocF+X155/KVYE5W2JKuuBFh5mFBRfUURQUqtxWWUxISWfD + Waj2z9qu4hlekrMfiUYqIMDPsVbjRxv7nkbewqbld2e/Knnjoy6AUXgFT9/CUANlYotXTl0tumOr + 7R3Aj5VNLMR0Pwgwf4s/FqfbYaBc2htC5PHsa2ya/H6+uvNKrUI7J4m2+cGVYvHHhYtpr0O0GGxb + dgdK2BYTu5nLYX5ePBEc24gRazZwvIhVu4hgFThLz+CxcdMF+S4KSVFSPdAGBYHfSC18UbWHMXFS + ew+g2KKj80QsIRdsWktiogGTDYiXwpHcXC6JpeczpC0nqaaVMfeR2+kaP8IzsLc6ll1C9vqnxICO + Dqvcg5NwXBmRpRVDyrD6zbeqyKlp5ayzaXL+ri3fAHdjFvetXl89gUxC0Hjw7/CM9MsPNmJS+pWn + OUMpEdkSybT68z7EqwNkjzirGpH9rR9xEdMCILy+OXw7DqFOx/NDWZS/+EeenHWyWobeiTAnItCh + J56xF2y8dOf5EOUUybjsJzlFPgnvT+BR/D186cjnFcH9lNuUL6ZEg3VFugDaSG/QA6dQORNHSGj9 + 7j2OmwWyGTst8VSE+1hHNNlXYATqD22o7G6fkjlc9sp+MwNKZCBvfxd5LHqjkInSq02yQUJJwg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a24c6036-d279-11e9-86d9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a24c6036-d279-11e9-86d9-001a7dda7113 + x-ms-content-crc64: + - ilCb2N9RP9c= + x-ms-request-id: + - 813e7349-201e-002e-7086-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + PKaDKim3stuGyDd0kOmWQZH5EUEJLCGxRlQHyCAQFlZhsk6yrg2fROkKxnhNavh67LTMVCnmtNtA + Y8M1eA333MhvNmUFtUYc4pFbbdwH2y+htINGqWlBplmVAXpQ7G4IXIZHY7fECvQcuYq4Zbrg16gk + lY/3QHcAyYjxsLBLo1GJ+xeHi2hyMmTLAlmVmIwIzJd2UrkJWIY5WoxcW2kYCrXtehtzGNG3zN4u + apuC/ZOt3GFMsXsZXxBfyce8tmUJ30gYV6R8t5UaBtK6hSP7Z009vm9Ye4J5IWxpvtCKhZFkE9JX + BTcA4pTn2jGOJB8lZiZ09J2izQoIiEr+Z9RBuFwCisD57vvD4+qatpRDFmhNl100d7hq4/dmeoSz + V0jcOMO2PYPyGjLolp55GVGi0/nt4qfyl+evnu6XadT5doFxSA5bdEawYe9nBqHHHQ+UoB/jNqjy + zuuExa5yFYs0qoxWMGGalwQc2zsAGRKIfxBhsetFQJoiLBrtXRaovDLNV913QSz3ImSksvJH3tBG + V4uflFCQ2XwP881r5xUgEqbCI8MITgYK+nU5a6CAnToL2qwn5pwoC/GsAsFX8haYG1LVvjtKkIxk + nXu/F5Xuh/h1p4lgy8UKd4AtZl3Up/VCQKkLQuNvYZwJNMkaEMOoSMmUmBtkaeWMgsbm4WZBw4bj + 9/bLGIskoGR61cyh0ncGxM4WjbBpagcvHRq5DY+xw0W5fRgDkKwBiIG/smqHPbav2rgBTD7ZeuXA + iAbBSiEGc/hu9OWjDhlGOE0nWumrzeuvreWIp1NVkHGrg9p1NKX03DwUXRTc041nTjQjIodptmWq + /X+n432MWZxAEUeBAe5OsFE1A/fsAb45l6aZOHxe8c9EdV6ZF5JMKJAEyvML+QDeFZB11qqOQYsk + 3uBMgM18HigQcxhWns3X+Y3iAM98v6AVKszO0bZjeAHfygTWWRp55bFt59XF702eNVPY4n1lw9Ro + 99T1+FvamQdVgkCBFy5E87V0nY/EsljNu0WVg4vMteKmIzVJxnVmjHExPkzcSkjOE3P7IJCsZM76 + EsX314UXThihKyb6TqvS7oGVdJpXQFFGmvxKSRKlfkZltpPDoTudS6ZSzfXSV4UJ3dubjK82WjCX + Y+mTpKDJeraStKGVrUUw9BNyR5junuJLDE8YsKt54m5BAt4avKTVkjHtscVj0SZaFm7DkKQKMgo8 + xs92ezQ10JEtzl/v+NqvWkPeZ7SgkBeUj84aWIZ48SPTc5J9hSfmqGCCLCdYt+bJNGnRVusPpvsP + ZS5A7j7gd7yqMsCjp37M26vlhjqNG0aLP53LMlAPfBmg6bjoLoinyMV86LAa3xEptFQT0XtifQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a265aab6-d279-11e9-b242-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a265aab6-d279-11e9-b242-001a7dda7113 + x-ms-content-crc64: + - aZjKn3mRKSI= + x-ms-request-id: + - 813e734c-201e-002e-7386-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + PoD9d1UiRGeheRNaQtZZht/roj3u/DdvEt+pVn/aCn23nMMt7XnGBcEgTAxJ4v7llAm1umsK5nGf + 6LD+hNwf/eavosEXUJLmjsOzpjrCn365RXEIEHUfO1vaApVsEqZGiv2IvQis5b8hoVIB9w699d2h + FEYPy5CyfVwaEgkBqbjJVrB4Y4fYukhmoNfyaF0ytj0muS6MSQnqaAYBerrNGqF/oLYCbeYeRt/G + +Ck8W1UMHkpGxlT4HLvV14VgXWzsj1cgTd0OlNYIYUNoe5zpTzO4XAyZ7EyxuegSkXCh+NGqGetb + G0Tc1a7K9HikP4UcHe1BZNR3JbjbrMlmTGFjjRhbxf1l3VoXZWtEthlKJb5NnGPQvXMUsglxRS8/ + to7tdC4MMZEVm9boBtvJmpKt0XGRU07wVpaM8KgglAm+UCEiHu7rMvNB47yBXy0AVI4c+LHxoXjz + 21aUaX6QRG6u9JPkRvYvGphB+nnwDUPu+fk0khhic8jAJ3RULOT+CO/DRQ/7DIzopXLDs434e38S + 0X4FJ9N7ci/upNLy+Wh9SNRF9EfBzyPKyonz5i9pkrD2aWi/QwvS/ZTF9nY0KPv51TiRwH1WNfmE + VECov7PpKuxpW1y/zqyvRQ2w+Tl548y4oBh3zNdmZylgnQYUTcl+sDpDXPmKd+np16IPnwQB7s/s + vKpIbNlCZOp0x0zxzj0lOZvrIeAEFVB/57RaiTIoFNuNlRXqUVNQeTC2QRSvbl2ap3TvZFD3Zbhv + 5+A0nD+ZE3XU4sdpVU1HCtICE2JM7cEsr9VwdCdDf5wv999ciiwC6DAsg6DVLGXVh5F3O54v4VeL + lVLlXOUrq+fdII0n9Rf6hw8aktXErL36MkiQghJfgg3z7vcMELPiHING/gu5V3XnXZEyWXYE9/qI + 9NbT7a+0Gfan9bwVN7RTj8JMzoltSPdgeLQMah1rAPd3hOydnxWHV+bdElIIUJCVSAlq5MsITo6j + +Y+OS+pNaphKuwTf5IMbAHKCeN17tAZ/MRL+wwLuUqzRpgN15oqGJGUSmBFrSd58FD0QcPFKk3EM + abmT1xF0WUmm6QcUJldMgpYjeV4dQNrJjLekU8tKq2DQweYC9ET6CFAqZep89XwWFs1hXYbMPS7f + 3EJmqVtjvUJ66qjmgFKPFQMRsGmdw+npTaSZbs34jihY0dx9OOh8RL3qvu1Vf+xkZKYNXvAFlXb+ + VAyx8V90mxaSnQUy+L3gd9YCwhmXupUnZBQaCba/aSqjmXapEn0nXKEEBdpLUg6PUCt3bIJsl2+n + yc2xXezkpC5qv5TTJd8y7MGL0T4hhEQJmw7fpMmlOXV8yvEdBEgajVA+6VWmpDZ4j4vdwlBqZw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a281de18-d279-11e9-b80e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a281de18-d279-11e9-b80e-001a7dda7113 + x-ms-content-crc64: + - NnW9yA7FsUw= + x-ms-request-id: + - 813e734e-201e-002e-7586-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 9z315Ct4ca8hOb+uXnpOlCejkQOaqJpVux24ZFteN9lQ44VNdPKc9C8vutI5EtjiToOe6cnwfidF + v2QizR/TYmOqlanU6P3nX78yJetsfCijmeGGU+5SS4z28aRA3AsmqXo9OR2/Bzk7zAiQcS1LcTaT + QzzkjxMR0nGr0PTrqKHCjZRcB3TvcWTEiYBImPtXkFQJ2etNbeG8pJEHWcKbWJoyvy7OLaziOFFO + Je/0vYm8KFHv0hfsKAmMjtuGvvcqpgDQgFmDRTSXO5tUC4Gj2ucGbQ8169WixXPvuY25r2TFGCAM + hMaGpyVnd24cEmRHIsb1Ell15IMoMqUlxBNf4ckFP54jMsg/VVv4rG1SXomvB/Jj4N67eILskSt8 + fBmLH5o3SJ+1tzELwlBtEI6S54Ar2Ox3nLGtsAUfp1k2LLDpn0GaOUYuowfQboCQEtkBCkd0WKWS + JKyj4nc5oxBUqsS3wHN/h7RZVPtFqhXmnQr817iuKS6Bg5WvAaVQjsjXuhYnPk9e9aV0zdXFVxKP + IsZv4jz3qaDbkkewoMaFMGLif3AnDqW5gMzWf4HTZ7LNCTpsTRbqh4WWbvPr5UqwX6PJH5pDS+6y + sVzyvTSzzxQVhfRaDR9BfdJZBu5d0a+0a3fHthXNjCC+QBicYxn+4/ysU4GrKh05q3ON1foZIy1J + BfScqbROt4UUTGLeo2f1Hy8N9wYBz5G+t+80U2APMBogqd/j3ywBepwo0OlK/lTryg7oKMz6PPFy + FqmoQm7xmtO8Wq7qYuwo2gVLw5A4kpDo6Cx/YKsCQ4acKLvhjkYqRT0rn/J4cRV3MmeCkYTyUMvQ + I1qATxqitZZTSOM4d+EMAc2vzIjQWE+hDSgr2w3mhE3MYChwx7fe8bLyFKhke9V9lapyEjwad9JK + /oCsaxP2XKmJttpIffzJg/roC4pXpAsZwBqX0xlGoXPhCKqxuNiFwp8Lf0ESPv6+0qYSDV9kkgzP + lRmjxnYxxM6MP22sOfIX3s2TYlFT5XyNwjQt4/nlT4vqd7kfLx8Q8K9x1y2KQLyHTaOkGaZJYf2x + FEVdc9nbcqidsWl9pvvK0VV8NSp6DR2VfYQybKg+5FyTaqoDW30lHAPdFMA8GjrzXeHFDbfrrFmL + E3u7uYVio1qUkVI0gynophf5KNgZ1sAAEd1pmY6P+uH1hV5Xs8PcMLikoxp83pzThwhJAPvGLOR9 + O1u99pYdsNdbkh39nyiIMdS5I9i9noqLmihZbpaMJhxZ4/jhDYEFCErgvq0Ns4BApIyFHXkEhU80 + DA2yRw0J1n6mXUoWtIfbohbk9X/K0UAwR7vHAeLstF4TUmtZNBB2zrLfY9mkccufcDZo2gcjsw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a29f0978-d279-11e9-8290-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a29f0978-d279-11e9-8290-001a7dda7113 + x-ms-content-crc64: + - GFudlUecOXw= + x-ms-request-id: + - 813e7351-201e-002e-7886-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + dFDoIVkLv8zZbGoCVgYiU2ss5+7nWIzeViYZkAP1T1PkxfvfyIILJmOpEWPzCURRuxY9hxQ+77wd + JX/QWj7e7S1MOsc2QTmcw2MIKUKUH77rS/ob9j+aOgMnevLAo7LjeoRqF03s+2e33rWhYcC44xCJ + bL9Hq56i4hHZTo0fXfHywQfupswr5yfOua2uAQJPOHH95QGbgjEm5uCKFQzi5nAAd2+/yrk9JjC8 + 631kOl+KFV4V5LjBkhly0pXbWkR8y0hXilzcl6bHuwF6piixdePPXWzg4rz9mMjQuX/q+FEBQI4Y + zj6DBqNaZX3pwuRYwXXKLn/RpS98MUWC9RxsFq73ZeLanucF+1zwsT8itXtWZaeR9qDSzk1ceeJV + +8me4JDGcXFmSKkHsQAjekzKIuaaBcOhiE1EoMrnNxV20zjkbLt7S1N+uU6HjF0ahgAuzmDR9Bp2 + K1NTIvV6G6rNBbISDhXZTgZAlVe51pocu8uREaK+QbrmaCODAShaKTCjlkoE+Ufn6W8hr2SQ2fZ2 + Mt4Wnkrv/g4Ne9T5j1akArvPz4MqzP4Dsh3zyG+MGMESydjjhNFArrKIozeotpD84ClfLkeg1Zcw + oxe7gjSkUB7DLbBc4S/FKnc6ueaQQRfORrH+mMEzFPTjC5O+bLNxb+7yUm0DtKA0waR1S8z3k9WN + onfcGg86c3ykDe5Ik04NcSb5B2vcj6BAcpeFJjyOVR68UcFn0qImVmjKZnpV+HSBAzYhvl1Q8sAa + 2f1gIl13ld9ZMR6wvAxVEvfOQx4jfTKEFH81UfvUwyD9lEPHmSJ3OoacxZyHUtOXiWhQzQyGujg0 + plLgUtsMMXJGy4mX2DjZs8zhm7MyVr8Cq5uIeenJPpvzkF5VYDHbE/ZQK69Wjtrl1WJwQI0ldSpL + RGI4TD5oLhAbiUMX8WQpsEJ4OrpPdYjvKTyN9kSCYIBBTkJndaUpyzox9sVUgOgaX5zAT1nvm0gH + lK6NFWFm7msntZ0Fl2EBhDEojQeYLnbo4wWMKO6bHBwcadbeJd0qIkLokWW1l+/OXHQdR1laaRv+ + r9/dKNOqLLDMdUIScvVv+bbzXq8tsFh7/RGFtR1VJ0v0f6+By0sjIDsMudLBx9baEwyYQ1g/bChi + CHnO1GrdCPYOmWPuxlxXKIXa2GLVNwvBxXQXAVoEYGxPIY4PPw5u+Hu0yHk74ws7hJellOMaToDg + EREI7bZCd3r8Y5/Kknuu5OgJoPHsaY+qUba0/Hm48tMuP8dGP7yMC9BQwog3tcCATkVFSUINRnyl + k84OY1Di9zhMybs2eR8ozDtCrOyjAgc6MVoII/FLcGEfKEuLdgi9fO1/d+7kRXUUW5iNxoZF8Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a2c1ed1c-d279-11e9-bcf9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a2c1ed1c-d279-11e9-bcf9-001a7dda7113 + x-ms-content-crc64: + - G7BEBX5bTiQ= + x-ms-request-id: + - 813e7352-201e-002e-7986-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + mhrVgbBQfFjgBdzYb+hCXqWi0BiE43jfeu+tD9XQebe3p2XZx4bXGh9yxbx1wDCTnk9jYzWVaZnr + UriIqQ05zkp74PBaKYdoDHDNCByNjrpef0naQKk7ARO1Cq8CHElcN0B+rWyeQxuuMn/zWou4hQGv + kmx6jZZCsh1APWDW4ZRV8ykMGycYL+sB8oh4ZBbEis/5QaWfLRQZh6D+vE0rvEoGIxFCLl0FM8T4 + K4IKbsC34ydoNhqBqCmEHml1QIbnM2/P4bdcU/UWOwJag7EZAG8NPzzQVYEuqtj5EpWAmSGr6zfN + FE0rwLrYSpt4hgT+2Bi+8SS5y50K6/OIh3eenu+lSY83XhxQaZYTJRk+zILZV1zwsVgSBIwmKYBV + aBgszy6RNpVWMBJHbM1mP7yNLx8YPgGhNZ0nrmYg/H1ms7NA4BTZHi4PqH40nwnIUED7An5g7VNm + cxQ0ACFhH58T7PHbeRskFvHWvdrFyM4N1R7JYlHGSut2jBPEDLRI7IPc0gITA9zGhngP+wti/oC0 + V0uu9FpqDwhja0HNbhOS4Id6QI0ona32TvEBIWbRD3CawPvN2Asy0H8S+K3kGmoi73g/RSzUB7cT + ucTv4GrDR9Sqp/gGPG6Z3Z7oFmC4uOlTyU6iiO5SOrBMmkdgYkyn0rgY3BDSUBpaTDy9khzozg2p + ptZsze9a2q7MW9IY0Wx1OwZI88hI+jvS/HQr83QGOatTdymUqOiMAaoLayhln4ZTSXDdM/XH+IJG + sitQX5sAd+FkEdllAAB7nZGRpWrT796jpu+2G0qig+WNcJzBArMifDJTaHe0+9YCMGK1+mIDk0B2 + FUiFacVsS8BOed0OoJdtdI0LpSGr7xAfVOF5OL+DKHE2LFgkkV44bNYLCiklssIe64aw50+soSmW + 0CPHtcEjnZ2HamC/ikI4MGRVUqyttpnzpjoTShuFZmMLkNk94DQSjI3f0mKLy+1RKmoJ+uEmzGpK + bNYkJmi1KEpaX8qHk6V//hZM7MSlzQg2yKg0QE0qSBbWq7x7S5idLdukC9VlbCywu9Kk58fSRzYJ + W6xF05RRrOaMH2XZypTfcUogkDgyZf4t9D8rBSTRXrdKqIZhd6vrbzbtoyfWU0TKGMRKb70PK8Zv + bDBH3SE2eS8Oxv5CSihLAfLzSpGxRQrO9xD8xAxPo1C1EF6HRIuHaobxDNSeQ8WxmHiLTSI80gBu + 69bBkXKQVuzo1q37VG2/yCaPx0/pcpcYns1Xp8LvcjqHYCCiynek6UU+Hp6n0/c4hujK8EzknLCN + cGulEZIB/TtsPJ4r9IkcO/VN7gJO5izxCV7G/LpEaMflbw+IZHdcxPTsyB9ZrJv8sy/RjfV3tQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a2de46ca-d279-11e9-b118-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a2de46ca-d279-11e9-b118-001a7dda7113 + x-ms-content-crc64: + - TknpzFx4ZEw= + x-ms-request-id: + - 813e7355-201e-002e-7c86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + OTFiqwMDXiNut1q83PSfos0HDFbpub9LDGXNWKtjCFnZXd56VZYQn9xFhRHOshPxgwP3wt+yhfa5 + PDtLRFkrYw2znVP0jrRU4s8Y+C/Vk0riPnJ6XFQD2TWEbPt3EZcDDqgvT41dhceAaWzlGn7l0zpy + mtL+h/4d376rqhL+Nam67nsyDC4UZwDoYa3pHn1QRrfpnHstIVgcCFz6QKUvDXk+WFA8dk70l0nx + PJ5Hpj0I8phaEKOQUQD+nyliisd+8MJIhnILj/5NJNKAFcyIkdsgIz/PWJ/QKRH1CXW4kcQpGSLk + 8NRRmePYxjcvhbb11ungRviCfSlrde/AKvwr0m9uCHTlXBmY+a2206lP9KPuDYI9Y9gifaQyUS0e + /QHx9FxUE/ua4Pj+hUNGGB4rQmKzSn+G/BuFN/NTH5+rZlGYXNNJjCwrwG3ynPUsqAM0KjmSCSCf + Z3BG6I7ZwpUZC27hRIzeVj3NrllK+TQbSiI0J3K/qWkjFWHcSJeaokjgR434AwqfaQbKzFnIk6ts + PKURi7u/RZBZbLXvUbOARfS2hmD3Bp4S3BTLmzcf78WPOiXpcBKZxUw02JDv4F+GMjGLxdYn06tV + prJy8LCVk9hru6RF54Jt2vTAikslFgHdoLrmARHAiGBcy3b2xbPt8ZP3Ny6ypdpMpAMprGTt/JYm + QpzW8EIcAUu4vM4P7ZzRkRixho2EeStuAleGxkWHFeavGLRWrh46gtVkQhR/gH5hQr9wcV3pAbNw + Chofgvs1lORWT7u3zXEaNJmNOKmTQkwKYyYydg1IxyBpfKCT1hsldWzsqqOipo5V0SotX85GPU4T + xkIxXCaVKRERu1+zNYpsugGrAO9PqdhrXsk/jfzp2hJtWNtz6s/ZWQSiCmyPKM415nndM9vSAxth + cwvRNNsMjDs5GeCrCVKfrK7skauVVeoS5EvjG415ZdYovxHUN3+vOVc4Ye49B9ezRt2ux6oePzpc + xdcLvibWV/1tTgCK7OTexb7Yx6dRWk4pnJVgHiGT9pOmcFxO8mg87zv4pyBy2kfUR9HSNhDUoF5L + JU5Iu1YOKwT5rh+m2dRNoqBZTAircUVBlS3LoXh1cfaIjwn2Aom2xFrqcpYBoOo2EcC8sd7R7GES + OvQDXbFKBkNApjRNuuf7BoXDCaOmYvJXDs69iG9JDUDbidM7waIyZZx0WIcl7qFrKISl+gzpOUrW + Sd84aZn8VTzoEkS3w4Fu4WdujhSnOk083MSghri4Zp4LdwBddjnT9vWGB9SUH5QloLrhSqxqHhb3 + MJqwzFKD6ECUw3LskIoyv0jLa6kgmLOiLK3cj5vAVmsXWG/YG+IAE7RMOxyRalR7N3iUTrgkpw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a2fb33be-d279-11e9-b0cc-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a2fb33be-d279-11e9-b0cc-001a7dda7113 + x-ms-content-crc64: + - 6/sz6Mk8TIA= + x-ms-request-id: + - 813e7358-201e-002e-7f86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Q7AHfE17WoUp2rzigrWlo/jR4Ezwuq8DPL0n1LyniNrCnCKmVA0t9XZVVxEXBro8mwkDbCYdJ9go + cjf8XHXmC33niSUWRIcgyhFWpZxvMVki10/4u+jLB5hbfV55+3TMSgkKAOdO/eCyATBZzLU3oC2Z + EklZ+26QdvWE0yU2bR5FJoUUE1Bddjh66OtmUbVp8EHdAqnAN6oxl5qbuS/pirKsJ20pe9ulXTwz + zBst5gbHWKS7UPUZYTsOzPlTOErUIUnpwukR3fMylkW7MkW8LsBbmoaTB+om8VUY9PUIC+lE6yL1 + ez83WmmSVPhJIji5gko2t0fcWqJrYKgsQlGc/ITy51dhDLzyBs4Jez7hFZPu+yZp9JhMPqiVnO82 + Jbk/SNa/oWcdPjmdWP5ZfYhZ6uR4uejmFsg3LZKxhlyZisQjIx9iBYAOgP3IoAZkEx1ORGGDF9Gg + 2bLhUhsMt2Ft2zI+3hS+6+o8ZoHKJOaIXqo+capsNZxu8puYbbwZCFhkk6/sjxKnsx4HavSUsUBH + 5tU7M2hGeDl07AVMMI2FMYN2DGxHWz/h3jUfBTT2hvfanBMeuje1QZ/nH18G7+UqZNFbSGmWmUpr + 0PiX1TxHy8Y6Huh5TNK51pytrWbh9YIXF9CeTP5ZQ2A5cc8mcdOdCK3bttzskuq6XJaXc3vq1uMq + cpuZkfNctZ45MDHn60dArXb9yfivoeMPYgB9NUFbYrNSxtLYiQ5UdzigoZvN8BbBaPmNVOMTcroq + MxNonDagXUqeQE9FQsRA4/Q7WEXW+dBiXI5udSJQes/U2dPRBkR1GnJzshokhWFLlTqhVnbudDHE + hPNoAfNME3h4PMQQBr5Na7vK2vPeWX2yKe1I0F1TfS9AntVEvOF+rWs/DNxeUiE2c7C5M8xmUU4W + 3mgFGB64Z7plD5IZKkkb5OKXSwCZpRSjCVej5ZFmRrwSCEiT4g5Hpx2qb4nmyN9h0biR1RjBEjAt + nSTjtvN30DJJRDDsg97KBqmpllCkyBzLrDtGvzeknsv+FuBrOd7v26jhLOIYTW81OBXBCiGlKqtv + aB40ElL2CR5uW1wxkvokncd+QieJhTSB2kqW3J4K2b705ndM7UaBGguzscv0DbzbcjXXBuBxGEIQ + 0OR4gj/HBQf0xcvmqJaKhyc5Rx4wZi0+Rzs85Cw1MQ9B05nC93+bj9MPta569N+JMbongpVn8EfC + OofpUoD1gVVr8qltD8OUfO3BkMDGoZ+ujVWnFWCDMM/Z2w8RJG4fNEYSxRY7asnZaDRzkUiljKtm + 2Pv3ozbPzO47bavisvbKPoS29VHAuplJMTdGK0o/zcMe2RyWPQ5yYds3hoDbCuEjPE9uTfa2gg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a316ddf4-d279-11e9-a6cb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a316ddf4-d279-11e9-a6cb-001a7dda7113 + x-ms-content-crc64: + - 6yaBlpKcs2s= + x-ms-request-id: + - 813e735c-201e-002e-0286-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Z6E75EGARgwYXXKcY5xhx8Jwl/UaawspgqRpGwnQwhwjmzqM1LvPAJa4TFFqVIiIpFB9/coVhT5j + RIbkwAXRWet7R2axbp2wgghJHCj9xhL3RZUPlGuQMuUxKl6fo9AwMoyBT3KozC64l9Ff7hpF/OvQ + 05al5WI1O21lkSThHTxUhMLHAKR8oJnXRKMxFFIY9RTdORmEWCcLn7MoX8sV+6ILb6ssueir6wr6 + 7TK4reb0Gxd/a5Cugq4KxDQuXUxssp+I3PVJxJGkCcKsHWmwSY4InzA071B+jAqIvKaqc028srBq + f5DNyRfcveQlAnfbTGcYseOi7dTPlDCXyKE924RS8XAy1NBaynb1NB+fqgdMJQQ9FlRQtJAUNlu9 + kxLW9Jx5rWMzXe/2bQVfgQvz0LLrmRSIeFyxep01iSZNiDs5TfKyrDuRADKfSQrkJiW90/6HggvK + WkSmsoVO1h9tDsXM/TaDmp2G8aS2dAwKGKVSYRcZIuF8pV/iZwBvmIQ134xreNRBT7zHMqE69NzJ + zUgaf+tZQ5yw+Z7rIpAY6H6gvDW611EamU0rJrvlla9DzQrTUN0ngkP9PEnThNB+hSfGFjlP1bxq + TBjNi26TNTgayZzP8OxLJZqboaDq39bmabD9qj5xkgehzPgnQDeUx2LB30YUfrhtdH/RvgsHctCw + ZUFL/OvRNUnzINUlpRmAU3TeEPN+4U/ek2ZYSyc8wl/s58s6PRexIN3ZO6p9nrtuMhWidz7JWtlw + j7Sjdtc247trQe/s43ErTM/7INu+U6pOPOHvnS1Yi0QexO0I+++lZv5NIY7qpTc4Wi+YkZBQNevi + KwNOTAdtFw3nMJaedOhAx6ajGOs9Ve/gZgtDcjsEb9CYeVkLgnzjiAVKwnX8gSJtce1gVggnqTvQ + f9hzLDL8cDHje5LxtBITELnLAZXPlIGdrgV69Qpem7/xHeuYMp7U5OKV4sxXtKFA6Mz32HJ2bxCs + 4j32LHqhth13flpX0wn4+eYN0fQp2r7OTvHDB9UNTSnUGKifV/0BJjxWxAGfro1rwd0wyENPvyNj + QOemqcKDuZ77tLyj/APnJhNksKlvryYSw++m0XSrrwNgcSFjAWWEc5RTDHkU37IlRVeaLfA/5IUf + gkMXoRdACIAAj91iELbHlFb6KcYc8Ta2IHL9+jPVKJU1HB422PsYa7ODdFyZEw7F5aaFOU5zKiE1 + om2s5rdX1IxgNBh0FRvqpqK43pslbUEQOVcoZP680TUzU/w1qy5Q7IaR6GVSM0hY/hrZtNiygG18 + mCbwPutE7M9TRJADhJnAo6Mjvdtzy/It7UdeO0DFzCYW/dVQdOtE2+hy4aYjb8zv7PXMJbZluw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a329df48-d279-11e9-be9d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a329df48-d279-11e9-be9d-001a7dda7113 + x-ms-content-crc64: + - QwwM5AZfua0= + x-ms-request-id: + - 813e735d-201e-002e-0386-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + vGRdJhDA/cRloUvHKFRM8vxZpuHi4uYwONSNKJRFeIT5bhSWwrX+V1Ho4uuz8l2RWCAQXOvWTsj6 + kB0D1V9mgYV/ZGW9Obiul7qLXUq2XkdZ1qaIgXVr0yn9KjhMCmnaSy3TgVBBHpORc3hK9Pyi/JT1 + TkvRehDXvWLVb7QUdWPQ1uTBdE+fHRvtmaPGikZWWcJhGeguaXFHgUA6xWeTXjFGejBYqpybJZj6 + mPglfCClikb9QS5VmVd4Vo29mRDzsvlJlTIPKq3h0Y2Vz+t73xzwcwQLVmh1LywmS+M0MNNr2udY + AnnRUPPEgvbAkNLw9ZPQEy3dfKs+f3w/U0IP1wOebFCt007kPwipw2xeM8XbHbdpJ87viGZeacR4 + L0F1BjOIV6qmlvSKMD1XV8+Hj6nRofIdZE17c0I00utT2n4C58THcq4ILhBup/k+bwNg1DlbVNGv + oNJ9bndPGzUfxlSKuea5mou0htIfe5as+bd/io11y7j63kwzuw7ALelMCmeGqkn96qhS6LxaGQDq + HhAYEnyrjcPnEe4ZTJdBB3qT9dynZGKjuH3ssfHbLssBvm9gQeMuIeP65JvvawBkhkB99XUO/EGT + 7kCsXvL0NOpwc1EMjW9cSVZ6S3/ABoGrRWD+FqJ0MbDXjfUdpytGCAUbLe5tZ5lFXYpKqdXmibvL + 3W2AcSVZ6bXks9KtQLvsGClHNHSxyGmz6RlxhEFXlKNuz1LUBbGodxgzJlc7hbzZgK4f5970XJm+ + l9sinZ50WNaztUZxWOhocybMzGAuXhRuBB408rAgIqQXebSBASYpoRrD5Oi4Hd15vsL79MeWHkIM + lfL0YjafsiJ7+uN8PEjFDAdUuj0a1+VsC84PdbytLu1Pb6tdcJppUpQcn4QQ3sSmOY0MdKFkOKNm + oeXfOB5k9RsKddjctueDmSEq/ZxEfOHLJj7csGEPjkXU4hdVKOwit6EZDMR5mD9tT5/drYK7Mwr0 + gDbztpJ3a6Zx5Wo0aQoR6WSh4xvnQOYixi6kepw58uO0OzCs1rIZS5sp48uHRhSmEQ4Of060+El1 + NBVZ2Yaw8KkaBpfmvY3iHJsCwDGBZsfRupuyU4SSdV2ROOcSzne+LoQEg1pAAHI12Cz9IBe1NScd + OhM0uHrQ4NbTUFV7FNC8xlmzOwotFPzsBODlWV0/FIbwOxqxUAtX1GDWaWD7r0RyYZ2Cpd193WjZ + w+NmXmpNK9EwboWQ1xr3QFATkQ1s0LNdNn+/MuWivnuL6Ofs+qiO7M5i1Et0Zg/DOBY2DxOPiNGw + nSu99YyBaMJBl7GSzjrNCmgb/RCWf86ynf6wYtqJjxz7V/Ca3KWPN+5Adzm42fbITTQhbqaJcA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a33b6178-d279-11e9-b153-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a33b6178-d279-11e9-b153-001a7dda7113 + x-ms-content-crc64: + - Dlwm32FuEzw= + x-ms-request-id: + - 813e7360-201e-002e-0686-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + NPWq5jJE8cQxUa8ugN8QgU9WkgPp2PNEkfbYJqouPL4BffJyPRLoFl2p+Iw/6spf5UenQvu971e6 + d6l1h4fk2jZ9pbqqNSBHlz71hnmvI80mPpQ4/sCpI1L25/j+pZxhLOfAni+Y57csranb2mbsJpOo + 2y/+O/OsN5YBf1LgAQtE2fG5kiPkQlfV336UYDHHBa39NWHtUzfFlDyDi2GcOtMYK1R/uV9wqoti + Aze1hWU/7DgW38jsam13oqLM9YqMKN5RXUs/auQagUDOukVe07jllTY46pb8p6HOCdPWsbITLUnx + F5p8PnvJp4EXUDKt3a6wlxkVirPABnOWl3N1KOf0imJ1/Z9rQq6FY3hR5p0zTT4ieV27KMUpy9Oz + bSk4WsP6cU+5VmIF9Hm64x2I7hywnIOe1El1wAw/6EOtnyjQ5XKQ+HWYjyD9ebMp1/F/ypHYk6CL + q0sC+ihhw41XQUJvIRfOKsdY7wtjwW+dDnL0ttTMG0vqtRlGzqk+DR6iTxvJ68e4RhzcObXMuMPL + yKLnkA7bGW+6eRjir036D+x+MhJ7B1qMyfOcIacmFNfUCkNFKLWEhr9wG05W3xPBJzcVelEBEAQK + emJPrgMvb4gvDBQPqRM/buWHHkpB+nS4cCzFHcov35AfeHYvpjD8FjR3qVvWBGvugL2lOFySd2a1 + OzxL9rX97XqOBerM0YR8+4OAW9AX49sZjIdJtNHok7AjNo7G1hnmyfo7X/rgMxxpnprqczWbVzy3 + +rgtKbuK476sOHaKcCPsM24BbD2e9Mszx9jSLOWdzV4QTVpYJWCUNstfoURrHthHVgfV2cGBPAV5 + WNG6cCpxUXBOJ+m4AQGERnIKUa+SR7/aRm3VSDEL7N37tlExN1r33MZRWr9hK0HCa6GogvpGKy0s + 86pt1fWCDh8q2bYBWBwvPJKCJ5/t3YfvowBxvUr7o2nW899XyHeEdatsVYz9wDPPw1SzHa5VjK+u + 7OQk5Ow9OYqMA+fOXteI6DSUH2F0Chd1NL3G8xG86ReaKuqIybuK6MK0/IZKGBrTlKTznuNjmB2S + pS0R+ws8617UTPREREgDvVLx5icmV3wYRO9KXPvc4GLCM4oK3NnT3D6E7h9hAvpY92TgpF3UbEzZ + Cm8bZKlv4cO1a3q+rkXK1ZElPThSrLTiOsAXwFQOJYUgcEysQ/aaewV0IOGD1reBR3jPoHTalyYr + T4zj7dWzL520MSPuY0MNb38+eWMZaFJSw+rgD0Cv4WUkPF21asw1DeqobsGtMbwDA3qQ75Tk89vR + IGms8RNYwgiSKA2xMtUbOD9S7nCT3s1LA30zqDnUG8jVB6havnGZHoa2N6rOmhjqC/1zhoguHQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a34ca2a4-d279-11e9-8498-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a34ca2a4-d279-11e9-8498-001a7dda7113 + x-ms-content-crc64: + - MdARDP0q3gA= + x-ms-request-id: + - 813e7361-201e-002e-0786-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 9N2DHEw0zrpGm3s3HG/jaiFtIj3sHLG/1MWeZNs++tVzYVH6dQz3CHzCPyqOZWTaWqo8O7wAoZMV + bG10J+ZYgTJK0rRZyY2aMyM13xMMHooOJ8MjlvDbzW9SC3OAjen8RpkjwuLQ2AlZnNJLk0ISNEYJ + 8SKVtyA0+Bsr6AOlT0kczIICtWaKpGxbR8ho8rTJkqPaYPVBXoeThr1NjoVb53nVc6FHiw9kM7z+ + SHXPhbvBpXknOODQeNl+7vher3AMfoRKdDkfYcYF15R1w7RvKCkBBhXSF+ovZeivJz3fjipoeYuj + CQsMcVefsJ9tsXShc39eh4Xq5TezoS7oKsXNSdoRjAem9Vi9yUV7b9xE5Ut4zEDdrSxTsvj+jzBX + 3CAi9QPFhY5MsfSENvI75cWYh3rFfeDQMKMGPB8doEtGyVMp257xwdb4bDxPajvrowy8pboEDAr5 + W9LG5eJ1vCE4Gidie1/IsPXaHGOow29Fu8P0I2LXGef09AEXOGsDKXSgXuwN3o+To/EqJxxsjeAd + IQqlW0hj41u2Z3vQnvyR8QG8rcVjP5vCTX4sYDZTqh6TnoROiKdwgNiTOEGU/Y1Vgrn7jHqKyuc5 + i2byXMh0T0oBKSpgJtasKXsu1y0op9fPu35rq1AOT5HHCt028duY/oFUAjyZmudh4tGFgQIyM8OS + HLzE6njf5s6HDZd41ZnNYVzD2Cl6j+Gu8qS5hexzNsRErLcGKriapAG0UwL5JzpFhSWHTHQdEIq2 + Hgmjf9yy1Rh4EpJj7M+MLilgwRsVUBPbny6RZ0znmvucrHWNOVgfYj1eewgicb8cn2V4zNLXP2mN + EnaTmTaOGOlKVIdFaOft46Jk1n4mz4jxpzasTFbAYuNyXJOqn7tRdzK7YilP6pofYdYp0TLXVPPt + +TS8sE0NAqujqMMbi2KilQuqJqetKYo41HBa/Mi9grkCUFjaWZJB5V5costfAOnJRBsZByMoAJXt + YIjzpVD++qFd2/0CdqmTRJgV24zPXO4/VMIeE61GMEkR7Fr72yywnb4K49cCWP2MJWpiveENVYh9 + cz/MtEqgjVfQaW88MkejoRsQrGhoceYBjTOwzksvtxZMGnndwBgpLdw8+qSRLZBjxeU2NcLeZBt9 + x5XwmPMbMEKn88ulwebiVwwJmT5545QU8zPERJJ5BsBbvYAgr553qqT1+C4y46P7YsL7UMvgJWDA + rnafjuvfL0FI86rN9Yx0BhvSURHO5ScVWmmsds9ZoMqEjS7oqik7FJz1WHUPBaFHrxF3ITskPGFt + tPFoACiFQBgncxYaWbVHAAeS7ES+4CK7fdg6mmnW8lqa+u0HMylob3V2JiN63OGZu1VcC5GGiw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a36219ee-d279-11e9-adea-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a36219ee-d279-11e9-adea-001a7dda7113 + x-ms-content-crc64: + - AeM0lU+x+uE= + x-ms-request-id: + - 813e7364-201e-002e-0a86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Y4vRY4wBVJgwxxzQIl+jfmCe/CAvjOtPmRwgfozcSL1d2b43kXCvhH1wqnBqllSl1TK0oqXN0PWb + F+3R9YB0ehWBu3c8Brggpp89Lxr8g5uTdi4djI7XhqjbqpINRcaz6ZeTJnvhO8Rs7qWtPu0Dfp90 + YJ8ljA5KCh5MIye3wj+Plm70TE4ORoT6BAy1gvrg005Ld/OlwGZ1ELOKfWxJw2IAHkiJNvQ/oM38 + +jB6ntLtoZ+7xCe0Om+wH8KgP8k+kgPj5l3BpemrFK1UMG9gzjJpBGOaj33E7JgVmnssqo7ivvF5 + oCwiBuqtpCBT6T+oAAxQIE4SOnzbTPM5XOHJIYpeLezD3+uET0cLIxz7Ed18jiUtYl20RxJ8bjoj + Bc/vwpZriCpAbrfN+I+x0keY/MGr74p5yr8iHTbu4fthVcYtuO265rFsxXLrs2DP1UEpn4jViYaG + VaNehPGeO754bCAvF7GcaeRZkpjVN2qNv/07JkEY9nIEe5NEWkGXZ0+JYuwo0zhGPAvVJcS7eSqZ + iGvrIJhYBJwdEfn6Qx6VjNFakocif4+XmO011TsxPPIWbR5RTjsAjiwV7dYJ53Ti+TWz6G85N/pF + VWg08I5BCCBQFRhURri+5vXcWPnv2B6x2kjLJM+/L5YSO+uhpFqmnJoR8UQ1lm3+cTpJnDc7Cw6Q + qGEvhjMfxNI+ukclbKLWouV9rGGKNrqYGnMl1TujPm8UhnQaH2xv5bMPGJ2HsL598XJN3PvhSn1K + 8O5V+kXlPrV2PAS1B/QowpshnLr1c9dlJ9pQ2ZQWhvMP9Di0EH9hp/Ry2IYunegmylaVfUEDzPGw + g4pCVL+aID7dznqIxYZqfhIThzvELbb4IMgap6YUAFN9wkwqbBJr7H+4nu+SlfxF3lSZmd1XXp15 + auHhrXYKBY6BZqHbnRqLMxtj8Z6vVQuX3ekORLY/5T3C3aWTMPZEL7LOZCtfjp1OwD8QAJuG56WJ + +jco69029UC93cXVQOjD9MbWdPdeU/E38sGgsj83hSTCEmsILwep0LXJ2DDo0l34Vpte4PhO3j8J + 9jlEASLexGgCHXpusEXKXm1a0ZOg1f5EE41WxmqUCSXmS2a9LSizkbNeg6WePtoW97aXYboDe4Nj + odbGD1vjhkfhmVuJyK9liu8ZsW4/STAoP+rWwsjZZNwSQ8Q/HHwyEkpCE5lA2y2rOhH8o+79Ra1N + xLfSoAe6T6dK7lsrthQHfFUESPgMQRYxd5m9IaOy6yS4OqOZWcYMhkymgA/Pdpv0l2jqc73Znw3k + jYSNbnYXOtpR4jj0wFoOhwiGe8BPF07Q2w3oHPCQkVpGyXsLnHNOvkssS0M29cKXMVEsDdWJ2A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a377e39c-d279-11e9-8e46-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a377e39c-d279-11e9-8e46-001a7dda7113 + x-ms-content-crc64: + - a3stP0fmxeo= + x-ms-request-id: + - 813e7366-201e-002e-0c86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + xyga+aQZ80rew3v4wQuvHKROVmqKbA6y4g0WSgMZKXYhSStsmVOjKtJvnMuAhrHS07O1k1W0jrS3 + 6pi67ShzkvNE9CW8Z/QEZ+g1Wvu2anemGaNk18U95juqqGw8icXjXjpaGrNbQ100iro25sSf681K + 6KCRNZ/BlXqjTTOGg2vznEdtmJKvY9gLB9vuwge70VgRpN9J+mwtSlzESE0xbZC5h1VxyZWlr4X5 + hOfYU68JSQ2OwR9sKQiNfM7OFwTQYCAoEOze+rBuaBIB7K6TpCXVI/w5irHoVx1xFRG6CZTyL26s + PQnUI9KRDTYp62Ec73SNVPetWzybUGoGsV+nKc4OtSc/OtFJX21bRQ8r9PBG9kbJ4t7vebj8MsLi + xdPjMe3+svnkU9XRPO16yPW5aHCQdOqykvgB3M+m7qFtwBzDCs9H3Uri8xLH7ysiSh25AZrBcprP + V49EpRoGTALapl/uMrMDCsdUgxdBLQLUN64ecbqNtTQbaSIEAXN9A3z0O2guOJXWysjvnH1g0cRU + ES2sHC/DM2xcO4LGn3+62cxaRbp4TGLxwY77Jsn8qMV5PRI8/jA+4HcO9QhV++1U/hd+yxGVYXpL + jQIq1kAxIXV2SJZ4kqHA/kGFdAhzXgVOtAaMhrSk9gpho8kXGTAeoy4O/Y4sDK2FaUFtU1JXWoq4 + rsCJEqofLCmMC6rHzIdcE/f7rdu4qIa2FVrbQCroFTEv1FJvowEkTkPKYQCgkZDBLeFX6D2/jaFc + S5cYKBWj4+FzjGufaPId2rl/eNEuYS+HhbJ/vmb7f2WgQhtZLxyTkF00TE8Pn8eArH3t2vJBmxQm + pHN6YpR+yaqCHqPQr23lM/yBv/6r2myLGG962kQxaWjmCYxozD2ePdUDOgN5vnFMx73IWz+TELJq + EddlvOB5JO+2a6Pd8tbFWE5xsHfpKt+oZWKa6EMZL0iOs0CwkXqwRkIcb4FiEzV03mPj9k+3u8uL + tBxp82gUdJNblaXpy5TylLiLziFNEQzrUuggxte5PchgbPpj2DJDE1CY5aELn9i9nBVIauye95o4 + nnGpwuA3ucrMmq60+YjXJva2kXEn1Wq79cjEEmRq9p2pMSXxcA9wj+30QD/iJWcx+X1GrCTHOgl+ + me9ftPrxlQp39oy69sVv5aaa9NnHX5w/tMBApsrSmZnJtSpFjimg0EuYyOcFdHMJzffKU4ITYeXW + X6LggiJcpKd9w81ojKYaDcXDGcIFdUa6dqCgtew/nkxUaw9WVuhMTX1XwI4hbKsR0eY5i+TYQFXR + OZUK5tl59FUP9OjSjQXkDe3mvCKyy04yrO+WWJYnzGiYpkoBScADIFQyf85ioTGUA7q6Xf3bpQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a38e28a6-d279-11e9-9bc7-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a38e28a6-d279-11e9-9bc7-001a7dda7113 + x-ms-content-crc64: + - 4D2gqjBXZW8= + x-ms-request-id: + - 813e7368-201e-002e-0e86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + oAV5ek4a4+WlorFL2novhlfQp9711katBWrnliDXYTP6Mo53mJMnHfN/vu6PBluwrRsU47yXfBlk + f4QpwV0I0bozSF3H4uhXKOmo1kaMLWbvn8otG8jzn3o3AljrpmTpnzhquJiF4G8ks1dyEPJ5342j + IBn9iBx9WXVvqSe3nNfvGHMvuSfQEulE8RjxyoZgemfOvJqw2UtgZC7LtIqrX1SKG1V/jEow2W64 + f8NitofTkg8eHpA/b4YWrf68JBGqOyC6LAntskwtq6NNj/D0AoY8sJy32D/TRg2Q9YUv4Dl0DTcR + L3HcDO/GHswV8/Gn3vAMpIJGR8arok+OZb3qPv7LTci+zctnuJX+X4ATeqs5v3P8/om5rTQgG9wU + QEsjYEdK68nWoTFX4ymo6yptkMTDDhe5DN/mq24a8Oq6V92CIm1z+p1Db3TNHl3H+j5PkXaiBijN + opRHj0Y8AUHXibobJnuRkgQzJrf7TuZa2s65e1YOuTM5Jnbwxi3ncmOq6ejKzKmvT1e9PWgVYEXw + b+zFKTxKy0zs/Lz+eQasd67vt/y4phmfft06IjDcx35roGkirtxCzMrdRiTvler11Vc6qH1FB4Ad + U1jnXFwop9LwZ2VYpwsC/vYFXItw6RZchKZ+c6dkszvAeN+LJl+wdpQMCFrKL5FncHPSukJa2/bW + v5hutw0Lar5ZNEPihGkGs/D7i57o6UAdDBkntsfBVJCB5pViOP3b2NyfKgDCWtR4fUFxCQ4AXepl + SMIhn9PPFGCA9Dcc4omLUxPJU3LwCIJdR9ZUH1PBXj4XYPKS1z4GPPlxyUvtEWkGzaw70/xDyaoC + kKDLrejtsL1+TM+SiRdDOucwBi4/KHA5BkgthrLcDNR3v4su9osneFGjp8gG0qUa4HM1xfb6/g+C + XV4YwwsZB2Tqs+b9xdjolphhPXCTD7xv1hES+2MnybgxTofpRyNcCfmi2qXI+6XHqp7AjaFkEkuX + zz2mYurzTMoBjVpO1btVKkmnL+eY/LmaStd591o2BJRlEVuRNS6LR4JCNObAzne5dkWbVxNSk1GB + feioISMIvXSBJw0Ls8eS3mtjE2S0d8hZe0u/+9swblyFJ9I+wuwReLUQVBAbyraZZZ8tqYbilqOU + hwDJr85efNPmLstr6S+K7TTB6OHavCvvgdm5YDWR5WsoYeDFNgBkTfWPoYHn1OGGhrDVB2xBdtI0 + MLutb8vWI9i5ZqChOFubGSpWaDJHiw9IYiT0wbMZv5B8cGh3b+u9ImljBPVusqOF0ZGEvDNr7Vld + dVJ6jcTvFxDC3UMpOyLufOAWQtHrNgrNvdzP6sEzHNqLok0B2S56Oxi8/Gwfxx+VENpQu7/IQw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a3a5104c-d279-11e9-a209-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a3a5104c-d279-11e9-a209-001a7dda7113 + x-ms-content-crc64: + - XjpjmlKMrsk= + x-ms-request-id: + - 813e736b-201e-002e-1086-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + tTztwT/AntkMQlhy2jRZ9MrGlRwl07Pte/VLA0M2cQxyHGNvMhaVv/5sxb5AJ1PFgUQ9jumDCptR + L4YzftXFOVuiA5u1bt1kK+qiDPXGg5M1doxxGX/wVU68KQUvc58AZpK8xxXzvfYlp8SsqE9OviRE + lEBqVfokxPZr8wrtkT5tuZbQ/tHfxKfd43UXaPAUmaWMAFy67EQbV0X+5dGCz/PpwGbcpxIR0KXe + eK1s+OSKT4cyhfaHZR1LzmqV9oRUZJWIbAqxWor5TVyABGeIfZfnQR3Iq3bsdWLzw56miuZQRaqI + 9bpyjgkIwO8pSWx+AwbLjUVD2i23qZZot9CufFdyGt5yBvPhML6GrlBxir4DbcpJwiT7t1nT4ak8 + EH2W+aR4Sr83DBAHtXDEZObngPgPQXTiqm/kZIT4AImij/Q4+PQ1Yk99QE1mb4yvCz4Jp3h+XMWG + H0mhHwHMHmL9nbxU4L26JaBdXuXDWUGmj7UPfha95uxy80Yz1yKoqVHzyAo2cR8uperIG1skE/Rc + nheU2NXdbsjd0LB7E4v8yakN0bEM9Ziy16+kQPDQM5fFhVou+5F1E92WQfvlHzQQaKBIzZ6EjWXd + sjRdAsHyvRuXmv47dnKyRxuCO5pHl0YYCZWWuwvJYFp99ZkvEsfm3RtyQQ5xCioS58wsEsF0Bfdp + B9Fz6hhKEDjgdMgJrZtTG4HLlEl/UyaVKQ4T1lf8XeGrKzMruj8op/H1Abl3iqAsV4+5+HHkcNip + noHKSCC+iwI3giG+Ub+rdOSqWkponbMZuRTwszT720EqTMecAwAaqzu8JT/yC3+8j7opqofpgs68 + eFTv8GuXgewFtjU2cUbU4BHHBcCQqruQTtd9qmX6cdKvOmFnvfuau2U4s8go1OmJhSkYhHF7/B3m + FJGgRuC7xOFoiw8gxi5jnNwAOioOXAXZJGztVtAIxbVGNjyyTvJluO8P+/RvzsXr6CA4ELsMwapB + sFM6guQee8LPPA9khnrUHb3gU/Scsm1In95OBFFKsQpqpKr4FU/EmOGfSY3wYXK4bkdKOuMGGt2h + Pm58DLbqGpLcE74yICk8V87vFjolIN2j2praWWc1pIdwzk3Too4xbFWkTeEeJy+5cue0oN/oXmnl + U789s1x9k16Nr6rCzNitUJLm62yBM8qmMWE4grGdFUcPxKyFmO4pdsezsuObYI1xb2Ufh8DccXdK + tphrC3Npxsn7y/fJ4IRDsxQyaJ/tYM1jqP5doWlr26jDjZIH71A/pegireSfsvsEdoic6SKZIiEM + cPkSlDim2IpeHFTnFLvz60ejx3e8QQSa0l5iWiq8aYHzCvry+HzuYAYD2Dl0NOJE4PxD4TyZbg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a3bc5048-d279-11e9-95f5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a3bc5048-d279-11e9-95f5-001a7dda7113 + x-ms-content-crc64: + - EJvNAzmpYVg= + x-ms-request-id: + - 813e736f-201e-002e-1486-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + cX3fMDVez7rHvLCLqlL3uv0uN7VjLqGKYaXooH+V7li/GdQfkrsIhSFcyRk0psh+BrWp2ee50Iey + p2FxLwXNHOwTYRXTTeRhZOckjnT9HB39hL1cY+nd2mOq6daoPaG2fG+Vm07w9yQmsMOCOdvZex1q + i391zjqM19srQkGZe0zv8hByustmnUQP5h4xgmQU+uXPV8e8urYY8XHGL4QKJjZze72hHbvSpsTM + hLhveWo4eEzIYvNVP2gU7W2P5YI1Aj/isyRqhl7NNqWzUFjO4yLhUt98nzzj0Pk3lyeWxZJUcwD0 + TqDOLW58jNiegYDWA5v++JbinXmEP1od3nRvWoJd6eexFatwauD6kkTTug/641ayKmCZbm0VQPDY + sX38U0DZVubzFna4z1SPc5GzF5CSintdyPa2CnPRCWRa1hhJLC9MkOvevgLnI/zKUWaTcqxaxC6J + vCOuRhL8kc96TX2/Ifk2YmxK5Nwm7aToFLQuN4zs0/kIjPgIYN++OWxgr717PhmVc93SqhEkaxqn + TQ2F5FVgQTS2BLcZOgohTJ+4KqWhKe8YTfxaZUwRqQxAx5iML0yA5J8Q1ZJHh46MBPtklFIyZtZo + AOhlsl+jCC8eOH7P9XbXQZUFmN7BH870lfgpXN+T61qpcngliZcof8oTE1xorKH4EI1GtqiA6QMz + obT6G84/jpHjHhDYMKyNvM/S6F++avzcHTUmM4jy1cB4TX7hcE4SVLqa57FhJ/DLfJ9ygKeY37Sn + MAufEO0b1oWvkI9Me8qI6a1G2EWN2Oukn4SFnX0VFo3rNvGRNFFsQgUFVapSl40lBVJTLQnv4cQ2 + c455ObjANmbKpkFc/MjDucwi1DTBx/d2iYYmbwmWRtJCSTeOKbozfFYgmgbVL8hxp2w4k11/1zuk + U1t2SVerR+AYaP2mmV69kwsw6i12cds68+KiLql0ZN9aTTZRHOhr38G5p7ZGdGW0Gk2mocqUtaM+ + qLsVbYfc9ujaUNELJgtr5+BOiYkB2NyC4OtdtISDVnPMeh3ho63khJN5mnXxU16Kyti/NeXHqUCe + EkqiaNoSSmING2DykYZK3E5Ansg2LZNzNqM4KaP3bGAQBQciyg4AC2idE/7f0IKk6fs/zUy1x0gG + Q/YJRdBGFsQyH5S7gtm3rJgz1hpG17GlXmXVU0W+AkzSVN3M1RvmeBrH2zpbc0sRP3ebjxMo750T + ti4wRlLRRB+uskTF533VDW60du3SvNM7ZkOWO+6kbNvD+nnHusJ0kvvExWGsfswA7DB8Zm+Zor/k + 5UzlV0k3W3qwPiRD5ZV8lWlqQ0Ldyj7Nku7SLzCMaBoKlhgg7d8wsYrgjv223Osk2aTR3nLe+Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a3cf3cee-d279-11e9-ae99-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a3cf3cee-d279-11e9-ae99-001a7dda7113 + x-ms-content-crc64: + - 6U9kw2qdvbY= + x-ms-request-id: + - 813e7373-201e-002e-1786-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + V3lq60BjViXq2JksuJwPI2CN5ZfanwWqUXparsmLzUBuoWechV1WWi0XMQj1gY3kY0IYF9mAN7xq + LdA81QWboNgnuHgA1edYutj4n5qqjSCG9C3reRGVFYQkq09cL99Nrul9mtjI9PM8VNDqdObMOVlO + rEJJoFj3kLW7XOPsXSuej07GtWGhkaoBmKkQ9+UJ30N+5uevnTFO4kLFwNy0U0JiAXENMvK0iseS + 6gRVgq0mAVDAevC6IWQ2PsJOVRJK2FyN7VOVEOWKfpA/hu9xoh85T6zxAIDc5eO4Cy4XwGK/EJW3 + bpAwjtLXFcuTydgUb7bD69c67j75EQjEiNFTgFT59LOcAcz2Z6ujkrYE61Jx87UvaY3b3L2wGYR+ + kYcg0PRWbafb6eEN5FjoisNFfhCgdKn+Z4trpCGT39778ztL6JNSLpDBUmGitbQRvxGU3InJ6ANM + 8hnW6XGuHdeld8/R2PP3WtpxNsQUeGHslWuzhTXsVwG/jcNVsos2XiVL3ZFgwhlc0aCNmadvOP5H + 1GMR2w3wZDZdydZQ777k1GS1Br3NIPnQxIC9Alhakz4Uo9gOaxn5gsN06iL5oUUkoKfX2UR0EuMG + rcV0BMseCcm4Tc5OPpcKvdotYOi3ykslA4QfSqiMuJ76MMv1/Ky+cwr0nHLLI6x3DZXWtT+OanH3 + t0gpLorO5rnoSj0JOl1nc6rgBzeET6Z2e3XvpIdSAaML3PNYH27kQok6FeEecDJgCPvhivviBrVc + NPf0NyG3KZGZ7okL6NSO3o+rArPxGe1sj6Ht54lxEt2Hv9zug/UU2/vRHKF7XwSylZ17UNC/DWzk + Iht3kX+Bs4T4+FZVw+wiWJm00TtKfdKaVPP618zpDPcRXEUKTpvf4EiXcPplQu0r/kzF7hMvkyFa + HfC8qn3V5E3aw0N6OrtJD3LWTONs7cax2hRiLRzv+/sdMs6nYtDLTtO56483Bm7fqAzFMlchhdro + nPpyJJ4x3PKu+Xy0tWIfINnW6sgAyaGyzWzKLUlDZm6JijtPMbM9Uh29zG7sOaCN2CZOmWcps2gU + bAQe3B7hxVpyA3NtbGmJnd3WPw94rNuih8wy6MbQ0iVh1ZA9p4JmhBVS4rkWO+S5Zpz94EyMO5fK + SO2Rdmz2j480kUobEnQm7VRfPxGDbaB8WHalsfKq5yirOX0MDh1QipgMonNOI0NAxR6lmhNDs+59 + VvNmp8w8qrWfltt8DspRN8TVIN1nLb0iHcuwGQJphpFwA3D0OzKS9QN0IIi3B4sj6C5oz/wbERzp + HY3mC3mLrleb9qbs+21NdPG0cT1kBufhlIQjHqQRbvDznXTq8N3sVfDZAaQ/q89xTK9YEp9SqQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a3e3c018-d279-11e9-b74f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a3e3c018-d279-11e9-b74f-001a7dda7113 + x-ms-content-crc64: + - 0rJCZsKHZgY= + x-ms-request-id: + - 813e7375-201e-002e-1986-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + FTNQrSNb93KTMYe65jnAocl4y6682vBf+7BxIG2hBITHaDZ5JYXaV24kA4D3x8wYhUpvWIB9jjqC + t620UkXhL+DJy3A2z7Jluut/cgtKhvvpNNQuMoiP+0FEbvM/DNjiVGi8d6aEGn5PJroBVLFmZIst + TwWpyAY/BcfoL8Wcs5F+riJoZRpZKXG/JttIiTnKztRaxpaEBx2fiTivYiBhqiV2HWscAJjsPRXD + zvKjewwEq2O56X5iTP1crEXWXtMLKwUsBHnjhLPcaeHe4n7SzG/u7fSN0++3jzQivMjtMWbXRgU2 + kuN6hH9Q8p5+P15+HZo9igTkWe8zxAIBHmXHMD5TgtS4o/wywlYj0Z7HNE4oi4gYNb+cWayGhI1c + VjwouF2EK5X14aKSI8JoF3OL8XEHpW619hpebc2oS7VhrwJC1SKig6d3l6sreSIegEmZpn8LTodb + B+pgE2sEQpTkKMjXEUCaepR8YrVaN/a3JIC+yxA2Ee5/TnmtIdVwQ5k0KZRPRE+nVMy85ZfigyrY + svdAsagMUIIYTO9vC9rjE4UhJ8fSKSzK/tFJXppP2GfIUhxvPhxaesr6xp2J3/LBOcsNCz5WaF4j + MyEqRrK7AIj0WsVDghYQOpsJ2BiQdIZLWW/HiP1vg6jy8ZkpsEl8yjgJ6J6BDw4IgqtSWAhlKcox + ipzcwqRXlz+/MsaEWUmEMKdU2vCGASLnFGvO8TwFQFM3xrBnwS4HgUClQWezyOvd3nA4JWUn1NLi + EwI++xVYRB1MVfq5ltJ8kLLvyrUT9OX7sQZH29YU5rpUCNX57jXcG7+NxhGY97sus0mF8FDEwNyW + SDCxRBmIl7mwLatXtKsGylukemoPW4n1ZKW0qNULp4bTXAVxdTUxRC5ZwhtGnJnvhEf42jFNsxsY + JYY4gU/ikYVblR5c+Z9W+XR3TQ8fo+G+L88B0H/bbg2BfTDSDCuqpzCxYX1GGrKLgSokq2grpiln + VCjgs3R3CZ3XP+0rjcoq5LUVh4do4wUwTmUmvlmSke7yBkGYPgc950Ta1hE9Iljt2OqdYhmueNk9 + BJmBCdHdIPZXQwVHUgT8EDTB94lms+Y1U827bZYsuV31lHQdv+HkIjOFW+uo19EyLUsrXe3wkssY + gB7AeeoCs7ZlcN6CK5+FqruB7cLUj+sKV2F98jFstu9pSU6ezpTTuxYPJO3DE56dyvYrxrn3zFgG + qoQPHevEOVEnnhFx6hrPD26XJ9nFk53FTpT9lcNdSi7hAA2MB0PjyjsucopPZjbsbZtm2QlB3zsm + ZyGnL/x4YYPUM7gBMtlJf2j7YJr+3md7xCMJTUc3DKJJgZoz3IY1E71EZrJF3mp1QFK2HeHx7g== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a3f563cc-d279-11e9-975a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a3f563cc-d279-11e9-975a-001a7dda7113 + x-ms-content-crc64: + - 9zlushF2dlU= + x-ms-request-id: + - 813e7376-201e-002e-1a86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + S9nKwx9h1n/qXgQ3BqnVytMlr4Hkq0SjKrt6KOukZbJwmgQtpXbOo1HxgVamLvoOQPi6/TXZQ3D6 + qyweA4y14/DYLWQI9updnD89BsIgCnTxzE8I7pHpp5F/UxNzExM2VmNuka/G4XjAwTb7JWfuAmE5 + buurNR32ekSxfgCRDTzEidt7FFSzsGMFevnJCxAMCsFKp801XPbR8iiZbjUYplqdf4s9muYZKBta + h3tlk/uWTTl+VwnuFV6dTWLmnOl3eQ4Q1bJJEEFUa2Z8ep3AZdi5WVoAUZiQxBZiiOPWQh0u6TXg + JEnZDszy9h/qLrYEAMfwwdnMpUesbqY1qaJX9KL8i7mo40Z0BGf3ExnINVRfoSH2+QBTf40y6QAY + WaB35kCo8AbvknWDSX2QYrS2JJ5fnFgX9SI7OqtWvgJbXgeiIy4m1wqd0785g0UB/nL9DAqwiTBJ + 1O250oQCUnScHV6DB9z55MZOhnqBimULx1NhH3j5pp6M4ZTozkNxbKM2b3fgGYFI0m9uGNHsDn4U + Aw474fFEc0ie+2PismI5VLSNWREV8hOE6c4FCbsXsRen6k9j0md6cmm19WfMtVUTWDtFrG+uvzXn + 3KygUp6fNHtbFrvE4ywoE3u7Ni6OceVhvbEET/VvpuF6901gB0WJqQwcDqdpj1KHk2i0JspjSxEu + Yta96PvJrLgpmkIibMIr5qFFYjzLlvdKYh10kW9zeJ+NlZKj3+ehwtYheTeDuRgZd2iKYPeJfQLR + wH7Ycd9IT0F9xhSQTH4xxFPGelmgcaI0mSH4Za2Jbpc2WsewyJtKiPMTGwQJMBHcKWAyonvUZBPu + HED8+rgD0C4zUjk3XqtH8Ht0tIuessZ5iT6DSN/j6XOcZosh2fBSNIDCurgsAFj0p+AvvMNTcYkY + t9tc4GZU0KIFenyW6ecHqCX9ZreRw9A0gZ4KNJTJ0AqWneZFA4FHLQdyuzeiyl8HOqkx60QYmn3X + F6ncP22lw71r3pziiohqez2/ypPqmU+dqnOB8xY5Oo9SQhl22HnQu53g0viTMWOpRALHogLvDe86 + gAlnlX7oHoFr4tapNNhw7t2wyq5NN39hdD4jKOsFklDHMWHH7/Xz13+bIwEbjpRZndX6q5BcnlCe + C6RWttTCtCB3uWsb4r95MGY+Nbe6VHU6g6WVvCJBj6zX37CVkvYFnQgc8YMs0Q88mD0Wm3vIJJ1c + Zw4bxBpsZ8tzW2Ejw7f62tfxVJbagNyaT1lXz2LXskBAVkcQLZCcUgN9/HSNuNj2KRxj5nZun89l + svr2fHbdsepJobzgiGXF9qS8TdBbNw8Nx+wdYTTouSrffi+RzVPOxvyd6b5pP29vUuD+A3k+bg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a406fdc6-d279-11e9-8034-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a406fdc6-d279-11e9-8034-001a7dda7113 + x-ms-content-crc64: + - g333agNbdk8= + x-ms-request-id: + - 813e7379-201e-002e-1d86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Icukwtvz9taISZKGu8N7/kayerIWJoXqxrcbIgIs9Dhje9H+yRBrzfo5aZrSLYjjTNZxP9wzdbQx + tPwCg1TaWhgrGtscy0zmpIXxWilPhmBzcHZ/4oe0cOv+YLDS4KgHfnqmWVBdVKRIdL73VFixgfy3 + zll5Lq+arWx1IBoT5gBquUGSTc6gUx22V5K9TDdS/nyiasVQEAFjQuzMV/DUgGRmVNjV+O5ZvttB + iUo7PdIIgCg/rLu9qqv2Fa+rwH1KKLW1R3uiavx7LcQD5c/T56g3n0On7PYNz3oUtyIylAZJfXw5 + MA9wpwYtOPV/+W2sDFxYOfbbmtr7qNv8M1Ux3jY7DkNDDA10bEqqmkLDOLWFZx3UnCKBkuWVGHxQ + 58/ISlHBeumSW/dqcKVvTviUiflgQ/KMRVBJeCtsl9qYbslgq7CC1i+B5IDWadae1ps851UgyMlQ + SpfEXQ37rtEVmo9Kv0ikNVbLaBRONvOhilsYfQdFlsnkRjL+eeQeOpsPps7xNTQOLQKtreqKiDMd + dX2rdkmvDABZKlQHDj/utYpuMEVyt5jrnoRp8218W62BTvyo6ptByMx+btsqIshdeXrezZH+RLaD + GwVpLQ0B+MCUPJoC1u9x/TIUvNMSKAu2pGVETRnwBOqJ+FCKuf1ZjihRiNSM/b7vox3gDtdnOZoN + kht+Whh89QapgJsQ+PvbC2Uysp8baT+Wbl/ySPuBfimTad0SrMCZ4NQBNwm98ONHTlwmgGnGKzE9 + qskq23ZfUEGDup6Mz+ljiTngllPNR+nyn3FM21z7aOnHFlCmIUeiZWXRB7BluvFpbja4WChXVaxW + Imq0ZUEuk8ImoUkNyNWMw2JQMxjbVHeHZ6z0q7ZAuTErAK82ucQz6hv6HgA6LIbcRM6XY7dcA2Jf + SWNw5FSuYyl7ykHysjfPZscKM15H+3QSlnkpsWZFCJK7Nl3lD3bAH2HxnP1BVqiW9RKPd3k0rS09 + U+gQBvyOXy0PYdls4DjKc8OGvExqeNmNmWeLBWgGb7Zx+ptQI9jzKykXoS3jtLf64/R+C09LdZpb + KMN+aOG7r6bl8ztlZh9urvi4oJSEaivqJjsZk8DuSAPxqW02vPV1x4p12QKrIJxcoPYAioZiq4Lw + 22acvELlrJlrNkCKhivU8ze1JwGYp4qisg/tbcy5z019g7eWGSo+0Z0CJkWBrphF2Zrc4hVcTvQK + bxewQ56yds6XbmRGC7tLh3+MCJSCSZy+JfdFY7miIsaa3nXw9sSeSMf8Ax6J1n6FKoANuMM8FSGH + p3QPSBED086q+ZM9KJpqIt2nw0G/JmLPxFzyMVjZOwDKl+35SRnR2KZNw4BtIlHhIfwy0v5psg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a41b1502-d279-11e9-8f87-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a41b1502-d279-11e9-8f87-001a7dda7113 + x-ms-content-crc64: + - YYX6Nr2XNmU= + x-ms-request-id: + - 813e737b-201e-002e-1f86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + NCgS3+L1xaXJr7w6fZhN/pjDI+wHrk4FdW1BAMMXVvqdsczRCMdZgJZrhi7ZII1CjQprsHHxrKpY + Dj84w0yVEKSNwpgDaRhvUNxztZBS7xU4C9r8iuhYWUiLtGTnaynYwEzZAWsho7IQGl/Yg4bBOb71 + A+qyH+44gQOsQZ8CzgM5x7ikWwhkB2iC28FRn2jsdfKCnvJppooEkpk5IoUXUtkqVhcZkgktk9b+ + JykfSnF8LbH9Nr8/9NrK+oydgkUsFFlKFgCBQvnZPAXa1M9Ip5f3oEFKG5YbdG/ySU6QTOxAahV/ + UAK3VWbIYnE943zaxwF32jk7q2pfiMJWmbjGpnaJToqqpsF/d20xJ+ibIzKfpxuoZbLUms4KzR5P + 3Ls6biUQo4OnymRaCFIZ5tq/+t8aE7TXxm+jCPPN4QGF2Ojef4BamcJXMv4th6PjhVoFjYY8MorG + UVvRw0U0MmJ3hXlt6ZObjjnynPc1sg4Xy+XVbiThEONRS5bqXuNGtaaSXcNtsG285dAewSV1x+jB + OTZhXW2xXHehrFPmbTdOcWKehlkYcZ1j7SUPJsgb3tdmriGAWlmmAZHvLlzwgTgcKT22eQwCIZFZ + /LWT5olTt9x5mvmAYnYjgjRQSn8nnkgubONZShf4WwOStaZuNOxwQVX22PMcu2IkMpQsrMg9h2Xs + ASNt45q+IHKOR0C+kJk8k7hhf4uo0nITwv03Kf6IdiVUB1ks8AhOjxlVe7NMZ7Lxu+INwFww4Kfp + WRnz4B0cxtVhE5nJNb5/VKhVMDGyH4+/0vZqZTLwBFCk+Z/m1yXdknuJelVL7vQeMhY4FSI6iLUM + 8uB4F40y5u0PFErFUHT6Qv1HiC4rYeCRb5BrkkbJNSHWudTRzcKDt7PmLrj8fEF/0RP1mBLXbcvF + jjypcbLUYulED5z0m47llcZuG6Lv8imoOwniAhFreDrvTy3EYBRjVDh8VVwH6jU9jZiNW3H4vG1j + uZJRMH1IngcVVGIAgH19R0j1MApBLn4AbA6jabY6s2LOi+fh1nIAoyuQZvIgv3axe2tJGcIl2Yp+ + wznnMOehN9VCDYNWq3g6yM1Mdof136eUUmiMba82ryYQXrzuYsXu6zjGX7Nn6djjkcEusme0HeLy + ZZDIhdGnTZv39XyHf3kDK66jDPLc5LkrseffXKsEvolfCA08tiVcRwSEvG4Z0LD6+Anj4ArLAsYT + 1KpItz23qwAdTg4wQk+wR3ShewDisqgR/WobqlanfFjYFKuykYZ5ps2YxpAdkCufPjbdEVXynuoC + fAqvAGpx6RYsSL+vjNtBz8hIXDaZ1IzI2jf+k6dfVbwv+EIQDXfoO1BKqYeuSCZ6EOfWXvN8rA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a432f668-d279-11e9-824d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a432f668-d279-11e9-824d-001a7dda7113 + x-ms-content-crc64: + - uZRPZBGyQU8= + x-ms-request-id: + - 813e737e-201e-002e-2186-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + U1EHKdz5/Ef3GDRHFK0apNVknHIWMgAPOFEr2Lutt7PUf6Kwq9jAXgQr+egKJEvRoayEN8mmc88w + 7OR4QiU7CjP0xhIVxgOMiJp5qDtt5fLZu8cufAApPPAng84/LiKcLnvfrZ1MSIrmmcTdumZ06XIq + UA7BLe68xEtpmwIwu5GFrpJoVql/+FvrUYZaMqJQZf1whyVxuekgsX26kAAQ/fVFqxiiMXYKqc2M + It3MNbqJMvemT/hDj4ZIlih/Fh1MvamGDZzv9vOwz2MWpS07YfcUua+713As+RELbGqrYG17b0bl + NYi33Slp88eGQ0zNaq87GtBeqgSdA8SUh72Bpbv7dTvNcW8lbDfBCGxFwjulAkptu79xHaziJLmX + s0TeJA9IZLsjaLD6cBoIqg5F7CrhCYjMHJRG3EphBnevWoA8yZ3XTow6d/tgouSce7spfAUVcOkP + vCpvNcTLsTCuzlXohuwmVcCYVJuAfVeZsCquT/TD8XMwFFBaPBzVif48uEwDnLaL/HRsPyMluymn + KgHTsqxiDrrhl6LMB3yjeKsV0O5qfx2H5aHwuTPTd38r2MzOkPSLZES9ENaLK2zXyMXX01vRArHc + HGrVvL8anntjVVb0W5m3CbbOP762UhJ85nZliM+VB+O6NeWUT/iF8V0sj1xA98NpI1DvxVItgK9i + 8rzaDybjGpAqr5TD9jyeoFLV1Pt3N6kE6bcAn+dEZ6Vwo3pAplbzhgTKRJnlza9s6vTvgcemfSXP + tRMQ+6lrVCYljuBCie/W505CuUYtaDKqv/uQ7sd8o3eeKS5XE2yphEVJUTEaDSvKIJu1fR+R4nLB + j2zURDgd4ZypqNkKB8hEPX7s0c7owKQk/LicXEVZwd9BeyyUxILzu0PYXdYX1Cqr9+ADBOucGUl0 + klyMwRHVTxq4c3YsukHKjBNDvzh+XyOAqTfqbpdOn3ybDtQMFLdyzsQDn4SuiksZAajGs6iHdcd2 + Ulrsl4djwcI5CUZ19/uchW4K6IOUtXqRShjmDKOP95e5s5j1f3mSgnG/BJebbT1TBUXmlQTmmQIA + bcyKTPUzRGsZxkm2CpEgQK+NCSCZGqCJUhfvaUg57KhIvs5UbmFoCxCUD0E4EIuRkduvWsr0v7lo + q3CaLgJ7wwI1biZmrUYqW4LsJa/QrKRmt2Dq886WPjlnHsht4KcoE4mt1ZyXeKBbVFgrWe+ey3/o + 9QsO7Szhlm2lhVXU7SuKAZ3zBrjKj2LDmQl8XX7Y7GVNPDPSW8hw5capZhzYdhOoPWnsfpOleQrJ + tD0nYkvNUKDtcH2LJY/OlwKrAnbDOiX1nEtAxUpmjIm/6LPFQsOLdFT5NW9+su4GM8AwjVfnCQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a44b237a-d279-11e9-b66a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a44b237a-d279-11e9-b66a-001a7dda7113 + x-ms-content-crc64: + - 6ahbK+JtETU= + x-ms-request-id: + - 813e7380-201e-002e-2386-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + A9czCMr1IUC6zr/NoafUbWVrf08EOcMfUi9np6KAmjnX7C/bF8dg8YxWWaiiPbQNCXV/5USyVUeK + OQeDKiOhOstqFR4VPn/z9PAZXCWWWeKEKxWAALeko7xF9YR1VRscDlVTxEnDiBpsz2QyPLU/EVfQ + F2BQYrRzo1eXJ7PMAKhIG0/ggiKq6YMaMHwj4LzJ4BSn9c3wx2Lp+EvYXXxz/V0gqAJp95xutTMp + N6pqKa1nL9h9en0xAfKaI8vUTPfHFQ56xANfhjqno6G2hL27LfzvZBsVfh0lAW31vZNplraKtY7R + mPMtmvaog0dnKCr7CdCGAcxoG6pgQ/HpRMY2LXPLcD+/7te0irCSGgCpleYn35h0NQdEy2PGsB4+ + uF/camte9mWHVhOBwKDarxfUPSKYtJSglvUBi7NTBDqJiC7lgzeWZT3t4pK8HraG1VOqAoo/KJWM + ZQqskD/eAO4Bgce58DZDU5rJIovd9eFgmXNuNUqolwtX7CNo8hrg36iYlGmY040LdYTyJW7EtZoZ + qB0CT7FQN1lO4Q1ydbLcBsrlzcmZO4R6vX6/cpgMT06lMHg1DWUCNYFsXb8P/jkG6QVibB7ZWuvH + dTW2odlIikTEOlzKxe4xHqumg7FyWue3Q6uSq++6nFWdNLD8EcIjvgDlXq/OApJXrVSB90oVrP7H + ew6/6SZrGfVoiE9xcUk0IMsNK6PgTj64uwFLMUcN6eHgh3jUm2MDxTRrap9p6tyLb5LNzpSOKIgW + WjQEAECvYOgb+P78YjZzjBX1YhNBhHoAdZ0RuOdCQriwvP5yKrNNm+718WsN0HztiLHz+ruBLKtV + 1qlgHeVkg11amkGJuCXurpTw8RXHPePIaNju9E3ugti27sR4jCaqIa5iVCy/ZIWCrt8YXTh5bZPJ + zkHHXfj50T3lLM7jryH2lbsFQxRNCUodLlToqgob/cISv8mg0C/w6InjbwvMZ7rdIyRRFjU9pFb8 + dRXogBrhQK5RT9VgKRLSE5LTPc9QD8xSKaGrNUSsumGV4o9ikKjHTy0jNQ4lQOW5VdozlryOvfES + HETg5ssyZv2VVLYIQ7GPvBw8QhpG483UMhEsa94TeK99S1UjYzZxJyce28OdygzemNmPLoDKkpLv + SsrpCnY7Pp6FMrQqonTPrdV+wEAUa13phQkfstPimxMY2ILW5UDnwAZrmZeeDMHGOJfPJLE8+CUB + ifBVi63p/KW0iGZisaPZKttToqpkw3/HWbkUgiHLl7RQklHNbsE6KUgedJoCemsUk+G9qjeLefg0 + ERd+vYn4mnfBJjWLTEVDWm5McXkvATLGJmhUsYgUHykHz8eg6Gpa5ezyKxOyqg7NUDcJuWQ0uw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a4612946-d279-11e9-bf2b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a4612946-d279-11e9-bf2b-001a7dda7113 + x-ms-content-crc64: + - r1H5Sqi+oNk= + x-ms-request-id: + - 813e7382-201e-002e-2586-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 2AzdmzkaWKphdUMefAUdM00DoxIMgzcY6KxQ3l5n8pfCZo3F+qiagEEvlxxfKuUNqGuslTpenNWZ + qQ8vPusLIwQeYGEh/qyXQkRM/NORL66M205Jbv1yB7WxuaVgW/BYhfJZJdq3tGcvEI7IEWvA3Usx + dHnBZXxed7KAw1DXg5kIO8kwXD5VZX8nNZwL00XDePq/27okSA2JTmBZCus42KF28qH7NuFdDvBS + 7w4NVqzhUvRDTiWufzwxv9H488ic/N3XJh4jhOusex514OtW5t4TSB07dvKyPs9b9sNClF8k0vkQ + eAkDTD53ZXPomljIV794NwinosxN36ssoIbRxCt5iRR79TyeqUsnG5glQbRdldNxGE4eVTZLpELD + AGxEURexGZSGjKhqke3Nr/5wWn1l5XYlYzDsrGqsNjJ8fQWXCp5bo8ueKlDlmGQDXuN3tO/ynKSN + H3SQlncMO/kB/OYAJH1mQc2VtBaG2liZ9eEnuT1/3dA3uemnm8/1kkcdV0FrxlLCs5E5yUT7SAWD + hd1iSiVfp9ROYEvJo1GiEmmtrkqbAXYY2GWHCqBGb9mfDKsA/DVPBjQEuYLzzUjY0nh7cFhRs44c + 8EqoUH+OdmAzFw8QgjLkdNE4PQfJja6Ji1aERzCXbqtAEN52yGQc61+hwN0AicCb1cJ/tR8yXzUD + TYkW71fQHvaURJU4Q9k3dofg01sEnnInREukOpPqJAXgB0bJWnfHpijbtn5QAQ3S+7s7QrGHjCWr + 0nsMz4fs2jwVTBw4UZ+A65eRii9ueRBHFY2JFmOFVtMgkdf2KMraAqvEAhS7KVNfK6JcohTUYleD + vjjb0if14ChagXjxVWqG4sGleTxrZQ3pXhMl/ed3SOEXzAe6Lp9Zopl1t0Eo1Zi0/UOXtPuArMRn + 0CKXEq40zJbl7pBXCQDx9oqF15WS4pU7LQFEiRoOXRw7kRZJZ6hj9DH81+lePs59nAdjWFBaOR+5 + ZBBI8cNvpuZD983zH8rHJCyNPlkozDsJxDO97U8ikyD8AJc12lzJdB/UvtNlZxXwVM5gUB7xEl02 + W+pjA+NX1oqQ33i56gVS9LvO+Te6UMHKb2LlrHQYaB8NI/GitWS649seICypTkd+MHYXMNzwl36O + tMZGIvqhcyVZ0UsYOrel7zv9KTfAdnJWk7KI6JDj+/iFTrdd+5ZDKkYq+Kc+7SUhIljmfaJkbAKE + UMLd/Rtc1+/FcodeUPda/R07Y49O9zuLMQb4Rpi0DicWAUEtccPWi341xmJOvsnbjH3gN/J/EhnA + izioQojY+xY3qYOZJeI/HsKu2d+uD+X165ojL9sSF/fQo/mkqfDs8mBk8nOMKZ8SiFK7D6tmtg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a4858122-d279-11e9-b0cc-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a4858122-d279-11e9-b0cc-001a7dda7113 + x-ms-content-crc64: + - jY5YgMv4kjE= + x-ms-request-id: + - 813e7385-201e-002e-2886-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + II9BiAcrVya5cyTbrPkZguWchbPjX6xHgnjO8pOcyd6RcVbbQfPQrIvBCq5xWTmEkxJpkLwSFwqF + ot6SAQjv2pRcg6bSp/6+aswU82cJSBcFQWBZ+VV+SA0BKv3NAiQBQHiXpAepcAfcUPiKMAXkeXiZ + gHYYq+arH5qg+wpnGdi8owfIyIBri9RcVKVEPZC58y5zhbBwFf5zNin5eOw+7FHfMKlLohqdnH/4 + nDWWY8v4B3Ffpl+9usyeOHcxXIhKoJPjUt1wXWj80zFiTSAA+KAPmE0k50USjpsmQFiG/ha8QUTV + 7uEr3H6hLfegB+hwNGhq+42Eul0uW9WE0+Mw0JX+COA0O1KsBA+9LRWg0c5nAlZmVZjXDY6ts3yt + 40ShnoDJI/YfwIMZEaGybr5SAMO1ba+6p0h50vfLL55Ie6PuqGOGKSBtHKa6CFnqEH3cnRvNEkY9 + 65woIVQ84eZh9EWOxcNzCp8lrb7sYl1UAxzt6bvjUmd6xGTG9nP8mMMdidzO2FoMizqzXbXhpIlt + RbOAyKyX52QIlVjMdq2mnZnASDmbkpLdou9MZVNqNMse+3LxDV4AuN3Ja6QSp/kdL8hbHocBe3Ln + 69gAoo7Et+Qg8cA1eOJ2TZZwmEY8IpmI8ker+6K7DovqW/hHgIcdxNQoKPQ/w/JJ6lsiweD2tHhH + h54hR/TXjmT72XxUr/hp4NOU4SjaNF9aOktWX60eZMX36gkU7YoPDrWER054tbkPNUMGVnZkJKG7 + 59ZcmjIz8WCK9DpS+LjpmsfojcmVAu7L4YQQWjtmopdFIPANymg9KfkYIcA/eO9wqFBNZLCAwgZ1 + q2GuoIvgz0UNLDmyX+/ZNTpDWDomrdOzlO6ndTf7bH6kD+wNWtDUDuoYbZojv3TBB1RVk2rtJSlX + /jloQ0m3JIqLGWTTnqAmA4sQTr/VjzvqBe2rWetq/T46XkhPO10vmXGt3XpEzmQO7aZGVe63hX/G + QhMKh6hax44UfdscF2qNoPPDSK4PfW07fqpouYjfh4m7vi4Q6m6E3nl9evaH0G7B9K/ofnk74bWB + zpzYZzYs4TZtUX71K8fHGwaWbW9qSw7e+4IgEc/zF3L7PEihto+DPvI8ASUvjbc9wiuyAO162PTO + q+MItj9qHLWDkf3K0gp+p0Hy3zCicWN6iqg/YVLH5kE8e4QtpV77sniR2pzyilEbj1Hap0x1kN43 + ZtnrDrQxPKfM1ID9hnWD0nwd497xVDs0oo44GkWyBIznDgsqd92wyl9sVxEUbgXZ/CQ8vNuDWYX4 + 8MrluigKNUnmS3Hi2Chm69bpGPFYFZtBoW2cMImDimBKMMLjNaB+jWNn4ezGT1KZXNaHwH+EFA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a498bfc2-d279-11e9-8157-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a498bfc2-d279-11e9-8157-001a7dda7113 + x-ms-content-crc64: + - ryNLH0a4zoc= + x-ms-request-id: + - 813e7386-201e-002e-2986-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + xSR8RBOst0ZM28QFZKqeygL6Tj9KYZIGjMvMNEUZqIn5HPoXSNJBgr8pmMURPOe1rU5oSU3EOgtC + UCgO72C1/uPCtpS4Tf6KNUdBp1mkjynML2XE02vAuijyTvhXAwFJfYM5TsN6QqZ5RcBZMy9Ptbt8 + +cg213Z8mGNR1/ZU5mAuYrOLYFaYAxp2doKCkx0l0UXFKUIrahmDH+ugHDhxikyHJ1N4F+SsIo2+ + +HPFDehjAjSGVJSr5QnnBAm7Ep5m1VkbWlprvbxwcHorXqCAXmN6a31dsr/a6+ggpgdg2BuICv6r + 6RTOj3lFXUo4qdq/NjvGF7CZPIrg7j2T+5To6C2cxz+1GXqI/oS8J5NKj8T0u4AlceHQm2Xte9KY + ex6q1Qv6ovQEItlHlOb7HLo38hXOK9hLOXML5F3173q3cQEF8lJNPVdKWMslbJ1QcUMLRqAF7tTL + /l1p8rKcPh+EyizNLvc9eyUpuPK3WiWaO+tkKVIajJmVJS5m8Kc6cUpuuBr1Mg0JN+Kj2nsZ4EX2 + WdHNZjSHpN8zkC19mk4U+MYKexL52WL6FPkOUWxZlvJN1sewN8QL7ZBvkHlFRKUvM6jSwzhk1QkC + HFcwhXE9UGBZDgYhpJhfBhQTtSfoppcJZ7okqPqqRRk7u6GcnxEBnTcaFgiJNoUWe+tILcyuajGr + 1cDdUaeExfjYN99kprIuw0SNBI3GoRj1+7auvnAHQk7RyTHUaX7nZfnBinBzpd/3wOQRdsRPbiWY + slt/03YqpiXkryuoahObDc3Er6cICHw0jmtzCqa3gDMyL5He6SUmlQwqomEcb7XLkPkii/O+Wt1z + SDtWxefN9mrPVdLUDHJkXQ4/pL2cXWqxgF8PqBCoC2UDwuGTWaNDOcX4U/01HVs9mS5NSJMcKFzh + +Sb3d4eBvhia7W0nT/rTX8+Z45hTMAHloh/LijZUt3B8aZOGoBNvLZV4HGVxUL0rRUWxWRCvuwOp + 4AD+sG9PutJh2rOPBSXYpQqb9na3zfqlqmXVePif5e912ixLM7IqgVrh17NMKhfGcsbs860OP5jY + wOetwGjORmAku+2wpigNSqfgd1M4a3jG0e+WUi+6HZBkC5WbeKORMAK3MLpfkI7zBUdn2cYBVd6m + cSiuDYrevGp/zSGd/D7G347Nioc9xLAdOX7B1ZY8QzMeYVIJjC6071rafHokM6TR8Qhsk4E+bSjY + zZhBjVg5MfowCKEDh9wx37qkrqMPUKJAg01W/JZpldFOKmF9Fidwvv2dGFIfBK/gdGlsvvnRZdR4 + kxMM59VDD6rSGdxx+Nmxi2/wWSN8EDZXUVm+kmG08sS4CoQ3qEZT65qvFKp9HBxEG1ueEvnULw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a4aaf3d8-d279-11e9-813c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a4aaf3d8-d279-11e9-813c-001a7dda7113 + x-ms-content-crc64: + - qoRuwEplV9g= + x-ms-request-id: + - 813e7389-201e-002e-2c86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + NoqFs6eIaIMStvfR+np0gWfyGEGjF4AGCTCDmlHccWI5tSlCgqaBuzs/flDddHIqURFWbQC73IXP + 9Q1mEhBNXimMZ4+KQD/h/pfW1zOTQf2Eygg372vfm7Rq1g3Gjr6UJZhgwtJmo1dF7r/2mWzE0cJ8 + VfH9gy5NjAbZsiPLHBauiL8KtR9btgP5XbcZU+bOkOWAXZLSQdwh069epX7ROcJxiGS/Sh60u9hd + WNt+1OD3vTrjqyxWT0S61f3EWNnSggyw/eeh6pCSLRohuwD3zdXZ8fekxDWXsmhensN4BT8U4dsY + bd2yRfsKh/K9vpJowvbTrRMTEYBU09e8u3RGeOtaITXzSPx6g8+xuEPJphnV2zCyscOUZ3YZjyj9 + XW0Tra2IymUOhITJXEvJ+fHlkbOPV+SnBCVmOQUWAb9re3Si4ZQonl7R5yghjcynRGWf7SlSSFL5 + 7+N+tJZICcDyDKMS+3PHs7MVh1hf+5cGu5hYCVLGAnkzQy6BBYarI6/szypRsE3m8OCQVCGH3vpY + RnhUCDhkZ2McK5Go7ORz9dKMzhd0WWIJBitvNqk3S8qUXH5I0wzuK1gxmtGcejLha+5GtZUBIiLF + MUyD3Z39UJKrjnyYanEyGsNNnq5Wcaq9qUMocNufkCgLBD3JjMF6s7Hl/HYbLjowLI3gs0Ocz4xs + QU7b51ctI6zIS2/FVg89ymdbKHxd5DRUOj/VceltkkoGWu2h2cxPWV2zWWyQJ3W7VzYcIWi6bgGd + rZFfyz6ypSVF1jslNX/+kzG+7Oj0DMJ/fj/LJ37OJVA/xs99RIxjgFZ11krtGx8ZrMnAMBRPcnjT + eXeXuIge0v0Pk5wVi7z7GNnkXisDyoeVV8rc2NFFaX/VN4gmG3CgEF/EHuN3Pkqs1inZrTBNdDb8 + 8Xetu3fEp+gOjtTtNnLDU3y3iXgdOWR2DWxUP6LQFbshmhZak6rk9FTR4VnGjAK0WNx2pE7WANa6 + IWtkkR4H6eaDfvIHCgs6lEQq9UaSCWmVsbHHk7kwkpwVDbkaB6NX9W6TYygcvlq/XvaOFB8MY4b4 + ugpt6zkjaHgl+IE/D9/8b0lcfMo1rNPUrNoDw8D0v1hsPzq6XuSiaMCx13CZ46oFKReAPA5wJCJs + Sb19fsrvssSqIxO3XcFqmqGql9dyDpcMiZvmwLh6DC0Ks094iAXbklS0u6Eq4H0w02R5yQ8KBcl/ + WpojRR7WqRd2qnyP1WqkkYd8XAEudVnANRThTHtYIyqDvKpFXlQ8apOOxm13U2Hc1kcW7Qzw0Dt9 + RZ9VAZDnetq5jtsUFlNFs4VepOd0QN8jIcP2QKhSvt4dpYWkFwhZzZSttIpkryS2nG/0YuJgpQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a4c0ec4a-d279-11e9-83bf-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a4c0ec4a-d279-11e9-83bf-001a7dda7113 + x-ms-content-crc64: + - PG9zD8GusHc= + x-ms-request-id: + - 813e738b-201e-002e-2e86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + kEdKk2VpQMKEtllu23kaK0BJEvky4DZyjHdDZjpKqOSRToBeLWpA4O4tyW79RGmgy6ZHIFNSmi9O + KpicYweMYuambmVUw1mPgWUP29ueJJJrpZVDklxnAE/smAC1ufc02JtecjROnjz2Z7BKcnvHsua1 + K+UMTnTvnbQTumoaPhE3VJPbMSBOJH3m1p0+C/0ICwVf/Yih2RLr6e8jw9Vep8B3UqnrjI01s0Bg + zi05dVhARL/Ce1GFnXvk6c1ueoRHI0jjWqP9LPQKnVWMh3aKpa7oz4PSVIhzS7DwKIz7+wOSmSnf + hi95K4fUxqbSd2HENOVJTtkISEbRnvvmPt0jYaI8+8h6khve/Fu4fqozKOnAw388FDHKmbZANuHU + k+Qityb7nqACLRkQKW2qa1M2lGwL0Jr7bOG0pmdngZdWY1ioXVPzEY9D/LmDlgZgALBR+bjoTfdJ + aCAkoaMAWMUgGDlTUwZlk1ywIsMqGTAFHCnl44sgb5rHepzG2+w/nAxHWZyxbHpEO7b9AOkr7GmB + TiKhLre2woWRgUt4XZaK5V74sPsUWXhx0LrFQybJCCP4oj1eOpgwuGvKhZdry7UW0fjn91tun8Ch + oT/yla/wZjZnG/vor/fwL+54X4chMBpJcV1cVrMklC7hZoDKPb9wAfBJiPL0EHMYrFQYvZ70ca2e + H7IoqqUnZjjwnWywpXiTrd4f8ZKed4eWEaOAeyRJXaAphSgepLtfHLcfeD+F7IPUNimAGkjfEFpK + W/VVbbGmdYMDdayj6uYRZfmPC3y5dcEEx9zpPBZ+ooCMPqk/4K+ifmzodUxvbAB/nBY7JOqO6fAY + Kweel6k1gMbrGiURBWljLDrziOxx3+1BXLgEKn+AAKaE++8afF8z4WBzWPnVy1KuAj1UXHijGLWA + uTq/X7bXJruQ+V34rYPbYIa1o94mmkIzwLkQKUmehx6ezKo6VTrUgYVy08002SKIzQStapxFIEsG + myelLNbFOvayh9Fdv5H1xId1flmHkqxuxLheQVg2OxPPDjsonADHFKjWSupugqwE6eXUHE+eKed/ + LtjGOGjiDBj9TWBiJU0QhtWuAd4zDLkFtR/8avBbN4FpHqjxlI0H7FZ+LJLV/kuNWyH1Yg4nRm2w + s2bsec61VeYyjCda5SaD8XcpD0PSM5Xhu+ZVrh+JuMwJt6pO5ixBDYBxr0Sj7k4ZVMm//BRgEsL2 + oZ7KDF5QQ/1Wt/E4ed2c0gzlS1LYoLfOpzJUFlPyyzaykqLv5KoJvTiEltyYwlj9ODee5WQ6xknS + ZPWIaEwYogxlkNEWEqflRe9vQ2WxMVixgld0kpwEraYp35uXW5jKF/S9TwoLfqqCleaf6zsD9g== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a4d73e58-d279-11e9-a3e1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a4d73e58-d279-11e9-a3e1-001a7dda7113 + x-ms-content-crc64: + - BPVNb3CuYIo= + x-ms-request-id: + - 813e738e-201e-002e-3186-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + TpgzWnJp98Bgh43aP5zTj2wXO9gnF61TMSR2iUCtGUr0GCPWpXbyidzzOxiZxLZQxJMChFA01eFB + JqWJmo329cl7KPIr5ZPpqUd1YLjLbF8IQu6r9u+nDdKs4KNBSj32tMhoJYIF/C6DU4JynI2+Nw8A + wCworOZWORmisgb5J/Z5BzyfLi1W2k5Nq1WvJ095O7BZ3e9V3sm17cy+FWEx0lvL2h/TegninGOY + ft0xLpjBVr2RwHHYT+ptaOi2gg70uMPWNNrMvqDzq2cQS6tdOEU8TkHZNRPeI1vOvjKH+x49Nty0 + DB8s6xdG38aefWZxhITv6Nrp+54d0FeVYJYlmTYU/IkPlZ1ejECkrHim8moRAY+uxInOMIp40H2t + HodtqMSRHLq51+FjNR1bHPMkKho6bIM3rAN7zWoUd/7cPCSyQzAAs9mCm87zCJBCjQS9pRW3i+JN + Z2oe8OoDsidW/cAo8lG52ockzyWlGBH9NHkz9eSI3gkrWqB8/U+iYLchCL+bxvytxC38eA4n2Cxn + rnrj/I4iGSUEITwlSDoMS1qbIFSItvJzhu37D94LcfjOrAMXc2icRRZR5POFqj5su2T5PBun9QZ3 + E/qevMtu5iFO7DBd18pcp1A0ls7PFpvfCseJMZdTmjdVD4JAK3D7Z+uzf4IahTwCTDQ+Tx/CH77v + DGKfh33+KwRt/ofwBPFBcoSzAhDaCIr3B+mA+ciPQUbc7YeIb+XuPXTHfQQqK3DjSTCljVpP+tLd + HLtHkoaO4g/0e5pxSLEjHonys4t2dZbPKudq+KeeskFvgvTGSDTAbvQlwiLNJnCRuWQDWrwdRI6X + SUMYdZNIXMgEx8WObZgdieHYq5B06jPWzVTCl8u2Uvwlt+bFmQ40eV/dqw3U7yGTvpd9gmEL4pgR + WKorOUfWg48qirLiTIeRdQ6teJdknbTBlpU7xpiCZmELq5dSCmJjm7qW93oWndtZqk/V/AvGjGuR + vEm5K531m2GUbcHk6VNAmEIbmF+o7PJady2NxcCKtSBB5wBuWC6s/VY9Nr6Bp5WOERkYR2MDDxtB + YpD1bb1s+nbbGDayQtA6hQifDReOosamyK1vGpcrWKyJZua9FgKc3f1pT+fEwz/gSK8PBDNJ2XAq + Z47AF9Qp62LYn+q3vnTH7fNkh6l8PGsrpm1PiO7xm+YnrwuaUSmMsbgIniM/tUZ14N5/E+z4wMmM + V3TNRDEmZnT45of2OxMbynloSzOdvkioM2ZF1CNeJdSrUKExQGVynl1oT2CeqitHQ6RO+qPMQqTe + gY9TcWs22rrEp1mFWXCM5d75jr2xrlP76mS+tlbMyYw2fg665GLlJ8h43zbXs0GPj3eBDKu38A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a4ef3b52-d279-11e9-a1ab-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a4ef3b52-d279-11e9-a1ab-001a7dda7113 + x-ms-content-crc64: + - /T1jhF0SX4A= + x-ms-request-id: + - 813e7390-201e-002e-3386-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + eeHpn63RqSIhHxJjnleHHpwCA1mszNH8mepHKOgwGg14rrgraFrAdSkZnoVDS0iMAi+t+fKfeo/w + nkyIRdl1nfrMKseyaKIrUE7iMjOEe2YqsAnvBmf4K/pXxH3pKfh9AZ8uhet8Vf1jXodNfehHJH7K + 4StwIA5wqO7IW4DH9gYOQU49VhyBy1kHrot7BxNLpTPNAUZbb90mb8eQoP28Lnvr8x7OUo0ukXeq + 6Q+Hgm5b/l3MCxxyFq4Qg+xi0t0ZW6bwD2zSDW1QumxYeEYiryHR771euBWxLvtYkd5A6McEUfXH + DuJRGHY2p2JTtWIWwxAaaUkWxYRopsENbH7U8Pggr8kkvVkTbxMF/k+FqUz8lcY+XdvcZcKVKOyp + hBnTfSUE1W3ZgdYV4WxDm785PRtCtjvOmzC/XLA7uJ+Zo+ErOa6CDZ0a5+AaIFSzJfipqNDuyeLa + wg5k4NvpBvhQdXU9yUN6I9HJy7E+KoKojkM2fbXy2+FVbvQYaZZYekCA93oh/fv4pOuvZcaUWprv + TjwLXp4OPtQ7/Hp9c74q53OufjdTXRUnmGIhH3ryWCUnuGAfPrXNIcwpSSgRizOObU/+p96bD0Fx + oYEcovH8C49KJvWdrc5rF/yzQf2QaC995EUJX0zdJwWN4E0jjVj7ugpe1clq/Cj2lll7V9J9Bibx + bhKT7Ga+8jenPVPmf5xgG+xn/nLP33e/btmO0U8l8TDGDE1gOnYmf5lo+zu+3dO4PFVQRKZdQatG + Gv46ltmhB2qhsTaps6kuN60Wk6tLGhiG4DcrOHdgl4PUjQKelpkZiWqLTg1njiONkGL2Jhg7D7dn + PrTgf9hky8/Nk2qWo4l9jqTU7JjQ5EvYa/TovXhOCBOMrGOt4MBP868E9Q1bzjxPsIll2hfIC6pN + TB7SgMp2PVQuniGIhR1C3FfRCTG7TKnbaqoiebIPs9cnS+7+ErjICQVBAxKL7clVKnXYXqrnpKkF + H4vsxzGucHOiMwhyCq98c317moHyH0abUgEmGo7+sEl7o28bU660lED8zvb5T0eBdYWR6QOot/3x + p8pn280kbgqJediKR2bKbUHA2pDbJCX+J/FDiPNItlmocRtkacqx7CCztjxQ6edckD9O69z9+mYf + W5OYhij7AwtQd1Pvv7Cnp5BaK7FZHd0cFMogP0SYhXGEiR0ILDE4GuWw8zCIVg2pWONVpgzZffp5 + 59j3FtTsR6WIE2fYLCVprJHvMp+Cwhj0HTVO1+JNt/k3LeiKIwilUNIEtvRmEeo1kQpSHwKfKq3I + Dsn6Ernqg/cF4AKlQj6fxSLUduJyzJS+62e9UglkggXjhHVzMZtxq0FgfXj34Boku85bPIiOlQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a506fe12-d279-11e9-9514-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a506fe12-d279-11e9-9514-001a7dda7113 + x-ms-content-crc64: + - p9yM2XhdElI= + x-ms-request-id: + - 813e7392-201e-002e-3586-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Z/JPak5RC9/vgpLKEKSZ2k9hDvd9/BD2kdoBV7PFWDcatb1/0jLp6O+uHyYfFHko94E8n47gjdD0 + Owvkuns4oddMl4oACw7NuRsPIEuR8VbeiUIVS9G3yjo+G5B+ULYS99mRW9eWS7MZzvupVmxBBuiW + sag96CxbZKigBdZ5GYcCS54q8Xnw6HuY2lLN4u5GpzZlHvNtUyvR/ILrS2AVow1P9+YFZD+TkeMg + wCMxxlzHAmNPo0TI3zvhlE3ozsQr7HSIgPlMndfKsIxeopIYSMLOK+lAhfUfOoCSs2JtoAnW01Ko + GYidSaAfVZvbaAzIEL58jfQuDbi0rlgRw16BhoD8ZUWbJfB9wG+Qioz57kucvz6FoIuqE3R3wnyv + YMRRdKST0smOr9+B2vyuIY3NU/bZDRbv9FnybeSlMl8hyBx4yEfsVRZmok4tjioDKQL9dfxdaLd4 + 7A3OvuzHhGERiAJicihx9PyWuz4QJCUXS0plsfne9VEmFtinhV4BRS9pHqqdZ2t+ctBhzSfAlLcz + 3TYHqNozWMkU3cpTDPidDKhavhKTNg/9R4XRHAv3wIgDG/YlrzPWiJrWtzC3q4QO4v5mjjEtZHrX + DdFv04PsSlSLN9mFnSVb/E6NaTT7H5joUSrWDPeXyBNfdS5a9pzAFkm51Umk+Wvj6rjF8shPi+vS + vTGMS/jJfOlUpFhhOQkr7IbzOrvjfyGMu95pnrs90O9GtRqxIqSadojaPRqUT39+46e596xDM9Md + 2nogE5SmbNNRGrlm4lGXFPJZC1vEQRHyCLOKsJu6t9r34aGE4MHZSlUOpInZl0Zk7XVWB98b9Mmy + NGFyLFfcRlA7bo0njo3lsJCnDtJCFzwgtomAcnEo8RjR63SkLztpJy7gjqlsbT2XMH38e0K/WaDq + fcjcu06W20gWQ+vJK9X57qKk9Hrty3gwSBrgwv2k89LJcGqfrFHucLHPcLKCBm46DwbrjycGxrja + +UXCOGsOtty8D7c0U1NhTwUvBjwpviNlp9S9qZKCXxa7X3v7fUY/rgXxwfcytkHgEzI+zuUISjEM + kvMSWp76oLnd1GMXF0g8LGeh8kZZ5sDHB9W6BrjZld5ZaIHLkG9IsLPqonUcqdWzNqLytHgxTD8H + XOPqrUa82SdijR/fZqSnksYIlaUi+HgyCG6Hq22J8WcAocz1GZ5yUY/y4krJZmMDfIkzkXP8vz29 + xNQ1LBb6+tWxKhkyO0s0bRuXZ9iCbQnuIB4F64JEewnyPeDFV99xtZfLhpWLph9qJwQjmr3jYVkO + 3XV6cxVbfV2FdB5j5ptN0gtUvhF08HEWdjRqpPAof3d1RYhH9TAEglVstmg6+weOG43yuxwVlQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a51dc0cc-d279-11e9-bc05-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a51dc0cc-d279-11e9-bc05-001a7dda7113 + x-ms-content-crc64: + - oipb8ew9IPo= + x-ms-request-id: + - 813e7395-201e-002e-3786-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + F4iq2bNNN9DOajlfoFyKGmKh439hnzFPVN8r9DxwRpixvL47PATjdojN1QppN34V0mkJKLQQPvlb + lr9g4IOpxGawrtRWTMl5rVABTY+ZCRNBUAFE/CMIYNR7A4mrjUE9sbsjUSKEjhVsUbJuKCfAdYyZ + eXeDqRDQmif0BrTbOK+nI9Ube6lvqww5W4w7eAbQF4tJZvpRzArCUwEaklSkozzyrgookNKX9u3e + TUXjaV1gDqMl8H7R0g8nAnvAp77usNVoFBI39Jg5MvoOu7MRRkCltp6CsTUBkn9cO9yBlgJ4ZGyJ + HNK/NfEQUI9aRqKkwKCI6gB4O3tHa40F4c9+pMjM6jSdIZhaRGtO7XlQRQbBMHJTLHtqNrgcDmGU + zXbA1ZlhBR5erIdsXQKVkigDuT3TVo4oz4LznshJu5U6c81F93JurHrsAkZaoBj9n0nYvNImLFDZ + Q28q7I8VpajZA2zHJJNbp9SN3q9uNRtynls0qCA/LNfRuDNU5aRXEdwihUZ/5Y/w5/vstw4/ngCx + 8UHK48t6QFBssUO9Nm4HO+p9q4/ME7xy9B5BjwjQIbJ4verM2+0EV9Gv7zx0s+hDMLUgvSMfH2D8 + pSOrbpK5sHUbZGaW6dDTS7TFFFtVa/tVQOrU58Fpxi8bFFwyRJ8D4QYLTf6ivMYTrLpHMN0BY4zB + JMqQH9p0lQUh6pthVAKRtkVqfqFjiqzaA7Q9iYNbk8+CsM26v43HnuYmbeBLc8kuMSruuBVIkZ9E + jXde40lkBPGcpHiQYZhSg8dKy3jDrTeW/BrbNCLZTI76H3MJScaBVMyv4GqpNTmklgeT4evk6iQ+ + 5puG0avBEmf3mkqiw/YtpQg00B/DP4HByXUGiV+or8je8LPQ0eZDhno/zh/752PmzUF8xeg6RqGt + EQcog9gc7EJfxlSW6BhvIkkChGma65oleMY3bVAE1kcI2NKG8teANFVO5uAcDJgr0G6RO9/w3fm/ + OsQf4WHoh6rAQsEZmBHlK3se0metDdazdWchChLQOusT0F6gkc/yYSQ/2NZBWO05wpvHvf097kF0 + qgo293EgR5ChEDr9B3UBzMSOIaVXlHKDlf3wIrthzNihsKmgTBI/bPDeCV7htAjX6+8lZmdQqQVX + gL1rjIbwRziLFXBakOY3dU9vQ8ysePdy5w9M+MrbJD2y2p1ChZPqXlk2OXa60kEXzsJOg7HpChjp + EvydS90DPk71Ukd3Q2u4Sl2shPl/Byg25ne6KMZ12dIgNYV3/co3QBb5YSBsCyUnmb4wXfaVrcQQ + hkH0VcEgybx4QRqDJ/HSmlwtSY4Q0sTXYqVnasU08rJWJS4y9DZh41vjx9pY6gxIVkZREqCm4A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a52fd0f6-d279-11e9-bd27-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a52fd0f6-d279-11e9-bd27-001a7dda7113 + x-ms-content-crc64: + - wItVln9q/zA= + x-ms-request-id: + - 813e7396-201e-002e-3886-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + vjJP+FQoCB5pFw/CS5Mlfsn++FZURZu8NGwE4OvO1c/vAs76zzB1rM5BgzYr8bPWlE1Wt5+IkXOr + nJS3Ui4P0J9ZwfpOqq7q/S+bOdmgbehvZPpw5sfiKlodszgyNoRtKuVYt5e/jbdCIXSiEl8P6dHn + BHoXImKHz2evykgMX3cjgNuyUV85KLnjoWK22qn88Pr6Vh5x8GqxVCMY9lXloZ3NTjMBUZ/8YXvu + XOHsDUswOEwosIEcfagWuVqn4z99E/66jWgo7S+y5j+J++CdFHqP9ecqQXZsfmk3IejS4c9G0/oI + w5B5v1X5W3dZrHwDcmDt9SDdvDJ/0jSK+zh/myaWHSDCWqV9xflZy41XX516jKAS0QGbX+a00gT4 + o2tRM6850j98dXbMdUbjZhawZQszEmMJJ/F0bUpYrz8gzE0+ShnIyAuZo9SpppF+ImLJqXNaazlF + 6DgrZ9bzVRj2+ixk9/29p533uywMZn8OjMc63oQKm3by8LO4op5u9TZkPwdvmZLFoW2jYRQJuwys + f85WAeRBz3x+UxXtrpvm4YD6Z+GdsXf4Z+xxOZDUlZM610h1LIkHSFlz+EgmLxLdlGjgdUE8Q2hk + XdSXQR+pX6kIQkzR5gn6VqhLGCWS1TM1W6OcP3eUQ87KB9RecAPfEURCnXR8oFZRvZVzQog1Itv1 + SdQWjrQ+aYjwq3kmshOMCn/S3hdTdQ4LiiAnsg7s4R2xDgglZ6oAyn48LxKozCXoIxUprHaOuyLn + eedsLWatHkha3dxywc07qVImzucISmafjPzJmCMXr0mNGWW/XVNWe29g8waPMOmoOx8FyknoR2Cn + dkEs/tobnUpDDE5Oj4hhXCqBZAMjp/qWIiNk64BV4W2yWRWpHSR9mraNZxuqVAx1Gx57BLYQC0ij + vEAbTSz96JjQj2GpAgN8cIeBvyXm3931kU3Oozqj85ZT8hDFdPAxZq3XnX9AfNscFDav/iKzW5AZ + Bbqv4cUS+1rR/N8yaAe/q+crJI628wVlurDAnLc9690qvDYwK0wbfkpj7shje7DpC8sP5jWdyFz2 + T3i7RZEdbcl6pEem2YGmCHACLKHC5FumQ1TRJjwSHrnXRrJtD2yVNRxy53TjpYmbzc1+pc4Fa3tU + t5jvkojLrwLrwceSgD64Y6vitI7pp63EvmVgmbAVow2/OmtZNJv6wD/UCHeysSSQ1WHIHRdwJEgA + GWhMZ3iTdz/MLzTzOc4ievYODHu954m1R/RvYVEIMT93FRsd7oSO8WXMHaElkX1RiqAyZ4Duxmim + XdvjyrtIu68oNmQwEqJWtexEXRr3wO+W1or7x4iXZVwUNDgjAhbDsps0LUXd+TffpbO+l2HYcw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a544dbee-d279-11e9-9cdd-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a544dbee-d279-11e9-9cdd-001a7dda7113 + x-ms-content-crc64: + - CvMHWRe2Zno= + x-ms-request-id: + - 813e7399-201e-002e-3b86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + l99F5g4VXx8gCCj0Rc3dH3IlM0hDeTtmnJr3udpJcwAaYTSIpPBjLU1IrpxcojatPRQeqWqv7cFa + MNktHlOCTD3P3UIQRyu3v9s5oiG/5MQyM1rNqgTAzF6rY+oIVRpFwfbnsHxwJQLNyY0YbE09qofZ + qb0Plf098vD3y5ojLjQVWs81U5x6wPoBxskX+GHodHfp0xCD00pMVM8GMS3a7OMQjuKXchupQTjF + f/s0Dz9bYSNHAN0Y18C6BdDbLHFjNXxcQ06sIrN363LW7ARqP5mGZYedNsRkgTx+9hvOqTsmvORT + Q2Zsp82Iq7xJ5pyTqDAY3zvP+jFfUOAZl7Gbit7hwUXxCPm63B1c4/Kpf+hvdmmenAwOnGzhp5P0 + zblpvf1lI54QBt1Aas8RZGR3BC5zUc9/YDlxPO8ma2NOIQppozlIQCjZX2hLcC4Vj4bP7Z/XcDjO + 1ZFSvQPhsAxaNoEhi3HEmnX1PWj8YIeIeUObCaLxLGw/RbwwKDYLaPMNOYr64fb45s+lkuTGoqGA + jcBuUTvD39MLKfM6shMc5S0dHHiWtlrT8VtWrI+DNc3dUTH+7RPCE88HqMMwscLUAKera/IMh2T+ + 44m9WNvNEy4pPNkxGwO5xICtC+WNfIIEp8eeXII4rJNYtmXOnsSv45gvD7DufNwS6MWUPePssbRM + cDykBu5slCeTPQdANJff4FZcV5mM4DKr6mqy36YQ8lIW0cZdb3kg2W7IJIyB9GLy9qJs5fAYXZ31 + lOwhE5WGCzgvLVEbAwVB0iwQuDbYDBoxlEmekT0a7ny5qxf2rJkKW5FUjXgaDKGMo9BRpzrg7wMp + pcgwASiz+kzo0hr4Sp3pUeuhzsNmcXLhp6QQU29gOUUIXsdrVK1NQmAs80PK6on7cP1Xw6+4z2EO + lPsQ0/h6d4dH8jJ1wYXBKkU7d1hbRI4MQbM4p1PCFZvySTpCxyxfkYG8xMQ7MiKYBPfnm67vjzrE + kgBDUAU+f7JcjVOaKZEMG+hlmQHz1SUx3nsDwtD4SWAG9pKAEjv2UjTItMORmzjknWALHJMuATZP + VMH0yY5FuOSl+BkVHWfmeOr6U3mwFmGusNCr79dUYiDQYUz5+d4NpO4TSQyhkFPSxsks2YBYufcE + LZe/Mknf7Fe8Qf6oJNq3hAhPrUyWoGH3WINuwL+5X4GyE9JLOwOnUzJhb+tObx2L8Rc/QyGws1I6 + WLFPF1Z67B6UunHLbtVgmsSYWhBwoUPO9+lstBgLhoOk5S4HDwIjd1WnBdW9Q29WddSroNnx0vFs + V9mNiPJ8IDSHO3T5tPjxrpfhYXd1wpBhwKL4DXmbBxrHWheY7ycCRTzqKKl8JqXcKjxsVYSMHA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a55dd640-d279-11e9-b7c0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a55dd640-d279-11e9-b7c0-001a7dda7113 + x-ms-content-crc64: + - ch6sQidqh7s= + x-ms-request-id: + - 813e739c-201e-002e-3d86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + z7I9xOQk0Vm9baYpkhhciid5zv38TRf2xk4KSkSwy4QiENsqcvUaX5q8FsoPlKicK5/kRADHcZjB + QObmV+LlyIrzNooxHXvuu0JtPbsLTPwbjtE+CD9TFiqtklHT0pDnh+WPmHKgkJLQYwp6tcdU2wBt + i2PLUUNqZRh8pr5NWyklEWnF7hFS6vG0p9KkIaAeJL3dqiY7hXKiS+SX9+873v46dIRrZQVtUTL8 + rrnQn7ffc4tZ39gQlxpl9pBcST6B2VwHsw+6+vrUfm9Ihw4nFDwowER8jgaqYLqw2/x8W9+p09Pg + mTscQPIlwNCeM1TSwWekA7llZ6ly8RYBTvUpnvcr+5pV4Hh2XENAZqhqPQzUp6SeHcUKXDij4eDZ + H6TTxJP294BmqTiBJmUGBqyg7P2qsgDO2K12jOfD6uDbsGREebq4RR8MZPCTUbDT4/C0GMT5Wn4Y + jDpFSO3I2H6DU6qHzrnZvyXa5VrclL263LfOpcGKCI3UROfkd6vZet33bcINxyXcRoyhz2cykvNl + 3MudulQDvij+GrRiz3R1y4nZzOeaSN4C9wdiYbyacLo2qn8Pxyrtv92nC1Q87mlECsVndimxFG+x + Y6FF6dl1hqhp1sXEq1VcqrkOib2GaWLVK5I2+mYdxz455c2JSAhtcEfVrdnZ77WER9iVlkoqqPRp + pxlp9i3Cm5gYY7zICZpuzg5tzr7k80BlIxe5GEomDGQ8UHhLnNLMfUPyCZKM5M2SR6yDdlIh9EjC + 0dfcVLF1BZ4CmGF8INmaSjeZ4ggnuCwHlAhLrCv0LKXTSo5C5A5MFLmDiB/5HW1kknugU8SceR+j + lG/vRafXxtnCsSfibFMnRo9Aice0bszg1ayFHp2Y4TTETit740QNYYl1Bsih+gQPEDjmzAb+EhmR + vQotpFKFge6wR8kdNrevBhlU01REhMn8K3riKEmlWXPaQa1Z+pASywicSiPgjhikhCoVG+/SkgFN + RrYfGLnoHQVR6A7XC5A0BKhkpJr6Sz2o2hhoBPHDUD/IVkdncshKABIRQfGIWXdWPrr4h0QxzKP3 + JS1SW2uxtXhdqd5cxYdYyXNzKL6oFYHaVIVd5sAxqUrSxCuU/fQroZlf95DDghKbRT9Jn+6Lp/Y9 + HkjuQ8ASc+ixasnfSQvfzvXvDnQV2EYqMhGYkFESkZZWdo7PoyTPGuM+D1fDM3PladGgeJOTx9ae + ypZdPNso+WhgZTJZ6mY5xsGeSA667YgHgaJv8UJ1zTKmNT+7AN3w8myBGXKnvZ+aM7tvVnHOCZAU + VMksTSUEH98VPOnTZlrg2yEAu16KvO1OswkPNiq3M79qQhNB5tlpwyoYkAZniFMbbAz0FIodSw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a5733bde-d279-11e9-b6a6-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a5733bde-d279-11e9-b6a6-001a7dda7113 + x-ms-content-crc64: + - uGvtIibx5jM= + x-ms-request-id: + - 813e73a3-201e-002e-4286-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + O1EpsZkeLbMd0Sbz66Hy/h4C7dDVxWIAGA1qOAuug7SIoNAKQa4DBtm2tKFQ4Vr3i1SKLhFSilzT + cOUHlgDXAzCCrkhP80fRAB5vD8oPIHLrE0aJ84Dm+8ARaeqgWFX+XIP4ie98pXajJAxC7Bk03zea + YKhPcS3TCTftpP72Vhk+EHeJ5xjg32COjwKHlH95KVMheHX97UrWind9+6Rzqnn+4zodFI7cPrEd + dZ8g8SWKqYhIy/vPghfuQBCXzGnVJeY8ugWG0S1MBhBHlVZPucW8dl8iVzOMCM0vBffzF+Lp6gi4 + XBivYFrKyaNc8F7A9CGdKikXxu1+F6waOxGeMuGfxoJ6Q4MHzprfKm+IIzck2yiN9W1IaBLGC2kW + sQDSaBtPNELKr6CHa2+peFti0IBLhwhbl4RiWOiUwzuO1sUrRQpWt/osstfp0Bsjj/u069joH93K + blQ0GQkbl4Hbh6m/FFJCDAzHH90tTd56SdKiJEMRNgf+MtnMQmCarUkEaosEewCysXt6G5AeE+zR + P223kIdtdkBECeLL55OZCBtdq/JkVoNpDf6bLN1tQymjW3mdNT9WCuYMuDCCfn2j4ZV6N3W6tXNF + mmtpHoRuX5ilg81MY8FUsoLqjed+wrJsOetcgOfMc4SHcYa/WwX7mbptXNqYlEe4I95xKGLkE3mj + RTEFAFxQU4YpWZ762BrelNJOduv3YdH0vSf2qmdR9+1dv8RmBJU2s0ASZBZy30F8s4eNBNgX+kV4 + aTcvspTueqFeSjFsmPvVm2o4C/enFBAMfj+W7j4lzSdS8qCtdlHZ7ZDA+Ijg593Q6creGy8ZuTVF + khye3GrzUaA96KVQ/nN03Suh6v7cVlf8O1TtF0OfFOyEGMH3sTLKPUOb+EEtrMjY1P4+KeozFttL + KzqlLgd3mnbiEGLhUnr1r6C3nFAgsVcayPpTEuINF3pHESyzV5NR+2JDPdMsO9T2MnT+4Lw4f447 + ZxE6DX1XHFjueSmDVjV5mAgd+p2SgaV6fkp1VOAoI+vgrRIHmkZm7yNuBE0JZS6hkIRWWUGxdlYH + kfiCapz1TplMkbR6RLLBgX0x1MU3YBHeI6sJ4vCj2ba/aSu4xqPCskNUPRxx9myjL5MwOdVYfXum + QT1PONkfVi+IuX4o+VHEp3VxwoKGLQDYw+vaDkwOnKz3N+GpE0QHQIUitoxVvvaQJ7bc23eLcpA0 + HR31ErtH9smafl5wlxQBlQ5CLDkrA98NgsITAXyroQK4ojbVTuZE+/sAFfJpXXsh5iRvvnhYcjC2 + gpt126kEOlBNjWxNJKYj2psCJe+K9ecJ0GMN8eKG6TytdgncqIJUK1hPudzvGidsJQgRgG+9qg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a589547a-d279-11e9-8059-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a589547a-d279-11e9-8059-001a7dda7113 + x-ms-content-crc64: + - infvZGEq000= + x-ms-request-id: + - 813e73a5-201e-002e-4486-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + DEb4b5U7LMhWqdhqEQuB7AEcXNw6k7HqY61dqHBe1KiDYW7Lw7aDuLeh4U7xBrjEXXLl2N6k+otM + vIFELivYvAhPtt2Gwz5x02ROYAiQr4AUJ3lQ0fc1Yx+0fkQYx9jbraj9X4krW92F/OuKvs8FFeUC + bVfplIW7xyNvcGvNlhQLWjsDfa/imU08T87bjLLcEwAkUBod2VytECkYNsBgmJYeHMhBBOOAxQ6I + Eoq6jrKDk2TOZneYte55E7algfqIUUhvqX6bkQJKwZ8rG/I6SNob3fBBpO3pLwNRVZDNGXpRYDkp + WNrcy6x+KJchLjGZMwWh0PZEJdKW40DVYwvllkkHlk2sIuOQe3QuV766b2TRWloQjasgyYFZMywk + dRn6WQ1sYYbFICrK/NXJYwjvuNF7++t+Jx7OfKHvBiKQKyTi5xonvrafI6FIkudpdDwReILJVxsG + 4F1ErnnAdSfh+elajHy6UTY41TXZXfLOvexYilmtOcEghHD9pY57G1V1v/tAU+LdNEpoldh4oKVg + JmaSQ79amDii2GCst06jATs1p/LfOsxPAXTpg1vD4khmKoEp+BfVTPuqPW/YxF6sdYJsIa7hG57X + IFqwptt7ki/Sv0iXW47z6EorIMjFJeTpLf0C1XbvXBhbFu+vPA3AT/LsV0MejbrcA4RxqRVlO9VZ + oj735iWmk7OX5z48NwFHzOMpHmmHD/EV9OXdRp92TfnspcepL4tHONmx9CM8GBuRH7cdfBc6NCSN + r+osZxaC5GMOXv0+NwURG6Mn3wzX55eg/awXy9WXLo/PhTGNFy1SItamzu+GcOvpVTTUQNEnNWgf + JXMkeKBFhw/olto/SKE4wlBiXa9nNGS7zxT6ujv66Y3y1xGdd78LR5Xti/Wm3bHvkeQvSaoyG0C/ + YOcuBSA4zvM0YBWRmJlqPbHAiyF2kVA9DLdLgswVfuVTPJ5e1cDLYoICZBtxwtR4UXrFO+QCeH4U + Jr+6wILYTTUv/fHTpHu5BgqwdANQ3qe4stBd9eXTb5RMuXBsVDKsdKLaW+c+UIBp43Zc2OYbKAVu + AWLXhy+GJXePvy9XQWC6wn48y4b3IbGa5kHIc2mRHnJILbQUFW9J/tpm/A7xi6TcGm8DmBlN9fy+ + vtpLAUvmSEbye0w814U8y+GpRjpos23nOmSCGc18q9aa/Ol8YwGQBJ1BDRhJHZRjWwjUFOM2qsiv + 8zav48filw1WEVtV1ZJDpl/VVqyrmLSxxKMTNkdnsCuulfqLt+NXLu90WJKJAE/qqgcaFv1BeVuJ + SUtrlvT4UcWAFgV96THwV1mwbOU7oJVSndHGs54I+va5CeBLF5iGzemgv2AngmzoIkBf6iJUpg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a59c5d28-d279-11e9-93a5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a59c5d28-d279-11e9-93a5-001a7dda7113 + x-ms-content-crc64: + - ym/AUdh8vx4= + x-ms-request-id: + - 813e73a8-201e-002e-4786-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + uQMCRBQPvhTAAurdCN06827fuTHSwgw3lcgtVUu3pO54hPWNBDsSes06Vktkdb3whd3ZGWV5SaJg + wZtquWXPFNIpD7mcDcYMOu7jdzlaXTJLrlRLM2TZEIjV/YhUSMFgwc8GtX95nK1vvh1jRwetqaPc + MR4zB7WGfPKa/BUD0QmfNm4k3aau4KuQasaBnAdNpLyh3Ttg5EK+OpAJtCad/oiAT3aRrOqVRHhK + pBJPH7y7i0Bz85dydZgbdWJmCaxMWymx7E+IZuxLURF0zQE/vLDQ0NUvrr7e4rt/b5JjrhF/CFHp + BvHGuIZTBCyYwGs177BdAeJYHjXabV2Zgbx8TEGEoBxR3CRSlyYGeLZmgScFRdTwtOdE6zQ0KXrM + zBnbL9+l0pl0NxEyIGvexbQ6G0PCtdC6l6+sLDcbPlsW69TQMNHcKU4+ECC5ipcHWhwKugRPSiNa + ryOPluh9InEm5YhpBqxv8ZyKWJp4bBRf2u1gQ0WXaXPZ6yfRb6GJCgAc6ZWeVvIltJewfbu3433+ + MRgo+z5I99IijrC0W/3eBHA6a94mOVY1QJ2ItonY+kJbu0p8SQgaJvYbrWPclRUEqooIXIkYKjp+ + eS1XHRDUrTErmv0zwfCZJ3zvrsVn9AXW4GsKsrelgL7eBz8Ydw5M6gFQyiowbDtMtlCaIs0zsTzR + 6Nmag2VPpTx3tm++yP78iiNxyrgx7voTiLLz9sZ0SqhDj4D43T72qYY9zIgo/rONS7FJ14osOwpU + vAjPHPgR4N1YnBUiJQ/AVoBzkwLLItP0aO7epajyPsZOgqVdVwYYLmoUbn7mpDVHOAs+pDnXVvTa + y6WLfQhPeUfrzhQ2thXqWjD6dAXatMOxwLIm0mq1djbrlrm/UAcE62EsBINooyIHR/mrtgcohPx/ + P4IfiZElILSsgdJ1bfJAWjjko1AoiCzVpjOjRVaI3EFg4O1HbqowfVKCpTufhmc+fCt3Ispzbfkk + +mPguQMlYdx9KSWO+6DxKvqej/f6Ftc7B3d1IBr5q1mEauj6TAOxRqQM1uMkWbQUakkJWGB2WToI + csc/8y717OXu3M6088SDakDXlMTbQBqLVDHu6Wkgt+V1Gd8PENTbD+MdnEzCswkixNmaHvRVGVYE + AtCIK2lmBBFEfT6Ji4QBnV3vhAev5ZVfeaA6B32yzY0r+81yHfkJKz1KEg/rGFaXjHpTGVM9Eouc + Ks41gPmOrFFA4TujaFcs0A45p/M2p6KIEdyd5C45tG9YNKDd/b8jYAaxELttdmjXorrgnWT3cqjJ + 4RgxMxBup6OGasRO65emiy85Bb3ZqAAf2M22BxtnHgeZwi7ZVxpBL8NKNA7PCxyy6XAQlvo1XQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a5ae134a-d279-11e9-b5c4-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a5ae134a-d279-11e9-b5c4-001a7dda7113 + x-ms-content-crc64: + - Cnd+/gEMg/A= + x-ms-request-id: + - 813e73ae-201e-002e-4b86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + uyGBjnRc1fF3BArgjbYI6MH6yZwJfSxeQtz+qgj2Hy70u/G36TSIsSklmvkBlVCJLSJWi8ot1TWA + 7QJKacjdfj5eAafbpbOu77m7Ezjl5dzaT+q1SOYyVdVbgs4ToOd3UghJ7Ie6j+xL0n+DngNFMO0T + WdnevK9e5T1WcK9tvmEynlbTjzwpYvhKao/ERu/B1jCy5YQ6tyCKTbzNeW5Ghn3zaFtqdVeZKNLy + bSPdsAfgy3VzT6eu7YATFv1SPdnil1iOl4TgOFWpBQ+zCajMncTZKpLh9BAvR+Q/KVyrHgDrX98K + tyhOGEfnQD3TiK3Mz4TT+wlku7CmAExmgr8/nqGKQzLXcCAjePr6BKvlRlVu2hYtnGXQ13FAt74z + HemdxU3ahWlFjyo1VWfr2VwRy/Y60CC0xVGQP9lE9Xd6Xfwi/kGx3DO6Vj2f7VYhD+dS+HEaPMSt + xwllyrvITL5jyMDp8pCWyLa2ML2u3Y1cTd5N9rLYHq4Z0O3SsIqHJFfjr78/FFSNNC5kM1s2U6gq + odULu3znWX6gkPCUjBYi1xGt+H5ZVpWMdKKsJO7hVlOO4nWh1snKkE/JOeuq03R8Ma2NsHHOYGH3 + NW+cgplSnGwoKUF461YZb34baaZo1W7xPCGXWln1SM18o4w9TXnk/FbzyaRI4dJsq1GYAU5FFzgs + QN/uZy+lk2jl3Aq3eTMMKHJ13+pIIBtMkdNFwc6MeV7sXcHg5uXcn0pIs+pRFrJ+VENeCRHYEcm2 + SKoR3bIMA7eGjfqwd09amgccWqkMOuOjg2H+RXwRo2xm8/VmJaISFsw2t4OE0Hj0Qwb7E9Y+p7ph + 4LXXjMHKJSFUT1Dr8qA9ZJJt4bwl6dbtx4va3ri67Q2WT/wfOY8PUCmG2WvRi6U3ke0pue0W9iWG + Yd8RB1Xk/q8FKwcL93lV5dEzXuzzpsG37escLKsfgje8M76EIyq74ce/eiYSh+4ySlU4QGWGmdaS + bLy92M5IJckA+m/q28PujrHXdWRxpwuwnPzk+ymC2Cb5ah5kJdwE7/UKzLOtLeauTyxh5iC+a0v2 + KcHfgRCHTiw/FROxoTnsPQe3tNOHW92SOkWAzdbFQTTQzPMBjMZP+etiSyprbA7wvRxrHomYf1YG + KKezIuG4gwLFlwDa9LKEzA4HmDoHRy5AOVHVBIqP7g1WBk2uJnDic+SeVEhOEGa5UEfXsycDRUFf + R51eaKps6HBKprwH+pq3mSCxZQq/1YaQ0XF9dVP3RLvhsRq+44MPhJK4BgXAw9AfWUs+7O9ommbH + ikDlVb88MBiMSAgnEqOcGU41PvKRhIpWa23tRrvrLEGi/Y3+uA8RVPowdg/GKdObAPaitkmW3Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a5c02ade-d279-11e9-8cbc-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:52 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a5c02ade-d279-11e9-8cbc-001a7dda7113 + x-ms-content-crc64: + - OfFt9hDnBZs= + x-ms-request-id: + - 813e73b3-201e-002e-4e86-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + VOFRlr0qq2/PWtpDbmPRJJxPFZeG7FEYBXbAAlVVvGx4OIeEqBkt553sY4ac9v0Et+EidDWmI6hf + bKtWcYmZRMF9vzK+4D8WPPdbmhimjR3p50TybrO6IF6LN4fN5QX6rxwNjCHedUSlSoSkAPu0WN18 + LsXZXp/BxjfViocz0MMLir6RcEySe26TyHv9TorSPdSJJEv5myEe593ITsOzT6P07J77VI+29IHz + kuFijTfagxepQLud3RVH3Afpp97y3NMMrszfnUTs+KzK7IDphNFd+O/sgOmhJB7Oeg/xhixT+0MM + NLGfsvZs6SKF9EaxKLAhFt2qzU9lXMGiw5op6l5X7d4xTjH7+gQtvpLY7gb24VV2x+RckaPNtvJ/ + auXl9QNUHlHrDF1IJ76sAXGLEDVpuBoLjCV1oulpSH2tNQ0HsgcIY9GxRb51dm8P3CWTJLx0IsTV + 7LgXT4rbgy0Ziv438RQktGXShzZAlY04e8KPLKIPaxrw03avZaXfFMl4we571JcsnLq5S8AJ3gqI + rQZl8HAGd4Dh5kQU1bukJVdmuvcBvG3FMk9wB9Tj1FJl4KQie9sEl6WFP3Hk7oCrIYDUXX1izyax + UbvPBWLMPHXJqtJrWPgGMGmBabMKZVa1Q6GHXlH8vTaRAi2sl/MmczJPWmjPVeYQf9uDknUd1wt5 + cw3tX17px3CdAIKBm/QEvk0b6zTLCLn0aVhkIOTJ6Nt5qbhjRcJNG6kryyiR9BCFL/lOsiDbr9ms + VzhNb/YbO9gY7EL9+XNb1H9sF8HZ/rJEQmLJ502KX+CFtgBUCrGZoVEsr2RM9yEVB3BGqM552TBJ + +0XwIq+OEbIN2oIexZXZLjwcUhJ276obDs4D0tFbSPOuCT6RAV2d+NbiJ1j2OilnZ/JRIBpEW316 + iw7X6E8Cu1juFBE9MmgwemIiwaYVKij1INru2mAVDbCtu10ZVDFTzVvPr7Cj6stHUCXrTvSgT1s+ + Ucsak4hEoPkhk/0Y3c3Z9IhxefNRljfJ3xxJYMIa4gDUP6yu4vwby668cRU0ypZIYaKOmswVXGDB + 6tXPL18CR1x35R0cRmOw3PvQjBbNKS6LsHTskm9KetoUq4T7J9djeMPXu9RF4umSN7sLu4Pp3yTh + ZtEZWTipTILB4RXLy08PX7wIVsgsueLoR0ywngJSkGx7xtRAAiQJe9uDprsJ0iS4JlVCaNuB5TCE + NkGI9UmXuP1PtiXxXPr5Pae8E5qb5TRakupvfq+4FImlNX3JwrCJ6B6vg1P0WAVsjKL546eZedYF + GHm1FgMpgFuMzV3iXEeaEDyRmfgTyxD8LnkkPMP57Q3Siiwhr+YUQOIySH+yW2as0Fxg5YzN+Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a5d805c0-d279-11e9-9cb1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:52 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a5d805c0-d279-11e9-9cb1-001a7dda7113 + x-ms-content-crc64: + - Kpe5dbhBZbY= + x-ms-request-id: + - 813e73b5-201e-002e-5086-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: ' + + TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA==' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '5246' + Content-Type: + - application/xml; charset=utf-8 + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a5ea0b6c-d279-11e9-9b91-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?comp=blocklist + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:52 GMT + ETag: + - '"0x8D7349D8A29250E"' + Last-Modified: + - Sun, 08 Sep 2019 20:45:52 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a5ea0b6c-d279-11e9-9b91-001a7dda7113 + x-ms-content-crc64: + - vR2LUEKunLU= + x-ms-request-id: + - 813e73b8-201e-002e-5386-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - a6015fd8-d279-11e9-a04f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:52 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/cpk6b0e52 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:45:52 GMT + ETag: + - '"0x8D7349D8A456026"' + Last-Modified: + - Sun, 08 Sep 2019 20:45:53 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a6015fd8-d279-11e9-a04f-001a7dda7113 + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 813e73ba-201e-002e-5586-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a61b196e-d279-11e9-8dea-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainer6b0e52/sourceblob6b0e52?se=2019-09-08T21%3A45%3A52Z&sp=r&sv=2019-02-02&sr=b&sig=npcV0CIkpkEmHE9HO59FZp/m6m7WKp06i4FDCF23RJc%3D + x-ms-date: + - Sun, 08 Sep 2019 20:45:53 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-source-range: + - bytes=0-4095 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/cpk6b0e52?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - dj/1qlnLp2oEipBzIdCa1w== + Date: + - Sun, 08 Sep 2019 20:45:52 GMT + ETag: + - '"0x8D7349D8A603B02"' + Last-Modified: + - Sun, 08 Sep 2019 20:45:53 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - a61b196e-d279-11e9-8dea-001a7dda7113 + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 813e73be-201e-002e-5886-66c02c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a6359b70-d279-11e9-add2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:53 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/cpk6b0e52 + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:813e73c8-201e-002e-6286-66c02c000000\nTime:2019-09-08T20:45:53.3499093Z" + headers: + Content-Length: + - '301' + Content-Type: + - application/xml + Date: + - Sun, 08 Sep 2019 20:45:52 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a6359b70-d279-11e9-add2-001a7dda7113 + x-ms-error-code: + - BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: + - 813e73c8-201e-002e-6286-66c02c000000 + x-ms-version: + - '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a648e324-d279-11e9-9a8f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:45:53 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer6b0e52/cpk6b0e52 + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '4096' + Content-Range: + - bytes 0-4095/4096 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sun, 08 Sep 2019 20:45:52 GMT + ETag: + - '"0x8D7349D8A603B02"' + Last-Modified: + - Sun, 08 Sep 2019 20:45:53 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-committed-block-count: + - '1' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - a648e324-d279-11e9-9a8f-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 20:45:53 GMT + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 813e73cb-201e-002e-6586-66c02c000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_create_append_blob_with_chunks.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_create_append_blob_with_chunks.yaml new file mode 100644 index 000000000000..5e8715d7626f --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_create_append_blob_with_chunks.yaml @@ -0,0 +1,6577 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - abf4c446-d274-11e9-b33d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:15 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:15 GMT + ETag: + - '"0x8D73498907BD30A"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:15 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - abf4c446-d274-11e9-b33d-001a7dda7113 + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313b5-601e-002f-6e81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + g7lQmS7i7WYt+bzQF/rvux8hAm6eOsYFCKrPcAryv0PM07ZcN2FvsXRrKjDiExgIZypVDjmmjmc4 + 0Q0krZ10mrxe0qTwgk1sxgiODFkvqV6e0rtKl5apiBKMZVuWcHeq7KXs71iQD+oijbCDQyErr7JP + l+E2w51q0IjOrni6hVuJqJMNLNX+BKNLnmaIHa5P2rbf+qn92dUxXA3BBb3FA/IHZ/PgwX6NNhpp + h1+aKC9woOmthEKKve8oU3XQ8sdmSfnkCqiHuYMSpss6ZzCCHPCrNc8sbmw/BSjRu+EgEifr6/Pd + NxNXz4/LGNh4yKqugKe7ZrFPAMJSZvpraX8RLQhyQdETENAU9O1OoVfjgtschZw/DZ9KM8TmApzg + clMgXCvWwEtLOTMK629y53uhnsyYJ3TTI+rSrKLLJHwmoGcZPg1qjVyqYfSiCHwSh7rNgbxAohp4 + g4Gn1EFEy3vbH4mduu1w6r6ekCnCMR88om2FJ0bLd8gq4JJUyysgSuztRAYyA+PB5FOghlZnug1W + uLMozulvnzJrugQ5hm8YwwsjjRRQ3Cm39/cOSueqEi2x9TyMfGoXqA0R0s9vqORyRsy6c74DmH/U + EmQzZ+U1Ufc2wzWwxJMs4NpYuc3kXTu8Xtl2KLxxWNShtqs3yni1+MFTcdRgu9ae/NA62q40ZsmP + KJAVI1u/l3XOntrAm7fG6HN0WY035c6wr121qq+JT8bD7UZwNEH+JXyMHENAYkfyAy64sLyA8HQ1 + MbobA6n0aDoQg7X6ohebeVMgS0POBKpfyFMKaE/WN0V2cJgLtwfiKbSviAaBeBsJoflP0wqRvTtq + tSrhmUytuMw6aDCw0zHBffEmLO2WXdhGDAxr3SGAzUf50rZPqA+/k/Bf6uuE+MUhC8pYaC9AFBFG + iVzDuwl0hIey9vRNQMnW8FNHqw8IBUkY2MuGNG15uS35zmxEXn0bzndRoPji8izwlwA6u5fI1ZI5 + WbShHFI3J/o4+wGAFHUoCwrXVO18FsiiVya4TiIS69Dx4dol5dMXemXU6Ua3GM8q0du0ywWs9ORT + kJ7u/Wp+aq/93pyULIylkY4oR+7x5SJrpS/zEu6AywO9Wn6zCBax0R5qpD93TbRCSwZVDw6WaiFf + 0qQ19SkVvA5lvsO4TQoh8tuKA3b6QiMH7cjMr8Pw21zgSrQjXgbKx0XOJIsB5APz3+tnHXEWDmks + l930LYBiEvbfPTgJkrJdz0PF+k5a+wIuTMTVi7cainzWTKaSYh8CQXKNldrrcEaoab3fTwHFl3gr + xaGPiUxIe4xluhdVckCUft2Lg8e6JvCpFwUxYMwrMcSZBD50UZqjc475I1MUcD8qGWKTfSnwRA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - ac518ed8-d274-11e9-89b2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:15 GMT + ETag: + - '"0x8D7349890980F53"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:16 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '0' + x-ms-blob-committed-block-count: + - '1' + x-ms-client-request-id: + - ac518ed8-d274-11e9-89b2-001a7dda7113 + x-ms-content-crc64: + - mVAeIq8+cVg= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313bb-601e-002f-7281-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Q0dWnc4GodGApPydlAsWrkPDhql6e/jcAbH0jyMA2XXUXC7djs4TlW66f+Wt0ojIx1kmSWNA3iUG + v/7uELkYTAVQ6UyeLBkmHoLB0zmFlxAS+DgKufwmsLT9XByaPaGKyVuBvrRWLTbK1YrUp2pLoavf + 0hNCSLW3pvQa4m2cVXLpirCyONDM8aXtd5xbjRlKPfQtkLzgupMfC+mI8wMfQZPMCN0vngrxml4W + PUMwnTzFDVq700OAxNayh62HS3/Id4B4f3yCMondcRUKe7b32RcurJFT37SGfEstmXStIC+lAutZ + oFfkQqbrpUrd84rPD8f9/fFni2ybPenjzsK+5CpMW77JH1SQhk7ahx2QuUMK3R61QsOEf+C4SsIT + tXiaQbye971FcPwzyvKAXjGJbGp1U+n96zlSeriQd1HBBNIsa5DUf9GxcdVukoDqG85HwcF7DtuM + pLI4BnYNCYhUS/N5DtJyKwIV8XYA9aEiIIwrkXCL18LNhNAB1tpj+gzmEh5KatO5x2Tw9la3s6la + bj1wqBI8Kos54FIKlGpFpMr1Jqo7TLGUreJcpNsUCHqfy7rPnu0G5JR1mnZpqOffBc8ovOQRcwgl + CLadhYVWiCspCV/8c6Q9l44qO+kYtH9LGkyxcb9DoR5dvZOVA8D2ug2/5PRIqpmZHlxHO5JsVYsM + +lCaFjhzaDjyAAm1MfDrp0LF+/AmbrSGJJPBKrVI1qdXRG4oDt8FNByJfKasd3xNnXOHBAdbgOLW + 6FSTV6h4HT3phDus+LuGrOfupJfC6EtrfWIJ/H6PAshUW3Z5t5pE2TWFYH1l+/6TIR+b8nXN3nob + TV2FzoinewIs+XCQTDzQeMltfBPUY0KJsG5eQUbe8wlqdj6p0O2RVvsRitnzLJOSBeWOxDiUoUOx + JtsfvAKbtTPICmZh3/AbHXS710uFenxtDPNpT65qqp/yJ+TUsYWgLgiLwd4xU0/wbyzyhHipUKjP + nqPa3vqbCHZ0jTj5NJ7HkG6DtGAJKxqHznJgLF5v7NDVaa3M5ACXK7SoijYRJ/uTnEdGwQuw/q2l + +yAjphwB6qlCtw8LQYsO7lplbMaH9uQ6Oy7jwcXOKNH2GCJ8WHxbDYp9vvBG3zYk0k3ZY1J6EB5+ + a5veYMXKypFq/mwA2xHX20ko9HdrmH3eVV20ddAlgbJbWlslU69NCaRRDQ96V5c89FyGcW68qb+4 + tStQ3P6DVdx4TC3b4dHLxfNGRtact6h4xCtpxs9xI0vqWTO8vlJrlguQW9ARaRtZPUCrMQ8FNzGd + r50K3t+NNY1t7Oh52mJVgn1Z+7DAtMFRtEkqaqQvJKUVmzrStq7NaeZ7eYTltUP35uYwaFuXOA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '1024' + x-ms-client-request-id: + - ac6d3474-d274-11e9-a372-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:15 GMT + ETag: + - '"0x8D7349890ACF55D"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:16 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '1024' + x-ms-blob-committed-block-count: + - '2' + x-ms-client-request-id: + - ac6d3474-d274-11e9-a372-001a7dda7113 + x-ms-content-crc64: + - zz1WsQiUUE8= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313bf-601e-002f-7581-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 3eO1dGsd7Iweo7PH3hz823TPkkhfMbcSBgpb1iSpqX5VO9EZq88P+GPPN49U4y3oDOJBe2CRSgRI + PlD9tNYjsIBiTJhDxB4QymJ1IsLqRq/STEyczi/mrPGp/HC3LGStAw0/+CTQlwPCT6dh4zH2Bopg + tKyFJIsfHB6F8DOjMjwLthH6UkozhB4emNF+7qFYKdsLVOlyB4npERXsmcBUgWOn5gDJNpTa/FnN + CKSu0pCyBNALrr7Fsb+ATIqVhqHVAkyZZ3l1kDzHSndmeSJuLN2A7hyFCql5SBB3OxsVyBijj+1g + Kk0ea28PlFXvL2BCIqOg8yqv8+SD0R1MvuwFqfmp8AwzHr65gCEOsTa9fXXB3WnC/te2QpDLTyFt + ja0mPvfI+2L9/eyEdFsySCI5CsR1dFeXsQ6Q/XfbX0DTwLFd3bpmDIa5zhmDaTPWqPheCYNPBf6+ + bwbbUaqYzXG7KFt3VcULPbOEtXTBXRnEUh3K7PMQnO8W4ByYYqOTS0UXk63firYFsaNtpzYyuUsk + EBTCEOQVEPY1H/ajGfTE6L5wg070lKbLhwQWGxZdhJxzx4AXtAI4THKWKB2/CcB+IwTaGFOEcOLV + DJvGK8Ckk49Ttod5yGZ8ap7VUnDkfL5Vwyu3tHArLaX6i10n+5BjydSVzD+Blj1stH92gWMi55F4 + ipiCqtxspPSNhOmK697A27cgSsKbqctWdPsrgvmt469LcwCOUDUx9Ng8hIA4SRlpMmJDoqJBwljs + UgpDt7BIek+JMHjR+MfueW5RgeAhWjftjFgC7BCbSqqLPjM2O+/Q9U3hknNaPqmeEYJLF+E6eUVn + ygw8M2OqWpWIMZ1Y8dS7DOEFYyQDPHM3sbcLnlYhWoKybgLaqsgH1ypSKio8tNwkRax7Edl1lJ9+ + rBesKhJPz5hC1YcczbwclgAGXgHaxZSSklQMSLb1UgOC0ywykSQBufiXX3B74lEMSJSZY15K0qf3 + iJOiWipeAW05TDZwnhvahC9HhiXuUB1S9noLVKYGTOIJlFXb/jvVnKsz23RwGN9ZuR4rap8jTb1A + eSV9gqh7SIZpCzAi5QEuCuxzvXkvBNYnU41AlMhQSJ1oky1cIEM6MXc+z4/Ol88+xH0nPENQQ7j0 + 59AwmfudmOptC9oKn5l6gBWOKjOt8wZmOrynsS/yfOxiULisHI6U4TLlGGi+9FzTuYHIRTtrxVmU + PLCscWspGjPKl2EUJtj+usp+R+5Dzjf+ePEd0+iNcegApcDIJP0Dji9iqFxUTJWYnYDScdiyAYwu + zYau+H8LxNOtvZnAF+2xY3UnTvmoDteiJgT5NWOSepchv5Qjm0yRVPLH80WPHxXH9QEmY0azBA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '2048' + x-ms-client-request-id: + - ac8b7918-d274-11e9-bb8a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:15 GMT + ETag: + - '"0x8D7349890CADDB5"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:16 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '2048' + x-ms-blob-committed-block-count: + - '3' + x-ms-client-request-id: + - ac8b7918-d274-11e9-bb8a-001a7dda7113 + x-ms-content-crc64: + - FjDW8aPdSaM= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313c2-601e-002f-7881-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + BPxmVweXx5xt0uhyoI5jMKmwuFcFZNpQBgHRR9yt51P8U3DsC2NiGw9mGjQLM+aPwz+ojUOQ9c/b + G497INh19S8EjkrdtXrxQ/GsUbsxztm0iQn8yCUfqAA4pC4aAVP9WD2Quaiag/XianxJ5kTxaKMy + 8haWDfV6yExPZiTzIQ4uMu5yuzAPqDI9yoOMrdy7hWslApQNGJQN0uQHmwAIW006Zq51Oc8Y45QN + tpG4xXCYPD7K6CRlqEKNRNQ1o81RSve1PhRovyPceb9uN12ExnZiBYdOkll3vpeQcxKXPEpVqLcu + FzU6U3ExKQs5KjMriYiOzd4bwh3ikbDIPPkmfhd/lwso4wScTkVAVt06q0v9F85NtZ/jEHyEzLR1 + i+uEMum4omnq/j3BrD6U2e5ydehS1L/wNEWm3eB4DqBV2uT9Aq83Bw3Vl4RtKcApHCZNi7OCqN13 + 5C89/l3kVWxm1+L0Onr9vsRojZuER3B8/YkCTxI8SmZc0Q0RRPFZt/sVVx5UIHFx+zrJ3JLJIsZF + yPG/X1zswyqEsMr8sZbQ3EfqflOjLLVxopDtVvJqW5949/PbTNmN87Zhra71C6SlS8eHt80FDzya + ucxb3hSvMszs9G4bNH+iwznLKmxZSoFX7dlINjLZFYUQibBf0IAHv6lcHlA3LqumZXjXycooFPp6 + PApOppdMlgA/O1AtECJteMfgUkERIX+K7MKBBn0uCweKOjuwsGBWS8sApp1DKrRzWB0C7rcW+1Ry + /S8gt7mpQCDrU+0vuNrib/cgy9enJJrqGrhiXZl7HgS5L8IoEQfuy4l0vtjl6TdJhUzyTcuPOeJ/ + yHYn3w7ahFF8owqecmanSsTikf5/jA7ARGuAWeI/KkklomO8lIk6y99eOdTVxqpa+XzTBY7r8Qr2 + BlAGBhrL51lM6msoYmBwiAU6VankGWtbIabRX7IMVYs6B0S+FOQGRysh968Y4OzNyxpttnSRtYvE + XJtfkEUTSueQoL5+d61OvRLsC1WEXysyVUShIcNFEeMN3IAwR2kQuZ0qXeY2tNjZuLlTDqOuLpNr + piA1cvGtd9d0yUBvv/O1l6blrZdo6ih+Wner6PGyuBVVy2PWEtr8peI5VEckncpqXLBud5CZKgfD + 9nTwsnLQRPJ6YrIT2+f6IEsnjgTsnmIaIqqxItvV1N0O7HJcNbk7PfofPCw6owv+0mh3daEr1vF7 + Gw9amLxVWTBHMK32Jz1VBomrPw3rMvAZJ/dO2gBPCFgzqsaYhCIy6gZjEUickpCuh+9Sz4dYObUZ + BansACEb6EgoSBSnoEZcFOgWuhKislEp45R+vJQtt2lJAUo9bKwBZNSQSRFxu1XehUpSmbNDNQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '3072' + x-ms-client-request-id: + - aca02e40-d274-11e9-afad-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:16 GMT + ETag: + - '"0x8D7349890E25D9B"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:16 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '3072' + x-ms-blob-committed-block-count: + - '4' + x-ms-client-request-id: + - aca02e40-d274-11e9-afad-001a7dda7113 + x-ms-content-crc64: + - w3qFFEvHAIg= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313c5-601e-002f-7b81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + s17D7RdUCN/3cKsZFIalmsRpgBadYT7mQ1YuA5hwbuYk7QU4AfJNB/X63ss3iUTJLDtmPZYaciT0 + wyhtcK6wauxeRca5L1D1GOApIPyUg+GpIiMpbq4ykzjkd+5uSxXt5hfUUlnxz8MiK6kLZUpi+2We + xb6DWiYz0obsAOJxu7RP74TZSOkmsxD77fCebE21Qxtce1jeFIOmJDTon2cfTTOsu3xkmUG5foWi + iB2JlPccYVDPfdJjxH5Otbu0E4e62IEsxOXlhIhdJtxorbujyr5pHBSy3XwnMb+cLepYC1nfLL0S + Osa0/DrS3oUL5adIoLbYSZrs/cJ0lCCz7pfxGp7NoBgSdF0y34Qa5o54845j4bGl7s9TVQzqiMvi + OlKqotclXK+MeIsAHUtME1cuWNArXQcK0h9vpnZ+KiiONZBlt6y8HWU6Sc2moExMCZUqJQQS14tK + THQVrmb3RpvEnMvB8LRd+KNp8ToTvQFO6oYHR4xm7OFXIc9sP2vlbbHf5ENvhpVX0OpnA2hTaaRZ + jrCPw2EOHjZba3bg8wP82+srWRSZ8zm8A0JwQ9OAyR1+AK3vb8Ikjc3CXp2RXBNLFA+wfx/+OyyK + 2B6+nvANMtcSC4snlo4AmAEgL6LFHhXZ7epBGWz8/I1w0dA4C+EQ6Wk8Ar00GgYpManHSC48zk4T + Z5xNjJF76WRwB3uO/r3vXEB75Kq9ltlDKf0pzzL0eWqyiON7x21aanUDNn01iKO+yh0OmE2Xu8tG + jTwaROjsi87WhlDPc1NQUZXg2g9qz4KbhTpn2WTzrsgyiuYuO55uY2rBEr42zPSowzM+5Lf92frh + beBVzJCdxe2/KwM/XdsulZPRhXSw2NEhLF9YEEpp8hVlBVEzsAFO+kFe8FEnz4VA1fIKY0G2cLdY + 7kowxLkEPTQllA2VGTw+EeIaaIJAiFaMRa+ZY1HL4qZP5Yzw0U8pjIP92Vyozdn87ewU9hwU7NRQ + 4qpLlKvSLh1QQ3Q5nWqYpatPIvp0wyfrTPL3zRYbQ6/v0f5RCOWGq9v7K+uqWJHuuFc2lJ1SZwPp + /rYoBAXeRn9lQWr7kZ8XFWPsescyzvmnwXidk0rd4FjewDxopIO/8O5sK1DDoV61tmmcc7ILhMgt + Ff2x/P4R6QkwiOP7AQVBD2aJfkEXzIn2LOszJ/eCl1XA69k3YaQ3XFAzhshPqDM+A2s8zExTPejn + /jNC9Kd5lVnA/qfFHV/lF159VRgrjo7MdnPxkTkkQ0pC+OneIlCqmUYUsnxD/ZWQKrzNyKw3cZpB + cO5w+1lenABDFwVC8NMkmciNiNIIUOAeEMSWnR4IYJhZLU1MFFmpcPsc+rd/3xywP4y6no46IA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '4096' + x-ms-client-request-id: + - acb7ee8a-d274-11e9-ab9b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:16 GMT + ETag: + - '"0x8D7349890F45F54"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:16 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '4096' + x-ms-blob-committed-block-count: + - '5' + x-ms-client-request-id: + - acb7ee8a-d274-11e9-ab9b-001a7dda7113 + x-ms-content-crc64: + - 5oNlZjEX2c0= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313c7-601e-002f-7d81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + oRGQURNjWYF1UsRSv41hGAeilXRFCkruKMKExlvIRFA4nQ+MVsXHokp4aJQ2wnxCKtyKieZnjrbr + RLcIqBFwGgHtAc4kCK0NFa6Ys5dbLkxhaW0wkG6Sc3UB9XimdKl9F9BbhogstSgGJrZzX5thVdKF + 5U9WSU9lf9aNyYBpIQJ+2t6UpCOQiNy1Ee9MdX8FwgPw0sEFx+niQIJVb8lGZ5YiDcObE2fEcHzd + Mahb9ZxOSPfhqHKlNBLGcLkingh9W6TXaYLK/jGtjMw1WCS5UMPrJp+VrL/vm6SW4zG0tF3Y6Axv + ROojWVSvtbUG9O7Zi1JdeNkycN/QSXDmw5wuOkl1VTcuXaiDP7L3J/mb6Mx+qQehZDJB9fM6fLPg + Lp1hhSz5Z8+G9G2mnDgt2X1gtI9PKnF9XxdcfiKW1l26EUjUl+D4kxlqjSOj9jTNSrbzm960PTtV + 3/15pSgj9Qru2EM0SNn0UOC/KJf+KyRFOjIYCUY2Y0oHdm1azc1Jxr8SI+F0Fk3DUSE350qAjzeG + lEGpgvNBZfosmkt3xIWSONq9iXgFwxNO3+UFtvQl5cb4kQoKrJk9S6fYD01i0bkszd52ynpYw4OZ + sx76XC2Up4YLRSk63k5EmEwuYqHEfYiszt/oP5LQhNzW44wRwFZGptJIVvkRDG1TQbnlZPw/JF+9 + Zje4vPoicV/ODQwlapaMkyMnF/cFNEhre6yDIh7ck4oQfPkC22vu05ppgL2l+v6OhuxFct5I2PUg + G8W2htIeV4FUv8gKYgKNCgy9QTSFtv5jthw3zK0dh8GS5fH7lxgiJxA62x1mBryumKD3fBA7CzMj + cYwsxb5WuEGjjPs25+v1Xc1Qka4qhBDK6f3u4o050ePQR8lfEKmWuo2P31aDYWQUSvj8aFalQMB9 + 33U250tC1iW1Iy9zopAZymF80D7mSxVa7wygWl2IQIOh6WPT5DJ+RKasm4IJuimmi/ctY5GzBPde + FiXZccfU9q+aHG75BT/QO14K1tNSR8HuwtwJvQEEinUIZltXbrQnANbTxDG/8+wM0pwMaQBYxTrl + IbjA9HkGU5dm7Dzjk+a/9B21wMi/0mkBXU4NnMev1Wd57hoLMc8B9iIDEZUtK/HLvhiLW7Jf+nu5 + EAqgG+4uT8917SMc/qmkmSVyce7bRPWi1Kc3nK2VuMnZpcnzTw9Wh00cN4Z8KDgttpKs2Fi+dmIo + bmQlEujrUC753pURx4u34LsweGgxsU2RhcU6TTxxs4f5w1XRNM6y6TBc6PXbgdkDXVjiKJC2UHBC + Zt7cgqIdgnl9b7N2xcSdpEy4MkoWpTiZJNH7Ec5hfdrrlfP8WM4wY0U9kDWLJXKySeKhuhkZIg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '5120' + x-ms-client-request-id: + - acc9f2ee-d274-11e9-a88c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:16 GMT + ETag: + - '"0x8D7349891063AD1"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:16 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '5120' + x-ms-blob-committed-block-count: + - '6' + x-ms-client-request-id: + - acc9f2ee-d274-11e9-a88c-001a7dda7113 + x-ms-content-crc64: + - r9DChuRsMG0= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313ca-601e-002f-8081-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + +VIAlXnYGfG7kqL6xgW8mdx27tDRSM7TqVw7gU07SeN4LyTu9LveNKReensHWjVtJWYbbJybK5y8 + oHLaLUXZtokXVe1kHbSKN+6mRVqFpAuxfRxKPmTrk8RrMtWpxvat088sGqofiK3dGhf8dbSWF+fX + cWKGaToSBtmAceq8e11asZiJfd3OsGhWJjMJdpYofGoEz9588k7w25or8fvFWtDeD31xujoGmRc0 + OX/zv78W+JqUfKhHAPVoM8864P4+BI+lvEDcN/bqWeHZESe0Qyzef4AfLWHPLTlU8r73epuEFB27 + 0mkfpKkJLDq9QmTzdb51E0ZLKfx+4rr4iXbCqEK/LyxKnLsQ3cPzHT1InNRz+NkVYEBxUjEPNTE4 + oSJuXswW/uTUaawmr4uQF7ijx8EC/lm7eQ2+LovSbQ4frT5lYpAT1a69oB9B9QRP9R3rJV+fm3gV + nKLU4c2FOh5AU/Zui6CT28IfLIwn58MpHkv4agB7nXxe1N9wfeKkPX8xmjkOv52orFFlNcTQKp6m + 5WUjVgEclAaueZqjeWgGyeDlEB8XEpdbNrk8QObGXxXD6GCkzOWxqW+h5S3fVnridVAP4walrwBy + T8iGcBYIF85uk+SWY7m6SzgOJJ+a12dQIlBMtxj84YcR7CoekN+/C7EyRHVRsGHxfT+TtAfTMour + bIVVPX21Ska1xFJiXol5ji6KLd3WBYbAE892tv6AlkZXXoKkxvO2Tvjx9LDNSIakfizbtvC719ao + 8oxOORIRzsUeRSEMk/FCF2gUJzVgm5G1Gt6GR53qmn61YaAJMiYpfLs0R9r6vlHveKbTOoexQ+md + 6ts0Zrt57x4sBCSgfc0oubB3ytdjM3lp63iYSVdJNfGOAdTRqY88mXjA9YkG09kQ0JBn63CIPnhJ + TSwCpN9Pb2Y0e1aaOVoY7AcahOjsrpK93AJZHDe+L5GAHYebDNos+TyodltamIfiOaTkmUsNC4q6 + f6HsrvIjkKjpnyw+Gh2LrKMHQ0goErHyW9pzLqTjPBLuO8o/wbAS3ed3Pc2Uuja7MTzrUMIoacyq + ytZOH3oqdIAlUSDzZhq6WOlhLuvJ4fDHrxG8lyKr6VCOPrSGVGFv7ehkzPSaKfzFjWyL6oGbNU00 + TeModOWq6b7BjIQWcuEz+mjz0PYIV/Oqz4nkUK8K1xbCxJB3WKoArNfxJTCdMy2VqZQb0xKntkPP + cQ9E4tPI5t4ueHnCMs6QrI2XiEZNnGXE2zIuVNgtX0s2/KahpykjjYiygNyZ6SKTYWhv7fAiWRfD + hPe8Fhk9t8jJO++DV4Eax6Wgp+zRLndTWtGSbh6ou08zgiFXCFEFP8h+/FDrLFjmC8S1TrYwlQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '6144' + x-ms-client-request-id: + - acdb3d40-d274-11e9-8ca5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:16 GMT + ETag: + - '"0x8D734989117ECB7"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '6144' + x-ms-blob-committed-block-count: + - '7' + x-ms-client-request-id: + - acdb3d40-d274-11e9-8ca5-001a7dda7113 + x-ms-content-crc64: + - e1cJpPwA3U0= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313cc-601e-002f-0281-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + ZsPX5mU3D5DUZTK3H8HUIX7q1QJXS2MOt3xXrFOtxoTTn1fc4Bk0gqsLrTrOjw0DHCKmmQjfJxHk + MYiYxVn23RhtrFKlHDL8x3Err5Em5lY5WAmSRhuA4WzEdPkUKProbKgGW/fJXl5pCG6v5p4ptGSF + tK5kay0tGbrBH9Iz5yg46MBxHyJd6MCNJbWytBTFEJeUbwDAgzXJpEqJACWyFvTIJ+C9jb+BQNAK + cBzd/VVuUGZa5LyIHsB5DcBAp+VBLcnXPgtfAOkdUV2z3zg7w95PMqwKKz1L9cvAUZafD+WT+GoD + GyuZta4kdPtfJGSPh6MgKS6fzW1BItfBktCXWIhQ/EFpo8O+z+fGcBaZtrOLKIG29t2Bj71GXrtW + H3bnfdcISI8RP8y9nfUydwnTGilFcX70fjipI7Sxr9ZBIB454U5+IvrvZqvCTLfgB7+eItetJSIh + 5HtxW6MLF5YgOpPaL/QgBlPtQj6btJliA/fIXopRN/qj5MVsQe5W9rOQ7/nTs4UQEzDXLO1cDXRd + DSKQKBsorMjOFKrLRkPz8bbXPxkEVK4+ZNzz0nkpPlXESbRWFgzLHLNcdbe5ZXEXd67ibAgD2py1 + NVZKOLx8KepeZ+xhqK3HM+vYgWZxmWfWjtNdgtiL0aDIXie7WLDfhCQ75qNXbsqLz29GNUeFJr6a + 5gAARS3v1I2N91DyZ4nmNbuDe4UHYVbBrdhg5AQjca5B9GXs4RA4+g8YNAO7QzBe8zFkGMcyrrHI + G1xrV4BnAduUN4QTnlC2kqnti4zDEhfvnsjj80bex3f3lQXAiMSAHk8bA3CPcIZg5ExEjhgYtqQL + 9xevoP3MZu9u2DL3Tz+9A6uj7ehzZyApdXJ2VpYelnnidsAIHvSx78uODYeU1jxQseFGOuOfs9XC + HxnLY/zqRW6iKRLf1WwfZtFB3IGUeIE97aXRbUYEdVzaLHzVnJPqQutezAJKo92P0AtCaatp7U0f + Cm4gdqw1JiUL4EPlo+HG6NNmcJCEixJFGA3gpIEw1U0zZLFM2DRyBkZZP5nDSxIgUyZeNarvsiyF + 4QFLfTkRnPB9uQEPJ6bDVVKd5fl9BFvewY85/sEuSXJ7Le4ktQOTXjPilVTz4NlTzw61b0N0/RlY + fC0B89yTTfimgx4p18yE8xGzOzRS/odKxMQH6V7DHD4CFzVlrEMIj91rklKkEppRzXomRY6Z2E/M + XQThuKOXf5Clejfh0k3EHmG8ykHvBTd2uuEoFC1fphEQvEbMB/w0sd4trHiwhhHZm1o4gLpXXaxg + O5owmnAcpIf5oHE9sigV3777E6lARdAZfeYRQc4jfvtLG4JY6YcxD4C5DmoqcYYa3tnLQwyY7A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '7168' + x-ms-client-request-id: + - aced6a1a-d274-11e9-a0f5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:16 GMT + ETag: + - '"0x8D734989131DD7A"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '7168' + x-ms-blob-committed-block-count: + - '8' + x-ms-client-request-id: + - aced6a1a-d274-11e9-a0f5-001a7dda7113 + x-ms-content-crc64: + - Zoe1eB/Xyx0= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313d0-601e-002f-0681-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + cklZ3/vbkUJAPqP2vtOV4LZpO5+IYlEWJB2ZIqmFOWo5oevEAZYddZaeuK7YgU0oBt2aq79te+Vx + LXxZPyqYqG1quhKSgUT5wx7NRKkuvkBDL/0NLLeGhdr1kN7iJMYOp8zpBEXeMDhR6Y6xEL2vPZ5w + FZxTK/FV7ZA3Bjiu6z2xk6WROIMJxKOBkDq25FHYJhXAeTta6gCI9IkIO28jDq6GaNdleeFU4QL8 + hBhqZ4I6GHlNILkOZL15S/YAzCRbmZeAlnaJwfOkqrGpPS5/NQZUUOZgwU77vLzy4Smsy7axnzcZ + Q3HTytWsviqnEc3MaISRAHwZQ66+89d8ehOKzH9UiTFq+GanGiFSZsUyztsgyjJ6EVag6EjLAUw1 + e/CKbhMUm4NV9Xypnk0xXgSB3m29h5ZQUbyNrdUEHdPn/cF7lss0O24yLtZUvynBDGXK6r4yMOn9 + lJThZ/fc4NOdi16ZjwGmge78Nt4VRD3IXpvxV0B4+5/ohAAOwIvs4w23oJWf/H6VqGGktuA4a7rl + g1DFe9pB/FKTE6vwnjk0wvKwD9S6v5VQ+OZ6eTYU8H8y0N3KhDEPBAbtW2daz+36+Zf1nWG2j6T5 + wPVv5kuXVOBn1sQfN4zqiIcE1sp6a0XaZ4C5vm/IJVlV8g6x7zZm1VZAM0OvszoKwDY5J7oK9HHn + 7oqyL7CSHdb7+Xgg1q7L0DVnkCmyKRxnBOxhCbOyGozCNrSn3VFgx9vl8DPm94sFWHH+wUU3/nkr + 7kWZImdZdxw3zmIusCO3PtNS+IYlxSe4UBGrzc9MWnpewXPjeNmFxgnFx1gvpfY3yEJJHAK+BZxX + uk5lm6NDxUIpJllx0+Mpogc4XYksWViRJ0fTH7XtEWEWMC041zVIlEXLhYofsceQdPK52A59ixEP + pxqnrxyo95+SnhIj31XImroRvzpKJFOuwaM82FEVsbhZDVCkI5pG41y/FmDflxzlM081jEvy8Tjl + k4xspCyBsDUBLWcliN/G5KD7EFSSBNIJ8c0n5hOEI0PrBonQdjRqGObcr4Z0JdwS7pmQ2g6h3/FE + AZapAqQMIy8M1mZKe1kddcCwP/3GhxsrJh4svA4JVOo2CpfKL+0cTXluJMGEXD76jwoFWXB/j7yC + S/XvK2MInujwOFaEb/sHt6R2zZecQCjtCk6y1MlISzQvpKS8pkRht3gKrEPgW4klcS4+3K0DWsc0 + YIz8OMTpAV+ks2ab7X7h+jWJ8Vj1AZhfrmlJ6R+sKIgUMUe7jxO2mcOClk+gXW4yQgyPOjVq5PFJ + zlZvmBq3f5B1Ov4OVTVoHDETJvg3K2Lwf355BzMK7dIRYk/xViOq8RPvf65MAZXlgnbqJNUDcQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '8192' + x-ms-client-request-id: + - ad073940-d274-11e9-804f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:16 GMT + ETag: + - '"0x8D73498914DCA05"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '8192' + x-ms-blob-committed-block-count: + - '9' + x-ms-client-request-id: + - ad073940-d274-11e9-804f-001a7dda7113 + x-ms-content-crc64: + - Ra43ZkiONhM= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313d3-601e-002f-0981-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + KEO0gsTsxKfRuZ90i5hpMMeSW7vVUIESyNSYUgUIUQV1BjSDYkZ1bHILhmxb9CqT4RQERx6Xqu0s + nTjwAIPnpTTnwZoZ8ZjhGUHyT93kYwkHF6m2LU49w9bpWif3X6rIn5zckKkLqWS9vz9N49kuRkM5 + lXJi79Fy5UHYRLxCWIl7SCCKoipgfFU4cHP+qAB/4L8SoBSM39+w+r2J4e17rqt8g264hMyBezLp + IotQaiZKt75+Lzm4YltAYI4e7Udj2fgE3+0fGSCmuvsBo2KYJThBLZavInzMyL/mQFqipUJdCKuI + HQ36D2IlIc4SCoPJsIDaEfqcPkpaPxFYC+OaqvOB64CyXJv5MedVLONBTea1CjwNNRu8RVPDsZcn + 2Y3OFLy1ipytlC7WN8GYUPOC/QnkbiJ5uMVKxrVaqNlhn4ar2Qfrj2keGsftn5lvYc7vaCta2tRl + tSBXNlxK+DFqCpHJ4yiiT09ggTxuIsSht+zcoac3WS5M2yIfVXIc3WC4nGXGJWxicxZYO5dO4GFa + M+mgTG1M505hnURlV2GnqCOito1oib2BFJ5/tPgH+DcIzvooAK9zGO2Zeea98rWvH2Nee/X8lvA2 + bKdX1G7AvsyTwEHlcPyZ1MdDrzT9B9qDXFFTc3I9mjBG3jgZs8Gpquv98s4FU/3cGt57jDfgqlXJ + M7XjBlMZd6jucAkcaruXiZ7NsKcFl5DbTwayF36znsOQrA5TvaEjayBgZkhtiL9Fd1gqpwhbEbpp + gOVY1PaYUIcJ4Ewa/pate6VZnpsZpUW84JZKogqyD1PZaAsqlHSYgV73ab4ORPpty3hHNHPowqMb + 1vkMiVz14HFmCm/4+BCiajAGw6fBJJLTVghw0B0X4uXcxMz8FHXyHJ740fR/QJp+mdqrWbJKX0cr + sD34XFvd1BT2Mg6Bl296+XLwf2WWimV4Y3/5VP7C4+ml8ttsknI4RLJe7bHuKXbTjp2TPC86uxb4 + HA0nbjDjlnYk2rYCT2tpHrOk1ijtx/QNw02bzO7Ta87WTvdZP6vXHPSltTMgbEUafqoseIOq7STz + Ff439QlEuO9lmHDnrRzSfh/jgPspYvN1QeYtNnP9CGgfMHwkjtH2pNExyiR4ZI/0c/hS/nukdQT4 + KaCa34zwAJ/bxEp7vmWzohirTCNvLPPhl0nh0N37cWVUtS7et/cFtPtJIUL+bJT6YnSAgE3xrDTc + me4lXGtN/dxDFPijkIUHJlNKSwVgWWrVftNL1rC44wweP0/c2Xd/PZqvp2orL8AY29K5vBHikQzG + PLhlCyOr7+BucrRiTrO4oLGJDdzm183d84KI9YQvBmkK7G0VlRRhryWFiuPZd9Dpt4K2n+ub/A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '9216' + x-ms-client-request-id: + - ad233502-d274-11e9-a7c6-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:16 GMT + ETag: + - '"0x8D7349891671E5B"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '9216' + x-ms-blob-committed-block-count: + - '10' + x-ms-client-request-id: + - ad233502-d274-11e9-a7c6-001a7dda7113 + x-ms-content-crc64: + - 8vbT/nvyhko= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313d7-601e-002f-0c81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Nf5g+vON7wZPKtmGg+rIZcQBAWy02xoR5Hzo+ZCg15F9qEF/t1dGfqAD1+F00PSILPNCqmTLhm0j + nrFjVoaB5/B2ALqgb3XedMW3yyfiO7gQ31jJJz+Do0YQT3h3pSl7tnn8KVbCAgC142CZyk+KKffI + 5Z6l4SnNqGb0zK1fhrNYlPmAXABmjr0f3r4vI6Iil6BP4s3odaQrohEympJz/A3g4T2bGGYm6MpK + sU6nk59ug9rpqSsFY2WAYOBSjAhTA1icC5mCD51IxCqizWrbW+MozLCOvsuOABv2LKYb9nQqMFgr + lAQW9HMXstVADaH9HxoSCBKlOJza9/rH3nJaXvzgeAe6GFB9O+NECcS4zvlxVELDaO7G6A9720if + H69E3bxK+P4Qg3eJjSe8b5jYkKuIwUQBfIEIbj9dAQORM0Sf09aXVluitIbhik3apspYeL+cpY0s + 9xkGanoZ8F3Q6bcTQ8+PNzv4jEZbR2KRga7wh1Xgxi4neH8z12MWPxhjI62OzKMy+BL24Ro4qote + 4Joxv6M5Hi1kOv0y0VvJ+B28NV/UYZdxlE0DwU9MQZpOUUd7nqcvKmI44rhdPOs6YmKqxjKjB3d5 + axyerL8IFN3ROSTfNwcL14E0+rD55ErJxSEZIdwOTbzPeQOYr2AYSDfb8OYdZc+VztEKhJt62Q60 + RGWqb4E691Dbbo8e98TDcrrOMQFA+LkzcSU6p2rFOm8FPemPvsrDOqXJUVT8iwamwZdsd2d6V9AB + OEKa4/ZDSxmFe7ekpD9dBulrld5g9kCelDJ9oHOBhRsggVKRSvP7t+mTy75Yokcjr318mFbbE6hX + 266v6VbJQ8HLwIvaPdyHu68VrChxya84epmYSQZEwJmWrznEcM4XKXWLnrJR/Bs7TMcKwERA/ILF + U+PxLzVxe6tKrfe2uRX++/W1K0eLJFVFZYw5f0o2gcea4xa8JM1rx8nEi766T1AL/cWn/CUe7Ps2 + mi0TjAoND7ggNZDAFx7VYeHWOzRluLDYm+D2u/Ii9CjdU/7paE9orAwaXofkDMwFa0O6wzvKWZf4 + a3940LCSFmURY38WN1Io06enOgRUYDUp157uT5tan0kh92gki/FzipUs5aTDN1VK9bUFvZKDJVqq + ZbcZnHUFhqGIoJiVilqMqgrfrttZTt3hkQvhdZI0nxzmv9UHXw9hq+1J97BJPHsxhrKFhvv34Tii + BWODAohzSs21A7K4S88Kkvl3sA4r2Sfoy20au6nkmZewHhz8SjdbQ3D0hI6iyd8rulkJwhO/W68j + MuHPHG8eYHwioDuS8Q9qVMnfgAxQGxrmQPAaFZuyOMhZztyGht+afETMJ8Xzf9snU4gXHcTcvg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '10240' + x-ms-client-request-id: + - ad3c99a2-d274-11e9-9751-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:17 GMT + ETag: + - '"0x8D73498917E76B1"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '10240' + x-ms-blob-committed-block-count: + - '11' + x-ms-client-request-id: + - ad3c99a2-d274-11e9-9751-001a7dda7113 + x-ms-content-crc64: + - gxz2MjJrVhM= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313d9-601e-002f-0e81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Twp4LjSD38qNrIsuEK/DNbk61tZKOcpBv+IsnI+lih85BvyA3kFKsWSQEM99xpTtXKWaNvyhOhJH + Ce0RHInHY8MWR6hQy9d7wPVJy1B7SPpu4D3SOaZE6avMF6YiwhGSdq2+C0sycJFIW3EwcXo+dA0B + prOo+yhI77wl+LClZ7CMbyg/bB1HW2wOb1sXVm0gHNZiyYkwted8N9ZYSnCXpCdWWyiNOy8TGwmn + o9ndUB88uLSLR300jrxu8K5jGZ/d52hhJSo2MXuz1MmSBpboWBlzQX1ByxR5CmAhi7RpguxsjjoV + O0Yk2IelzSovbjsZrBKHFcyPeIYGOPZQR4Gg1UTgxv6oqpTzZ8ZYVqn2jglXcXCwQ4HQbcqPWYIc + 4kxrTyFkae0yCWRVonxlR9usxHKtoWuWWSrIhvrGOo5Nq+swJkauPNubbrtNthAEhbBVf7H7+WBt + z2FWFrXe+EApofGS74KjiAXNGjiNWcGr5xI+nc3GCeZ08i9gwkSlfed35rPm5zRosetb4ABIxTPo + AxGQ+EXTYrNok3wEI7mVmDLfvOjrXHol+SQP0l6gAxmTgkJXXm9iaLxbSX5acXf3xw8EPCojoaq5 + ysh0BOq65Mr4h8BNNuSMLKYPscNt2UaSi3XHzMEHzO4DyA8NMyg1LlYYL/qljPlf+Ln1cFoowm3V + LRCUYEXtySqMJEBJkubLlMtGBI/rRv1kqKbcVBCji5uDJ6F5g5Kev6dzxjvRRAjiJZ/lt6wC7ph/ + ZISfrGMWfFYM9baSRDlmKSUnAlnNFf34RVRfMUWHG2x5X5meUyfOzGNSkBOpCYhsg99nGL08Ryg0 + T4wBL95kgiG14BG94YxmYuEY/RDULfYFZuNqIFvMtLJ6P+85dE3MGPNazZ4qeLJqRJMxt3h39tao + TPBgq72FSA+YiDrcNVKOx5Kz4unh+/6DnMwbpOCB0NPcsaG3SxRnnIR8LA/uIkDKZr4qL5i2fITg + T5cERZCwF+k7Sh1C3wMuDbGhmd/veRFG5ZhkDFZQwDeGnGpiqlHmbbLUqaSvcOUjIwhtxhMhc+Oo + XaA9ok3fG2L+Do/P7rUkp/azo9gErv7k4Y/GCryGpKPTfdQImT8PLVbNvvO0VxSAEZJqWwKJ2CV7 + 72cVW5cLrbE1xw/NSboCOFdk06fsd2w41cgC+xTN7whxXti9MPVSmtmVt35E13qQ99RTPhDCqDMN + 67pPyXoJn1jv1YiqEAhtPhEpbZRye5GFu9xJzJF2EWJk/jjZkofQnuXZAbFsZfMwBGtX3rgmaVIQ + GCXbww74AtJeybyPvlq+UfkPI0IiRPKB1KVeGLEpybMxjd9Z9f3Nz58hSMcygsTomoqrRyWu5A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '11264' + x-ms-client-request-id: + - ad53d036-d274-11e9-99e0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:17 GMT + ETag: + - '"0x8D73498919AB1AE"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '11264' + x-ms-blob-committed-block-count: + - '12' + x-ms-client-request-id: + - ad53d036-d274-11e9-99e0-001a7dda7113 + x-ms-content-crc64: + - LUOQiTgTJe8= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313de-601e-002f-1381-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 3Ri9E7AzFrClFGB91tuZGLT2Ji6dp1OInuLt1lzBkGBfcVn9uialU8J0LDFtPFK05eas7oYD6p5G + 4Rl216pOr88p4LHdshk8r9ik8FMMAWlnu4Fy4D+5mKhy1MrGq1zd7TTD5MVfF0WHbQLYNtnqO3+e + K13miV1tzrToy9IVfbdvHTxq7tE8k0aZ+jViKZEM4LqSJEgiSrlvOINsnVyeLy3WWD9FVYmZvqNi + V8ztNx2/hjGR4MpqCcqpBqV+8ygmyaJoplXAN4Nw2X4lKUBcV0U8piijnpoetORix4jVVbAd3Ntk + 3suu9OoycOl4bAnWoWsJZPwvHI0lZA/e1+q0aaPXACtKQL77Uk7YmB19qT6kaGihH7fIRTXOwdi0 + ORE5hjYvPY7PbT6BnrD1a0gKfznkbFNMpXq2OigC/klV3KL8ugAZtmVm4jLPw0cyHwvFmOIj5Tu6 + q9Djf1ifsN9QRd6UO+92sMZyag8uHJdnQu1DdsD1peZ0uXqltlY6S8ppfg2nZGDctfTw4NgZjpCy + xfrgxwGLIcj8v14zJrRFc8UexobzNluDEZWVLeehOVy3a9TaSHKF7VhiTGKYUhTOeq+qX5gKWBtf + I2YQ3ukLijS6hdRlBIECKL/ImcIw6YbzKFqfliIrUl9waMN3kUW6MWy2yx0hfnXz6tyKK9ue7YE5 + U3HnYbAx07gJLW6kg6+hEPmxsnLIqH2B8LfYlqd64HELSyK9w00ZS6Di8y1EOJf+WjDsAbJf+aHI + 9u/Md3Ec3FJ9udJvpC1oDUpkEkBC8DBGlF1s9J/iPqgFATDVBh7qaTT3kCTxEQpLZUrAvIlaO67o + enwMbEqO+62OZPHaobGRuSZLjaFt3ljxVArX0zotTc4VX5pXYi+HmU/dlujgUk1jeLA9IfPKbUOC + 5ddIbw3D3BfEtBgyH2cr89+xJ861GaflnmxRtDbSFcy3Dw05nhi8UVyvnk+I89j4GHlpZPorJ6rM + Y/yI3rJpxqTo5LT083/VsVraLnqtHIw+QtdlS36GCNIbGNzP8owaHbTiIZE63xDB/KKTSsOaDMmt + 7Hmlm/WxjQRrxeo0yZXtJg6JHx5IkCea2vS13F/RWU06KsvLoyzMZ1C4F7MsxA77+kFSMbIdSfLi + ja47QMpcc0yp8LqIBpntIFuTs5fDUNYHhHi+Ge1EWoZ+W3+HWahWGdeSzbBdftlsXFHK/OEDw2mM + bTnt/eK9dy1lsvyZDIu9vUa+w7M03shfh44YhGRx/iZ11pz3giZiytiyucrnlKfgStqVFc+KL4H3 + wbz0ME19OHZV7t+1S/jnw0JrNYPYntzd8/yGUjtnzl9ijP2dOBPJdZ9NDmEP488E0sLsk9PuKw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '12288' + x-ms-client-request-id: + - ad7003c6-d274-11e9-b1eb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:17 GMT + ETag: + - '"0x8D7349891B5B3D9"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:18 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '12288' + x-ms-blob-committed-block-count: + - '13' + x-ms-client-request-id: + - ad7003c6-d274-11e9-b1eb-001a7dda7113 + x-ms-content-crc64: + - z43gl5LTwpA= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313e6-601e-002f-1a81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + +bnJ423glEJVmxIfV9CPGO6/Zc0PGRzDLh3eSIOqbAiMj9/zPPVl43ubuzsD3/ffrbf+HXVkXGQ6 + KJx1TsQWJADbGfPMMH8J2Rs/PILPUwRe00dqvNDIGr3iuWpO1HQMAIBgQ3vXYwSfwYUGoCfSQ+zD + m+2ujxTpq2GaD2X1qJ0M1Yk/aTl1T6o+A4xteCNSqP2d8wOPJRc7sSkOC+WzkaHjopuQj7n2ydnl + +DmYv7/kCIuzkqT479tgVDqxMgx0Ofh/3tZ+01aFlKf8qpVHlaaOaBejDiz2frKtaKSXMAJt+ik9 + ceaslUfAbmj2oiyXiZcZIqfuH/486QfeE2/DZAYQ7nrEr9c4WPXu6aT9KzD5OTxOoDyYsOCpfdbG + z5MPmJiIvSy9glspzITdFEJC3EkF5pYSCiuvTxP7nIKCpu/4/pFCbAim5w2KsR1DucPFThpGTiM9 + M1MDNp2XKc2rj3RzH6+VGk37FsPRKWMn/f3Bl99ZZsWC2uocy0Zeg4HLQA9TUnpysuREHJo4bFQ4 + UCROg+50xGyHjDFlMn8t0OoD9r0w/jGr+chvRPs/jmqpBq0H06e4rDzRlYswYZX0A/dgFRARZOsN + ELXVX7GL9y46yowwc6rjVZe51/4/3qvx+xnn0lV+FbBePfy259RzEKVCWBkJaO8wi6yEeH4Y9hPS + Sor1bsq3WKP9dDQstllJv+1ylEILW40rgCPYDc3gldlupfSvOvETVG0Fh9IkNvVNfktzqGI0KgHx + PMmmDwezsW06BElbbY+M6WflHJjE/uAcIOGs+EQWuifYCDCD4gXpV5b0Mro36fOhwqs99E1hUpe6 + eIIuHEXQ9onJYQlo+dH9n5U6vYhnLW3AKkHItIqaO9hTDNNOl75dl9hJK0peQDTaS0ZWhiwRaSKs + rzPdPePGDEYh+tHcykO41/4vRpW2AtiQyBOaODYn5AApS0tGCgPZ+1CzLez3+GYB6ClhGyjiER/b + ZeYPp/BJxgLAdcT2TPqOt5sUvt5G5cSQYNH9c3rJUEJpzvYUsCgxJr0v31Bp3SvsbWoOKXYXj2KS + Rp3pVboKYRI1NBraGPvOJdfFvbETlg/Gmsm0GC+Braa9MNjlxnUbghSEihGmqfJwvjkZBcXoeIiC + 4qU6U96xETTWy3hcM+lIEli7dAiBFQvUU6jD1Szf9FikJRumpglctOvasEGg8x+HEYgwrEVuVljI + /TYGGSmSgYkTdKl/909HcImatLvv/i+qwaPHOxauLzYWHAWyxQdIy3Ycr5a/oRTQBgPGZun9fNlg + XNQBJhsh9KObnbFmYnZkFvZdhAkogla8saL5xwOcZE60FByfBY5/UZmo7bYr+cr79LJrt2ux7g== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '13312' + x-ms-client-request-id: + - ad8ab858-d274-11e9-8292-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:17 GMT + ETag: + - '"0x8D7349891CB11B2"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:18 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '13312' + x-ms-blob-committed-block-count: + - '14' + x-ms-client-request-id: + - ad8ab858-d274-11e9-8292-001a7dda7113 + x-ms-content-crc64: + - ++RFron9mD4= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313e9-601e-002f-1d81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + HC9UlHJmFbzBvtVLyQuPtZJg4fG2VnrQDdePTTLfOAV9VlLen7eJwpRjvzp/D3TNhDrVPcUtBVct + cdthwEvwpZj7iqzyFxtFYuuOWFZhwrmdL01kC14W+BsFf/q0najBuBiF85OzGfm/az8aA9Tyawja + 4/wFSTQathsYpB/DxQOu6gfOGPeFKC36tbWzoTtl+5ibLOp0E8h1D7VnxPPD5dox7Hv7fF5nseO1 + pJZSaItRQREf3KEWclpGVWDlBCG6dvqCqJE0z6WM0Sgcwd3ISV8WQBmMwkkGk7SiU3DKXFc0bkc9 + faoxmizyx7XKvWdQkoAlO8485TyyIhSwURdY6b6IdGNLPu448j/C6ORnM69bbneQ87cQYF6rukAC + LRnp3FECr7BQHuJAdBjQGkYj+ZXjDGpUYO/O0DAJ5ROlp5h/uiNdXmfKqVZ332WXD4N7dBqvzqQk + 6ZAjK8gnNl95mcHxqvq+pDKgWnnf6sP92CRmdysTZpnPpF6wZmXfUdrFc9xD02bW6Jmxx8MM+Bwe + 6mOP0yeXCK0FBDjubs6U2GwlfyUb5noNvAgqyAqG3g8a+6UF+t47rZj3wxI8YZNGI3E2PogoEwXb + w9OHGhb5SOZ685NbugC6TF2bJEKLPPzHqcnoMyGXNTveyDdZlugwmCZ+GLfMOptX/Ft8+x3uWzrr + XjaaYZb4SZLwCIdz4e7tkDVnAObFTER6Oyb4TZ/OgFR3TAWe0f4FENEqAXs8DdxApYrSPiYjnozG + r80st3rdH/FZhsiXLEZIRapHHCPAQ9KbCzubORnNG2IHt0f2QQZoQatSupk51YIWBLe1W/tj6fkA + BV0iLGLvGOZ+k+Ts+3vXyZRPeh06cwvqhY2847nbhs/LYQoourk2P6JoGLS1Yd3EOIXRTBdPVQcS + aLMrdkOt5UsECOi1X843YdErZ+uwijejtlSxph4nNwr8kJs0c18vWvZKh8oEqQWPpeRo068Ueoq9 + EjOJFvUZQd1ii9QF+n/JA1suuD/n7n9wzlCGtGt6QZlOUuaiRpN72w8dDwvJDzmu0bgXOWmRbMpJ + 9ZapivsSFbimcv5Y3NuqIolOcqPVdhEWA4DIVMvPZVpcYfUjM0jCOTDnhjzJIF5NtZz58fHyypLA + RVeUDkn7rlnhVrjK96SwfLWkcj3l0mlFRk+oM7lZ/H6ajQiAUX6E27Dp+1QCtXewpQ3nNFWPwAkF + VN0GUlFDZpaaegiDi69bWkGRwCq55NUN+Gqvx05IfwufUuEIGwIvlf0PbviDzAt2NCZKE5jfTg15 + PU+wDbRAUFyRwA/vEXx6ZgdnjB326ij4kxAfowrTx4y90FIkoOMA3zKueHscPdcRKgIqcAKU0Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '14336' + x-ms-client-request-id: + - ada04740-d274-11e9-825c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:17 GMT + ETag: + - '"0x8D7349891DF859C"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:18 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '14336' + x-ms-blob-committed-block-count: + - '15' + x-ms-client-request-id: + - ada04740-d274-11e9-825c-001a7dda7113 + x-ms-content-crc64: + - hew8Q85U+1c= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313ec-601e-002f-2081-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 1upEWzXW7POATqLeHBLZywqszivJsgir3aJi4WrMCNGDzeM3SERhHk7xSG2LmALgFQnDEWmdZqkm + h544xna6vf6Wfu7lnUPRjJe8Sh+dedmuO7zqYnf7NNj8TRjE4V4/6JMd7CAH39K1gJWCOL91UQ9k + yHw4U4gjY6hnPORFXa6HgGBajWs16Rzo0752vF281kDX4tCKzon4dzexhTq/Vy9r4D7lg3IO3rh7 + noG0KZGjapHAYGvGOTnFwx78AkLRNLf8mE19dGLBt/vhxd6a7LPPEEk2ZimyYGq4HosWbxZGzidv + AhG6FErroo4C53blH+hoLz+05+Ks4ONI9NZ6849sMvul+MSOLaJhFw4GR6P4hOWPszInswZFmFQx + qenBKWIKgnFYFaQIkE3FcgQpRlXqiP5ejAxmLChykNAKo3PcMQUKxAtUJtTd7H0Uqzx/pr5QR2AV + HINWDBTWThy0Fh5NSfAZSVu7oMn5By18/BcKJMK4VdjQmNlrib71IxNwbQzCLsTP8wVBJvdGTFrD + z9fyC7IrcnWN37LPv8jIxQpsbZU7ZvTQGJh8KG65bRqQRQmusjDvKl7vIUnVXDKFhGPDILeLdLTd + ZCDgA+QRT0GVxEUKaoAMlvXcuHVqrSyWVxjXH6jdl9AvC9PRCcn7ZxUPkkIyXWlaOCsYESd5opb8 + v1fD1vdDsBa4n+V3iZgGxZrP4RmtYJCt1KxSqe6pqAtbnFU6GdHIpJWx1sTqqUfYB1XRuctFteze + r5g/w/KU/lXCk+8vKHHoYCZPKNdeA3BEUN1hqSGoqkcjj3nte8M65s5N00WLLwULW7RxpKPHeMZr + jM54W3OdpikT8hL25lzrRXj7IfbEwPikmTuS/i3PmPn6PXF9FTu1OuUJOA2REByOdPVhCPehPGpi + 9kqy0UzIRloH9yQe+1vnBDvWoP7DXdt9g4egjIm4rDNm3l67b8GjXFgy8oBlnqMGXLUc6m7szjzu + 22/8Qebs0ekq9lIFpm+uF9FJzzenhd/FFwsZF5+Rufgod6hP9vXALbZNPTYNVXh/KmHzQVoN0vuX + WBRoCzK0yhELIWNREue8K7mq16LW7bTMrIfaGyIRVnXKPuTdrYz2AnCEQPfkuzFDOBB6ODMqm4g+ + 1ioWR4FmWtQwE76iK5D3OiyjQdSjR4xhDvjSejRy/kyssxura2t98tvDINHrkf2uLd9YDO86XN9Y + xmkzblb2Mx3qr04c9BhxWeliWQTKV9iwMwxvSGxppRlXxMcaUB0wFjTq4r9m+ap+RwZbz7L4paPT + muxoy9cyOPyXDoUj17u1rw6u9ynI7UVt8f1jwHCtiruAbiW6m33KsU6jPDEc1RxeW9Dkul3WRg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '15360' + x-ms-client-request-id: + - adb4ccd2-d274-11e9-a4f1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:17 GMT + ETag: + - '"0x8D7349891F92746"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:18 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '15360' + x-ms-blob-committed-block-count: + - '16' + x-ms-client-request-id: + - adb4ccd2-d274-11e9-a4f1-001a7dda7113 + x-ms-content-crc64: + - dTa7sZq9Nbc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313ef-601e-002f-2281-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + +kdn5+r1gw8haapmXpeYkC3qFe/3CNwb1oBmxYLCqxVauqodajXzVULsTfbbUeCUxQ7jXccauw8E + u3sxXxMOX3mjg3Kj02MWsEH5sn2jaPM73k5tSDgtTclKW4jBt+JfiyaR2CpJxssW6Ys8zx25/hhE + 6fCedUUMacQqFXrFs171dUgKacYWlzS/cRi6ewy0vvIg5idPnrk0xOCJBojYfv0NS80mc1IOAYro + xtStj4zN0g1f9F+Z3kdD2QBczxDQgvng1bBhR3I9dIeESo+mfNrmjaGZLukhMfE86jDfKW+dc6yt + dXw4Uoir8xGL0WtpIbus/UAun4953xxjtsH3Xwrp8zEjMcdyu3a1emWGJpDb5YFus58MbMBVBmVY + gwRQm82spcXsred90r9uVmpagbpQGLuyKM/AQMMaR4xvAQyhqG0TLdPKKned+Vymdd8RKwLTl6rb + xQjay6q2qFq7Ba4kQA/GX3yQgSujs5Xy+7kXDBcP92jkggMQE/sdHQun0nju75usaJm9p1Ufe0gh + ihdlr1Eq++9RdqGWT+/MWDbVFHzB27N6XPNJreJHP+3gVF7xa6XKyEQUW956ZvsXfhEz84asK2g8 + cHQlHfZwm7v0L2r15lKcFjx2owpR6C+PN7vA8Uo3Jeicenz20rNv/Tpp1rz9NLUJCFJk7RV+R304 + H0Kn0DxgSZUVwKHsyaOAfAOpITwwGBoDKyd9doAH8Si9orlKT133QZxUNDJ9M3/ImMgYGOX0dE4O + uJ6pu+me40zMEhjV9Xbh0CVido9AM98IF7jR5c8LB25Eq3vFCAAKlZI0/GFbth1YfMJV+ceVcRXM + Nu7Lb4qvNkdsysfbQwnaKbPsTmkaFApWtrEE/KUUYcY67CE1zTVinmHiBytEyafaDXN5dMgpr+2N + LeHK3FrPJt93UWAEWdESldcHO/Km5J/7xKYfmsOX1UsKZdlu76JNDQUTa4AaEmUPBrLfpFok4WIR + MldtN31VNtlSChSzYge59YQMrhA9TLTtuH5+r533AbDWc5bFp7I4d5Zt1uMXmVdjn7IYXL3gEuCw + Nv3pylqnVqSktschvs+2ZknajRFrbDgG3g8a1MoBxSCFCaLGrlNql+2wzj5beeK2kz9ctL0YZNQk + jlRx+/LcGKlx/OcUr+khjq56rKDBG1nNBDIwONtQzp1fR7TlAZEOexkXGCvej164NavnvOgI6/lm + CesGWfUfgFcZ99UoOBBaPdUfJhTaoy/O5+JypBi+sbHTiLgt6zOvLxxAfXwDBTcdRNT0R0UtlutB + WI6M+MxuffNrZp3Lx4AlY9eh4wTAxR4sXj1Vl9w4GCtmVmI8OkjHsYrOf4Nztui3wiHbnr8Avw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '16384' + x-ms-client-request-id: + - adce322e-d274-11e9-ab5b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:17 GMT + ETag: + - '"0x8D73498920B753F"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:18 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '16384' + x-ms-blob-committed-block-count: + - '17' + x-ms-client-request-id: + - adce322e-d274-11e9-ab5b-001a7dda7113 + x-ms-content-crc64: + - Le27AISvqgE= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313f2-601e-002f-2581-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + onpSPw93mjNWSfbw1hz3M72Ilo19k7q7SExbF01AMm+DfQ8EL5NiUByVtgJI1mBkaeQ56PnIbt3g + 6II87+31kU97RMqaSwyg47ZnLt46gCpgCpjrLXJmnL8/Xtlj6SGQdpSkgEOqyR5oNNt8sMT01qD6 + BN7Rr5AomiAKoHlQfVUbuBLhqKSxvE4ELUP1JTPsgeRoIl1PSsW+caiLrPWz5ZVmtpKeobKSDJEE + J9PgikCSkrBI+wXjTWVth7WOTKmMKNfdz6scSKu3oPlZIS0M3RM4WHETzD2FS0la/dr3PhnRxQBK + PUFw52mutc3ARyJ2MHRokbrlA4nVtPkzIA+TB+/+WXCpuzmWoPVdEx66VyrU+rxjjKOksNuTl0H9 + iOf5hKiGhmIkAn6SrUoKSw+Uo++2tG1F7Maj4xMu+a2Uv8YEVjlj/N+c248LOe/ZPAZezWt0+ADU + vaNH2MeKJY4bEqU6Oxvdz0LsP8Ra5vBVVAMkptEjW95UcuhZn65TpcGK9IR6s+RWXB8Sswwlb3RQ + 7z3h1JkDdOqrufBguuSlHfFdXU+jIzAx9XuF1olxKceCOICjYZmOIKIivi+7sJyVag+MdiB5D2GS + ZPFZrFITuxOOywepesstqkVroVyY+R2pOwUnCXkhW8Zn6PXLEicWTWxHOvplViWkbRotP3A1Q4ft + VD61PiO/Js20/hn+2RJVsi+80iOHh3eD59lLFQ75tzAlFuCOZi8Baa4M2IEdkU4Tx7FDZARUdNYL + tjri8OQlfHW+FAGz1G69zodbyAZAjcZBn/uPrndOmPWkbw/NEihoSmOZvPAYWfqjnKNHJFcnlMka + L/b0XdhoPXTRryqw6WvmKisIvFoRYmsJkRSd32gjWLHINKeyOiYAcaAtdV/v8QZX+9ZC7aTg8/eI + Zz1L3+PyVrZIp6yGjtSFWETd/d6a/W3jQ6XVavmYgJ4ykajYnXJJz5xQSwUjF5Kk9i7ODhUJIVV9 + zErZMnBcVxr+KgRgITZcZZTnS2pJ0MqlS3fiK4LHE8/46ylfJnoXBpNGK5CWxigWmjyegrRv082u + iSU+UjPIFE95nSJAEL2mSAY/KrXoz9JOGUGc3RPmAaz1trBQ6WSd7kiowR0cj1hEyKpQv59Y9JPw + XPefm5GD1rBxqrYahuLT+U3ep5Fii1cEFwj47yTVglgGv6ok1Zhhr/3uW5mIcY35NuR1Vf6hIo01 + j6WiZGPn7+9XaRcilKQCFo6H9JrOW8GIvRdy4kP2jN5p0AeEzy5dLjvAZQ3sU/kHgFMl2Mkoy3li + fThlEYRrn0APsYuufA+HvEIDI9JbDz8l8dV8d5729DlxtKIxcJWJSKJ/VofdSg1wV1TeIWi77w== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '17408' + x-ms-client-request-id: + - ade063f0-d274-11e9-abfa-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:18 GMT + ETag: + - '"0x8D73498921CDA73"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:18 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '17408' + x-ms-blob-committed-block-count: + - '18' + x-ms-client-request-id: + - ade063f0-d274-11e9-abfa-001a7dda7113 + x-ms-content-crc64: + - CCb9TrE5L+M= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313f5-601e-002f-2781-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 9P73FbEs0urNWG9NNe/20d0ylMo6aJp1haShTfKpVsNjLuLewpy0RvqI2dFl4NkCIoAJT8X74xJu + pCtp78Q2XgLgz7b8ZkLaRirUY31wxhqPfJO0oDYfeT3KwVhUz2rhq4eeZSgFLSVXpZo5A2BZGaV+ + LiiCnQPYpa9RnotWDmAh0k2E17rUnEooDH1M/a7b0m4h/CJ748ylsMwqkLfkY3sOUeIhYPiJ4nsP + FYFt6TTcdN3OMNsOP31g3rPeN3x9Q9Og/n/xESKUt3/C4RQayiHCJixro0woY/fNBu36J1Q+6gzt + VXza25Nv025yDonQ4zxINVMedWSwKRHZr1G/SwFNxfIQ04PyZMy1XWLzUQAgiWbopE4PkgXtP14X + Fvt4+8WlPUwuSBe3sOQ1f+pqfLja31+zj/3yx+1vlRWyH2FWZIWnTieJxJmAC33sC5eYOUL0xPnn + vCXwrQ/t6yrhyEZINDFdqjJ3FSODSEC3k9r4WPX7mFDZs0RcGJ2O5s1U0cYO6+yaOFLqrQHR5IxZ + LA9+WolD6zbCiRGYiZrRyOgMPek8VEmYwucgNFRO01qOQjkyeZ6LXZGdZ2DA3Xi9tpwVOxNgCM0f + EpUrUBxZjnScYS2nGglwOsDpddOd3XOI9VjLLOGdwjvUdT6dVs44xW35mHK8uJBfzb7MRhCbgXnZ + YAaJchyLltJ4Uq9yxNGd0hMkg+EFfe2AnkhJ1bhNx/BhnBo+U2wTpMmtLU6Vt1vEJ9UgQdCITrNe + juuIOnYzuFOpHeFBLaFozXZBCImpYGZhiFzMZJAGdoTBDEEM+4P0VrqZm4MVJxBxcEDu6ZiZPB9z + 3T2AvQgEDqzpzxfRAvHkOC2HFZcLTToX/KOTD6H5U8rY9Q83DvoJCW8uUV6o31TAz3Eq9Uu98y9w + OACKVSw5+Qz4vpxNZcnPTPbyS96A2ol1AZbqVHewolDW4XaRgh7lj8NeswcRG0MOusYOG0UQ3h7e + XoNSeg8Dqxq5872dlimPwfB0vaMxDBGTLkmCvMQGUUxvsmqMlFNmU2WvKj7Se5RXjttGs4XqO0Df + yNE073rtKyFnaUDi3OR6QMF9XU2UF5Fin0tmQWRrySZpDObUGMTh3qvj/TyYLgB7uAg5ol3AfzCC + g9TAfpnbACDoO35DYj2tOTj25GQZi8fTMPMMSI8dSFZyTAeEXH4ippke4fcx4zYY/bGl6Zhd9yC4 + h09CQAkOM7quM9gaJ6kvJ0By2ADT6anrIBm9qayJ8NhkxR88UPl9N8iY19flO1m2kSYPQr41B1FX + 49ZTiXVMFLYpumUJYiv+/FDVm7zopdGeNFDpeoAj7+yYxH7FFvpI6WfMTKi+pdi5bNzqeFUBBw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '18432' + x-ms-client-request-id: + - adf1f9e6-d274-11e9-9976-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:18 GMT + ETag: + - '"0x8D734989238C6CD"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:18 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '18432' + x-ms-blob-committed-block-count: + - '19' + x-ms-client-request-id: + - adf1f9e6-d274-11e9-9976-001a7dda7113 + x-ms-content-crc64: + - 9UsZxq95Vp0= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313f8-601e-002f-2a81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + /jNAhHRiO3d+WiS5QI83l7jx7ENk9jX0TNp+YHL6KeS5FBwM8qeQoCWNwGb5dJqC28UuqI0enkBV + KMlkC12OKeUMNgMgv1zZR6asGs+D4aOefyV9EJWWFhgrQAu+IbRpMgX3CFEpDjNXg7FLMzDOmHof + xs85JwlF8kFjkCYFvK08l74Mxa3sjcJJs89LftJ5nawED72IaZBsFnAh1csEadQYwNSTcpdW9Ecr + h3bNxH8enE9PfgYeg210yvvc9BXxOAr8knPnMI2Cb6y4vLAcihGxm/VFPJAkIjPkIrXcNakbpJh7 + e/a02L59vHdkyFedNUUXLbB7BfFBblejkVizA87tCWMIwVkoBpsD+TH4FgWT4J99cjFHTclMAwek + KUBJhYohanilnWmVDcupbpBl4KltF6vTmAPcMCbWst2/qcC4Yc7F2BMIim8U0POLgl1PR/LGoimo + d41Npz9UCmQqT8FZXeVruy0G7xau5h/UdDnx3xJoth+GjOhDMWeCpAALsdeP/XQt9g4v6i5Z5rgJ + ZUeR4ccsxOAnMhBvqCk50tVgIEBrM/dynXwoUUcUjxGuH9jQCGyoZRGIK3FXCUG8AHcuxZ7iqOn3 + nfPZgTTlBNDIV/nAvAPKqEFNzwb9nw9LbXIpqt96g7z1LLTSaOlbFHQ66FomiUycMpg+1XM18m4V + 4pCt8sO98wCI2g60vCP+EZy2OZd0LLa/D2QtpjPMiCrL4BzGzQ7ry6MjNZlU7I45geccswtPwFl2 + F5xdMaeYjcMLN88hXnPncOpGzE4w4n3zV84dWPlLXPxSarRtbTzOOnvzRQTKX2+XhzkTE5EE7hw2 + dPNwIo5VM2VAQ9C0hkAGVFkc5um5j1Ijb1p4spR13uO6fEm7Ep/WlQZPBJ4AJabeCi81mrtGyD6c + EL3XMk0nzQoB6KAaTvcMcLBERk4UMeHOwllkXCPwE1d4U0z+iS958RqGuvSf/Lr90eGoazJkLcAe + L4RGpYK8c9iuvEIjC2bEWuKIM4v+2b9EtmWbUeu8r+ZMFcCz3K2AfIsvVz8WrhIOTg05W6FugDQh + 8CWRQzr5cGTTjOZTLu9lYIjeeL4wFdKJh/WP7X5OZU49yNfJl4Ulx5wi17BbjnliTxw0cJjvFhBM + w9+4Lu+2Us8SQ9Lbn0CixBqYBhnv7wGFiFvQID+TKXXJFRvEzR2LKbH7qLDyODUTzcpNEKookWdA + 8sg7e2zKYDEBdhu8ZCAtoOvQkfq0fardxtG74L71eEkQtgmSoY0ZRZyF7EY9qCnVczTQnPYZAO51 + U3YLgC38JAAYSY/EY5wjuacdMi16DOfqfh4fAAjClD3mUPuuWVmcStRJKY21w/yToIF5PTU80Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '19456' + x-ms-client-request-id: + - ae0e691e-d274-11e9-ad40-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:18 GMT + ETag: + - '"0x8D7349892515827"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:19 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '19456' + x-ms-blob-committed-block-count: + - '20' + x-ms-client-request-id: + - ae0e691e-d274-11e9-ad40-001a7dda7113 + x-ms-content-crc64: + - EN/ul3n3i8o= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e7313fe-601e-002f-2e81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + clUHuW9oRa+SHGHHzlZtHcM6AICVJWCoscrQdImuryQcGJiBmXeAPAsKIPs/LyywT+Y4ZFe5cM8p + KhUVbM31r14/nGnoxgR34OgXmzCAl0QhN6p8QhQlteYej7wIOtk11eXGW4j8Or83UF4ryenNoJW9 + ig9uJ9tVGighNJPcCdCQTaBEP7GJGxZDZ/bUSTTVQDoeN76t0QR6ZZe5SSLeN6txS+dQTlg4Z4Wm + wTaps5fT6dXw1TKNihQZM0l29KscAyFGRN+R/bkkj1MQiaYNHlssMWLkqDou6Xv8faI5EbzwZkUE + PylXw4bsDT9d+4QVULrFmX0XmkVwwcMgbNvke9vCjllr5FsnlOH6ryBfYyaaZYIz8Gco23petR1L + ourspL1arKfCMXoAZR+dEyEiRBGb6lX0taGKGhIOsF9vgD9hxCi/aawukhio5r3ew9TY4e9AvlML + OJWKS24PtNKA5lby6c1wsKw/cOUYi9tjixPVkbANczKwzqZwza1vq+AfZe1AcsBW6dGYbuWY+FgQ + nqEsnxFdFfxaWRdxCReWrtk1DPnTlk74u6g8Szs5ueyp+kxSfQI1oITR93VkKjSpPwrd5fZwI9Y3 + W00ogCTbjF1R21zrpCj0TWBX3igISQg+uCnMGDE3Isi5Ry74TQuReJHZccl3xU8Z/VvV+6Ml5/ai + MWS8C7qU9JKxUqvLMEc0BISs+6HYbosHzv7grMns8AywIdKEI6iAt1at20OsCQNfQJ2Sw4Gr4KGe + V3qx27YQQAmaTy8cqapfZTsiQ/jB9zZ0PV/61n41gFv7TiQZQHPQ7SjnW238EDtOms1zvOIvRYzb + zXL0TDwfz3UVdyUUdglKc/y5WC1KB7zcmn+xgH4BdkUfXJRAF80/Cig7sH40/I7qKnXB2vz64utp + 9a1Ac/1gzLhZyYI+RZ0K4da0dFgqXB3MUezR8cGxWkqdMV37PFaWQxxYep6fu1kZPAZObzSV6O/V + 4PjN+Qgk4r9eYzT2IGlXF24uRxp484clnQwLTMQvwRTvqh47c4IHrAyzjTQk/GJZ2Ma7seDz0vvH + uBlhzFHaUvCnXVhVImz05635bK+pu8ghZ8f+q7Vi9PY5SG4WtFumqZRNBtfcTGIHzHXTKhTH9XUS + b73aZItdVqlYkNI8qq1ZDyGwPqQajUY4U1tpfCdqVCUssx9HJ4wOTil59nF+UkKB1e2OXr805B+A + RR8GLesv0nSrwVAMdKpffi/MJysqgEVWGN7230Gen5ENvbsGxeR68ypO0NlRv99AqDi4ZKiY6HGt + HcEzfCGClRdD81GSyKtNWInWctxyiG63VtyzZFWsA2cb7bLkCjY4YfA6tUm594XuF8mRDmscfQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '20480' + x-ms-client-request-id: + - ae266c1c-d274-11e9-9f26-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:18 GMT + ETag: + - '"0x8D7349892650717"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:19 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '20480' + x-ms-blob-committed-block-count: + - '21' + x-ms-client-request-id: + - ae266c1c-d274-11e9-9f26-001a7dda7113 + x-ms-content-crc64: + - 0GthRC2eKAg= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731403-601e-002f-3381-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + zVV5O9fpzje3IBd3MK3HGOYRMO1+RRPUZFBSuIF1YcgD9mnHSQUfMcrduDldAFsZ37C+YZTJkrpk + 7e3IrLxUYmjRfixKaPjX4eG2oS7Lqhw66vOAwnCFxL26vweneCTNZBd27SFS6Mh5s6UrXGIIUa9B + f+YsrG45EwlPsYErtnPytgsTL7jEGwYQ6W1XFJR6UUBV4fQjRWx1mxTU/paUeJ4hh/qzPLG41drr + 4lJkZK7uqRzqMYd4xsz6q4RKHHS2ShbskDPRBUnws6kXa20AQjqGQgbexIwyAYKHU7FLaZeaheRM + 1idw6VpoUrAhVY5lzNQSR3/LdMsDA9VwfObot5uAcgsV4Wfuy0umeFoPmPfi3aGX4Oqo6y2gZ8rQ + CN4728y/pm+ESw/cGujZU2FYYvteFvcvrRpeYhRYbxh3Tw23pCoXXwhYAa8pGgVQaDOffuujufsT + pdEkKnVSQvmMWSbxXebwtUNP5Uw/ss9d/MN6npBmCcGhBB+lfrhC8I1vRiS6eC9mvVxFlimD5PkA + pzTnWWGrgy1Wgajx0jh7Oz2rA3f26nm/tKrn1AkdRV8pQoOpAp7J+ETQ+mb6Y3QbcAszUZyHE9Nz + bjRtNf6XrTEmabrvVWn2Pks8uhAaezaSZryHE+SC+s0vk0UqlRqdz0lWny1XtMFcFjxxs2v89u3E + zVNmicru5aXHOwvpZQRPLvOnYhDaY9ZgZaOH0pRma6xJGU19sQliTPyRbTgvxRBjre3vIFRSh8m0 + 3GUc/eueNu21ldyy4tBotm/1XNRJcO21EtJOfmYqFkb39aNjc/cD+9klb37dRzgF3Q/xO/OBSwdE + Di8zXxhvzh1o6s1H8ejBkWXN2PXjz9Yl1ckk7YEYMY/akyo7RSinSfHPMgvx0/TprQGUnWZCqJ9M + GUK2zKii+ic5IlOPgqj8KKTu6YTObEnynysmAGIiQOnnTJA5xU2NmMfJ3KIu+RZsw5h3StOoPKAH + J6sMa84iS+BJfaJ/Hc0p4hUeoS6dSZ5ZetyJji8BHAEql+gLLRZ5MaOx5aQ/dAvNxMDHc/lbfiUo + Uw/KdBQrg3VL1hwr1XPE8+27QAbPun7YImk9hDP9lxt38qrdNLp7eHxAZVOSYX0KHpKth3jkknQm + ig57QhRUbLLEq5vyNZy7mrkzGA8oBkfMwR0rUfZ9iMfgL93b6ruGFUCPLJCpm/lyO+SB4aZ/AK3c + DPUtOaHFzaWh0zwYIbLH+ckDg1dIeFhmExwqLZG6Fn6p3K75v5e0W457pu5MS55vVzVGOcZoNdl1 + hGwTLEh3d4WjLbCK38I4S4SdPT1HNWZarxD9zJO081hdHrX2SN9MS6Yh8Z6GPwt/RIRA6WUWoQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '21504' + x-ms-client-request-id: + - ae3a8974-d274-11e9-9ffe-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:18 GMT + ETag: + - '"0x8D73498927CFBF7"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:19 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '21504' + x-ms-blob-committed-block-count: + - '22' + x-ms-client-request-id: + - ae3a8974-d274-11e9-9ffe-001a7dda7113 + x-ms-content-crc64: + - jlY45/4BtUk= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731408-601e-002f-3881-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + P5iw/N1QpHV+3iL6OnjcvnKPZ8syMXDGEU/PNGXcvUlO/dRIm6o7NrrtRbMVzGV0lrza23iE5mJl + sPAt73CPZTJEuHAWg75YMk/elRmUJUmj6Qh0lrlQ6+Up2CDxz46LLg3sO3qlEkxIUUrcjC5003/p + hdPAjP1ia00P9kuDqGgAtGGVIXQ2rY5OMLdMcFALa9Btfmuykz5AEAJumZrP0Zw+86QURhI1epU5 + 66NMMFMKHuxVxS4sRBb0AYBSRgR+Nb80lqVSaF+wBPvtN7yQRNNzlalIIAiy1YsrzxeLkVAzc3oa + h15zQ4VwNgsdsNmuoBrjfQCGs5Gu6dVb4lo4Gj4WI/gysAC6BgMUOq7aWRuW7JuwmmenLSX+9gIA + +IcPcWOmP9Y03PO3UklbGb5hja5CEaDWbTLfWvI2r7p8jYzIdDR6ldQF05FbeGGtHR9fDMh4CSgX + T5S5SfUxiLGd2aF9ZOZB9jlPI/YlIpsi8FjNtJZgWlSvktLVqR/VlqgCCeUPg08iJ6ZGFptQZ/o+ + Efc+kFHrGUn8AGuag1AT+UwTDQh0sfxVdPhga/fk+MjNOqAHXzA6PcOgRa+/Eata7Lmx/pGfIoBt + 6XE9FkI3/YtSjSoqXdKXwSf+q1CIs8qHmOwWOmusW66Z2dpsCI0zM2tQ/k4HZtsEisqVGpUPLdpS + /WS9BrteanqeWhOBpmoj42x1eWYFTpjQmctF8y0rH7CjhhJBvRQwM6hT8ZIIsxxlHbPcCA+H0Vj4 + qKOXZrrmnQcDqFQvmPpXpf4IirUaPfi3o907DPJ3kx5fEn6bx7ok18bRXNeRbJT7b1Q38qcTkqpu + sdGiB0c8aXseAfgVHdku5U5la/Nw0QLTvYTbY0F1jePfvzY+z6fHVdT++Q84q3Djl1sHidbcJiJU + /msFukKPfCpaK/J8xMwA/EXY03IKJCOFlwVnDAIEB9K4WK8U2dsnqFVTlSe/L4Rftwyqq6KsNLJ/ + brlnYp7+yUMmz5h80Ba4DLt64F2ZGDQoNHC/Rr3gm4zYENO2ftaPdNoRZr4ADrz5Y0AX5AUsXQ/I + agBcdCHjxfiP3LkUtM05o35cRjBYFHaj4ne1OMlI+RlFKPyKG3twQ2tSpxgbVSwXZfkfRdvd9KJr + fGJu1Lwq93eVyV9UFrMWNL3br0pLzdDxUpTwIsDHdoS8PfbGgHy8uo4ewkSL3iRUf0rBkdyfvUwe + AKCRrDDRmjVSa8jZpsSrr1pbTOX1BenxyzptsPBO1g2hbsCb/tPZJFlqhWw229uMPkLDcCfw9Va8 + H4nPrCdePNKvwAd3U6axam6ruMVDBMiwAv2Lgh/T/Qfonlk7VYGrfnNcLxbavHAkBqPK630Xjg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '22528' + x-ms-client-request-id: + - ae520310-d274-11e9-a67d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:18 GMT + ETag: + - '"0x8D73498928ED664"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:19 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '22528' + x-ms-blob-committed-block-count: + - '23' + x-ms-client-request-id: + - ae520310-d274-11e9-a67d-001a7dda7113 + x-ms-content-crc64: + - qa997NBlbsU= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73140c-601e-002f-3c81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + ipoVVi6JLFlhU/vIu73JJCMtkTeoyDikasHJKh64I3QrKmM325ZiD9mD4s+XudntaTzpEQaJZsap + Qgq2Lqlw3uCdyRkchN4W0Aqwn719yhWNyGAkrh+psUFGoMyWp6iGBAjzn9BsgETaxY+Pxa8338bE + cTAavQRjXsA4k1LMowi+ZaSLZ3GC8w2ylNI84Yq6YhfS39akEgdZGm5zDWo0cTOo3eTYcHHIMTTQ + HMP+n7rTAdU8kSAbIB57AODhWxCZ1mHPBhjFqm41RFGo43B0FQ+IbqkQ6d7v3nKUtvQFk6KX0H01 + KnI0n4K0OyYcEyDleJAB9BvHFDKOO9HU4O2MF2NHF5OmyYMXkbrYpycHNp/Ve/P44znaauzynoNb + Pcz0dJLWHwpcJSSJIr92mitLSWN4d1UZLV8p+Y2swUCXys9wm5O+jIeJucHgM6VvoYt/fvg1018K + 4vHcYEJIyBVSXsxWbNrQFAaZ2dZqGCNFqTH0bpzvx8uarLcL6Njw9YQyky9hsJ0qgfJrNeJuC47j + 2mTxqPtCXBp4HPPTQtlxRADGuchWJxe5L6dqDYzOsEdJRyaZ/PmtuvakXfuJrh1qQEGwcLFvD7db + qbij6rq5gWn7mnO/jidGZmhiM1+8Ns1hyeUZpun2a4Y9mUinN9C1cg3X9j2whHig4cQnHLIWFUh1 + vODT3qbAc5xqEFIIMu1vhiv16JMu1mRQyHU4r/G1kbBw4H9gciVIeRcI2GN9EmlQdubyjjL2eCSS + mwvaVoMFHFbWUQd7iLKcKYRZ/XcIVz4/YcvFPU/tU8wLGlgrEmcoatywSYmUCRujVmGqByb8Pk8u + oOHT+rEHyc6dFzHO0Rzuo4HWK+4gn5H3EX+18XKie5et/M5FjCPh/q2CsXh0pbctoucnYdpk9IoU + j67nyyebrDY5Y8JCK/fdm7oOhFiJREtUnWjhUEkeI+lMqwL00XGf2WWKmprWVyVDFF4W+wpfoSZJ + TIQ/YDyTe5fbG5QpZYb3h9h27nrKyjoJfK4iPxYc1r714tnIg3ZyrktNAfVmCRhB6E5/CfgVODDQ + yCbYQ/37tY+CghIlvTsgzXY50NnVsIpp90q44cnTBIO3uFx8MBFe/HSjRZHP2X8RFNVPkZQJKEZ8 + w5qWA8uQRSDVHVmXMndrBBmFzYizifybYD5CLYSF22robkfVPn1eyu6CwtZUhy2CnsD7Dk8+aLsb + e2+YZdt2p6fHUCuAf6BS7eHY8eJ4eBTkCj+NEUNzD+/sTEAAlhkxIidgQF+99mmoQ8ytgxVOpQTi + vWzXj/wVfHQIVSLXeAj4FP3CM1bh9VLWb9ZylGHfx9jXIloBs+M9YF3HHQoOD0zhcxYM4NaJYg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '23552' + x-ms-client-request-id: + - ae63bf52-d274-11e9-8f1f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:18 GMT + ETag: + - '"0x8D7349892A03BCB"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:19 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '23552' + x-ms-blob-committed-block-count: + - '24' + x-ms-client-request-id: + - ae63bf52-d274-11e9-8f1f-001a7dda7113 + x-ms-content-crc64: + - f38VEqPyM6Y= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731411-601e-002f-4181-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 1qbFfLLsX7fpR5JaYF50VdNUfN1meXrH3r9RDWuWJGU1TCEkjLCtUndLhE8QIxWLQwO9U00QI4k2 + ZCNg9q37hJO6+fT+EwW3Ec7872DZn3uuaHZ7mJx2g/B5vlbl+ran8jzb5IHMVWFJc99iNBw3h58V + 8y52r2Is/DrFUs074Y19cGUToXs7uUHc7mexflVOLNN6WHQWhZ/5zalA1H2pBo8EqPgSIai9VWMK + qeRRusuaraDgvCCTJhW9ix5IsmMZKoThQZKRjbhwjRneOIcsI5m4et58qttMPypVg/Uv62tPlVvf + /hOnMVmvIDYqXaypolLU4tDeuJUlK9e1A7X9zMppx/Z/qX764sDVb8iLAKc08KiIr6xyT2j+7JJb + 77pLI4UXpBiv9YeYbu+0n46N5JJGAH5OzVB0g2zH2Ja5EqULF9+XO6cyWgzr2NOcRMZ5Txds5goX + lBlhdsW5dIk0SxszhQHUBxFs3+9JmftoeTT2sLTqzamXc7WlEvsc+zIoVTA2GfBoy00iAPVt+HaE + OMGOyWrIqnO+C1gn5WqpHQBOG6okETzvxyC4jXHptPUYAkPuxUWIRNiJMxkTZNO+I7LOq5CncbTF + C+RhQb+JRPeGLL4cn7faFC+0O+bQliFniM0ksiKjxTewPYtwqWTNtuuxWC91HajAoypzU1mLxZ1f + ve5esFpFiF3uyxJQCSuHnp6KxihRk/WZBYni0dGe0TxnFInOcw1V0btSI0TUsLPLPOcDPzH3t79i + VPste+9Dk70sfQVcd9Ss7GdBIIm/pgitJGvvLG2CPVomNvSeVSITu+on+zndrJDNMVfSMimM5EiZ + EapnVgLBaoxM1EsRSqhRvXDwJ50Wa6QkACTsZG7bNTTplmHMJPxnrdgRNqUMdnbfgzvobeAXmHVr + 2gSHNAV62XV6WSMIAJ/OFD+JSPlzkicWI8O7gWdM2lEpuKaPpwKjxGj8NhXLIoalKKknKtMK8mPK + 1mJSraac+LH4zdPHPpf8UH+BCS4K7hwr1fNFPqJGXdOb6mcc+ytLfE8VbZhb4R4NUeVN9inUssGO + ihQ7vCe3MndWGrvRpUO8xOxIr2Om7/fSnj2MV/JgCn+2XGE5wLstjwOWpwdAPJSJEF7smXFYgW9U + +dCZz+cobu9jJsQxDZygdBbZbWruFBYFFu1haC4KSdrDVKzGP6ZfNkoDf0zwR+0g2oXBFPAxtnH2 + 2BZfFdxnHMBrHYeU6MGwfx3gqO03Pwy5Y1cbkutkC5HmaXMsipJrmwtf/pwwf+ZTPPkFk3FBHCpg + soVWGJoOzPk4jM5rmX64igDLx/EMTgVNzdCrEpd0OXOFUAjUvlZnQ2c14vqG2l+Yldl8REJkZQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '24576' + x-ms-client-request-id: + - ae7524d4-d274-11e9-9fa9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:18 GMT + ETag: + - '"0x8D7349892B17A37"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:19 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '24576' + x-ms-blob-committed-block-count: + - '25' + x-ms-client-request-id: + - ae7524d4-d274-11e9-9fa9-001a7dda7113 + x-ms-content-crc64: + - ud9F/MVw9yo= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731414-601e-002f-4481-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + vRDIuclvIlgHPePkRdniSw0jS0DPhUNf1IoB9IJcE5B2RAReGKvaIRzwpy24CnqAVggqkzxSWUK4 + E9FYT2C8J0eStdFk8Y47ZWSAqU3hkF5hksdOOxTwYhqgti5Xt3eQrAjJX1748QsK5o6Usn2qHsRm + P91aN1pKTok2ro98VT+iOR4sJ07ApRHIqzh9G2glydhNFlm8ogU26j0sHMouPubZ31YpTWnXhaAD + MkbsXWKBUNTJlWZsyJu/HGduHnq6HqqrtJY72TE2smblo6DF9cYFkaNgsPwbxq2cHSaFJOSZ79i2 + xeACrOLq4DC6wwEGv8rLPpK0oDQSv5+bwcxLo89aAyHdjTBB8Jjyq/txysZSwuKvwQuDcTAGoLhI + t23orQdk1iel1UwsRD5CXDNDYHqgyHt6etxjC9IuqOC+evaJGaQ4yOtTQaVc6hvD5XLsVsBxl/Rc + y9YSxw1Srcsbc5Mh/WAye13UId6imaoSINJr89BOB092bGP9iyFCfWLBoarDiU62DV8C/Mbuj2FN + FVNw6Zi7ey5pan1cVImaWV9qfrzPcjNNGD2TCJkzfJVs7OpQd3+u/T8xY9avDm8A7CSaeb61eSAd + HXUQ4WfZXn0q6UglSCT7XD+YbITRGQAs2HThDy0qtUI1YY0DZbqP61LTgFfUqHbOlu+BXT4SFHh3 + llFuMgVZ1NU/GNrvgANgSvuq1ToMr1JISGyUZPIcc961sIp5b15OL/U0MjJVLbECBA2HOtYRiHjf + AofvnVi8AGLj26nKCaEVSomYV1LdL47b+1jBnG+er54yXhEwECfjG1nc/byHNW9rBk6evzFkBig7 + 1+bwSivGmg+Ab2w0pvQnDW8qQSbZDCWkQh61T6RZzcEZW034bJVYxXdO64ZJaikFgKEBbkceNgvO + EczFV/SAnBKZJEpmzC7qKLeZh5R36s+jepGjv/hS08Iz5WgX++Q8NJR2XisF7DvV3gZCPhJgYKmx + dGFJw+7UP3kJR/T6ZsrMFbjEMW2K0VvccjK2Rdz9bpWyUB/mQlDfT0wXv/URyOL4i4ffqfHaX+3r + nrNxrUWhbF8VwmBrRoUGEW3SIfB5LheTDpfXchfpxQ+NeW34IMcQHGs0RxXLGVlDJNgWm5R2Wn+i + MqSNZ3Efh/rtsjZ4LGW5oho471SX73XUSEJSE4yYMQf1DojGlmvUezqbDMGwWdcIxSatzJJtEoBs + 0aHS/jemBq0gVUW4c08ynyOGcrMbIyIGKrSTBvXEiatm0zz4Yx6ZDjJehoiCmn5qBC/KT8RzVKpK + h1RN+t0JV0k4YGdmXsHtfLLJYxXdATRwzoJ0dVaeazlzAywcoylriRYRX4/PE2xEkZZqbUv7qw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '25600' + x-ms-client-request-id: + - ae869dd2-d274-11e9-9c61-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:19 GMT + ETag: + - '"0x8D7349892C8AB7A"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:19 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '25600' + x-ms-blob-committed-block-count: + - '26' + x-ms-client-request-id: + - ae869dd2-d274-11e9-9c61-001a7dda7113 + x-ms-content-crc64: + - 3ME3H+R08uI= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731416-601e-002f-4681-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + aiqueVvjqQq4gVgkTbaqVFFF1o6vyQuhzYQO44zpTyGzr0HGY4SX61OHVEwZXm1hv8sIOufanmQZ + eNCBDxvux5xcrg1BYseIcqjrRGJJab7Nvs8ucgLBF4FJNsClf+lVWhTL1lNw1n0iG8D+5ST8Nei2 + hTI3s0bkUopyNe6FX2t8RpqvWUbGoo9nLuCEVnQdva+uAzbfzP0KZR0XJpjlF6N03hdikaRSvo+C + jQ1SSPhDAhXHYTsmHaloEb8jwalgrCXQuLWCzIMrRT2eJJEXYxGbZyKYwdwllm7U0FbI38oxulhg + Siedc8/mKvxa4kvfRCgx9chUqDX4N98Thg0O5kqUUXfe5s4PWThNf8CqBMR7S7+RuoRA5EeIvNJD + ZysxDDmOM9QDFvIkxeP+oz0jgY0h1oK+aIMpZCU3D/CpwmuaIVx6xcvYV3gTtOC+OOivobDKdElG + XHL1CoxYuafruYZwZHn5Mvo9KmothbRe3zxUOzndMfPs5aebxLZ2ROy6tanvFo0fqSIPZvWqCjr3 + 4ntIkj0DgokgKRa4In4OmVC9kivYijhpIgcXgcyml7v+N4bpwrsUeDgBBiFjTB8BcWcBxe4xJN+R + RDL11uLwS01J4VRkbmPEoJKjTSydRUpHVTj60G4exgUa5NpcMwHd+kyUCJgGsstJtj0tvaFCkLlx + r1AVIfEjxyTxnotXyq3XMWV7Nj0eFLjwOejSc6NrFeglelc/SnltxRy4jzBYzTfswxGzyIztYWyj + xrjB1h7cq/4uk65oXjybFtMzf17ZNY5T3vVhZhesX1ivUk3rIDfplHY5DQfUZb9uDE6N5nw7EZFU + 6HY5bkXKhe6H4eMvi3hoboNUvH174mHqqlNjRP2FFka9kYt1jEDC0lo1y+POpGsNAc0+3XpIt+6C + sb5yqz3aNt2qxkOvn0/JJTn2u/aMriuOyP7qFu2jj5J/aNuiqT1WaZlkojzr4gKVIWjK7OKSOwUr + zeQRvOgWrCAmfFwpzjup1wnJe62e21Ls0Qiel1kzFaXCeZ8x52MPYjODntAgdegPeKwNlXU7XLwA + S7bKiC40dfn6E61y5EWiAjd6l2xTGGs5v9kjzZM//QFys8bpF+vMwmsmYWRbpHykFLz7NE06RcY/ + x73sITYwmPFxsctcc0V8tEu6WdgZqv0QFtEsR2z5D4pHfsF+uUoOJ5/G7yle7xA/bO/nEoqZGSOZ + i6rVxAdfg4X5LKY0P/bMAQ/uH/tXA7A+9JJJYJLNRoRwv/q2d0igWsUIQhTr1DM0ek5WoKIAfXB5 + Oan+vjITR5wVFI2aHWil0p3N3WnDTEY2rbqKKz60htIWA4dSDWYLVC9NeEAGM5Mg7VY0ZM8kBw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '26624' + x-ms-client-request-id: + - ae9dab88-d274-11e9-a928-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:19 GMT + ETag: + - '"0x8D7349892DC8179"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:19 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '26624' + x-ms-blob-committed-block-count: + - '27' + x-ms-client-request-id: + - ae9dab88-d274-11e9-a928-001a7dda7113 + x-ms-content-crc64: + - fh2h8xtBP64= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731419-601e-002f-4981-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + ODcUiJKpU4ivCVL2mNuFmXfmF1pApM7mIHpBoyAihxM0uYCu3nXwaH1RB0JUZANZ2uKEbr2/Kdwe + l94j6nX1EL40M154JR83ntEpwmAuOHCZ7p1nZZqCn0hh1pqEQsqX56ZJMc8wZofjm3XJg/KC30wB + ZEVfaRA2V79qilhSk/NnQIvvWp1Ibzd6C0w4L9TBlWL023AUHFZvXxwZQfUKYWaP1taxev2vN+3h + /OF+pwPlv956alEbcTdLJ4/t+z1Jd351BOYKVFuw3NInFHjTOx3sqDgopokQAXPlZrzJQ9bI0sPh + B0U6ipemTpcbmZWhwYIAsGg36FBsxasElcmT53HIq1cjw4H1oNpZJSVhdu1X/rzMTstUVez+TX7l + EKvMeIg3CHuHzzhNDbxF3nNnzfKWfTFQPnCX6y4e4Odi73q1oBt0SydY3VpcPcJ25mjoDoA5DTSe + V3xEAzUqAi9y7mtL6wJSSGN2yZrzY5WdhfFHd/LIUXYHcVr8ux4PEudtyc60YI1lRMm0gYNZuUDl + K8IxhGVaLKr2RTh/ckBcmOwU0BWOEbljamz0zt/BvJ4TGwEkmonJnWlZKET6iK594rKsyhoEwX+l + ChZZRPvpVucUy8Q9+1RnXG26MWtTUjWiWVtkAa4Xz531a3FnjJ5zjlRq3ypDXYv11HNbm/ZGCgJz + CZUJHJA9T0KSLiXd42urztOWyUZpLrHdHIPRjREBRO2vJypLaik+jI2Ai3Am2KLxlW2OCoD6D1F5 + ryMkW02eSzep2lPiIkewurUqGyZdBaKb8Fa1XCHsyqQXtgNL3eLxkdJyN+/DdS0M52tFoqZs8r4z + cZYsm6NA+KXZJgUzK5j39GGZjVCzNffDbF/110gFj1fZzNOLd3QadFOG+DzY2ygz4ai2QLMGiMeM + SA6icuh4+pNyH30O74ROqRvD5ZPd5auPKAA/RtjV+N2FcVhdyERaMIP281rCGBQAZjfKSYmiWAAg + ort8216uowpnlAuhjwDo5RxTCmvu41k2XtWulQLXbKqPA3sG0+W9bEDfw4COm/BNk51DTLv1i2tn + jim7qeI9M6TANfelRVgZwl3JyhwkWQv8OH5MYa1os7mbu9neUULy4NvRacDjsfqVaPuCFrnkgkUS + p2Ml2aLocpTPMwfQKXpE6zEpLO5GsAdNPDU+kLI5FfYPac3eNtvheOtbHKiNTxDapnIGQOxN5292 + rjQK/sF7ujbD/bS8JpVKtRfoGWXqx6RrnQsb5x7erSCIoaS53W69VdM7LT0UBpWoRKDsI/Tt2Tqy + TO2ekSM7+WSE6HaOpmkqd+cKlEqFmO3lRqp2yUAr8Da9sAo4uOUQQR0+k3/7pmK7/Gmd00Jn3w== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '27648' + x-ms-client-request-id: + - aeb13218-d274-11e9-adc8-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:19 GMT + ETag: + - '"0x8D7349892EDC182"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:20 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '27648' + x-ms-blob-committed-block-count: + - '28' + x-ms-client-request-id: + - aeb13218-d274-11e9-adc8-001a7dda7113 + x-ms-content-crc64: + - EvlRVNrN8Ag= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73141b-601e-002f-4b81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 8u9SbQ+RvKwnR2wpT8UHVstMucshDReAWZa8Gpdwtirb3Jf9S4fzC9dt/XAb0ue7xSq5/bWEiJk+ + Pt/+1gl9gRypYQLEXoJXyc6xUHe8uVaCh0d+EJsrnI4SAk9ZeKg/xP2GDn/mm/JQvdjImjgFIMMO + bQar+c824CVJ+UaesaI4udENOQ0CdIT6kiPrmiJNodKBz8clnj12xuHmXtESPhmeNUaXRaobBdLp + mpgOwydwrjSYG6w4P/W3kkNuhCBgQgjitpTpoFdH11DYb6tTi2LfjXwdvsbDy9CkWl4Fqft8kO8b + 7KRiKWHrSsQpIFNdxa2c7iyyMt2XQZCnSeN2xXrg1d7zmwXDSKVvr6f1EfsEXBYpFDaJqdatAoCC + 89r3nYnHOMcT8qS1EmOg/p2F80EDYyv0HgnkKoC5oHQZsRMF8fXrMLysHfSL3gTbgxJyRTlOfNt0 + oEw0mJmd6XX42fG5FOuorp8GlOwy/iv6f/rb5oSuOHWM5ysP7W2xoSVdop4rmYGJIS6g+22A+d+H + 5w56XuKN7BGLXcIQYqcZoO2LzIbDDn7A3cVGk0tfTlyC9XTkwC+HzEzNV4f0k3Z3v+siSWjEw4/k + D3Wy/J5nmyuK34P14sQWBTeVI8V/AG4SquXnQ+ojnXpMJIYlkyrboLfbEiHgr2BNOI1IPYm7eY2B + kVz77cUWzQl7AtjKCH09GAIp/tDNRh1Y/O/rDPvxleyRmPlMTC4GlY7Ot1547nlhXos1oiKh7xdX + SoO7iBbyqTfj8jxapYHbuzhKQSK/5ibn5X18h7cPlXrJjuo1WBssfx4DjP3gO8LupUv1M9AD/HB7 + lGufkVtd0cUMh+ChCfgELoOn7O2H9fWRm5bWTOFEgdO3Azs+w9CegWaq+bf5l4dN05WoRZRAAzeB + EE4ryu3A13Qg9GDp+5XYjLUeTrEDP26+yhwsUSsjSJZO3elWolslKJzZvjCj3OjHzyRsfSvW/jVQ + pNpgsGrXgwbzKBigmliOuQKVpG/cuDYO4ftTlgK1+IoObpZlLNsw84ufZ5iPH+Paks5Uf3AIU6NG + 8wqxKq5uzITdZ4PaVvTQyi2gK2RvyPMYEKyOygvTkh8XbpPMhco7nNgwLVaDzZqQ8Zv4Ttrckl98 + 9VN1QDNG5PGLWqY2Jz5wXRVBchGIP7mhXPWK7ySH/teg0qfzFgSi8BYoS7lGTaJnCzaHz7pIW9Et + AklMaCgRzrvD86mro/RbOmW0EncoX1bddCTqkRU4k6/VTjnHtCBONg3nJxnMbfBxZ3DmWQpoQ+AC + 4ZsdM4+pFcW5eQpsRPrLqtxY/FeFPU4zk5aCZ+3b1xDUJpgEWVcELzjWeiDGRG0bxD6Yw7ljwQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '28672' + x-ms-client-request-id: + - aec28ce6-d274-11e9-afb0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:19 GMT + ETag: + - '"0x8D7349893054116"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:20 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '28672' + x-ms-blob-committed-block-count: + - '29' + x-ms-client-request-id: + - aec28ce6-d274-11e9-afb0-001a7dda7113 + x-ms-content-crc64: + - 1BrRVVpa5OU= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73141f-601e-002f-4f81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 0qLGN4KwpSbrqHAbKpqzeDc6kshforB+xVr3IoY6vRUv5Ier82JmD+0HDgKBvEkF6OVEpvJ8U7aA + cc6/aja+agWIwyFWr73fhs16CircyVf9EReRB6fp27ovkkNW6X8H1jpOBthsWdnFedwrg81kNWw7 + IxXNOSWKwiLUOuoqHjyK/exsmPWyArSuEGfVF1NE2q7OTcGnHwS10fzSjoFAiyPO8xeYgqUMmb7t + JoQDhjeEaTVa3HW5ePVwa3MtCirX+CCsyhRT9Yu1NK/2cStoRJJ/6u1VwWSpuqqCdj5ci1hkFr6S + nra2k4Rhb609dHSho4Q/1kyCePZGIMN1qy6ZaO8j6b7JovmUSf7VW/hI1DXM3rwSloN+F9YLcmdu + sS2AuMeEuOagt9VzIiLBl2z8KRO0LauXdJpz3SWCNTGFRKDorGYwdXecZCObnNei7ZCAIbLBNJRA + sKaLzTWtwcdsFg0PXqdUJ0xm316ej7iuJhsovUzdb0NVMpyzaIgoxk0PnaighYP44HXr1iJQm9U0 + I6rfNlERo+iCJtygk8asvQhf0stESFyONXsCZlVeArEhV5DSj9kzgtw7laqL3HfyW24JXIFo3ey3 + E9fa7OiL7qWM2n4aHzi1diZqSMrgGJhIH41Jw+HE5E9IzxVYcJfDnzLguH/TqhoXN6BF92MFzmi4 + EvD3nNVQRePVHR/XmKizCzw7S2i5DxWCik/Cvg1AQ6yUDWyx/YKr9o+5GQAAKUlLyNTuE9dN+tz+ + PiuzGi4IMDkUQ0jYuMS5TG2sSuPY3AKVZW8dyx5IyzYe8ucHgNVyKd8t4ydr5UPRuPLjoGVVpT7H + BRyWROsLPZYB3MFTbNvToV/Mol/9vMFQP6kelB8LzxdfNiRLukJPVbzx2P0L/Mejvj/2WY1w32Qk + UWbusK5wub9EZRmwrKg31R+Z1rQVhXShlwMcSR7yd24rgHDkCbbohjzuvgq3vk8I0WE9RBPeKW4E + 2W4LFPxokgXVkidnq3oM+wImDA831xTFTrbzz8BnJlwSvW/sK1IO/VFi5ue/WXf6NXYG5utDybpZ + JIzKG3k45erj+bckKJTMwhuoDaWYMZG9XN0Nw5MJe9IXwvHBjxy53CkIR6mgbIipH+emuKJKuF8k + +wUfCg6dWzgy8KiwkkaHyWlGf9qJULChNKJNTw1SBuXzfeKnZbneji58biCs6JtKHOmKl6JiR4Db + +Lefd026ufBpbZw9GxTQPkUr0wpSscBQpw1nLcBowKePGdaA0TX++bVrTMKykSoHgaScNcd7lIIE + KRU6YpoTO2p2VeZuqm5MLuM2VHuR6rIMCdMgYLyExDDoaV8U1Ibsog8d2LJpmgTpT3PV2xrM/Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '29696' + x-ms-client-request-id: + - aeda178c-d274-11e9-96f5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:19 GMT + ETag: + - '"0x8D734989316CE34"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:20 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '29696' + x-ms-blob-committed-block-count: + - '30' + x-ms-client-request-id: + - aeda178c-d274-11e9-96f5-001a7dda7113 + x-ms-content-crc64: + - kaGu+40jtTA= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731422-601e-002f-5281-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + ETzqkZJ/dzNXV4UIep+MYwblIx7hnWp8npiCQBpxcSwN9wIuNIs9NkZ8t6lq6dgrP3KpO4d56rog + TDzkvnQ9vVg/CapRoLwBIQK6cwngMAsdssS7q4Dq51KZ/ednLiPtO7ld/mpG6zqq8v5Q6noM48jT + obaLwfqPiR4GLfaNBgZUCNuLPo2BqvA1+vOi/rkAQd7nclsvVLZqYIf2jFLRowCuzBalRoZdSKyX + t5xgkl1snYKOMlCh+MDEBpy1Iw21/bS+0RcWhOtCKA0YUoQxkbHnon3JCkoUvq/xHAdqCX57msAx + +No+A0IcX7CXXPV5ce5UT327eJz6hhdZXIgkx0UGCm+GgWfUgUPRvsMDSZxZUyRJHv6GVmwCgbpt + DFupI+rOut6iQ0vuHWJQAc7LfiUkG8sgVO2o5aD+ilzb4c0sPgtwCFi2SSnU/VBxuwnaHjCYDfim + uAqKEFwWaK20/IQ2vB2sdskYM+JyWiQwzrOje5dja7Y/4oqU4ZH5TAdt3mAd8pcv546JKDETO449 + 1t10wsvxlTiKXe1p3lj1etkR90qB8ZwU4scmdMab+Ds6VO8sBaqLz+jNo1xg7p85MSI7IwLdajgo + oY7XGSSdjD+0kUgxDu1GyCj0dVbSmrz2LYQkBFVKtsDzuo98WgjHZg2fghaHnV77UAext7sGW7P5 + cshWpniG15NeZ7UqAXqaqWIC0HAfsPN7yL1Q192SdotJJslKkIsqgFenoSdIN9wKnZLu30uJZcVv + TABLlM8Sdd3cxI5O6+Tz6Em0h9cKwr6fNWprHY06U2ws45YXBmYPJiM6U2DmGpAAvqbk1bmdY+u0 + 3ddAJyCAK7H6dk4TJGRiR0RtJ6Ad6mGPVx7BJG1c4PnLWsG1KW7aN/QOcwgiseDN7NOuvtbzbjnO + khFHHLXNr/VImhLm1zYs7KhXN6UgV6a1yLDekErW5Wz7AqngoTo82YFYd29FglGv1+PYc0/szn2w + 8WTBQ7m6Bin+4sLeq0ofcZ3mDEe5BRrkzK++WH2ywG0jOYqVXSNuWXHckS9T+9+aAntXth9NcrgV + oC9SDxQihI8JosIzTluPUNZQJVdq7J0U873l6b1+Uo/nBlr9H4XP2p8mU7JihVRroFsb6Fcnr9AD + WX2PDLwQcsg4Repsi0H6AbU6H5TQ5cgeuhPMxp297O8DS0Uz4duOz1tiDHFTua3vD1wgyaofVCZq + q1wWeE5TGrzJsNxlRAp4O2f9t27dXw/ww7epjXQ1fmE62FwKJRwg14cx9fokmygyv3Fto9Tspqbo + Op550HBZ4oE8/iVPMuUQ37/cJDXO4uaAR6t0jeitRaY8hEKpdhrvy8fclceEa0aZbo2cUHPwbQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '30720' + x-ms-client-request-id: + - aeec2d58-d274-11e9-a23e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:19 GMT + ETag: + - '"0x8D73498932C286D"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:20 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '30720' + x-ms-blob-committed-block-count: + - '31' + x-ms-client-request-id: + - aeec2d58-d274-11e9-a23e-001a7dda7113 + x-ms-content-crc64: + - 6gOT70s4a3c= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731423-601e-002f-5381-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + qi1oIaxsiI5soDNdlLNRa+snBIbRuaHnNaJXF2RtuGxt17K6rxwMmSCgaqcsRNiAZPESxCtk7yBL + NnpuWXES9s+U6HD5D13bznxDKPTgXKskNmZwsDNFEk8LDWWsCg21QBpopJlSOUZT6/s9D9bfPkOl + 2jN4ASLRyI694HTj0/eQIRUkZEqx4J7Bpt2vC3aYYmqdyU7jM+gUSvrEvCDyzF+gtCc7LWMUjz4h + Df35XUQvWEU1eT3r1b2Q+ruwlLv+BgSqfwek81b1txOa2fdj/LKHPXOe2gQww2RzCwH4nBRuyn6/ + Msz2t+EXbWX+kUqSSekaB+AicBgZGWVg0gB268I9CYjEB7BdmUezx01WbkyeCC3h67fnf6XCAHG9 + FgsELiUfcnuTMmBxIQvRFAoaVswIX3ouwzm8UKtLet1GR2u8EZPDv5mioKdpa1EQBnTS9Vkh1jXD + /VocgPsoOmjpg5m09pmZmNL6Hapr+Z1hUrDmqDrpeJhYXZi44NQyL8y2833OjN3H5m6Yf+vqAWBs + s7kL0oUh8ge06ge+636n6/2ZenBoZI5fYftpM6pD6ASktlnLBny8eFw3hUwczYARQYzvtiIgMqFx + URGdvM3dRxMNQS0dvTbqY0j6JsFc3A2t7V4D/SqyyPceNvEKvyumhFXUFvZK8X3fbnIhRX7YTjpQ + GLX11kV+E4AEQwoNlziFE2VQq6MLlPQvnL/quaaZ14rRmpZPa0lx3AUFjZsT+2rbCvxBpZp6rZ6j + Yu9t861sWal4bTV6zqPcvWJIwCtTH1zRByOKfDzeb7gzTeupvxC7o/V55gUAqM7lepoTCmluLTfT + CDluzspzX6Tc81VRFnKEoJHXFrhMxOfkgE/DJkftxeIT45vfxuEVPRcxBH0I1hNgGccqGRx0Y2yY + U/R26edE0qE63VcIg0uXpjE72l7vw/k8QzoyYOEeEgs722qK75j9ZWrcWf5lgiIK2Z9FFMShkwgv + uRPsv5vbiuqAhHgLUBmX8MminXlqACHUf85OH8V1KcUf6igzmxtE+KnJX57qo+0R08lsWqqwMO/0 + eoEQlM0buNOl+V51e3bv7wWc69nxIe8O+r9gk6wMEffzeCx3F8slMT4TEtGdBz7IPgWCMmMn/FkP + TUsIuzBunPHh2hmemNfDt7mpUVSLeIWE1IJAxJE8nv6iIpDW3E0ARruorf4qLvqE84EBMRCbwM2n + aohIrmsUMlh2tQpoPsBQnvqPjnB1Aj8e6SDJDoTK6fhGa0JybZJDR1rfXw0JvwlzMnDqFRr9ostS + GlYI7nObqL85+Iv7OUZCqRwBYvt932sQ784FsvqUjxPNXV+dRXEAL3g1InLtKKx6D9zCDGMdig== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '31744' + x-ms-client-request-id: + - af016bf0-d274-11e9-be01-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:19 GMT + ETag: + - '"0x8D73498934248C6"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:20 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '31744' + x-ms-blob-committed-block-count: + - '32' + x-ms-client-request-id: + - af016bf0-d274-11e9-be01-001a7dda7113 + x-ms-content-crc64: + - OCZfoB6Cqvo= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731424-601e-002f-5481-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + uwwI95FT47qTetzlJTi/37jDJXHGaDSzkcMjURaIzPu9wvI3kPfyRbrU+CrTz7faQWkw7+6SPzsh + xO6isfXwHKfH6U4v7GiO5MKctJc8TOmstG/blz2CNJUgBV15nDPJN0lqK0fH3gKly2lXsIKJ273e + nQcr8RWX51xAv+QqWj24RqKshmgxz7q7CfF0Yl/dW6gPEACd3FQfWEdGUVfiRvvWpJjz5f4rLI2C + 56oYYWjh9pFvdDx1jKKDHLj+kM7mOgodrzv3uGc0PSdj1vPz/Evb99eaMci4sfOgY3phvw8hLz8U + aCPOhmMm4MepySgqjT3dpru33Nc7b7KmujzcGGHjYRBTTIYN3q1AFnWENW7LdbOLHB0NJUjvX3ME + nxpkgNGdxIKOoJMrfhlCMLfshKRRJuVlUdYq120Wjmj1OiXDXvuXmxEbV6T4mRGS/CV7t5vhK2NV + 80K8BO6GGApAHwR0DQ+EkiRGUeyo9i5z/CGEfGAhdFMUda8PhIbfxPp36zo7Fm1SNDzh1iinuSbp + tLjIYk6D1zYwVcYdHfE2RMHyafQWO+5n2y4wetIjTvX2Bb51X7W4nRNA3C9xPY4mYqtfYuJMRIo3 + ygr+AjOLzeCgkfHkWxaIkLJ77jpZJ9ebU9Z5jniM612TbOVX8rhkxQ1BDznikLmyp5X68fUSCxAa + qfJD0Nnad9LdOeBaBWALCvi18WoJVS5FdKFXLIvHh2v3A2+/8/c7PAaZFVFlK57t9wpVYhMt/cje + 89qb478Ms0e3hoxdu+4UKijXlrYasy0XVcik3ZUlwfHstVDcsYrH8e6yBhJSdWm7GOSKXLrRBCQ1 + m27+BBhhNzk8WcrNnL+1Z3chLS6JHYk8bVdkqPjyqIJ47TrIQGKznLtR5oLLTGKMNTvAIqmY6I1K + 2mxo9e99rkoAAWxSqmmArGsyf6jTqcC591EokdOXVznrg6nAQ3RNE93rrgX+94PF1RmHO1jy6xnT + dzDggmH38W7QBdjKZkGA6BYN06UHdJyC2Y1gGjbhuYEQdRRFyLUGQ+sGArYI66fXOrXAstNcrG8A + 20TPSLCGAXFhpHZHrG8wTcouHOiwjzhFsJDB5EzvRBHy3a1m9JRfRLXroRecHEim/C4bTx2N35yW + WLTvidACH84+Hn5DeTdM/kXFNE5Lu6gt28Xc2KI5lxgOZ8SGsso+y5ejU8qDxvRL9AzacZiQmKU3 + qGHD5Q5tVgxyMvZePvknzwznIEm1J1hDbsjP3OgOF/eb82NCSNopSpM78WARN3g1KL4KiB6F4FX7 + YzkUD4DyA84tAcbh8O0U4FQHqY083SAM2kdwmuRsWQrOvEF0SHAyiU1XiwZ8mU8U55tiFMmupQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '32768' + x-ms-client-request-id: + - af17c918-d274-11e9-881f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:20 GMT + ETag: + - '"0x8D7349893588FEC"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:20 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '32768' + x-ms-blob-committed-block-count: + - '33' + x-ms-client-request-id: + - af17c918-d274-11e9-881f-001a7dda7113 + x-ms-content-crc64: + - aMbTjYt1BVQ= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731426-601e-002f-5681-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + I56Su1dXZZUG85dXpCMZDBSur9SzHymiVjg6gEGLT56DUH6tOKT6Lht668QLjrtV6lH03JoQClGa + rMOiCZ82VT+G1r3f+Cob+xKDXFcPVTZxcdgvxamFwHFuai66F9siGnCuocPhqO09LTPVlHdbe+WM + CLSe2WiyB5I9KRk+UvN4XTfbtLG8+3HNPy/OPZdLjfodE0vR9wamev7DltbUeuYdfymv5kuVr6Em + jb+OGbKc+PM+U3ZwG0jtFubZZdcaFwXA1RFeFSUZJFxeki1EazxG5+KxwElB9XMEv3mi+qYGRLmB + 3RhK22IdZ6f0rEgOVv63v5QH5/hW8oJC4qwEE8D3y7IrW12OPcb7+QXPQ2BHdy6uDHbDfXgSNHAN + yHSmxosWeRKbLIUtibF/+U0Vktlf/pj1tSepQuPUHhPyB8CBNhNhsoBTrJrsWOIp+3lBrtVq6qGZ + eHjnC8QCHZIkEwDKuyZy7mm3JYte+Z3SY1+ghRCrknpqXEYuo8YBkYS8nSLJsHsVYS/WDRddUXsH + cDcr5LKb1nSTCuCJeOYwPkCIAwnXnnRN6P2iMAof6MTPDL/Qy+EqhhDpWm5RaeqyWmpQH6sZX+xz + KC5AwYL5ZZtjTxm4Py6afQ/BZsAnvyqstIdS3hlD3E9P5CiCKZ/KMGyxNn+kg97iilChnU2D2jgk + MKY+BC6zAwtblchPsm5MJXfBSHEww9TOcPcqvGVBQWB+/iEERg+jI+r8O9wLmydUavg0pZ4lhVVp + vvsltLSKRHLZevhxEXXT/ZI3pJRgf4qb1k2AI9HK9JiLrlWLOPhYcMekF/qXbrIdNSn88/IEAxNi + tgZMcrOOVTD9lSC1pbAe19fLRRH4JrrDQDpurIZlJb8rHqfL7Dg+mnamw4qC/q0YrNxGjs/DlMvW + eDGbRk0lf2p7KByws3UfqU8F279JnSjZwRsHr/YLTdaV8lPk77PCLXFffeqirE6XSkq1zsWrCFQe + UFZJeZ2HxynjHuRCmxCQ4Bd70X83fzeHRY45N4eaXwet2tcYemCLE1jG3LM+/G2TUhaO5ZGBSBjG + JjNtmxGzXC67pzvwviY+NErUuZVZKVc95JqT6QhX4P22EO2op0MLTSAs8WnHqNd9lqA8GpPS9mOs + PwwkMGsGmAgNNYICJOTjGRYwSh3GLCQwAT22aPmyTJiSULeWJEyDCNosvVaFEm85EWZzU6dUyp8d + V4sNRBH7/Q0QDVGm645EmpdKe8R0ByMNv7OyObB17tHyYXbgzDd0P0mg5wVjI0dXLmaZKYmwNtKI + /evHE+B5NC336Hso6LxTwMOn/mzBoujm+XUwF0AHbizCSQYG5ZoG4CFGLMJKTULoDkkGTJbShg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '33792' + x-ms-client-request-id: + - af2d7fd8-d274-11e9-9e14-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:20 GMT + ETag: + - '"0x8D734989369CF88"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:20 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '33792' + x-ms-blob-committed-block-count: + - '34' + x-ms-client-request-id: + - af2d7fd8-d274-11e9-9e14-001a7dda7113 + x-ms-content-crc64: + - yUSc8cwO1uQ= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731427-601e-002f-5781-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + rcqhtut0czcbhH+2xQd+u/Hj9+TUuvqBVJPyCYYldJcvMo/37CLppWMrUXAaRsGzbUA9uv40nQ7a + KSwg0BkFMGUT11tk/DaiByFnuZ4Ca8w1f4gw+u9sNNuQ6Vhj0BZ3xu6alePLN4I33lHUXRIMltRD + Yzd7JgoKZBqZGetz+bZgk3fbVZMeIxCYWYhfhMewe41r6/OwBeyQxFvh+w9kHj1OuneU6kjzeDh3 + QwECZaKzNGhH6C3wSwfsBMa+GbFJudAWG15RtSMpSy4TiMJGZiBTsWuQG34WKVSDbuXOKChLilwh + bjWmcYVeynQSu3E74eO8Fhp1q9kZaM/8KAySf8qsIDR4nrjzJG03hHbtbGXgJeegqlwl3UAyarUn + Mf4R1xt920P+mu+lPbqFK718bDy8pHhhqTWCxIku42WDdMBYQwdT9CWt8Sm8zAC+4xLUUUHKrobb + tBs3OW7eza2AXcwYH99EtYSRBXQaJZxGnl+rgjfKwq5jKFlMf9R+/GZnK5oODIdp0nuGC215eVnC + HpIPB4mWYUxpYInb1XYtlXRW1TAJWASLZMmee91g2Y5tNWGPaR1DUCm73aZbxH0thLwqQczQyhze + 1WSrmXUDZL9Y3ILZyaPfRiXiLwByrhtrCHCAPVWu9ledZ/GlOcxgP4f6WrWKPSp3OlqMa4DYRbE5 + i4NX2otZhKye9Xk6fxde9BADt9xeQu6u/qi8hHAJVbnTCrHoBgzn13dndDDj3ERQAjsFi/J/qbBc + V7rRuPh5oYbo1BmgWybYjU7tJahyqfOB9wsBVHWHyl4Kq1/xDaLPMfbZ4xaJ+LTthUz3VrG2qnoo + FJgKkSUVNjZFX81Sop1JyRxLVtMZm5xxlpl1EEIi05dz2Ny1/Qy6TTIpbiLpv1rngycw11ktDjq/ + XENKDCc0hJFfj9L6XFKzBGmxMSwpIQjgU6Q2QlDS5hgvjbJcn/jd6bcbBGiC3Sad3uD1Jb+fN9E4 + kFogJqaY6kx5rLc+Z2t2Xa0mQgzjzM+A/W9OwHNLNgJ3DIJWGJAi9JXnbS6V1ix62JmExB06qgk8 + XxcNew/mnn3JEUhjetV4nxMujozEyFEQuzCqyGaed8I82GH0MYXhqWkvJ4FNOG4uiF1KSuVZXMPt + pgRrCVmEQ1FdKNKFfCHyPK1VeGvulky5tPT2PqogwgcXykkY2VznMdezGLhJjLOhZ0sX0ForHkpW + 97TH0PaChcgL7AQ1pGNXjgzMZJLnoPm2sYgRcFniGkzCaimFcMbyDoHr41aeXWK+7YXF38sb3AXW + KiLt1vfvYxdhktBpMjMw2YKbijfYe9c8MadwZxRTHyS6kUDWAy58/spKVb1I0M9LQmZCqI1q4A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '34816' + x-ms-client-request-id: + - af3ecada-d274-11e9-83ab-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:20 GMT + ETag: + - '"0x8D73498937B5A0C"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:21 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '34816' + x-ms-blob-committed-block-count: + - '35' + x-ms-client-request-id: + - af3ecada-d274-11e9-83ab-001a7dda7113 + x-ms-content-crc64: + - lCFtp1BZsyg= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731429-601e-002f-5881-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 2c6X9OZ6Y0dfF8oHXQNG6QN3tAe9s/X7gDuq+XkiWajqRwti6NEhQA0P32ON0mxOPGTSJY1ibgW5 + UZ6VfdpMrWuNBJI6FYFE983Goh/zz+IgxjbAEbb3b7iJBfinxHM92kbMsP4dDoBf+5kulPrkKe54 + Cn3FLg5qnN3w9N+s4MmigbfchrCjmd/u1L3Wx2EgrnFmqCpCdz+i5S9nMB6T6HpQq3mIpGi3r9sa + 7pLsM28rNMrgRVMukmkqBEF5qzuMdSSmMOAX3uxBPoVaGbNm8Xmy6yoG0CliZNm91I9ajatbnvfT + 5W7isGx2LtlOAymtE9gwrztXX1JCx8BCmZqFcwopTMzHCqpkzkIN5rYh1QVx/UdxeUkQ7iv7cuLG + 9w9xLncps8auGEok3v0WgcaphJsEZPNYtDw+WtRB5XHPHNBDZH3NkcPQV6f8te4aJCcUIDL944yk + aG4zW/ABDizrEDHD7AHAo/7l5zTO6rfsbdV4oJWOxzBV+aGMO2ez8ujndGdO6S/Zlo+VlQkYIDou + AFgW2O/aiLW6kD/Ia6mXMHuIo5br5TWk4FW3j/CLnbmGnV6I+8jAs2Lgo4ERa5eSH9hdeCsqjLuo + +KDyRqM+mK5Do4t4kq+6g8D8xX5N+fHJ/OB4goDM7TKFZTqJZ/2QeyR8cApIRfrSbT04HDMsi+kt + qGBIegKPo4h9osU7PFVDIGINI/pVl2eEvU15qwRSA3fiV+DZtSEoWGxO9TuUBOA6q+mJLc1FyUd4 + xWP03ocdxntzeJGMv/ButOPZhVFkE2d3t2Ohv87b4lCgqLu0NsxGJsOw9QhHIY23Enlk+QPoX3xr + PL/WQqAcdIDkvFI+Jgcq0Xx0THQopjCDwce7usqckIeSLgQYOOR/Txfjg7mbnlloWjltdG5Drl7u + GGx70yaFp4trQuMvApBX8TtOk9dvwb2r4QzY5UHUjt0K7b/XgD7f3ymVaI3SdtJTgldaF2m292ls + tSbh4oGSj/q3vW4Axvoi6gkAjcMdOQLdtfYhGlcFkz1SgUDIx5JqmGgQv6WW7H0uvAsDj3xF9zR1 + Sbik4iB9rXEK5MXKff34b8e+lLfKV78eNkQF959TcAZ7fKCBWLoa3RImnZRN4zUbh9AwYhFPH0Xr + 7CdQMII4EQIAdKiiu9uwZHHDX0mAvO214R7sx+afWeSzW3RnpiifzA83g8oaXuwey8wa/qL6S16x + YT1yDobSQtGPsz2OLHBOrEcM9iwCri2WgSeRT/Lw41Z+GCZi1rhWU4HgJkeJKKaNdY86H8g/nClE + RNRVh+X3RDJFXYFvagJqdiXGnzJytW+WxioMUoUE0BoFgcKBnCeaVQfkimet/jiXSXXJ5LylrA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '35840' + x-ms-client-request-id: + - af504cc6-d274-11e9-a569-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:20 GMT + ETag: + - '"0x8D7349893923D57"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:21 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '35840' + x-ms-blob-committed-block-count: + - '36' + x-ms-client-request-id: + - af504cc6-d274-11e9-a569-001a7dda7113 + x-ms-content-crc64: + - wXzXs5DU6Fc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73142a-601e-002f-5981-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + QAyvcxSkSBqDM8/UGqAKb6m9BBQokEwXcBuBo4fZHtul15wSW63h3dmyD2HE6krejB2xoEDPhLSM + jRZdQdP43uMyzdLRCNDXwTyUbBNK1ajLILuY2f5Per536qx5i3r8lrhc54On8YTQ2cvMHuVIBmMn + zCpzgnu3UfX0jDcE+tyq5xeRbg6eB2+llyRWLqeGsdPyQ0xiElmse8iR4F1usb+j+Jv87ufT6Rz0 + MwHuMMyUAWLhX2vgSr00ypmA1kevezCRtrkqutdUOrMcjlHqY1Ivy5DLBZDNCMFTPbXCq0ocp16i + 4jnzW6VHpXCG5CbFsL99BwC06DIOUW1Rqvq3XRgvtprDNxP+k1dM3LBHcGy9NSFDchHzUdl2ReVv + R1TDIkMzM38xmAeJ6vlH8MxR23CkoNjTD8Rk2uzFchrCQ1fyAlcOYMXTYis4Ggqam0dMRnqTuCcJ + 3QF9egYYuVkMZXRd9KuL3dZl1Gkp1+lZvyXkfBUmMkIRE0WTq+chackxVkg0UPZb8MMBh/tq0Bi/ + 57qxguP+ju3M0gAAp5TxE7bTG929KURM7Z6fKFuIPFf6l3GyjSCkSuXrI+TaSYQXE32IlG1MevBm + uESE+56zXvooJ12DxBCH9duAeiLEw4napwiZR/3hPBQVIc+Q437AfxWcgAJu5m6YH8AziaEeeAH9 + bd3MgSPFdeMKs06//GCbuZWBF4lccbp/zFUU/vIkZdiicH84O8+1yifUPaQBicJo07sqSfHYry+E + 3atpy3t8eXA4IqTo0dAjSBj8Td8G7N0e06FbLPWebIpkuYmxIrzVVSdWiVf7H5GcOTxI+mo4HuEA + 35JRAb1j+Gm6KgOWFGS9GeukiIbj+T0hO62kQ4lPvkbsYwRAfFo9EA0u8aaXPExdutN5Pgy/9YZn + UOVZsHF1QrUe61e30VujmL6WlyFQCFC8sB5Ktcst78KgOAfzqA4ECbVPqkOab60IOX/TwAYyyc6V + G0Ys9RSh0SaWUWmnjBCfn/77osPdrM/POs7T9xW1ZA3XRMqT4PNOlyOFeATTVePk+1v5WV+50o7s + evXhxgpO8T1qkUIsi3FeHIIdgGyiwfvknQcOaq6AGDIFV+9VLYwiwniwc/0hPP6xj4JNrG0UN0SM + jxJjtLg66YGpXiIyEnEc3ovYrwgBTgqzx8rDLXOkw3pDkipTPIrjif0D7KQJbI3PWS1sQp7wLK++ + WPqNt5gbzwDoodkaMKykF/g3VU3BPCSQqhZx07wpjV2AHKTpjcvbBrvnfPoRKfWjRlj6tA1ejFLA + 4QzupwZKvsHKzEj0o0fMthLeRY+PH6qSWQ8hSwER2CoD7UbZZ54mrv4i8dOv5CpslB14zuNrOg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '36864' + x-ms-client-request-id: + - af679f42-d274-11e9-9822-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:20 GMT + ETag: + - '"0x8D7349893AB1CFB"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:21 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '36864' + x-ms-blob-committed-block-count: + - '37' + x-ms-client-request-id: + - af679f42-d274-11e9-9822-001a7dda7113 + x-ms-content-crc64: + - Xs4ck8yaKkI= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73142b-601e-002f-5a81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + zGjZ6aMAfoti7JVIME1D4h5jAcEi/khXKM0YyCCwTch7cmnorxdZPxBJBdHzIFnXKjYuCDVooXNH + D6/iOqK+IJa7g5EkPlJgzRUPfjdPs8aEcRgsbt65lEMffoIQsV3D/PBcVFDbl7XRtgoYXxH5mL/e + 8MwhU3jIZ3ZqawaVspcFVlxZnRZq7s+z/sLHq44AFihfbhLJSWgt+maHjQXYdaroMMuuwZodPv0Y + CxEH98zSEqbrgmxQWQOgHRc/aKvFjiqUXME316LmQGKj8GhqxIzBJZqtAnwbMr92b98MovSTSAfQ + X4XkaD66Htjx1XZYSrJ4uNYBUYXczDWU/CZ3R+GsChNSRBqEc6DM60Ix2QQzK8WDbbxucYo42M58 + QeYwVuAjbYbVUhllFxW0kVQQQRTwx7i40A+yYG8tsG3ChsvZ19Bej53sjlsi0RFd8fHgXORazu2d + dm+lrI0mCeaAEOaIPXXtaESB2QyVRai2NMESVIShMYkslznKYh/WY+7Ta51ma/1DEURKwuLKaq+Q + v2Eo2QlannMXN5u9HVPCE7SIp2AX0ihGqLIkcIjOgluZpGCQRA0rw3H8oY35kuYKweboeceJrKgU + 8+bHbNRtqcRBayJ3ytsWYNHLhLR4gIwyK4IuHSK2dqcTYJQU5Vw05xuqg3TDB3dfghrCSbK06xYF + 4BZc+Vo1rj7hG9BfVq5EdgM6JWO7nLNHIhjc3IycLTYzaQAYjy2jCZ4cozcjIV46+BACH11hvOy5 + uNBnw4ddMgFQqy5s8ULrE/rE1OykFzy2mz3bIDvlgXXrHkMRl2PCJ82b/oMTGemezSxHzaGhwZj1 + m+eMlGRaOqbbPxyjAX2DgH4cvXru++F4F/ToRCHIRnOhkcoK1TIUvXqRocCb3vQCxWW96HEDDw+m + rJIoqDoIDCs4GCilxmOLEcLZYl3ftk3Pukk3VoxHfKTuZwmomXxqsJtJ/O7k6kE9AmvYoYZ8/FDD + JwgIf3sjHWZudBTm7r6+jgFcbxKrYciB1VmViwlFhzpy9PZHDyKmkttJVEQi6MJPdbNMsm1dCtvh + mLddtUOb5ZTqeLYCGeqN+9DZupqT1wi5fGVPbth3Dm0daj4UVgfzYftNv7avPmWt18uxQnp7g8Cw + UEy5n8NCszcsz+ehVKrNlQBchOfey33TxJVk7jEDXJnKJHRVaEBnqdbz8NlaSHkxDALDJAyoznRe + yMdp+UbYwCCQeQHfiuii6M4/OtoFIIFx4FQvOqjjF5DgUVl6HH5lE59rLtXPz938IofN955PoN5q + /EBTbisevB+VIziE2PhjGqXXGmounX1snzQPl9Nxjyjzvj3Os8qfTyUhMUGWLFI0hQONk1PnDA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '37888' + x-ms-client-request-id: + - af800c38-d274-11e9-8360-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:20 GMT + ETag: + - '"0x8D7349893BF415A"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:21 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '37888' + x-ms-blob-committed-block-count: + - '38' + x-ms-client-request-id: + - af800c38-d274-11e9-8360-001a7dda7113 + x-ms-content-crc64: + - AMz0lg0njG8= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731430-601e-002f-5f81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 9aMOASM7VVtL5L43CgkcUbfc6kS4j0zsz5nycVR2t8iXsHIuMwWbONhr7iLMKmQsmi5mwujBlT6K + 3lnJ8kRK7DwNfF/MueyiUytqo23nhiI6lWU74N1UAEqugsrk4CKk2oCJ0mybSaBGL/pbahOrVZh6 + gSPUd54k3OWXa54pBF9uXBd14RXtm3nVLWU7wuIX7gcTJNYc+Dzl+QfeqWzMs4vLJ54VbvBhQQK1 + nneScPThSy25uhLYehPzpX9YUTZI7dYwagMZHII0RCfPcbCWgAFAJ4qxqlqyWrMEYolxFB7gtVn4 + 1Jh/K/NzHllObTESpw9x80l0xnD26Jc6oteHF3F5PY03IR+QS3M4Mh35IrK0+6TbtdCqeh40pyDd + 4ETCveRvO4/+1DnRPTY782DTUTaIjWlMpuGbJ7Flydc8W6tAGEguC6n6WHK3Z2CfRZFnaTdJUKv1 + u7AmFqHxKD7JRehIMRnpJsIH9HXoBpr9oLh0HA+xiNIo3i674IINnhTvxvrOowzculzphKx3LERq + LAGEnNzQTmVhzUiXVVFWhM7hEtKj68NO4zHga55gLky4gl5u5rkhSoYrX6/7oZ0ej4i8rXZKdGyl + az3PV8FLQcKVAvT6wDviGbDvQyanZQI/6HE0gC3ekJYJI4N8dXv6mE4U3RJNrWRkyjDA1glmQpUq + HdBRFRLhqp8q6onuCHSbqn/Q39vYb6EYgU4PaeUN73hqtoQBhKVicKhgYH+NyvqVlbbAyGx/okPh + ga27/BEcjrK7hojxRTjLpJdFFFRGAeXB0zuRidAEWJn9Caz3t48CrQxbdBpvLb0E6wj6vx8miE7P + UkQbIoK/OO7dsRhg5liMwdJVKprJ5wh3aseYcASgL3+2fAtwQyTcneSucRgZc4CCVuDRzJhY5Acr + 48oQJZnfKpFMLX6xzCibhjMew5UyBSxOr2MtT64kcgqceYNbOc2NcMNwNpMbJw0Ps6l27DHm7Bri + +t6ywrHjwtiqWmiSK2uzjkKJdE+2GKJMn0H3BlSaGwDrdjpkQ7Tv4gWl04/nrg98wbcHhiRC4eaI + D2/KMsw/ZD8OM72cA4tkNeEroZXXajZ/P8aOsTBKmNVyOOho2eY4jP0yZE5m0zKRL/rIv9dJMz4w + PVtC89VW97wl61rwwO0LjDbcpYjnF9g4bcBbCxMJBI0enBDysGu7/sT9Kg5YHSlyn6Gb4Js02ty4 + E3i+giLX90JBHa3lPgPog02w0Z+aCKM2nr+pcGwDit124jP9efh2JFAMVWRMMFk1HkM9jTgfSLs1 + z5dN4DqZ+7v+lx5fC2T5NsqfiP6HK6b2fUlQEQpz0ucl9SrHv6CvH8NuGi9EI0GCq9wZ00m51Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '38912' + x-ms-client-request-id: + - af9411e4-d274-11e9-aaff-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:20 GMT + ETag: + - '"0x8D7349893D401F1"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:21 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '38912' + x-ms-blob-committed-block-count: + - '39' + x-ms-client-request-id: + - af9411e4-d274-11e9-aaff-001a7dda7113 + x-ms-content-crc64: + - 5FeXBJSwMWY= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731431-601e-002f-6081-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + nX6mXkviPR/xOZnelgySzlhGI0sSfmyago8zeL3pRWN19YzXQwar3ayeBD5FBPB05iNvoGEmHnIf + SIhBpNJNljIkpDDEQ5TrywpZP/cADvZl5NzHOnUrpspPEZN/3vgmhpeBZE5nEJgJLzZv2Vq4Hj57 + xlFBPzOMUH3rBhSqYsH8dfv7r8zNVsh8wYKDXy3W3MUW9lzujS2OPpz65X0g9Fz4EMRYJIlxy8wE + lu36ec0ihrHLqjYy3IESUUqacUrkh7+QEM9+cYtJ91qqRqO2ZqNIhjoSqI9VbF1H3EN+FunQgHmK + 37eBe8mAkka1r1QibVg93lFltFNGtxQHWBYmVKLpzVPDveXumy6XEBBFqmjcDsUnPiLvROUAyv2k + dxs+4hjhhogEOls3ceUahYuuTS9bmf5ZJAA1zFgp1JrfJysHPeFrCjypCKynwMeTZ8WFLJhkevk/ + cH5uXhtGjU3DRecYH/qTiBQt5JL0EtX9do9qWNKXxTPVbPxMC0YBADusclqcERbF3IxipSvHFKTh + rODfPMIRxVKgQlMKPmO0TUCwH5YXMpcak8nSISMaaRinOtBvSfLXMJFShxQ+X3xKSJQGip1HFaeW + XpneCVys5GTMNRUUYngmVKYJZJt7y9BWuRl4G4m+y9vvrIV7f8yO3K9q+IdgERMBhFLMF/Htwuya + SuAIPfaD2lKGSjcpswzHbWa+S16LIcRM+89zN3J5owqLrueqf1NWgXyzJkYk9P6rAqjgmQq14kK5 + 2vpsSeYuT7sAvTzTM/N0DV6WI7DaPaWSrm/rtR1u8PtyOy7+rgdzqqfoCe7F7LPXBH6ex9m7u2S7 + HA/nq5JnNieoJja4exKI3EhsSMyxv+hr9AvzOuAKWvjF4B5+l5bixxJhKAhzcOZ5dWOmOQNEcl+2 + Mfa9/KDcSi7ttXJYMipInsSmJMWUPr8Vv+/o42E8euRfNZbb3BKD21h6I7UQBKUjdsyO6THJZBWW + 239Yq/6JB8/VM9hEesVFRmvyMyoeHM0vAptMzUhGdp/pHRZL+2LlszhCZTFUI3e4conMq5l9he1H + t26O5oqkCpVbrVwwawmtSAqH9Qwv5Fy3dx3AQ8g+tW5115A0vspyY7j+Z9ZecA/OGa59iyYImaq0 + MhLH93JmBtf9m1OPMvRQvOsKAPdVO8W+j4fxPe0s0eMK9MOsobXwn04WYjEd9NaQykTDeKeMTOMH + 0k31V1BDjvg5cYUrYXm0j0rMo1+qciH4lbm1PW/cOL+FIN67ReQnG1JEfy/hAJRFuVi5BwwOJNxE + 2heblxjD1MgXfsVJDrG5lz7piOVCpAjdF91IVMDvybmfOFEg1ffHD35YYKhM0gRCN9DMgzBuaQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '39936' + x-ms-client-request-id: + - afa91ee4-d274-11e9-893d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:20 GMT + ETag: + - '"0x8D7349893E80066"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:21 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '39936' + x-ms-blob-committed-block-count: + - '40' + x-ms-client-request-id: + - afa91ee4-d274-11e9-893d-001a7dda7113 + x-ms-content-crc64: + - RLBuIAcUH9c= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731432-601e-002f-6181-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + O2W5V7Mw30kR1hV8M5r6XH1yCITVyHsJ46eKYLqPWKuSsepMVd3uWp+pglkjt4ruGL8X+Zlf/iss + 95UBm36yz24wDORy6DfRTY5WpltyPkuGWSnrGIt9gYLhnUiw/pjwYnymmzeA9a7mHGhROcdY8c0K + hnabHLRFRraQkhYdL9/g8JlotSI7bIg4KgYv0TRx5x1YDLvM+OeEy1N9wgO+XSizaK1cs8CJMthL + idiH4b4gnX+donhSamscYZkl3rhudFERZIayJttLJYfRQaxIAtB3wo0biataC7RqS3igV1TA0bYO + IMTkvk3CxEpiMQArzOIkXdY0lXsT7Crw7I4Xy2xYxD/kzIcXG+BE0buz76AEDbc6cGrqDjLL+34C + fdn+GS+7YLuyuG7BVdF1KxcofI1q+EszGTlAAk0Oy0UcloXpAnrXjMUcjpyNoxpA5D7b+HNoEqr2 + 632UgyUDAFIY+0SbXAKBMUhK0xWZDAIzmVmELKHOON79fZgvU3t2xr8uTAhlptDQaMVdY0evWlpB + ADB7K3cLlJ57HtGH9yyR+QM+Uu/8CQ7IwW9scATSGlU/LxS1rNalul5bc55qlMm25c7a99LTBlp5 + VkAhfmKDUvRHgEEuyfuxJY06NYr0Kqnr6nhdGgB/DVFo9eYcN5g5eIxA+ev0e4dbzqR/pxPF5Ymr + Rts+BPWL1GVC8+qXKAhcfMXgQTKEmsKmOycxGPNnt3pDtMA7mKO0jQT+TY1IFYAGXTOGBtFFhD+2 + snsYomjdpZVn97A/PnT366YE7Q6psW1tfsIRW38Gqn36OBcwduuU2CDoVN3Dm7yzaoHUAeIZ9i8u + SqpGLAaJQzVXm0/bGPeJ4nuUNEgeDQ6lR7sla4E7QkCZUExrCDwAbU8ib+NHE3WZWdtzkMDfOzcF + YvsXAzAyC/qIhi/3JBwFdVqZ0KZRqW/Q1lvsoJJ0N4Bo0krSazEUV5ICHgYyEzJtQGp9AMoVrqdG + ATJlpKRcBbJMPJA6Xveot84uPIAzIlGoqQC0yQtSKjkgCpC3hAEcYZeS9gqXctMr+76iwjtkM8KR + HR6Lj5UL9aj2BOpFCdbkzWggU8r9o6PORZ6ITS3qCTAaZALVig9VBpr8HdyosT6IZ154AVYtpJ0M + SrIFtGagxgu8Vt8q8IDhCWUbIEkK6kfLRqCzFAu4mQMHZ9xMNb8wOaXJriNvmU9AP37bZjkrAFfm + uK2jXBNDG/dQUe7q7S3iwgakMdse6cXIddJ/Y9ypZReEPxlgzCKSl7a9DnHXGtVUt6KhW277C1Zp + KAuJ+T/YFS8yRZeYZqL5m+zGCBbU3Owbn2ZUFyXAbR/ZR7Nzj8GMwYh7GW676UCANIQNcCqrng== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '40960' + x-ms-client-request-id: + - afbcd8ae-d274-11e9-aa0e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:21 GMT + ETag: + - '"0x8D7349893F98B57"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:21 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '40960' + x-ms-blob-committed-block-count: + - '41' + x-ms-client-request-id: + - afbcd8ae-d274-11e9-aa0e-001a7dda7113 + x-ms-content-crc64: + - 0Ta7rFAuwUw= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731433-601e-002f-6281-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + VQ8mOqTKprshEvwEknrtWAcPlZlqTg6pT7ZX2ha5QjLUu7iZ9U3D6fIeE8ufGjsuG0J2JB9QHg/2 + e+hB8Ey9I2l5ythwx7LbXXC370TQuae8PzAudslMCWNSOiYZ5iWD49Nb0Q6uNlKv7tidQm6amRbT + qQELjQXZPbOVqZuRVdpdzyPR2sk3Lg7LxW7AXRgCM3RGeh6jAh3+WI3rSGvvREUMANn90M8iAzgs + G++lv7zOs1dUkbqWIyu8/XyrqeTHG9HTdLdmIF+YEut60azrgMwnQqa93h9/PFORUFWUdr2gESPz + jxIB3Lc+UFo/RARcs1ZKZs+w6MfCzK3bIsZ7HkOnrTqSa6aL5guCIJ1yfulKHu8qIWroIx2/ih2V + J+6AKVBSHzpzJI6hvVTJPU2KzqrSHYw/S7WfMlSu8M5I84SeVfZswSY61TCOVLo0xqHIoV9J/sXo + xua8E79XC0JQ82sjfmTkX1bh+iMh+UdLC6Smi/MVh4uXwfKIYOc4wHTM/c5FU58+YdHIoa62dxba + pQqf3AkDX/1TCaABUU/SV0sRDNVyD3kqeW8V+I1hdEWhxTA0GBvGkUOnD5jrj6TIjddwHxqnSuvr + pS8DpvZXhotD8LpZP8mio30BPPt0u7hhTD07SYsuOYMLsQ+Mxp08hgEAAjdpnstf/ii0/rfbHcUm + XWuCIVKFZVcC7aH7wY7MH+3V7Zp0r9m8034EOnjJsb+kgsOaQbNsWGWSzzp+cbV2L1OOthrL0MVA + 44QvltbdvpC8stJBJaGM4mb80nbqVDXaEv1C92oxCnj9kZvm/nghu12CC+QWrgWDVt8m5WZAcv1v + MTLblLNn5nGRc8p1AIy9PzIaKnGF8DAOkQt7qthstQQqRlmwDLrk1q2Nc+hzUVNOJAR/giujHQPQ + FjGfvj1g6SCPngNGgueywxFkA9gmHOkZQ2H9V1AYXFvPvikkLZDS5D42XSA1t9eq6vvRW+5/pfKL + 5I2NqSDfakt+J0nSPpaDSHTTPwpv8A+H8UcAHiUW1YHVfEyZW4XPJA8EGIvcKN+fRrCQShw7E0ly + czz6/iuWS7hN8V1+cHYxbiwLyY+JHHwJnabyvIXDf/s7xS/EYul9nma3TCjr/eLoFo52tLLaCNvG + KhWxqtkXj0AmtZgVHrgPFaeMrIeICidZl45UvZyY1r+TITEhg8Xisr/ilazMhGu9fqB5YQewAg+p + ghWGIufpMY8NOHp4u/zVaPzO+Y26AF/hpc7r4xkSMbZKc9jUgRseEww0u/rLoHXNkVS6/uXoqgEZ + fHXr9TR2B+2xzVwl09RK7NGmbh/65g2+5bd9OkrSU1uS4SB2nS26sCLzTMmShC0p34jmYiwzAQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '41984' + x-ms-client-request-id: + - afcf2e74-d274-11e9-9522-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:21 GMT + ETag: + - '"0x8D73498940F85D0"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:21 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '41984' + x-ms-blob-committed-block-count: + - '42' + x-ms-client-request-id: + - afcf2e74-d274-11e9-9522-001a7dda7113 + x-ms-content-crc64: + - SLfbw7HLd5o= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731434-601e-002f-6381-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + hhQ89n19t8/U3nlGdIsrG0nfctbVNIWlTGjTMz0DVmy4T0OYd8k7irKH5aNccz7EwalK2CKDi2o4 + VN04fwh/MTU1Nm0vZ3VUCdztmdh/OgayfDXgzsOejoF8B72EBom9Q6tXrC/1Lm2cQtcLpTTNCRAg + MXKKQAyf5sFSAx2FHLSkRJrQYJ1N3/R1ww8O6Fbcm6cdkLTl1+bOBChQJ0w7NbBcpzWmI5L7fsTr + uIbgwnywrtfaDUNqxefcEgzD128yYqdDUTSqdDKF4xBY6e0uRfwIlid+nTOee8LASDYbBDDCpF5b + /EAb1KJsGfdnHJU2HF0mW3rcPUDMz3tAnLEJN/F+OXV2wSSHpU89XvTAndALywQ+lRFf4VEfEkQG + mg/FmhcRoIw8jlpEEKf9399mX71S/ILLngzEwLxEzktTquXVa9ktZr3PTuNHyO7HflR7JqEzTPpd + GGv3wU87YyBOXEd5isFlhBqQUtf6l4SM1cHJqCUr4Gg6ZhUxCgWqqyZIGe9zaPlPZs5A6ycoj1hA + sy25ZC6PVHTabzFE3kVkMm+mamJEhFoOsLInQjjZKnAKRZTQQLJwu79q9l0ssQIJRx8PGryVnPG0 + egAvVwPu1ob19yWruJE7B6rM4C7MrSpQ5mA9qSpuGfl6DOSmqKql+pK/XLNWW1SSmBS44QdASD7D + iJVxwgOLIIVK67fNUwig/srAUrIogeCpd/ZrHuq3H8+UZizjrzkLdndb0qL5mtvWaJvU8TYtKySx + OCV8lK8fm5sOz0mfsyBCwf4BYfwVoKXWqHgrZSG6KtPZs2vJzKGFxU/Wrd2IrW/KhqnlecUDZuJm + RuOENhKWTdeND1n8stiFPnYkpDJSXrV7pe1GBD0QxRcCGEcAMN5PX6XMp3T3cha5K9ZTY9SPXErp + xC9zvT+dTOz7H4ad0qJoS/Wqpc5KI3CUg4WglMdC5D5d3nrAfRNnNA3fAKf8cUC4CdsAVtiSXV2a + 2wYMA+wfqvgoQrOr0E/HTfPbnz0tn0vdMXThqzbxn03uri4A6JiHaHuhQPzrcB0CKVL2qRFmcMOM + TswJ+odAqeZ3Y1mXLD8WDWfSZf5fe0ki9szKNQ6iRdIhM2gfEqH19ZrAatPghNiYpErYCl6G40KY + +N6ItxGPSw8xknkNPZ5pZ/7scSNpfl9Ik17QQgb+4SddPOPZ4beZY3jhUNxsKeVp00g59XkwQCsO + HqQsbSM51c9p6zLjK9/WPK6CtlnBm98Yjxid4qt3B0Dm6uO9P2qZE9nVKZzsffexaWWeqSxryysV + e+DBnkm7r2ESW/UBJe8W8bLzjAHsybTqTBJWLzLlE6+BvubT8q7pMTSv24eni24VlejfULZjUA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '43008' + x-ms-client-request-id: + - afe459f0-d274-11e9-82d7-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:22 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:21 GMT + ETag: + - '"0x8D7349894211086"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:22 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '43008' + x-ms-blob-committed-block-count: + - '43' + x-ms-client-request-id: + - afe459f0-d274-11e9-82d7-001a7dda7113 + x-ms-content-crc64: + - qKHVi5sNlXw= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731435-601e-002f-6481-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 4te/+JuLxajBAt+Vr/PlALYheEeGne4V9RLNNbOLEsYclexFTWPIM2HPfwDF/M43yeBE3WpTxqfB + HubOlUcEbWzY3TGWPCYFHqTXzS4axKdsNrU1NDJQI70mMEe2I5di5arnNPlY8CUk1AVOundH2Maj + u7+FsuBbBfF2w4FAyHkS1KcXXm/oCSAmhT9OpsmULNVuH8Ztwip1/AY2NcqKfvoEIT2XZ0YBIjWT + T6d7rAhwVTwFnsOavqLdZm67VxdO1HrbIDK+siGaIJzLtuKkG+xccJZQBPaA0kXYoI2V2wC5ayD2 + IFDj5VvrumHLB4yLVz0nLzQPuVUyJcZDLdXCdVKKNqF88ebIkgnydWylqGsPOltCcwuA1dcxKaDA + h8+KrNGglZJ2ERXaS5XBNiUt1YdLBdA48X21bvegbTpgAeHlp5L1pxX3H/D7VtlrQMyR0ib6OhG3 + 1p8y0eR7qaT9c9+W9skA8eLkz1/exIaqGB1j97rWHlnSh6X+BxeqGMvEJt8C5lzZneO84RtrdfmD + 5bgIUk0zuPoVXVNX4fj7hPAVloBvZOOtB50hrWWT53OIqclwVSWklFoR90TwwXc11sMuHeGasrt+ + EQu5XshjJK5/vE+9IKGqA0y3A7UwA2ctZDBrfZNJfswHrgoIWVnfdbkjRydg5rM3CArgx5bkfbPH + xvhWhMqO/CUuYC1fyfg7z4ibYptCElMu7wLRLg9P8E6YCoMQd1sd4fe3KUQIQJdIEr6EmxqtK6x2 + D3DtQwHxfO+dHsn3nnjy7nbHAw+Qs/bKWqhGERAdv7NgnEhLx2AUHYZQOU0iNdVMDm8Dvi1eUZ1D + B85ZHoHbePyIgr9xABnfqzuC5gPuANtV7sIcV5mdRYEW9eIXue03+R0qKsK30KLD9wm9WH35V7fA + KSGhZHoMRAmQy0EF+rgnDc4wzytZUeeVuhh8btr53fXyqtFGkVP9QNIEBbUAoUU6VbMggpHv4jIS + mb+VD4lVnjfgRHzx0ig9o3CRtvU8zdkTKznl9bIv0O/QuYRH4hzXbnOyqC9pemnIKFJJfocITADj + 1ObYvYs5PQTfT39P0hUd8+DIZLUvi3xNJ8VfJUhdKVN8PojtuxZcUzphBDFTeXtfIkMxAyd3umpw + HQ7yyS0UH6xOPzNDZAIfUjWqq8CK5s2taxz2mgoe8i3bHRBVtoWNV98dSBEI8QUwIv2W9AkbRTlf + vYHc99QaIlwnYcbHRP1vfB3LZtAEYrHIM92PKPlgznQBGnSiXE8lNJ3Bf+8IOLzHaW3u4VqMxJjj + ORVd6NGWbhx0bkJGbExyE2eF1EuC0rA7Wu4kw68xkZsH2qn39KtcKPomezVpb/UDIrLS4qHY9w== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '44032' + x-ms-client-request-id: + - aff5e0ee-d274-11e9-b5ea-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:22 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:21 GMT + ETag: + - '"0x8D73498943B9DA0"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:22 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '44032' + x-ms-blob-committed-block-count: + - '44' + x-ms-client-request-id: + - aff5e0ee-d274-11e9-b5ea-001a7dda7113 + x-ms-content-crc64: + - 9kRtxplDDsU= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731436-601e-002f-6581-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + MEC36dtLIeNVAjovB7quJwDO/WAIp2NXFItbUOiSGvoYQrtk8GRf9T2e7DreElWyq8G/fNjeYS9T + YfBF/EXGIyLpcLlIUHINbA3LTKbN6Q/d4oYOJcdgqHyn48lkG6j1lHfxLvxDqELmX5/Vipw0SXup + PypyNNORbnz1m0AkK3I/zOWMKgmJaLUFwZGD95iUxn9jn2rY0QYNI1IEWIZNVtRNC/IjQxQPxZ0g + X0zAZ+20HivFUay+AFwtuzqdojd212ZMr7rIlFTX4OUTg07MTJB650fOBkZSFRxz4PXZpB/vIf5r + bhADxj7teGKWUCjIxF4y/sW/YzeCDftiOGRnNwQ5se7twLICtigJStBbCbYGB63wlW1G51mNGyfO + EwBDyE9NKZZwxD3FXPyTtsbzhADkCX2jqBkeYoAUSN1pD/1UMGd5y7lROSul2BpH4gD0mZaBkVIR + 3h2cLpy/mwloBE2dRJ/5qRcFVT9J5K0iv8L3kJojA55SjAjEHqzHK3yHWk9ieTe3ArlR+uKS2n3X + 2PM5AW2Axa94J85oAEtLAcotZHCMrOyzfd2k7MZ0grpBXVMyBVkMuJs1EBEQ9ILTOzLYllptZZAA + pQXUKqGeVmoSqY1ePZhHkxshrwXg4wQbWMo5+vauLwQLkTo8Ksi1cYcbHbfBfBjUt+AZRNZuv70E + zBbSF3VdbbLgHJDAJyWwJwrXQBjnSIfH7CGnWMToT5LjE7LCEr/qbBJaU7xteN1M0euK00QgwqX5 + cBjwOtwI50qI8C3qicbkbXlrSAJLwL5LmaorC2iUH7bdR7Y+RgQn9+76l6gIoE1nKU8y7qykTqmC + Sz+pcoc/1dljI2OmCQMkEbnmB5lExeE3TD5wUPxulKX8JejeO57zyR0u6LD6JiikPvigQwxGrVja + HhvJGCmjydpWV5RfIw5bwqEWWVlzcBJVSMq6jo6mLgizDVhecMwR0/NwZ4jzG3O2Joq/1a+oTEh1 + RZBwvF5XKM2EAGN2kSLGtUbVkkVHyGRmpQ63eFqtUtWSdOXCNxkhzd923lW09MSZ0vVhoyIJzM4k + WphkCOtuX2Qt3GaDGHkfxDT9dhF5J1xFTqZZAgUxdRmXk3RdRvWYEmOJqX5bTDzgK+RRdjS8FcZw + +XWDLNT9XZCXBJkPMeJu5Io4eavKUPQmgfKdfqG9LfbEG4ODCwRNNjNz69n2ZvK0f2LhZc+RKSXK + v14eTxKRM/jPDAEJGenrtrt836gjPUks6ttZ8EUtotIGwNpILJVxYpU9lMRB24d3qiX9cQne5LQt + ESQMdOvHrVc3kgqaszDmQbz0BUaB/RTrnbJDuNQx3GD+rYegRd28i5jHcFx112h0Lbr2y+kulg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '45056' + x-ms-client-request-id: + - b010e090-d274-11e9-840b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:22 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:21 GMT + ETag: + - '"0x8D734989451215E"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:22 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '45056' + x-ms-blob-committed-block-count: + - '45' + x-ms-client-request-id: + - b010e090-d274-11e9-840b-001a7dda7113 + x-ms-content-crc64: + - M1KoXiVzvPk= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73143b-601e-002f-6781-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Z986RrRFuJEl2IEE/ZmQfbdHNtTO2O2XdcWAeyN8PxbFqfufaqORam3Z4ZBlNr4m98K72IUQdOlh + EWXEIZD13hL3TfEE3cviw5myXx3n5QMIiqnWmrZbBxe0qaHYBx1ZOYvVrAbVrxaBXLyoSVEZhela + B5tm4XbnqTe4i+Py1faCAQBH6IHAUYc9HelhV204/YViQQh/kWPKeoJLFWhfW13YmFA6t0lqjfpt + UBqCObAAc6xCFdwJ3492rsUy0/G9EFCoEhOXtcuKjXLQ+g6uOt3bObS1A3Q0I5k788oeYizCTGPe + BMEbezT2AoyUTEWvo9kzcAhI64o/SMoFbSC6aKC2Fy7ulUCHPq6ClzI/kSOihzC5sxgpSwvL+zFW + S0GNOoiMkORG805efuu8nlp4x7wt7roV6At9ejx0X6irE/D98GRQ2Nx3tF/N6FC+0guYgkfsC9lH + ojm5xm753B61ihykF56gqZtcuY0qb0fqdtTgzmvb1BjlvtuMJ7tLlZFNubD0gWJ+jBmYbk+B6i7c + SeABIz1fSDOiSiS+aWuxCQOIS4z5+eYtOWt7fK6nd+7mi1IrAoUQm1G7vkje7S5hZ5ZGVfkxAycn + 0AkPl54Ao0kGhu9S3hjqbJXoi7MQb23egJ3UPVsw7i0nYBDS9R30yEOBGE4nszMRIzTnV6P8E97Q + JEpMvwUcX5GklRipdEoxg8MdVsJKSm6zegor6ZSYY5/96MxdGv614nmd9F304NzPh0Eg8RQBs+rN + TJ5YD773+FA8iS9Gu9M2sU+fFgE5Pj4WOikRK4jHwOPrWy3OMCG4Eu0es9oUPb0Q23yoCx3Hv9F2 + UPmiUHFN5w3NzE6U0S7Ad9SZy17NkmfIZi8mRprZsJA+QNBe8rfmytlz1K6jrTb06gTHPfKw7DDH + 61tO929IkQPo7PADatVQ7X1QuzUvWV8UGdNMD1Wv/Whri5g6eLsR5eJh9NS0ZburYNiPuKfqunSv + DBg0Nz+Bt5paQu/gMLJCCtq8M/BBOcjDei1cFNp+Ik+XZbVMcN9hLkWWMMlgIEU4U5CZ0ozFujUY + +wBqsX3YVYWv0VALHgpCWH06+T5YecPP4Tq9s/TErLiyX+xTP+FbMTEP7vEZ4DE93/OC15FkSZAe + MMfsgsxSKV18gGaxFyhY4syp77JotHUS50aYESBwnr3WENqw4DDPzDSkmMI9gkYa1UcDVTvnYZCY + 9eKi5cKFCXMHhQPd1spo7J7EiI0El7XwVz7teLTGUZaj8zjRBtVnYZ8Z6WjUbqO5cFmJHD1xXcgB + 0zyol6mUE7wii1zjo/n90GR3ReYg26+UQk7dRVZg9IjhUyLiL18/2PdJJYpNsEanzbPSYnwkHg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '46080' + x-ms-client-request-id: + - b026300a-d274-11e9-b7de-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:22 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:21 GMT + ETag: + - '"0x8D734989465E1F9"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:22 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '46080' + x-ms-blob-committed-block-count: + - '46' + x-ms-client-request-id: + - b026300a-d274-11e9-b7de-001a7dda7113 + x-ms-content-crc64: + - 2/LM/V2bjac= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73143c-601e-002f-6881-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 3akzyK3fQnOSeU96DuB+Alc3NOKH7uaqCRK0JmAwtzGyaEXs7gDc4GxwnN4CButY+WN+GR3WlYGa + DDNPtrpDosf2FiBpNC+Y2O4RKRM7YiI2AKPLZfHujjXVK/R57pelPMqq3q1h5+Lfjhii0yaKi19Y + 9ouzT6mLK12dfQn3hxwRAq/gk+OYfvlUpiMC0ZwetGqc4te/8hMCME6bhzUwBt8kw0g1zsW5tQWW + 1Qbg7VUtUGy93WjMO/OylnuDFu0ykVWnGN6ssDOhSC8s5HCk7d1AWPFq6MoNtlCFOxv2CvWGozj7 + SA/V0USbWDd7mgvngxIaMBZeDNIobj28pvsVCfSEJgYqzzWmWtnB2jHMONpd4+grNPBLWTPWpckP + UnsE8xKzgR9ZerQdbXsNAlwy2fsB9ik4enPNdyMs97ytYj0+sfyQHtsaGnIe0EZnsIgp0QngOBAc + StNFyeOjD/ecyQXvK6S555tBC/y4Ewq1eGQgeTBCTusoKGfP199UzfHDervz1df0/Rdr1jbRCN79 + KLTnSUYkHiX8fQWifgW6dgQyIxmXy2BDCikk3uBI+7K9QZ54/v5qhsNfAP13vL5aEEmaMUbVrNGd + K6XZLZ9psTlR+eV7sNG0aSW8I3EMrnGI0egFZTszLuzciQ5z6zJ6gmmuWoMFnONtmuG63AmrqqwU + 6RJiw+jxPq4LIYwPu7XqTzzuSK7OAflNwaxQnfPmiMaVyDuOZPtsy5e0Tq55CVIyOz5BjS7R6qA4 + UhYnl3Rt+B32IdQSjM7+SoXaiBazBl3ty35HOXrdQXO2mqErbSMjWpYldHN4m3NrwzCzZzCfmr4W + XkWtzIlDhcbXhShRaRY19LK5QvRBhMmhRCZc1yNgl37kA8xRFY2XeaPNwdJVWZ1fcB7IZsd5OG6J + jpcPilr81jy6I8ykfp1wprsQb4/qCWI5EtK0VDRR8t+ll9ma6C+PPKS/p09HebsWxkyAoGwF20zi + O9hr0rpNm2ph4q+JXP2f6JMgAVsEwM1xIK0X9nhf2O126Bgg8MDFRZEX4FVuoGGsdtP8FWu6euFO + 1ols5xdwpusc6bKCskWgIz+3tbqb32YUOjKKPT1LEQy4VEMiCBXND8GE30YCZ1SzB7jyugf7mhhY + uSwtWpyZoudf4RqpsHIbsMczgZH02/lUnPfGQEsUM0jSczQWeqSFeKDtYUuIvl5D6qhtnl/qlXKq + NBeudOObeKs3DU4QXcHu2AmzYhYOW6b1YF49NAsqgY63VYfawNFfwr1BTclot4Q74JTmUUrSjayP + EKhD21Ds2BVR5tIZxaO9Pepe7M/KMv1+oBn5MP1L8K1rKmAPyG3DEVeF2tZ2NaKrOY51j3ev7A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '47104' + x-ms-client-request-id: + - b03b1d2c-d274-11e9-97f9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:22 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:21 GMT + ETag: + - '"0x8D734989481596F"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:22 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '47104' + x-ms-blob-committed-block-count: + - '47' + x-ms-client-request-id: + - b03b1d2c-d274-11e9-97f9-001a7dda7113 + x-ms-content-crc64: + - PnJtyDR/WDE= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73143d-601e-002f-6981-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + ge9o+7P4iCJfC0TxtzbXqPWiv6OHaM7UkI+UK/a6hvRc2eE646fEf8MxFz42JsWHqoqeQCM0vwMm + 9Tlah5F6j9mxtDyN4L9sawdVpW3mvinQXbgZt7dj+WA+IpGzdX+U68TALPWQmr0zoGcCXoj++scC + Cevk55OMM77exnN4FjRNyL8AlROi5E/ws9Zp43jgxfjjsWh46DNZClU49/zYEA8WYlZZtwYSDR9Q + H8rxVPCwf2A+BbQSDWcSmePXAMc+qcY2e0pieTSmaq2171qDaR67SB1NmHgqiX70DiEvTqYqdVJD + F9tDeRcqfdZ9EEB9HMPlFE6/8B+oEM4G8+hHcsWo+OPbmP5m5r5Sk/fqgN6o/kYADIorSNoTrRN+ + eU6hnBx0jV9rT7KbISwA36ivkNgo/PMCb4RB2tfxwMC/0CsGMA4J8fzfTtpJy0nYFFh9uDdwp6JC + Ci88pBG2DmA9iLpa8m57bTzwjDAEujWiONGtGhap6D/wrlr3Doi5wDzVYkZ98AAnHKQEUneo05Hf + WRc1zZEAyPvyTi9IYF5CuqmM9+YUcYK2LAYGFJiwEmtFmOf77x2oAMbdaQpwFo7DFC3z693LIRzb + I9lS9o8Q0VKYUG1XGS1/2laXJ7Xot1TAXifWAw/83TTDtzuFUNS79s8OQwKGRsKVVwbR24BQdXfu + WLthuITribPb3zTjhSD7oE19QQoEGbH7gR2P87MRR1A08J4aUx+Xsxf4ddDHCPi9Suc622WzL2gE + qeL3Yp/BR+rXNxPpsab1qz/E+hmgG0JmKY7luPdf5N8JTvU4jJxyFpVv0ZONaDFPG6RyKA1He2V0 + 7QXoPp3c5zQyQtFz8qXOq0mM7UZaFfVSBt6CrFLolIc3REO1IgEiTga0+FgbUMW3WsUp5mmkEjUK + AUxaBhYwgWmc8drSJlc3p+6NJssXr6BQNPwWPhYwOlgltmbXFG+hItG0+xOl3Hl5CurSCeAN7WoU + 1XpK8YKrBmXxVmuRk1PAriX843DJ/bVYmUvsQocOWe8+bFZLv8ozreZ6ftUu9BgdBQpkTmGuDjWe + szY22CEqUrM1H/KGm9ejS3UaTb7o/uR8TQ/cnXJI1RbAhiX+7+Vf4xoN7NCnyXA1/RzQkrI0TxwB + ykkZ9InZqQq8cQCKcWaCoYp2wCf0m4/LQ9HPRzYGwbA/yYg/aqGd6XnYqW5u77GCd8hWZ37w9DLy + mufBisyQ2S1B6JRp7qwldproA8mDiQ0naPsO/U39y707RZHLTzL4Oh80ZHQUfCVawB3oQ1dIAiVF + 59lI3Ih4QLIKYLUDgHN9qMrJeXefH5cz30uHwQc4usmrFnvaKgsqaxvFNRFWBoQqDBaF9wrWDQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '48128' + x-ms-client-request-id: + - b05625ac-d274-11e9-a1b6-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:22 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:22 GMT + ETag: + - '"0x8D734989492E55E"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:22 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '48128' + x-ms-blob-committed-block-count: + - '48' + x-ms-client-request-id: + - b05625ac-d274-11e9-a1b6-001a7dda7113 + x-ms-content-crc64: + - iNzsDgKN0q0= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73143e-601e-002f-6a81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + UABn7Yp8oZ04aKwzHQwKu47WzErnyJxO0ctpj9wtZ9o2Aj7tElq6Q3mChASzdweRyABF5zqoF3S6 + bQumwVBHyNv90JDCXgrXPjRJC297uEhw0CvOEdpVlE4dBs8nIpTvbrwQWaFZMFtAv526CrpBQTX0 + XkMDj+KtTN6XZgrS9nRVLOYwao4zlmS2Kmbc2Ve4JWg+zRmwa3DI3dynu/KuXWy8qRfP8v743+bv + 9sNpHfjpYPRMxyJjU4ufRVE4edD5Az0pZMpBOI8OXMflBp4VunqgDUd8UUxxZcO201M7K5IfNNgl + w6H10Nmr1iYBUEWEt7MAJiqPteDYh/Bsm+euOxeudx0V7S1ULI6HjjF2+TYtE4ZNgh3ErkgFUjlg + uSnE9oLGR3uJ1nhkejdGUhAicoAASMA4XxvXoljVE6XhxL5Rhnp2AJIdMm8KfHz+B/A3BuB6hvPV + PWX5OeXyYdfTByhk7j1Z4ZFrH7VZVopaBiUMBod6XOREKfehx12A6fGH/mgX6EOxDXq2xW1XvhwG + WBekuXPhH2NNbKLeiTRphs46ZEMCyRNJU4jFT0ZRz8gtxjAbUyR6brYXW5j3E3aGq+kvBZC0AZfW + l1C+YwRDypXjx3KzE63O0eVxV2PyxjvKi6a31G6sW43bCjDPQb1cajl0E9o7GqDyiYQuoPtSK7kX + dRXfNrkNCMF4CCWUza7tS5e3/rpzW+l83HJ1nsUVAtKKaQ6+tLRmhK9XvVHGsSqRS+Wf31IZQWGC + fj2cL33ZDF6cLz0kBsW2egUWgpIlGEL1rpavv1R+V0oBc8sQwuk9xFOAxrt5TNtWMEVSjVgjh1xn + fcP7iYybgcmt99+jtGMhzqFHCQWX2Qb48KufiO9pAduOy+3JdodCfUa8oyTgjj7ba8iwoQl5SxZg + /HHNKLuYFRHixattbBYHz6FUhpQTnez9wWJMjgyd6CX3zGv9na8UHqtOzE7w6K17HrTeFtHP2c16 + RubiGXnPHOEg5QfIJ0z2IEVVQy/TduIUvQZpkbO2G0Wq8R7xcteDnjJ8R+OQHBK+S33xm5DUWbc4 + j91qJpJqosLLomXLIM81dFhTjt2Z3TP6+8LrKR3bLKEcLp7woebkvp64rIozujXdoJl8P17wmucH + ALz8bbMiPgGPNldHqhyBOqTXRDP9cncFyJwG/C1XUQUasE4v4mcpoSVbRPvCWKSm+VrLY8C9rC/G + +MDOZwuouPwUJBgIlcnuo5d4BGYvrFjVdcIknIA+7cPy0rr9dtAR2X0XXoKhsemnmPspE6fM8ox9 + 0vVVlwerEdy9dcmapvdhpvolrQczRmuTNKbo3PAw4KGpt73VdOV8GqO9A35QsWWfU/cj92As6Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '49152' + x-ms-client-request-id: + - b067ba82-d274-11e9-abcb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:22 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:22 GMT + ETag: + - '"0x8D7349894A44AC4"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:22 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '49152' + x-ms-blob-committed-block-count: + - '49' + x-ms-client-request-id: + - b067ba82-d274-11e9-abcb-001a7dda7113 + x-ms-content-crc64: + - 1AM2CYMqCXw= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73143f-601e-002f-6b81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + tYBvMYMEEQ/mQ1MsAcD6nBW86U883T8/c+rYyIntpneVmxEUtrBZJSsSAH5Licd8LGlfmPvD1qhP + rewziJ/9sOj0j/01MuJiwicau0GgUBT6bMyZhXh2tYTcvB13as/nAcu1WgAObbQNTIG2vsvGC9RU + 0+tPktDq+VuwoKnUPcRLRbg6XszWJ7jOUJL1iC4+Ih6eI5EYdt0lboLYUY7cKHHMejI3+WMXGIUF + 9jenGe5/0RszqbVoXa9fgO4i6+tmQVZCZap35uP72p4rXclcHer6SktFRiyPZEUQccP4WhSXGonF + 8ezYm0lRwfezTw+G0snRPHtCXsixBGsXYzhNI6ad8OREb4VBh+3gyaFpSkS8wcj1k0km+0yZGBtN + K6iSg4tXD3z15jWB/FHZz/NfzqxdQmIhVhKssIjP2GLVqPo1mmMPycEr55J1k84FTRuRY8EGujgp + xysF/NPS9yL6kur4PigBY4gNkx+XUULSrnxIiPeVvQ0xMVZ+gb6MxgVBgzdJXPkboQimZztPpwg6 + iPPHDLH5bFHvQ+SoMbD3yQzznZ5AXbAPVq2/vY8YAuHhrndkhH+dqJrkJ/eHGs2245XBBmyLBHxM + wo27dlO81hu/IN0Iwuo2efpmmYu48/C51w7cwfP1K5apDlIjZxveR6F+Gu6cu5Or5pbuStg/ul9X + BhHhczwAUDdIDlzywtatfkRVdpcBZzinlvGpd0tV5oKKJHsjiMSRvn0BYFjoMm9/VJC2P34W6Zvf + zrOYkDiN7d42LoFUJ1gS9J7THfpg3bb6pYtG7fgH6wilayWfoDsSvatbp47EsnbX6vSVx/TuhswO + 7Wtrp0LPOpHAMcO9rGv13bNYY5tM0AuEXqx+VojrKdrrJfRbY3STINn0QMhf6nuytiTyv2irCAc9 + Zb/LzAh0zqkuyT0MQiYm4KYV+4tHIaq22c07y8xJ+HjNT/XnwHgnqTONJwuatQ5oN7sC0Fa2HwUY + 6ZXloWNtiB2XS00Bk754/uhoxjST+kPVWgtiyMLzvaHZ6WeWEStZYBNbo3Lddv2/UNMxNRMuLk0h + G1551hjU6TcSUssOclO+0+BqoLivSpWRKZrwK4E8o+dJzJiGqN8bdXSHQQGarmy8h61cze/lrB56 + H+bIMqw6rXJiJV4DGBGNbpUgVZf4NTUukMAkDQLaA9WetyBtqHlxXY7nOW4PlRV4C/vuapI3c45r + v5e+4Y3q9aBaU7RDJd6nnm3pGFRsYfBUFroadk9cJQ4v6sDkl5egp6L1rO+0myRILsZ8uGEjdp63 + xdB2Vb/hpMK+jvYVIeWFcHzC45E8DIFSDRwpXRt1vokR06T4mu/PcGuPGvo8JdFP94yuTsQwfw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '50176' + x-ms-client-request-id: + - b0794d68-d274-11e9-8bc6-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:23 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:22 GMT + ETag: + - '"0x8D7349894B5D744"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:23 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '50176' + x-ms-blob-committed-block-count: + - '50' + x-ms-client-request-id: + - b0794d68-d274-11e9-8bc6-001a7dda7113 + x-ms-content-crc64: + - zK5WlIkesGk= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731441-601e-002f-6c81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + wqzik5mADX+NSdqxnWgds8L6YmreQ4NhJHGJuz+eJYCfE2AB3INHjUVdJCiPmWRONJemCLvefosq + 7WhdCYEaA0pNbwaSwMgkM7khHQYKjrV07XcVxNtwb2RR2HvzV0NKFTDHmgJA6dyAJc6n7RAUcON5 + 6D/MHOwdSGQxYT8E9d5NR1AA+z6SMN/y4BGQF9f4yoABX51EWNcqvJ+3M4tuPXZ4kLJaRW2fwJwv + IflB2WrJvwVRZAgyUVYoXwFeTiPDkwRg2l3kou9CXpz46Ly3X53sOX1DaoNPiiqK2yXBa8eOK3ku + nOY7uZWUBois4f6ivLk2lgkz2t775MtR4eA6eVUZ/hLzjQuKxNBhLVMXMD4fjS2QkxKz2QGeszKi + FZTKyHBDTJ3dd8yPomkQVpSJsJRVtUVJTaRsQotu3m6wASUmJn6Bx2np3vhOMQsNeb9jbPbk5nIU + NJ2V1cR6DTaHghB7riSNSf6mbILT9q77X/APa0btA1zl1jZl+i8IoJ6VXW6FpiLa2rJ7YL9VFS8Y + fDQCvsFOrAda1k9S9OwJy7OO0tCjr48Sgno/cXKNWfwPiA9EXkqF4elAaHFcL4GP6Mh+MY5ON5Go + uGrN4kExne5jmmIVvamY0xLHgCq10EXOtQ9/kO2G5aR+366igV8I7sQEeSRFkBoDiu/8SoAdxKpK + 7cqMRu+b6ra2Q1Mm5E1gtYTm6m7Kqsm7HqOWT4w3Is1Cxffd4KW74Bee1gx8M/5zsm69gSGAX60C + Xvm46GkYCIDpEFUPX13MPAqMybh8ul30VNfD2oqZrueVYn4mTFioNuAk6wq7CAWgQbvg18T+hFHa + EtIjK8TjKOxa+tyaCHkij6Kv1h/hiYmVJyqCeIwMqTcFsGdf/qG7fUiSc4mT10PANVv9OjK9olho + HI/Wov4zkAY0DFBCsnxMnCPJL4inDZCJsJscwP4pXDcd6gXBcbHQOxAd7YN7YTljCe+B8Uokh3tr + /tE8v61jxgKovHi/sZM290SHzlV8+DpOuXops5KKkVW8megfQO/mRDQ6hK3oUXMS4dgUx8+gYyoU + eRp0JYDir0/od5IVKTpVSDxIp6maaH8cMK6UaDX7NR+ePITww3V8wFTweNHvwXp2VcMuM3KbLwUb + KSTbvVox9IgnRvAnZTaPwnbddMeDQvggypOrBAQUPa2QMTogl9q5KtnApF5td6616Hhq/foQYzHw + YKqUz7r6XBNx0h8a89pGQfwCSgM1BH92ZjbTwIWTuZqPAjeIn7u9zU/2knofGTXGjDe45RgtEKeJ + TWCvUPYUbaOSIEdy1gMZmA1CbsYDth9gk6PhWGJ9WvkhnhcKIizLzYo4GiFHjPeQdOw7t/Y6Tw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '51200' + x-ms-client-request-id: + - b08af26c-d274-11e9-bf3f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:23 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:22 GMT + ETag: + - '"0x8D7349894C76371"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:23 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '51200' + x-ms-blob-committed-block-count: + - '51' + x-ms-client-request-id: + - b08af26c-d274-11e9-bf3f-001a7dda7113 + x-ms-content-crc64: + - L7W9lmR46bc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731442-601e-002f-6d81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + uP1BpgKxkErAPEF3tNQtO1/L/uawy15jWbmSPeom/gOIQgLbP8gaZP4uTfRaItSqNYmqJcqoRF5k + eggi6iuJg+EgRkTURDrpSuHaBh3Ejk3pTlC/27taJsvvJwRGnU9U1HYNvhQhWSE2q42Eia4tteCw + 2s/+8GvClLZaKzbpAPbVdLm+a6yEV2p0EzOa1wiZ2lOAHbnz6zlwFKGWgig+gJaDiWmgz7ULBKKf + J3271/jpYPjwsY7rDWXeaBDscXgzEOECKFmwsoZGwi89+jabzuGLNQkFR/lKwKkk8M5icBHYzFnl + D/hksS0tXQA3mKs0TGy0sl+hmy1plBwB7mXHNMZinUJ8Kku0DX7pmqG3NbuYByApNSX021+dr2g9 + O5VKszeIiz8uvs+W7ZO1ZthGC4VYAbiAPUReDtCxonLxO7rrg1B6RGeIowbe0155BoXa3N1eLfXM + rgEIB92NupMxkmW9FWSU391GlxW7y5+tBg0r0PGH5tjL4hCnwDG1vvouTYhpdfsdpS7IZ1rJqF7t + FTDgjVJxRXdW3mlzkcvm1R20ko5CEHbU1plAI5txmAeGJ2uvlXOhfrWjQGa6T+YmBvnSei7UUuR+ + wolXWOJ8fz/0Ddr0luPHwahnrQ0dQUaQZnsXzLrXbrk1k6kEmX2CfLCyvYNcngzoGiYTwUbTX+GV + PuwxTerABlWoyzikQL1b6W0fo0I3i+/wixvvZNIMTUYNo8J8rc6vKvFxW9Y2K7LyDTITTpOLCS5W + +ELx4B427c0UbQG6uCxhuK3dWAzL9HnmubHmeuhlzOkQeBCfpB/1WcTceUxn4VkqLov2xGN7+sz+ + wGUKFbkxzaS4greFqfjMSTNnLd/+LwTKlKjhz3lxNXp+MGCNo0mQz633aB8DIL/Lf3XsY6x6RgOg + zLmeCKudfE14UhCJYxaQ5WzJ71keyo596XPYtGpFHyNPSJNVvdTsyGzY9r7x4dtM388ehXmWFz/Y + dxKDtL/5Y+cysfH8DP5OulFCcmIuY1Mbbos3QfBBIbEOg2vwgy1AahWrH+B+hNGbWw3Vg2RGhK3M + kfDxFChVbI0PjYWmJvZjBa9/o1DYKWzhFWjqNxCIRuTwCfjuMKTXNX7oZwjpXjDeL3y+Cv3aUoqh + UxZFWUMzk663d17sUIPWJ+ANRaUSd98d2GNa2pMS6+FhC7kjx8+qWmavBjkUpOiSghA7ai7qAVN4 + VAifkZmEFaGIsvmvqxqZiVAbc5JEMFLri0Tp9SiqsRnLKrVHgdhf3vJWES8jzqF6wtA3ONES/I28 + kZfufiUyKdNzBcOCeFgm5H0nwoPzjojPDVUErQShHabf+w5T5nk6wHRkqT50i1TIplzC5UUtlg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '52224' + x-ms-client-request-id: + - b09caf92-d274-11e9-8331-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:23 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:22 GMT + ETag: + - '"0x8D7349894DEE30F"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:23 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '52224' + x-ms-blob-committed-block-count: + - '52' + x-ms-client-request-id: + - b09caf92-d274-11e9-8331-001a7dda7113 + x-ms-content-crc64: + - EMYvWAR2Ep4= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731443-601e-002f-6e81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + bx087c6ctxplwhJt0HKxxLbvchJ1IDrH+CQkZZA8x/IHVPBAzRGJ2Un3QQL1k9ILKC2kyxifMDT5 + Fmv8wK9BvsBW1TM6HGVUX7Ht6w9BsYexhWDRUZjEfztaO4T6tP5aWCBQs2q/yNz7pI2NjK1edzqL + ETkLy4PS1jn9sGEun3D5JdS5U3V1lIVJOn4SKDMg7BS/VUUuCRuYrHvnBzrQD3pIz14T4ipgDj7n + C/gh4p85lgNeXsBMbm9v07y+tOB9D/E1BnMSjkMGZVm9DrKoWeiPhRnxFhYX/nSYaCld6ceAGRLP + Cg/x5KBNuCBzxOt4cfYelI7OrMcG8Wr4dg1RvrVMrU6NpOuYWFNNe1t6OB0gvmyi9eZgiSPQLUfs + jTlj/RLulcLwI5iY4WK6C7kHr5hmL2yIh5ekYoKq41zyqa0z33OqD2myBHpOTCskHtS4hqm8fjwE + OSbVW1vbhEAEnriOb30R8vyzZva5bo5itXLbKgeTr4q1WwniGxfbaTdXRPElwp6jKRG/7ncxCXm/ + fqSjcWXhly2bO497iqafZ5N1qusbk6v9Cr4HLQMbQCMP9EKJxvcHMDY+UPBbPt2sJerVbwjSWT29 + HZC3suZ+trc7xJAf5jEe+2t3SILJo20mA4NlXIaOyzuu+kw8HDEsfhXlf3BUMZ94ITUSIo5fFVNU + 89EkE1APQP2DLiGVnObsTBiOD6YOpTCMDr42kExWi8qXMdkrUmlev+0yNKmkEpWe8DG8Me93sg7V + 5AxNVHaJgu2PRoWtRjgeL5co6GOUMNjajPRF4sPRl7uuVd6MzchtS/vRaYOER9AQfkTtO852yvho + vEPC9LODmKpY6BKURgZbCXVQbbAjg7RZYaE6a8IN1G++Qh3WhLn6jzhwh2fAR5o0cuPocOzTK6H1 + NX0pH/uhMgVHHm6kbyj7SMZVBBjQiEXNg5MfQ6gQAJDDAXnrUaxwJSRHCl4v7bn6OcSHaWpBQK49 + PmIuAYMCeefh+c3mQ5S9QRxVmNH3FMtOycHrjKcEfsWF+s0ZVSy15r2CH3JjHznwIRuGtvps4VUZ + n0IYHX5+7GqgeVCgEsksfoAYJUnZ9F+6V9QupRk7f7x/n17XeVkcIv6MUmxkGkusLM+CjikKUwG3 + C70m5PDgipc27MyCL8RqVDRketn9FQevAGozCU04cfugIaT6aBjgXDRgNwXZUexywHMPcc+gt7dS + hVXV4NM8NYmw0KrLKkQAOitxPgFOqtgsabiBj8JnuYh9VgNFk7e9NfkEYVynGIDNIc86aeBHgQPm + Wdh+PuSvHDp7sy80Xc4Nm2l9ZstG7Y9lZfw50cJnqJjaLKFTN15acBQ3RuXvVh3nlL3Sa3lQXQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '53248' + x-ms-client-request-id: + - b0b51ed4-d274-11e9-9b0b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:23 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:22 GMT + ETag: + - '"0x8D7349894F466D1"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:23 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '53248' + x-ms-blob-committed-block-count: + - '53' + x-ms-client-request-id: + - b0b51ed4-d274-11e9-9b0b-001a7dda7113 + x-ms-content-crc64: + - rI+tp6qmVc8= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731448-601e-002f-7081-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + nTKt/t5sIOMkoM0r4jFopw2s3bN6ipheKQmnxRzd42GRESkYNFFF288oaAuNA8ob3yFzxt4K+K3x + WZZuLv7IyiUnrliEc2K/BR8Ot+d/4CBviGYuZeappJ7Ye11flLvw8mHqi+XHngWZpG06tm/GaI7K + 9Xq2ZGAq/InJq+VnmrPBe5deGZa92L0sqdyMav4OFIvQG3kfAJ33GpgfgOObubICAM7DxUiW7t2C + EPvG/UJpHM7EXr8WeCgM3yxzboLboNLs8PF/idw36GsOqXsM7z0XgV4MVvJ+yZFaO5LOEHHUH0B8 + 7aAh5943F95Zb4DlfEKSXehxjwnSJR8uaaTfoG4Juckxo0lHF3M/T3e8VODBbmw3SczXjD51z0Ay + eRuIDB5sV+w8WDbrUX+PJ/yLyp0StTdOISeO1stCt1PX8goq4S3YSeTYnoi/qKX4h+o4RYOwQtJG + +fE4DkOkZOo5Sx1eb0gj6slTednJ+8wVvxiljzG5WixxZf57vVflGDzYOcjAQWHWkwOwbbDcDtRU + LnqgD6pDnbJu6eYRfmkUilvJItYmxReh+0hotfZ82I0BqEwNmaTeR/c1NWYB4WctBqj6m0aTvX8n + HkmFl9fICzz+ZDvGXfIZgQuhDpYttiaAX+HLko7vpcpsf189c1e6uG3m3QmmObUZk5exeugyBcrI + 0BtSOEhPc+cSpCQQ52TUy8SkjJCenJwSZqq5XGH2sc1CJ9t27m1BKru/+G3hVCdzp+RfqxEfKIa9 + uAoOfEBtUUqGzALpflcwEdRhFu72n5rbQilrDQqdJua+JhNbTbfoxNZxe6N7dKZlhGWlysZMa0ZS + 5jj4Gx6DnHzizUx8Ka91Yc5keacuj0cJbJVrx3GB6X+aq+OB0fStH4VOjJ+uJNDPqjeiSsxNI7zV + ZT7ceOY0GmQ432YZF4fslnY3Lb+zsY3RgQMV6dDgt0OChY7lL0YdufswDa/7Qn92mFCJjMQA9SAX + Fyilu6vJr+IAdJOL0rVVAMQv9mb5m7OLSA4n+tXBhESvFJ1CGi6HNpjIMurW5eigZxU/NnAgWw14 + 2tt5sX3nAFIdsf0rzdmI74TIFlZaesemgw3ma3s811ub26Uat+EXpG33A3uGRPDcCY4J0XeoWmu5 + 2CU2HWGEHevGPFp20rTGLCkgDA61KiSA8WMQuQdMrHyufou6IrXIObteIhdlq+JYqUrP8n21wXod + IEAqu0uh85w6CWk2fR3dJ3u+UOuxLwIHxC+fomdt4ybi4iCrpix3ktOGlHEc/saH4EVgF5psZ/1X + 9mM/rOPYgNkmW9J5BCv2vQG3rBinMllxp0ETNXoVpeZlWUCjMz61L9IQ70Pt9xIn6PAlnA3kqw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '54272' + x-ms-client-request-id: + - b0ca7c02-d274-11e9-96b1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:23 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:22 GMT + ETag: + - '"0x8D734989506DDA4"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:23 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '54272' + x-ms-blob-committed-block-count: + - '54' + x-ms-client-request-id: + - b0ca7c02-d274-11e9-96b1-001a7dda7113 + x-ms-content-crc64: + - VRFTPo2OxRE= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73144d-601e-002f-7381-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + M2OzxCwxU5yuzndCMyHGsLiWLgFwKqMbOEMOal0YmR2oWXujleghEOYS7ZkJF8ZQiQ8icCiGLSTq + q4PWo8UkCjy2S9Udtz+4DI2eCiu9Rt34vkUSentoHLyPUPlA9ZsLkYEkaiHJENO8Wo5id647iuq1 + +lLm3idxw1etmtcn4N2nKKZsBmscJzQy3IbozPHIzCYZz6XWWRepLuSnr5aV/W0a8iLLp/NTE+T1 + bSCPt7ye+92kdTlXksLzpd57B2VMfLAYz3Uzpok7u8/kkCcESGiCsKPi+8+XTev0erX9mIrvFB7C + 6VVGx8BapN2SaPM1KAD6OB8zG20qJckD1PnSxY0aZ6LzIxnqTr7eyZ0ifZimjaAoukWIxkC+NCCQ + BMjGrGaP5b1Jub8lJC3xQDejTuZzJerhaYCR9u74W7/279f2qFcmVZlI3rKoiTtWDuidSgMV85Nu + nZDwZ22DTcBnmtnPTUqw8CBZSwg+yypXFVdudZq8r/VrI41I+lysbIe/2RcRn4LtTx6aCO6s0cAq + N4fFypnTpYuUfCXWeJzAU8oO+rQYfOFvEdXSN0Va95HgfmAFFuMZtyGdROrkSBr0UNnqT6EO0x+d + bWBZ6KYmilQc2kkHBb9luKqUcVIJQ4QJhHfNqqFyOZFNFpPyEU7Uz7as23wb2wdJ2hhj6m2Q3hJC + GGMhAWa+fLXRbc6Q71pLceryXqCdZIdzc4EZzFvhJavEGxKoJsKaKI9jOBz3vu/GSzKouE971FYe + 2Zkl8AgfmEYF6JbCTn/yRmzuYiY0iIe6YbgC7ENvLrHN4DWRtcbYliACncFzJVr49mYVzMH6ZRET + aQ8/LxXwUEBFTl3LpDHh9vBW40BapH+NlU10ScJKCH7N7J0/miTDacU0SeybuZoXRkEPzgqIwib9 + LXahxC/Bygq49IrjyT/c5kbBZuWonMCBXUorBnpUWx1c6Y1sWMkfZXRl9AOdxpjPM2RGgEPqjhdV + soDTj8rIsFiAb0124kRmnxJDwnjgmaSOHza1xERmrNoD7yrxL63y5s7sngt1CRcr0EnrjLnIvNiF + v+bHv2fEfX7YFFIQt3vzzKVC9xQRI5Mj9XGYqng5gJy6Bgvc0BGdE6f7Mz4d/l46UUEz1UMi6xW6 + wTZ76foU4GyuB5bMmqwIsXLeh4if70XzmDHk7YQ5piLBDbW35FVGeK9mC+GEMEswxCRJuZgHas7M + uxItqns1O7vql9VRQE7PsyHK5Cqnlwf+vsZiinpn7wGn71VWwPkGv7u1INLEhgLOaNaSIysSV/KJ + Z1Kig5Lq0h5QwxFAYxNYbMxOIHu4r53JYjXAaNgYVsK2i+mBufG9k8fPlDfTHcNiq9HN1iEwQA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '55296' + x-ms-client-request-id: + - b0e1679e-d274-11e9-8deb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:23 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:22 GMT + ETag: + - '"0x8D73498951DE847"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:23 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '55296' + x-ms-blob-committed-block-count: + - '55' + x-ms-client-request-id: + - b0e1679e-d274-11e9-8deb-001a7dda7113 + x-ms-content-crc64: + - EvO0sI6gP9A= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73144e-601e-002f-7481-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + ugokE+xcRJWdQWfESupW1U2D/g1x8FgubiJco2Il3U5HDBAl+zlkAbqXH8NOXssQM9Zw9vEnUsBF + LmPZe997aDDyZZkpXNrB4xmoEjFYGHOAxNJus1ywh/INkZQWDd0WkKvOe8t9lxyXDuv+1dsDHoNd + NaMP6n0lAf0gwq3RUqLDWut8atg5FpWiMpLrYedxWo9RR6fAnxppcf2/Geas+QlEySzeIinHuGX5 + UpOkkFAOQVdvmoDbrWUPQQD4enc64nyBGVXPa0zs3gbLwq8TxYL2CVsTr8YBxEGl18RZ0b/wwSKh + n1S/VjFJAyx33rdA0LFj2WDY7Y3i6UegvitEUnOK8I3KaidX9kI6XSYyb5fuO8ylAmgU/fB9pDQ9 + MYYdkL3PhSYHKBtS9ExfOhljqQjkyw3OJnLNXRsYnvdWsAGZWFEwUWUPBiQvd5EHwZAaSBafS6+f + /SGUKlOQVe/vQinrgjCp9B3BiE70VKDqSL7MX1mx1tM2Eta5TJbuf1SPbDO5JOdEc6CZ/nyUo2lF + xhnv37FVRwmRMbVUlzdNzaTu0IkEIoumFd2ZDPgrGD3OKxFXBOsqNiOZzIr8DLwiY6oQTwirPmj4 + ijuxdOwk02QFSarvmC4GT31eRkYgTIbvhw4OZ13QaZ83pXKAFHwIP1nXrwfgDppzaYM7JCLwAGlf + Zif+LXET+RcOHRdEGtGVb1FQQ7bcutQHxxndEP08Ce/aCzKyfF4BZ4v6UC/xClX3N42F+q1Tqb7H + +yZHwE5AlwrOFSqXUbTA9kDAJiqijKVn5ieLpVdpBRB/3KDmBm4fPzUMKtVynlAb7sD+N4YUS6J8 + iedeaBEKTEXZCnh7xKdHPWQD2Sg2l4w7nxAKHkYXJycIhgmQxk9Z612OsQU8Nez3RMZ77xOAZoaT + JEd2xpR16T9+wPNiMqCmfriaTm1kYrOngtCE7bkOtridKZv1P+G2X+SYvJctXynZFmZ3Z3XT7nTr + uMKrqi5tnGxRv4yslKF//YL7CPOkz0D2knGgyxDo2jrtvyOE5dkna4gPgj7+EIJ5m/zKHU6oElED + m7IC78Vug6vlJiug6hN+OVBiVYnvrRgQWfAlZXheRsBpEoCaeOElpr7S4D7kky8b8RycDB4BNO6y + RvHPoe8EDQ8AkxqgSEeGT06VQhlkwqSqi05Os3JOKG1F7OiJ8Gd+fxMY2Mxlqz5YX1kQXx/L8uEg + Ds+VWn6b1ZhWzdNRZl8nKYTzE5ArxNhucflCF+gqMOz2ZPRPzfETtJGN6Ex19e8zjTJhcRqeuiI5 + hSb2f6rmER4C6k8ZcNwK9JCV7GwbQLeS4CfhcKs6SDpPCD4o0LRYeRmQydbDDmGKQ1hyBNZnWA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '56320' + x-ms-client-request-id: + - b0f35d82-d274-11e9-8b99-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:23 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:23 GMT + ETag: + - '"0x8D734989534A494"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:23 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '56320' + x-ms-blob-committed-block-count: + - '56' + x-ms-client-request-id: + - b0f35d82-d274-11e9-8b99-001a7dda7113 + x-ms-content-crc64: + - bPhJ/JJjz8I= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731450-601e-002f-7681-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + iZOYSgUsG6mwAst/ude4wI0xHMtpsdmB9lc7wcWACleoOn77eOFoPXfqMGfNyILnEiPzW2N9FVdE + RzI9jK8Ze0DKnTUlkLbI+DzXoxr0+yHuYyvHQBZxj3O15wyWTD6GHBkCOhY6FwOHDhjUfIyM07H6 + NtebeV2Pv5+7v2Wv1ujhazbjt3NxV4VTNOQwUlSp30hBsVojIPY6Vti8TKlIx8hIUHWwrdWbkyzQ + nNaVhNgdX+dFQyUUEyyE1y5vEZfMKhCBQKQABXwRqTjoLPr93HWsC0TulRMErZA3T7v9SewX2jiy + gmZ+f+fpOSXFryvtJiM8sYt/rCxtOOWkkpaJGQ2qUyDgfNOd0oZqTbaAR7CCwmbnhR8DjIcvOTom + i5mDG8vvBzp0bUv5VC4/M/7PNgfaTAxxBpvyuXDIdkYxKTe4HsRJ2ydP91OlX9w0LNAFwuoD8EjV + EMrfRy5uNDAIoRwSyFzjsU1ywxSoX2gHf6Dcdm+9NabRFypOtVlr7ik/J8ZPuM9RcL7JbzVhZfv5 + JqZHB9x0mgmDvBIqr8vL93vKT97mI26FILc4Mpp9V+EdGbrmmcAmOF/vfnTZayEiYhJckKIzu7jI + 9NRn5aeGVdSk0n6DwcB+NTXW1OlzbKQKZ5U5N60uX9vEAdGcyga/u45iaifPK6ex5iDxqlGRkNRD + C3PU/o8lPAJNXE7l4INMrttbRJLAECo5uEj+MKRukvL0LPrv01/9/Q2g5hdoOAWBLyoiKAi13Q7k + FPHmmfWFGktGnTpMImJshTZVKih7NALSb0csgzAcsNdzeyAY82pGuvy0J/EIKmjrlEyayzt4bcJE + 4SYXmtozDcR7ZnSkKdFoHs6F5Q8k+Vf2/r913fOLWB/I3TGazk1a31j3tomuAOfOOJ1hYVayfNZ7 + RSeglUc7nOEYPWWIZNQfPfUkf5bo9q2rjhAMlDd866nUUh7lxbzCz3lwnua564Y2vT7IaxsoOPOq + GQOann9ZSXt/JEFx5qIcFv38JvPd1Mh4P1HJwi46+cwV72aTTMIWyy9NgFSilhsVeIix+2qiF+YG + pSMfS+h+hVQUg4ympQ4tnku+8jkIm90ijFqh0t+gTgGIyiJN55HkbcOTQfO8DpdhuAyrMePhBeW2 + 32CpQ5l5QoWvE9uVcEuxPQwr8bXosuYU+ssl9iHwaHuHmen1SHlqfyXeOKWuQBPt0cT14RZxHBSb + Ebihc3y3vRoZLwdLuGxHfbQXMD78GtKUnn2G9c5ZitjBNUxlFaDZKFvRThlCrpOvixnf6JtSYbn1 + ekcl6rJ/2Gru4ptjt1L8a8zFAe6JNEVENL2g+ojseGUrGJxkCVjVdUegbCjAim5oMCi3n2NV5A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '57344' + x-ms-client-request-id: + - b10a193a-d274-11e9-a6da-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:23 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:23 GMT + ETag: + - '"0x8D73498954AEBB9"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '57344' + x-ms-blob-committed-block-count: + - '57' + x-ms-client-request-id: + - b10a193a-d274-11e9-a6da-001a7dda7113 + x-ms-content-crc64: + - JGwZl7pG/g8= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731454-601e-002f-7881-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + hO5w97Z/waoL6Nx0PnNGW/2ls+ckdt3bXSRkykXgy84S19+95Z0myicSWxiv+5KhbHSt6sp1kmOx + 1YJRUG7I9aAuknD+FxjU+PN/lZnpz835BfL29+i7z250ClMFYFSEuwi7x6JQSjRyV48430yHV8V/ + NKfT7B6r/knCW9aWBNGAE+7fF1POl/gY1eDYkRed4bqy6D9RWAfcYzRWOQA1KNbIdts/3fzyGRlv + Bl8QbYxb95xZRUfqx/TIL/OPc4v3dl5EflHEK6bknRINDDhPRcMZI/a9eFDqt29/uTMJ2JsAbz3m + GCoiroJV5Jzye3d5EkPVxMRsJc04pVyp6IVknIsaJ/w4mVelHFVwPJpkkx/7Rzi6i9HCdRSzpW/j + mSJH2Zn5c4OV5m82pL57VeJStA5a1hx9B0610GKDH2012utGCyo4jQQfN4hC170FoKv06pSeLI6+ + y8FeFUMLvUU+PX1eirRpPzvWYWBD3UoO4v7nRwN4B3eeDK8oU5WQB0p8bBRpuk8eZVZPn0rXFJyn + 4V1ErDJz4EGmEAxnyaqLb55QH4jRW1MwiX3rghLst+AcoKQzx9yeeeE4rIPqgVE4fRMMPhDPVrzI + ideJQBhpwPHw+XRY40tFcpzmwdI72mDkKjs2Mc7lVnJyw03NdJLKCGzwJON7HFNMvvUCO+TlL74v + x/xCaiXMqtRWdUX9C840HIMEYoterPolmbI44YsK+PjX6svowawqUTMRTNnjA42+4Uwd33PTokwQ + MfalBHloCm10gKcO582tPUgaj0F5HAFPez0+iXH8wWfPTSwDHZOtrKwFo2tnADVuaZlO0gI5IwnV + I/61KvzEDpCvLEIR6BFXOUT+BNmfAHdtrWOipF+eCCmhEIfz64n+upIuUZ4eG7cIUzbEGsmnp8FS + JdeBWI2sd2o8L/GtkXlcxE8gJAI5V57w1QYFKc1k4/4vm0GWid6RCAGi6u2TeqZy2X284GBf/drD + sWWrTehXTvjZfcrtJ8oWqCwHx9wfoXr+1OnJpUIC+NHk0gGxgKnnlzdbucXgAl5oYY6dWvUR9t3R + seHkTQxHS34oc8vUr515F6W6oXLgzgM1Xqqi9yjcsESwwITrMy6DDtJcjd44QHbiIAy6rbsdK6ZJ + zte84EeF/auLw4EzaUWNjSSlG07NBkHKUgl30l49zN6GekoOr/JZv96yzEGc13cy1z0MKU9eIhKa + W98IzwNxrTJJrqYPKxrGGEl+v3UAuvbqChEIMpOF6ot8yvox1ljeCAc7hLFLJJ1jOk1YLNnKnI/I + +Gzveegf3FPv9n/RE5tSUojtFhZNEI1jFcbyeiEbtnYoyw3X4UUZdLM/s+hRMlBZLHJVBYztwg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '58368' + x-ms-client-request-id: + - b120421c-d274-11e9-9115-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:24 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:23 GMT + ETag: + - '"0x8D734989561F63D"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '58368' + x-ms-blob-committed-block-count: + - '58' + x-ms-client-request-id: + - b120421c-d274-11e9-9115-001a7dda7113 + x-ms-content-crc64: + - SHRcURxEHkY= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731457-601e-002f-7a81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + STb4fkYOkiK/CW/uTOrCgCRPCb8Tq8KEHjNLxxTe+l98qDV3iAOXY4baat56zAktEmVlPm27rcLj + HCR8iJBqFwGctOgykTPplFqd9O430cXkg2LdTKCJ4r03gIlLJWk57qxDcoPtYsGu52NZ93+5oj5i + lDMBzjh6A/kuFU2pvGzrHdE7WbPRRYF4fKCWsv3KUV8/qpv8cGkbnJwSOqo7qPa8BLF8NhzxN+x5 + 5C4xDoi2jsdEgFnjzdvThymQjCBD4Utpye0kzPt5+tkocYegevubprFYlIm2D9UKoZlTI4lXSLXL + HOMGu9pFoogjNUSZwb9M1RWZLKp7iaSgw29fCiYXHWSgD/AkCrsv97Om8qKHv85QnOOUswj1o+gM + yxgCrKVt90UYbArornKeOSH4wuFG97ek8v6K8Ixx2sWibkvV0GvBrYOLF4NEKZ15Ix8veRBqo5GE + MFggDjeG9wHvmeqlcHb+sthbIqIDr2CSBsJt7y0pdWETWFEVyg9csFenR6VX2l2BmQR7akcN5rre + gfdYwkRh4yGDaNdwRF2sieHSqWrAhDSiMhAYYNeRX7ESuLjBQ3pKSMao646dxi3niNQ9sA46Zq7s + gUY9QB+LyBHZv9GMrG5DpQVy0FDfgsroXZpPrH02liyUVioCC4oY3p3tcs29zFvwmSz1uIgOriUg + noZmrHqaffih1yrCqWlo+0EZ8k2c32MIxc5gxR8xCOOausmxRFC9+DhARiEi3hhuyHXnbsYbcsK1 + N761NjRtnb8sZPVjibkEuiqYlwoQxzkc243Rp2jqyizYqFV0LVSg8z3EhHqrjj+RKNAouVcGQNU3 + 6ALHQw1PitaLEnZcKH3hm0oxENuX1oTctZfu5hj6NVABq7DJneUAmpp8uYRDgLwRRXukIm2CPwji + 8akF+Spybjlp5PCgnt5Ych3KTSrtBDqyFiD23HOCiIu7srwBMnFGKxM3GRq/goghFlEmuaBcuUKj + JRFyCO02V8r2HYagpGtTEnj7RDOLDgsV1LMAJdbMKHcJMcm1jBLLXDJi0rBQMNd9PSy6kksNIdaJ + DlcgR78Z+O7H1xiCpFmchC3+ghKaViCqI3/tjrC0oJJyDDxPdz2D2VuMiH1nJAL4jrJ8jm6jrtVd + erAQTsaYWotJFxiD0CWsHEB8ooiV4ZKsaGb+SI2UnXu3D+PtqwVKLBwBfvGoaZDB1KDScefRQMC1 + NhE1kWWPsNReo6EJ7wmZMHk0OOV02WdsVApME2NWZdWTyT+4KtdUV6gBHe8t5GzVXUVXWTHl+Km7 + y7tar3mk+l9yCDG1DfE6y10CSbrTd+AEAqAGrZW3bRC5aeH0wEGYIWdBiV1HBjdpcIS2CF5CEA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '59392' + x-ms-client-request-id: + - b137331e-d274-11e9-a219-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:24 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:23 GMT + ETag: + - '"0x8D734989578D991"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '59392' + x-ms-blob-committed-block-count: + - '59' + x-ms-client-request-id: + - b137331e-d274-11e9-a219-001a7dda7113 + x-ms-content-crc64: + - OGiwe0Ea4Ps= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e731458-601e-002f-7b81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 60d43DO8ahUdMcoDFAwnjCBWQekK6ksVumt+Rqc/D4RoLB+nd6SkUa5DgHsQUjE33X7U5YTtEesV + 5XE4MxDsKGPSNIx+JObO3M4IwKHvu5eO5IQsqB1y2msMO35lixEg4hkkK8Vw5Tnnsp/DEiZ0Sr/U + ts0rxbVtM6d28AC9nY6Hgo90bhG4+1PYzk5fVkUF5dGTUJHz7JAvshmjeNkaR03u5sY8luXIivPT + SFEUvZdBqWKHUQgWqdb9RcVEQG9RCCIOV8+ZQFR154cGPvic+iM6QSdoc52XS+TrFXbhd1mKpI3v + Wp2oWnt7awQ7Tv0MTuo+d29pWZiWFfGg/XAzmzm1OtGE7ibvxpH7hX6q+CyeCPQ/7CDgQ/mj4Zcc + 5ZBm9JTgeSb6lcR2NwNlu0TKVS/2jTm7DFVQeI8RyYObxJfUjlsEJd1ptE39N17uIRRUGyCG/nVh + UthMOyaKqovbbGPaE1+K8cH3SAOEbrUYF5TjjWarvy+l6kOx7ZBh71uXFZ+SKONJ9HaE7x0Ph5ea + NNbkhLJ27HRCzpl/Ujaxn+PswjbPWc7E+89lsmnLf/4O7SFsKdIwVrJBF4S8GeR3QxbzwqlqxfKB + 0v7RiQ3iN8gTAubJPjdpS2+PwYgOCRwQc+OuX+TvqZRRJwqrrOYZzpBqmDpxfpAyuFSm1k4bfjti + GXVO15d3Af0I76IEHkqb91+ZospI03XLPzBJf/QFB9mhTH9A0TOkWH/8Oi1tOi1YHyJ81ha1RCvS + gk9emgg0b1qH5zkfsRsB0xEUxQ6fyBH2qmJT8HnU2rKRTUx3avo687wCOMqT7xbNmVRgU31w+Z1Q + OSP7TnoJ8JgshDJzSQUxgW29YhJ1GLox8A+6vyR17Zb2+8BhN1jXQW082aYg7HQ5HyoCvVqIA38O + fVNsXR4abkmwpNY+GvdeCQm8rjEy4AveZDYStFtEH7KNtNiROF91IjhsV9lFFzJW5H76Up1i1wP8 + bhI6vCZFI+x9IFb+xEdUm/oIW1bm5kPvDeFa7SvE1C9IhoRqJ9gB0o4I9MeHPOmxtCygewe5+nKa + 4qMp5LIsfTGH0iGnwoT5ojoIhcIzmCaWRWktdMsi0cbwiDfmOJlF1ijEveWi7qn9Wq4RoBrX8hvJ + h3bb/en33ZXLHmDIuDlFkrqkSr6Qv0pdtooNlBukGp5i2q6gDPgKqdnUeTo8vaNRxNyrcxovYdyV + ToUEgO8KkMxzj40bfZ2FqIyDzuJyQ0c1hnOzHy29qXHX0nFxyl3ZAjNjcjQ+hFqpD8mo0vAv2K/C + GIj1QeMCnS9ABcmQ6ESMgO2jAkKlS3aBImczNEy1+DbKtt5YE/mRNq4DiUqn959tHXKYKV/r4A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '60416' + x-ms-client-request-id: + - b14e583e-d274-11e9-8744-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:24 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:23 GMT + ETag: + - '"0x8D7349895911F5C"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '60416' + x-ms-blob-committed-block-count: + - '60' + x-ms-client-request-id: + - b14e583e-d274-11e9-8744-001a7dda7113 + x-ms-content-crc64: + - BqHSpjeCku4= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73145a-601e-002f-7d81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + e7RxwVWQAYHjPLPv2yJhGG6QKHZKGte2N6OW4zJ4P20GVgFNiq0M5yzR8X+eRIo4vUKr9b9r85+q + 8agMXNnS2BPqagGBDTYrdMiB0HbidG2D7OnXsdV+j8bdIrISkCKqeb2LBryaxsMDRVC9mxqrnovD + PCaCM6rniI5VPNUWLWKVVUwa5gi/MXoilBk/TZJdjc+JlxEzCroq4aq1caZOqivMsQoSpFITCjWE + VPo9eTqIZyPyt6XlLWA+Lz7IG5VeJf51lHBec5v7MdLbrAzMApSJ/mHMocFUUcxSZLlIJKK7mp2o + 1MTeE2FJZJLkNwzv0JY+GCmsAUsKZ5UpMWijCd8K6m0jFRgeOdeG6t9AAaupbghwEZDYxtCYEW98 + 5j2+HDYCJwirgZRhD5gfNlLo+BJI6vqtF6p1fVGLpReX/FSBAYili0XQUNI9YX5NTFv4FmadslIC + KSDGOtA6LQxZJvhS7B6YZEZVDm4R8t3gk1BnBDPSgJyP4j99+SWsuhmhQ0hCZc+ouPJ1JLbfPfLH + Ibdp4j9ljQe+8zrqxHL1RYVsWKhFdlny/ilUzQywKcfmMPRh9pQ+63wRi3oEFa7nsMBMRbuQutwo + oYW7q/0fysy3t0glvk7Cfwls9uusYnMxj0eEiqBF3u2+c/0eU0InDbXjCx9JC+JYtyh7plwdKXsh + ObAtMr2zz6rNPWsmdZxlj8XecxgYMIBasNkkFCM+h7HYgvZb688NSCh/Ovdno+kD7y8G/ny2dJf4 + wbcYr9bgXEpx7aISVqu+zPL9oNK9+JdGJW8i1mONKW55L0r9IducDsFCEw8cj940tjn0xc549QHp + t1RgWI4QtIRPe1KuhNHbZ27flLpEJDdIe5aU7Yt4u7YhTg/e4TUgh9XxS4gOX++/qePZmQN/AYqX + pSU4/W+28bmIe0n3rdvfmLYqbgjdNfMk1xVPJa6CJpk1v+L76BdrsqA3W9Ns2OM8BLYy67PYZdYU + o94g+Xv7a6Z4ZybRgMjYioxf7EbhAUYzmxEWBFjYvHX8eXS6viRxX1aSNi91rHqJRBEnDmP99ApR + KKHLNFipomLi0xKO9vqOJ7bEuu1NUOuyEGkSt4bNFrVPbUyJXEF4LI6BEVb8Py8X0Sj94CyI+Mxe + M9V+vfnfE5TJnlDr5raM5aI1cjDk03oL+6HADFOdPZqkFA2VzPukIzZUFJSRU2Oy5dflNdAgB3+f + holOSa4iaem0PRbku9HJHi/c1oDnAoT5WIVX49ZPL22f/Ia3GECRZhf0bB3Qg/JTCauNUnFjF/5T + T9gXmGtUlXBYUDiZjDqSfWmnBUTUx8o7q8IjGm90wDaawTMRUEQaErbXd8Ryx2f+081k90xYMg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '61440' + x-ms-client-request-id: + - b166b4c2-d274-11e9-9fe1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:24 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:23 GMT + ETag: + - '"0x8D7349895A938A5"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '61440' + x-ms-blob-committed-block-count: + - '61' + x-ms-client-request-id: + - b166b4c2-d274-11e9-9fe1-001a7dda7113 + x-ms-content-crc64: + - 5q0G16K7oFw= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73145b-601e-002f-7e81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + pr9ftmGbeR2ez/qru1YDZdNDdupvbpdbMwZX93RjH2HOBSHRfofh4E/tEYjtwdHQvliQlsynCVpK + Ft9afCexAuSHeXmCe0r8d/dE43ZWg2rtmNOIkU7cFjnrPGc3CgQbdTcAKSxLyXr5sWPZWrpSmaGg + 9QNbzeiMKP3WmnjF2BczW+iPYqyenbzaokGzqO/KS+LgZ36zTT/Vxa4tOAeYrXS0GZzAtKaL6zHN + LuJ0fVCdrDQt13KF30f0XjHmchjcLm/VyMNC8FAWOCy3O6YjF6AIJiPA8BOyMX4TJPy4KBNb18eT + a1eyai8xAa4Of/Z4Vc54tuT5JUAQTmWF+g9AMGKSOhrS1jUI1S3y4H2fZRDLjpqqiqIXMtps32nx + AfJ1E9FzXPCx39/PyW6blK1Qk5zrS1dgilwH/J4p/lNf9urXT/X8dT+VVHtHxLNGEZLxa+jRNXhH + pK9jFdtC1vEk7Y79NzxetPBPVtVQPg/VR77JYfoG0Vidtpiww7ZITLEagR+w1NxlPCjxp+Kmdg6k + ghIbpdPTBsv8CC+ODPC7QJtTcjsnhiBWu7QJDtDtp3hKssGI4dKiI1Rnai+imvwILRkRPxeNVqyx + n6q6JvipdXgaeZb6djo9fP5FXTYRAelRN8z4RD3NFM5uZVabaHh0gC8gzs9ZFcvxVc8zrc0gnvYZ + +0aAafiAIhh7ilT8ThdlgEhhMwGIuhQiJ1qL6Z4zDoRyTCurFBPslAMYnex24FOOpNZGVuXBnGeS + zwsvML/RYdxsL3rsdNFlY1ZBLFg+XlpSvEFjojO/eHugtY1OcJqetTLPoZuG+sie1hcKdQLcVRuZ + QDNvuoMnLTGoeMdMZgD8ajsPAxS/6s4A0drpCdKZvC8wK8CEVszWIh86nSk7lZvvBzjmU/SVgcwr + FwoVLBZM0NjRQnTC6PcIP9x+8lDzXOFBDI2CrU07u1gVJa+Xx3pPgrhNC60Kbarira54x+imonLK + dveRhGnCvP4SC5UYYzMER0YqqojnayQKVkAL0+GehtZoPzCTyD5RID2cNUmCC7BT43tRwdVKmhiE + h4kuuU9y78oMaLE1iFJV0ieGSw6vC33nndasSrap9a4gc5Kg5eqQ94MutLYCsJQvImR3uEbRpZsS + pDGZ3JpBe/UGfMDk4Nt9E7jfuIbNHUsMc/aFkTmZZqNhrq3xRXIMBCsEWK/mp6nCMl7v80fcTjA8 + NSCVJ9Heor9RYv4kCsOnA1nTMEDoCTUnNHWpBQXvHryS3sM8l0vC6DPnBCvS4TDdAUIhB7qh/YG3 + cUQg/aAMSEAqz6aJyRmtGjkXoyHlGifKcFyO0s/HJaLphIUOx1wgTRovQrQJhtQgGUAg61cfOQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '62464' + x-ms-client-request-id: + - b17e8fe6-d274-11e9-8d20-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:24 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:23 GMT + ETag: + - '"0x8D7349895C0E2A1"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '62464' + x-ms-blob-committed-block-count: + - '62' + x-ms-client-request-id: + - b17e8fe6-d274-11e9-8d20-001a7dda7113 + x-ms-content-crc64: + - weRqftirOgE= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73145c-601e-002f-7f81-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + zEhZCUES8+AXnvj+qkJEOZAHXoo60+Y09hFtfAC2rQ0W9e/cw7iYYq0iVc/ou8yET262o6GEBAEB + sh9on16vpTWuAmrfICoUaKSu/EXtoQ5HLI5K2n8eQjD2EaI9chirDWTGRdUH+sOuIP4KHM0IHJDI + WaVV1BHq7hy/dO+Dv7bAbQXRTQW0PI55HBHtRhOL2nftgTJcmfM9e6Z1/YZcBjtpjLG4a32nv354 + rKKYEGNnQajj5/6ez7hklpBXUQ523v2bDjqHP4edznkBIOzVtuB1vSTXqZcPd7df8ZzNfqzCBBLK + VtADRO1/20aZH+pji3MSepz5SjJTJw7LAgc7EMO/S6nNG3BhbtPnt/MoGcCisTtaPiioLcoqsNDv + RlJQBWf7hsqzGMbdK5BP2J5NotRwzvKXoXQpQ4nxL69rBEjdPc0cmwiEBjYd+8Qu4Mt35HFbKnfE + 7qPSuwFSh3rwxgq0D3wg2lKdtg09odtMCdSdDX9GUZiuTSccOqiMcvhufHrzUahpTPtC00WCAFhe + GtuSPDqnP8WRLiBdUzwmPUliR3H3Z+PlhUYBWvRd9EnrdPwdCJlDjZ2UGcRd/Aw/eWUl5xb9muMS + pPp58cgSzJxdQUk6gqrZAxybRJvn59BBEaJzl9Bt83+Kmrpi7cooKwcG13GWuo5oVgnlY6CmdIIm + yuDFx/o/f2rMPewoU3NnfkRTp6TnjxUEGKYBfG+fTZj9EuvGRdORztmSQszlvzng17ctj53e/qxm + Ryqra7tu9TAZj8kJIRkIPSIngiV5/uFG1no12dCglU5B2FbbZpvwXgyEMKI/EbmRdaZyP6UFWhzU + flGZ0PQNCZ4IkDGEJ6E0D5aNYfnaQyiCR+jnz3byccdprJ9Yy88tImdh1crQWcOwiulMbfxsslBT + 7WJ/PGiy/eBtATA+59rmYnP6Zac6xGA1LqbaxWhWmN0KpbAU9RbtMRMzwy7K2Z8FpX0VJYRlAqUZ + lYkPoqrrdXbBZIXiWx4cCZkq1EiBPq5js+PV4yeO28YQscxK8rDH0B+6nAjPkJr8uJeyJ13Tb3vI + 7uIfGK4mdmkwVVpK7TqE1L1zVC2G4qHCTjX3kEtuTIImp9hnMs4J/k+X8M5ddEZGabB3gyD0dT/m + Nh2Y6+BdvgBWF5Lr7aqgzclo6jjC75oXkXqMM5YKj3lTx2M3GLnz7RcEpclltFXTu+upXA0KO0JF + 6pwn3HUTQQnTFdn2MMlCSXPkxyl2dHDngfdkfzo9XcoxPudQmf5YzNosGHW/rrFd9k5VzP28BzNF + WRYotcpSBvbDeCLjCzZ+F1ZhUehWD5N57CzcdkH25iRzC8kNH63qGiONKujCHHsfhLHPLJ4BGg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '63488' + x-ms-client-request-id: + - b195bf98-d274-11e9-b0de-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:24 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:24 GMT + ETag: + - '"0x8D7349895D26E3E"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '63488' + x-ms-blob-committed-block-count: + - '63' + x-ms-client-request-id: + - b195bf98-d274-11e9-b0de-001a7dda7113 + x-ms-content-crc64: + - dZMqmTBrIKA= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73145d-601e-002f-8081-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + jrCHs4EOyJUA8Wdp6RnBzaG7OWv0eBaf22/MNFyxB8qL/ZvPN5aZLC+Af0vHELehlxlnspn3e5Rc + UTLeFGvBm1r3D/a7lDDJY1bMRZPfRWsrjgH3A8zRDgY8i+ojJv2A0Jgwdl0jWI6ytKeoaoOly7+6 + v3urTaW2CWC2SMOlFykXPtxscYubTpAyXB5Z46kaW42wbz2PSq9r91IfCrK40ZXZqTqndl/Qk032 + 8wYcCKQH7ActThtDkS2O4PK5V+Gt+xe8rAZXpkcOoAQ6gNAHCl1w5pslQ/48DPYA+Z/eQlZHD4ha + R0xnY2rfoeoXsPJbj658BNSN+Z1hjR06z2/79bTwyYy658lyyyTI8ufpANnU3UQY1NVx1nJUBwvi + elrB2Mp9p8C6wuMWgRmCquqG4lnQ+qYg2+kgHecZ9JzJEtxaXH2jtVWOLoWUgj3TTL6yg9S8giLr + izoN3IFWASuUo6JRkEVz1PIcNTejSDZTslhrsEcFD8rU7khhCEhpZC8hlinXT9/Zs3dPMf5NwbP5 + i8wGQvAZUHapIiHWU6578Imqxv0t3oeq1SGCHwc8X50H9gdLCXvhWK93dhkHaDOHe0z1QiK+zPJ4 + Gs1IbPQtvKgOD5J4z2V1pYLLHTpQOcuxZOvtko2iUBVkH0PNYOzPX3Mq0Er+9HOmQLpkS3O2ARVf + 6X/3wz3d0pp9Y1Dro85+1GfiJT4RhPlNrJOLnM2nSCEFqyfU+YAqofkzfAeTjIaZvSVZq4cS/o5/ + Xkuq3WAKlXRvenmh2h45GIFmnt9fTPybEmfwFhe/sVWrI9lOR8hFOP5LWgwSYNOlwxwUP7sIUaw9 + B/JBFaH3vu15MUbDlfRJySp0pKWANFuQGlXnAZZed1IDxKGQ8ZErS7E+lm1JNG0AF2NES5y9j2Qn + V7Y3t+mAuvS9l21GRZqLLgm5DNT6szlWgsREprYekxHt4/cxbud+zQ8kB3+WmASkqC5tKrv1ai7F + mLIPjaSOvLy7N4jFquVWM8xiP73HX0NAs3+tj8skq2CZDoXHayIrQKMgKDglsMmrO9FNIkB0gu31 + grCOi78FA4q7kGBKC4eEL+m+P+zMrUxRbue5orgGQ4u0h6+X1p9rwT2ueqtIy+y9muNr4qLkexhE + jdwiFNMDRdiDyVmryHkQd3HvRN2rxNPTJFnfRHKerEuR5Zv7vaGDkGq/GZIP2RIaAIswiTM/Bd7f + NsyfXWqk5r74m50iHPIehdYsnK9o1Ax7gtqpbix1guiTv/EPAwp9v2ptzwQWw38aqztibEn84sej + DY7QuzLk6hU9omxcs9Vxz8gqbxAny7WVSv7RDPAjaBfDKKXLS+TJHnsOiVQk9EqQ8+QajCBP+g== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '64512' + x-ms-client-request-id: + - b1a76f0c-d274-11e9-bdca-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:25 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa?comp=appendblock + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:24 GMT + ETag: + - '"0x8D7349895E83D95"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:25 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: + - '64512' + x-ms-blob-committed-block-count: + - '64' + x-ms-client-request-id: + - b1a76f0c-d274-11e9-bdca-001a7dda7113 + x-ms-content-crc64: + - 2jcUzfLZ9O8= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 7e73145e-601e-002f-0181-669ff0000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b1bd1140-d274-11e9-8e02-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:25 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:7e73145f-601e-002f-0281-669ff0000000\nTime:2019-09-08T20:10:25.2169956Z" + headers: + Content-Length: + - '301' + Content-Type: + - application/xml + Date: + - Sun, 08 Sep 2019 20:10:24 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b1bd1140-d274-11e9-8e02-001a7dda7113 + x-ms-error-code: + - BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: + - 7e73145f-601e-002f-0281-669ff0000000 + x-ms-version: + - '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b1cfbdc6-d274-11e9-9c60-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:25 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer924711fa/cpk924711fa + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/65536 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sun, 08 Sep 2019 20:10:24 GMT + ETag: + - '"0x8D7349895E83D95"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:25 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-committed-block-count: + - '64' + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - b1cfbdc6-d274-11e9-9c60-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 20:10:15 GMT + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 7e731460-601e-002f-0381-669ff0000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_create_block_blob_with_single_chunk.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_create_block_blob_with_single_chunk.yaml new file mode 100644 index 000000000000..599ac00b0d63 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_create_block_blob_with_single_chunk.yaml @@ -0,0 +1,187 @@ +interactions: +- request: + body: AAABBBCCC + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '9' + Content-Type: + - application/octet-stream + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - b2812fae-d274-11e9-a57a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:26 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf1a813fb/cpkf1a813fb + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - Yge131eW6WNBDTvEtqQhiw== + Date: + - Sun, 08 Sep 2019 20:10:26 GMT + ETag: + - '"0x8D7349896FDF45F"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:26 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b2812fae-d274-11e9-a57a-001a7dda7113 + x-ms-content-crc64: + - DTngHrtvLQU= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 91e2a031-d01e-0015-4c81-668588000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b2d33f50-d274-11e9-b194-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:26 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerf1a813fb/cpkf1a813fb + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:91e2a039-d01e-0015-5381-668588000000\nTime:2019-09-08T20:10:27.0432487Z" + headers: + Content-Length: + - '301' + Content-Type: + - application/xml + Date: + - Sun, 08 Sep 2019 20:10:26 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b2d33f50-d274-11e9-b194-001a7dda7113 + x-ms-error-code: + - BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: + - 91e2a039-d01e-0015-5381-668588000000 + x-ms-version: + - '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b2e5db80-d274-11e9-b9ae-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:27 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerf1a813fb/cpkf1a813fb + response: + body: + string: AAABBBCCC + headers: + Accept-Ranges: + - bytes + Content-Length: + - '9' + Content-Range: + - bytes 0-8/9 + Content-Type: + - application/octet-stream + Date: + - Sun, 08 Sep 2019 20:10:26 GMT + ETag: + - '"0x8D7349896FDF45F"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:26 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-content-md5: + - Yge131eW6WNBDTvEtqQhiw== + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - b2e5db80-d274-11e9-b9ae-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 20:10:26 GMT + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 91e2a03c-d01e-0015-5481-668588000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_get_set_blob_metadata.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_get_set_blob_metadata.yaml new file mode 100644 index 000000000000..88cd3f137822 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_get_set_blob_metadata.yaml @@ -0,0 +1,376 @@ +interactions: +- request: + body: AAABBBCCC + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '9' + Content-Type: + - application/octet-stream + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - b3d2f894-d274-11e9-87b3-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:28 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer770e34/cpk770e34 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - Yge131eW6WNBDTvEtqQhiw== + Date: + - Sun, 08 Sep 2019 20:10:28 GMT + ETag: + - '"0x8D734989840FCE6"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:29 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b3d2f894-d274-11e9-87b3-001a7dda7113 + x-ms-content-crc64: + - DTngHrtvLQU= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 3b1c7ae4-c01e-0026-2681-66da23000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b4169292-d274-11e9-95c0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:29 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer770e34/cpk770e34 + response: + body: + string: '' + headers: + Date: + - Sun, 08 Sep 2019 20:10:28 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Transfer-Encoding: + - chunked + x-ms-client-request-id: + - b4169292-d274-11e9-95c0-001a7dda7113 + x-ms-error-code: + - BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: + - 3b1c7af0-c01e-0026-3081-66da23000000 + x-ms-version: + - '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b42d3546-d274-11e9-b657-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:29 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer770e34/cpk770e34 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '9' + Content-MD5: + - Yge131eW6WNBDTvEtqQhiw== + Content-Type: + - application/octet-stream + Date: + - Sun, 08 Sep 2019 20:10:28 GMT + ETag: + - '"0x8D734989840FCE6"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:29 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - b42d3546-d274-11e9-b657-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 20:10:29 GMT + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 3b1c7afa-c01e-0026-3781-66da23000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b43dd2e4-d274-11e9-a05d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:29 GMT + x-ms-meta-UP: + - UPval + x-ms-meta-hello: + - world + x-ms-meta-number: + - '42' + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer770e34/cpk770e34?comp=metadata + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:3b1c7b06-c01e-0026-4081-66da23000000\nTime:2019-09-08T20:10:29.4332158Z" + headers: + Content-Length: + - '301' + Content-Type: + - application/xml + Date: + - Sun, 08 Sep 2019 20:10:28 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b43dd2e4-d274-11e9-a05d-001a7dda7113 + x-ms-error-code: + - BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: + - 3b1c7b06-c01e-0026-4081-66da23000000 + x-ms-version: + - '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b452ce02-d274-11e9-960b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:29 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-meta-UP: + - UPval + x-ms-meta-hello: + - world + x-ms-meta-number: + - '42' + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer770e34/cpk770e34?comp=metadata + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:29 GMT + ETag: + - '"0x8D73498988F444D"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:29 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b452ce02-d274-11e9-960b-001a7dda7113 + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 3b1c7b0d-c01e-0026-4581-66da23000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b464723a-d274-11e9-9e4c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:29 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer770e34/cpk770e34 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '9' + Content-MD5: + - Yge131eW6WNBDTvEtqQhiw== + Content-Type: + - application/octet-stream + Date: + - Sun, 08 Sep 2019 20:10:29 GMT + ETag: + - '"0x8D73498988F444D"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:29 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - b464723a-d274-11e9-9e4c-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 20:10:29 GMT + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-meta-UP: + - UPval + x-ms-meta-hello: + - world + x-ms-meta-number: + - '42' + x-ms-request-id: + - 3b1c7b12-c01e-0026-4a81-66da23000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_put_block_and_put_block_list.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_put_block_and_put_block_list.yaml new file mode 100644 index 000000000000..d2e8ca3d5981 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_put_block_and_put_block_list.yaml @@ -0,0 +1,399 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/octet-stream + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - b4bf4564-d274-11e9-af25-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer7166113d/cpk7166113d + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - 1B2M2Y8AsgTpgAmY7PhCfg== + Date: + - Sun, 08 Sep 2019 20:10:30 GMT + ETag: + - '"0x8D734989935BDCF"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:30 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b4bf4564-d274-11e9-af25-001a7dda7113 + x-ms-content-crc64: + - AAAAAAAAAAA= + x-ms-request-id: + - 14a84124-501e-001b-1d81-66ac38000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: AAA + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '3' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - b50cb6ca-d274-11e9-85f2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:30 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer7166113d/cpk7166113d?blockid=MQ%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:30 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b50cb6ca-d274-11e9-85f2-001a7dda7113 + x-ms-content-crc64: + - Cc/2Kr4DuKg= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 14a8412a-501e-001b-2281-66ac38000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: BBB + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '3' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - b5279500-d274-11e9-aa83-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:30 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer7166113d/cpk7166113d?blockid=Mg%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:30 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b5279500-d274-11e9-aa83-001a7dda7113 + x-ms-content-crc64: + - +3yuPEA7IqE= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 14a8412c-501e-001b-2381-66ac38000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: CCC + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '3' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - b53d32f4-d274-11e9-8ceb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:31 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer7166113d/cpk7166113d?blockid=Mw%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:30 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b53d32f4-d274-11e9-8ceb-001a7dda7113 + x-ms-content-crc64: + - VRJmMeosVKY= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 14a8412d-501e-001b-2481-66ac38000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: ' + + MQ==Mg==Mw==' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '125' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - b554e6fe-d274-11e9-b36b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:31 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer7166113d/cpk7166113d?comp=blocklist + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:30 GMT + ETag: + - '"0x8D7349899971820"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:31 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b554e6fe-d274-11e9-b36b-001a7dda7113 + x-ms-content-crc64: + - dAoQ5rLgKr0= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 14a84131-501e-001b-2681-66ac38000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b56cb08c-d274-11e9-a594-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:31 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer7166113d/cpk7166113d + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:14a84132-501e-001b-2781-66ac38000000\nTime:2019-09-08T20:10:31.3914664Z" + headers: + Content-Length: + - '301' + Content-Type: + - application/xml + Date: + - Sun, 08 Sep 2019 20:10:30 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b56cb08c-d274-11e9-a594-001a7dda7113 + x-ms-error-code: + - BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: + - 14a84132-501e-001b-2781-66ac38000000 + x-ms-version: + - '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b57e0a68-d274-11e9-8e9d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:31 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer7166113d/cpk7166113d + response: + body: + string: AAABBBCCC + headers: + Accept-Ranges: + - bytes + Content-Length: + - '9' + Content-Range: + - bytes 0-8/9 + Content-Type: + - application/octet-stream + Date: + - Sun, 08 Sep 2019 20:10:30 GMT + ETag: + - '"0x8D7349899971820"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:31 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - b57e0a68-d274-11e9-8e9d-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 20:10:30 GMT + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 14a84136-501e-001b-2981-66ac38000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_put_block_from_url_and_commit.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_put_block_from_url_and_commit.yaml new file mode 100644 index 000000000000..3922029a0ac2 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_put_block_from_url_and_commit.yaml @@ -0,0 +1,4706 @@ +interactions: +- request: + body: !!binary | + Oa8HqNJHin250StSx6fvDWN96mkLvZebv7WfrWwAAlnut5VVFjzuYQc2m3wfByEV9bO1GSc2uR0K + 2K0sNdmdyGXBQ3/hYqke8BdMgmjvitLEKHPll6GuwxUWSo5tO/2bR44xlKeb7WwGqEI7s2Ip6Zlq + 9twg5R77GcQU8ORBYjoCD3pTFmu0/Fz20c1hdp8ytm1qMMhouthtkA13nTIvDp9/Bf25SAYDuClF + Kj3t6ssZA1aZcdMBBs6sHN/9e3Enmqe1VsCAUdMeKNrX5qxHX7PxxN9+ihKUA4+v2QGbtCb7MOF5 + yMwO6P5b8pwfoTnVQWSv29z6FXFWlhyrKJgThOWbtpE4r4GykIPUL1YLm6DbrgchYv4i1RkuvJfz + EyRymMgvsKWy4z7Uljc/zDxVxk/CNaIZequmC/AnsgPd8HEHmwUHHnuuYGID8wuZ1ZxqCFdBnlcD + qZvam76IYRUaPYjAbK2qkVgdqkUBphmDdANgP8lt3GMBAREiTtFgfegm7NxYEjYZOUGxPgHj1Q/p + gx0DnHkJCr9jFZGp8AjJa43NgJ0vH5tVGQIHXLOSxEcn3Dfb4ZJmsUo7DRfoSxGbz9joH73EhBwi + zycAz4HeLrCIfqsOTs2oj4KiuGzJ469oUtk0qsNqDrqRVgGRo9l7Z5wOVsuA1bIwifjHoT7A7fJU + pMTkZ+TvRpRoFlBjF4ONN++AMQNk063f0qRqegcIQspbeZ92t9GAF/bZQzDQMHP+DJwNxWFiRO4C + C6oC9N73hSqpj0ezvMKzzNARWHyovycdcG827dPQsMUZLz6ZTP50tFe3Qjp0dUzTMiSkLfNc4dYK + iVwWyxK2TwBJo/fca6vrduW0AiU3dWglm0HdDXDmDY8cgqxDAg58QZzHx24SJefBm6wHa6sfX/4Z + Pgcdz17F34nUQoVU5uiQy5nMpf4GBUt4f8spOukgaxmtSkvYqn3mmSFnsRov7JaANdUOgyncPxTJ + 0PDOh3kACj15riWI5upTSsRRupcbUAmXobmjO0BxqbmDzs38sixevK05Dg0p0LIrsT4RIAZipDHT + qhAw9K/h6lI3lM54fLOUEPwViGx9k8Lw4jkD+imGC7TRnjvlH6FdPFd1CIi2QphhM4kRuqS2fbeN + TWeTNmiQqaIryb1YdxAvRO+pW6h3dV9yIvZAOOmjkskiWCoUKFDoo8qPuJEpVBH0P3VhrNZuEHRS + 3Qgk0ll2Uhh5EMLbMj36y09WD10E4M2gWp7Y2eKeXu8MvdGaCiugWFu8KBLDkwENB1Y8VbgH0+Ck + 0J4HmdeGquNvOb0kn1v3pdbNd2l7Bp5KPFihtPkSEft1lyXJeZnDDlixy+FreXNgVTdSE4cGAA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 04593f9a-d27b-11e9-a2d9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:40 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:40 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 04593f9a-d27b-11e9-a2d9-001a7dda7113 + x-ms-content-crc64: + - HenY5WM9GWI= + x-ms-request-id: + - d00ffd6b-601e-0010-0687-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + DlhFL/bxaDgtFuwSYQlzjfSfnf7QPXIS/bY6zhj9h3xb9KLw4J1BZuJImOG/fEAn+RnaJjQoaEU/ + 8cvC/o0Egzpe36gK9/HKy8cm4ppJP2/w6gv56NKRCoYg/sxvooGWnTF3qLC4S4mB39sPpz3fU+Yh + DWnwWNLosEz0MauZmUDFsVwend/9Ur3NPTuA3E73OaShxeR7YDJMHPRl9nLpdnuhsRFovn8d6Xpg + UL8f4ArhZwtG/tvFKp7vWWo0h4RJUHRRe/uV2fI0dFHYxAeEP3OUi75YK3kVcJ29W3ISOWQNV95E + 4cHI/rL7Sc/wTc0yRcV6AdSh+EkIl+VNlR/0kI0g6fvJEVTUPROGp8zOMdW10YQnl0rTAtPRBiGL + tb0C1cU4g6DTwPog3hL3IK483NLsCQIxU9Mz2VayDXmVs9Cv7nHeb86bw+LC4J+oI4SDqYRv6Ala + +PS2YqMUeycGUSoCAb5g1xmseLj3psgNVbjkAVPCD5r6lHfwVnXhZfzOjUTKiZzY7gtEW2b2ACQu + Mvn9pcKS2nFToE6mRkdl7ln0r9e7uFJa+vsRfPY4o8UvLn7TgvtBDeO0asOu+D0B6XvaGoN04Hxz + XugZfntMg8bE3M0w54MMvZ/c99ZnQ1BN26Xaihy59g0z9lcYLRYnAxyln8Ry0Rrbx/oviZgae64j + ZMLQitV3Z9B2qD7eX91j/YmAbTv88xz5hyVhHGPVuufI0wk08SM5gX3GM5ZAtzHC6bjmifIuXhmQ + oFQqwTJeMUCvlueiSSgreUr9G+sgEV9OjvgVJoxfMypNQlhTEqDYTTpUlTriXanSivLt1hp57X/o + 87zsKFTLaA8aAvFyHL5OZGjaCp5dsKm7pEnzbzSa1q/p/EWP9qLUbNP7ojlkvznXlARYVnja4LWO + FGptd6M3w+bJDr195TkZaqvgIqTl4XSkiVClMmHfS2Y33/MwvVwvp73hInBGS+sQIUymRSzAM3k9 + pvGjWN4w5RtDuaJbDAgpVGxpb20QcbxJ8zSGWY6XItBYv5XiduWHAqhVlBR3G0f7GLDzSPKF/Dcx + 4i7c8Lp6d6xtyYfTGMhhcg5N1vMJ8t+VL3vMoza6ObgUfOBoxLb4v2qp7DNm35epRgPkRB8f8XF6 + Etjws9wPEnNgYT6M4wj24CBlX1ov9NQQzGCxUKS4LQyON5JC8bgXxpfY87RisTZaL4T4XHnhGETm + FMQcoINGINjGjcgT6nW2ifrNCTzyBqDqR6rX7E9ze8e+5PXtFp5oR6tx4vNjGdThETDR6hwtkOhj + YDJ/bxY4Jrbotqiszak4qcEzlW/weSlcgo2VH/UFbFwGWSFHw/wJyB8JxwVBpsyWT4DMm5avMg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 04a8240c-d27b-11e9-85b3-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:40 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 04a8240c-d27b-11e9-85b3-001a7dda7113 + x-ms-content-crc64: + - UZ8ijvT8d9c= + x-ms-request-id: + - d00ffd6f-601e-0010-0887-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 6m+GUHvPmMdoQEEm/BSRoPw9paSt9DTGjcI9ndjVLbA1X3VPbBO2feaK5Clwf5cEBo351YVzcU1j + KBSNiQ5xnhoV9D9+afJLR+50Ssbq2ICP4DN8vGKS9e8tZExe/SqBI2pgN6AJRi6B32LMwU3GYlzc + V+gvU4EijjRJJVtiPRjy3+kXHX98KnbUGm3KECeqzSiyWm22cj2bb7LuMfYc/mXGM0f1aMUXnTG7 + HTHlJLw4xqdUVBpMEVAgG8/EYvODJk/k9yOKoHevTD6jiakdmcLECS4WDKjtlXNhkXd72rU1XhAu + dltVqHMN1jv99/CdlVJN+LNEGT4+bjPrhjA4ICouFDfsNHHnOIireCCF47imUldxclaCMzokROiI + 7iSXtVQ1FtkM8MW4xUi4vPvs3mtCyUq2kd6+ebXqJ/qh0thQQzjxiL+7y200jmi1AWencQ2qV4n2 + 4Mc2tYCL0lZ6jfvgYkpreSx1KV7I9U0RMBoh78lyvUo7vo35qtcWRmWpxFzXsWXdghY+JIUEa5St + RalmVmhMi2cJlvjvnLdBZA2LW1WCCtTVqhO2FiHiTb2RaOfUA20z5PHTaNpSPKzo4DOtnlkszJhv + QdaHw0iQkhHzuuCHBeXVfZZ0Hcl105k5Wl0RBjx1oJhiLo83uMvPnP3hDxIPhYSlPpgH6jzRmFE7 + PannFsxh9xf7dsCncNtc3AgohfXdsc59h72Kbl8CdfVACX4ezPJa4C5vlAwbF8qpNuONYhbW2xl+ + 3oKYxtx1aq7TJtuJfQz6iPoAM5uqkqxA4bUQ1pHcF5zeZAwz0hVNFNeAgek51jgE/lhQ3T1NcEFE + ChOQaLmzaokzqqo4zkLOzVSTHsMtVA4uAEwcTfNvfGYcFyAl0zmSnfrCWoLorxxC3Nxsmh50npLz + L5lIPYydekq/KDvsTExvYJWOnvRKB74/O+J5hr5v3xuZaLM+c+5y2NrzWC2zk/rBKzPPK55Q6V2C + lRzxW9m2TuKETBdD1eIlTEhv6C97FWUdvaDabH7QDIoNRTojq47qJZE75YP5C5fYvtaNUdp4CECp + OpzAa7XpsbjCk8BSmvuQIF3y+eTj9gHTcIXLKot2IC84MYLN3EgzHez8xFkTsxvCFBLEhXuFSMO2 + td/S0BJSVXCzHNg+xaDDZodK2BWXNwOimGTz80kMnxrWn9GrgNKdhP7DsZmHuOlUvHg0ImRZP+DN + Vj7MCUxXY46Lo39xj9qQ+ke4rD8aTmdUk1xE8PWBWfq6F1318+RAVjizCQC0aAtuNGRM9QxCIBwg + OzmYU71g5gX4YJxjlBDeYUPyL5OXkuG/Wua2ke5b23U9AGjeOBwKXA7EoD/T3DBVahN3CLknKA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 04c3d254-d27b-11e9-b89d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:40 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 04c3d254-d27b-11e9-b89d-001a7dda7113 + x-ms-content-crc64: + - t8WRM1ximaQ= + x-ms-request-id: + - d00ffd74-601e-0010-0d87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + SadN1lRTMjG68SWX0GlmQ0KlYyHLO8XzZRhm0CGdpQ8STlz8CyV+0GzOa5xsTkhJ/fdg+ZYXjGZ9 + W5CVp9K1yBxu+eIzYVHqUeNFSMGpOt5c3ljfcVxHikj5DBS7RIKjuqd4GRBGlI7iOIbF943cZ28Y + 3w0BE1F23X8RNL9NuNOfi9eivU8W1Uf+jZjf1R2jgSoQ/cMQdXzbU5aipiYTOXFFKb8nI8C2Mwcr + h5oR2q8FsvnqW90K026SBrcjM6S9/adAN8LAqhua5h7icWwyGyPLM4mxY5ircTcDEkd3IT5skEjE + qq1lZp3lR0P4IuGAvogyDXZitX+rZXEvYskgUrx/pIG75BDHBGAxmFib6T+g2/QKwtWBqpFNAzi4 + xx+EDzyvIqoh8OtiT2XNcrADqKHC9oCnwM1AOWZvXj9+FSWUk8/+rUN5l1VYMPwcSK0l7IyOUzEG + gEk4Byx6vYOCT/W4EnjlnRY+bn+u0iJ5ekKpF3TLi1S+fZ0TViYrTdGkDJSK+vyqFQ4B0Hk9ZLUb + yHPAAonzOiTvmuFCDhpxwSZryfR5tjWGfAmup9f6sJpL1n/fyMRYsWgYbPgVYAj6IKvtjZl2AdJ+ + VKY9e4WjckI0NPagOBydxcugCI72LZvF791xOpdJlpKFTAseqnCmTg6mYlV3+ycZQW0vRv5tgMSl + PyeuvCraXVCzOL6+syWSElq8StyTuukHNJjjv1LFHYpeN83Zke2nG2Bbw1P1/vJgU4dbXK7WDv2M + PENk0RoPsRCM7V+xy5PrUvSel967x2Ygvt+8tKGa7EgClx/Jo+FOxduABLBAHzSsqPPdcZT7jDVF + n6jfzm2HBeNsh1CvFk9Kk694yX9IiqZhd0Ef72bK+GoVNghTEWQ+kGeNXmhjOBzKbeET9tKdntms + m2bShTBSlyfhmRBpLO3rCBOTa2DtK6fZNPsJcUyK6ld+qIHZKaONdqg/D34EteqznILxoK7SDSF3 + 4NqmFIrXLr2qEMIHAvC82vZylyfJNdjZg04VyVVS0XsmUKgvIjrm2lCmj4aaVzauDkGXxVtaKDsh + GwS1PHfs0GtUwzhxXu0cvvKsxo63vHu3Q0kaZvTSzbJGlug7ImKk1VItu/flQVykUayV54BzbbFy + FPaLZLpUKTKyZ11grwrquTG3QkPI22pGWP6bFAHjwDX0rmQ/YLhvH6Px82f75iuebJcalKz0egtX + Rhdwl0Y6kK/7lYgUuRG2sClo9hbUPykdl+X95c2IMrO6VvDRFd3oGtOGX5kl8eqzbEJOjJaFWNtb + kAdmhspmoFldkU1zEky6fX8J/Bw6MWl0fVwpHszG+l7JnS3wIhSgAkSTFDCTYD3SLKEL5eVAJQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 04d679be-d27b-11e9-ad6a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:40 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 04d679be-d27b-11e9-ad6a-001a7dda7113 + x-ms-content-crc64: + - sVZ4g8rr62w= + x-ms-request-id: + - d00ffd78-601e-0010-1187-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + q/q/Av6bBltFs7P8hgJgIvap5814b9+HO8pbQn00omOx/UmFLpR/vM4osBGtMD/W3q3n9J45PAs5 + POBJDKIz37mieufGodW45S4dJCCDtD5HOm5ZpNyN1Y7nLavBhhOZtFi4AyKA65F1tFuJPHcy25y3 + gHz2nGQo2sN1n7jAn5S9WxsjluV3oECSpHViB4UBXF03TeoALpRLaJK3px1I68oATXwY9HFEB6nN + cVrp5+XPcX4ZKiTU+gGo1gpjGFvB4CsA9GHPm/GCyu6jIqlyANEn0PbjyaVlWEiQMv4sJn8WeBiV + RJ2wERSNb0tmorYwRlOBvHTp9HnZBVno85jNOr0SnNf9UIOheXlwuBgHc0tbbgm2hc+Fg8Dpf/sy + G5Web+2yH7c+n9JW8d+huBaJMxPajrmXfvFh9xzO0bMYuPvmFWHXn6Nco2luLhJarVFEddbI6PNH + 3lKJsI/FY+UlGaDQ49mH3EOnbEFz073OKhlNCofdmKEjs4BFXgRNJyYs0NETFq30dbfZUw6rkE7H + 4b2L/BZgGRu9CTJUBqJ7Udt11LvszWtJ1Ncm7Dc9+qtKVpXDlNTZ1x5kwpSrs+o45OqPTRmAZlPJ + CCmneE159mjUnXCcTxuVF+N5F70NnVFFZoTeJO9J10MRYvLedeNSu0zT20Otz0ckD8vbUPdSwQN2 + zkgRzhQPkwKqbwJjbAWDGF+5gneCN6koRgnuNtriWjNDU4RGc7WOLVZdAGyTKHZV07E/L03uCltb + Sn00JdGexhpZowuYcr1Np1OoBs8pxZFD2JsopVDEKBHgdmbTlUmDMHgNTNdyaaQ6qmMS6Vk+F0HX + /b/02BlhDpx2M3oBKTGUmtfSDGPBTiHVDRCvEfateIYpawbdrlAyOE3YQDJn6Q8MSiQdk9FrUbmB + b+xBHCe+2AemGB0eCQQQd3kT5y7jgFAQBeEDKk4mSkSDVq4BonEHpgVs/fcKduKaN+k+vs6NiF8Y + vFfWa/PWaEhp6viH0lWDzBLbRvI6TI+Oon1nuzvlqtdpPz0k6SbvjcgQ11U1gJ2vk952dywRw1vl + K7CsuBOnK19447MmpO0vnzJeAtVVGoLGxvLhtS3ZL3Q7d2m9VHcRGWPv/aa8TYIb2X20JxsxMT1f + FMwljuRUIxms88DjLZc3GdYYGnOf0wxi1vH3kakt5XMZGOJc0EWMRSFmcWtAO1oPeO3UDCnn3twr + OzI5FBPXSKcY/VkkhllBJIlxUlQLxe+zma62l3kH0QaKKFj0MX7rb+TOaJqsvG+ls2R1GO4RZlEb + bjXAy4DLR21YeAPUuF7JcPj2zC0M9fs5bEFhpk1zGbuuuWn2EGtXhe8JF6fi5WXeN8P6XtVnlQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 04e853d0-d27b-11e9-b6f5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 04e853d0-d27b-11e9-b6f5-001a7dda7113 + x-ms-content-crc64: + - V0KpmZ5qkqo= + x-ms-request-id: + - d00ffd7b-601e-0010-1387-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + sz7azsx3A/2SfOsrAlnPOUoxOYmA+k4Aq8fyqoCmz7Q2y9gQ9dkZsP0VY9lRXOioF7YKoyS5EO4L + bKnKqsMiI2lWvANVY/pm2nhbgoPzXD99H7QeqaaSxL+ZoUPTLxQ9IdnoOkswqMhtxzOq9CLbWJ06 + j5CviDU/b1vc0qXckFQpq9xjdn0WEk1uC2PmiSkAGdHXeYx2cn4Uu7FySvPhm66LOmHR7j5Gs922 + k4yrQd4jxcsCIq62UuEw8wY8Wl0MqMM2g06pVUbsFsNXXQC0t0NyX3u1H8ZZMbwKUt8Gfujb/k7T + KteZj+vBJI05J3Ji+rSDPgrjS0uexyKV6mgxkWQWfs2yCHTZb9A+uqx46Ak3g4B134oPv3PnJ8VN + Iuc+FH5mzVvs7ogjb8euxU5OszR8QmQ+uEIMsJ1DZOI6FoZFOect2hLKh+s6uaBw3pSu2dJd5jug + ytMLKebvaNoaabtAi6GE1UE2HyLrKTpRP3soZFHE8Zqp66E00oAwck2u6Qnt9Come8uzlY7eemi4 + /X0VcqfaXhudojYRr1RYNjQf4zvsoxL6N68RkECkCv3e99upwDNltahRL3qXhEUrsWCrAB9cL5GM + EJswnRsiPP5x6e64rIt651ZyKtbYGEqbHLEsS9phvlxNA4sHqjo4POmr98EHb45dWLK44fss9Xfj + ZFxcq56PWmbOaQ3jsFsbaMrlnHpOM5Ea/MRg80UHuk2S2kHH+JrjYxbybSB0Un9+9V/LSc8+ibEW + LkZdpjG5v7GQvFizlPNKzGm1wRJccLbHCdjuuyHu1PY85BnR83XlT4Sewu6QRUf367fVeS6as61K + 3nkJfWykgUoEjG0pbrVBn5PJc8kQ9pwUrGOAPJhu1UZVUT75IZ/Z3p3dpqcIG+JoPCykrbezJub8 + hxgo5FAeNZ4sz0TcMO24dlJZnSvuE6/Zl8q1BCaFA8Yz8RPtsGnWX6hcKdtLfcVCEKmID+ImFOrK + 6uM8m5VMrZb2qysNOlC8qAfdHD04n3OGAgm14c/CGHK4S8GzCFkXQpcxjWehfOdxhDgjl4KssY89 + 31e+FhG1vFf72JmcOIx4kZHQxB0/w+bI4HWwIbVe+uk6YV6WKi1+JqY9hSXArNHd3wx/XoErk8Ll + wOy2WjEDyzvYbEshdYP5GB1KEpyQBstsISmCpLKEk353d8oowbeGGpIGgDfW6HYbhovlC0DGmgtY + VkoTFnfeZQugsmd5ZadCCje9mBDegOt3mPAp+WHB7/mi5WWuxiyNZHV63vXFBDZktKPVgVbK41aA + 0UiNq+mEW8WntYlsqD0GPJRwKIOubtdH3tNaU/LvL4Z/2jb3xqBq4vCUuCg6cDktMut34qIcAQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 05002ec6-d27b-11e9-a6e2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 05002ec6-d27b-11e9-a6e2-001a7dda7113 + x-ms-content-crc64: + - 5DRoj3HEK7E= + x-ms-request-id: + - d00ffd7e-601e-0010-1587-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 3F0xBpBwPDC16sBd+KxgLNbpwTLIFcqF34gKEL2ja+b1ZEle58+8UvKR5PvYb7j4PG6slWm08Kn9 + Zz5fpFgb3GLrqbkhnxa+qnDzn0bUo/MToCW0Ty+ytKCDjeoAdDqXR/wP7hm0rd9BIgGnAi1jhXDt + GobD8Ta7LHe5taREWe9HNInxY11m63DJzw1oV41A/E67Jdhb/SfYQ0Pze016XIQpMnBzfPpZVGyC + Vm507+hlYr/viGfJ3kU5bpgoPgeHxXXHBdSH8gUVfijAlmOcX9yRm0nFkUdu1RKbT2jTVcqpRn6R + UOKB9vDbrlq5fU20tcem7VTmDwxZ3d0WrWMm6au/a1V1bUwTg5qnMKFkLpe3t7ispeHf30nz7cpK + EFLxApv6v4TAXaGp0llDVY/JlxPXKCTOmn38ebzwsttq0pkfujGx+wwjlQkpP9H55UTZjKaZU8iv + +K+icX2e1CbMFF24g77jSFXO+qoWQZLocbtrL31FVY8kYrfAV8OuKUe8vOsAhfKcdPPKHPA9KsR6 + bnhP7tXUKbG8NTCEEfl4EG7dGJsu2EXp0aUVXp8S/d4B0AET+FiS2i5r5+m+2n9akwfljrp777/l + Trf2ZfN2/n6tWku4mNJmO/4Vs2xICnePKQIEpLFMQU/xUXWOtNjmI1hj6csmeWRsBMCjv7aucvXk + /FKYkhCqiv51vjHrXstmJ92DJYco1NF276U98c3KEc8VYqiLw244nPQsglylYPTz+OtIDvWTFzbI + Ymb+HvcMMErBSVI83jm5LkJCrKiQZmKt7ubBAlcsfzF01QphSdRpdOAbmAzAd3FjzvjKw95O3pJr + 2wR5fv68QIxFGOvraYfXJP0cRn7ZP83tNaIZ4QwIVjbRf/a9tngUhqfBjmm/3txvVAEP+yMLxvbb + 7lUDRS5d1IiCLAajWLUaXOaZ2gkYhWh3iWPjsHCE5pIN5ohPu3JZVAxQEpMc9EgkytPNMWNI4pBl + fup+NR727Xxupvs+xeGq6nL6eni3j6Gs2IePMfYtXn1kC12AKq7evJeSqufX67FEGZ6xgaOYuEJ0 + w1m5KJZenBb2hCAGn+JIy0jm5doPfd0ziokKs7439cZVZ3K9MrVzNqLIg3KsKqYHsxrWfP3kPO0K + m0UfOnIFdZjGUkXkJln+PqEQRYUKDwOBAub0NcqzQs6GfWhjiLGgy45xSBdgPb9LnO9KSUEqXiTJ + 1c1L4yImzXQt2eSccPdo+lOYHqGx5voiZquvo5Xi7DvslKEFSVX1q8W50TgyDpbtFdi6HVD0wziJ + BM3DxuRWy2uHI6BIsz5OL/w4z72updstYNzo+29p4Yexp96xfzwuWl6Xvu20r2p2O/26qhmf1w== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0511725c-d27b-11e9-b5e0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0511725c-d27b-11e9-b5e0-001a7dda7113 + x-ms-content-crc64: + - LgF+BSKjEXA= + x-ms-request-id: + - d00ffd82-601e-0010-1987-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + VALi5qOU4CswlD9I9rjt59+FUnEPgbLq2ZiE8Xm0hNolRYauscjyFVqyvNlnMLf4mG3p7vlAGd9V + +CfDii9MzXg8PpxJyAb6ySNqR7SpU2E6ULOiRAAIIp3eRikotDUK9tnsdmzZjzbwM4XdHAgUNwgm + ILcr14bLQNJCByOZ51fOdAUFBczwV/t32wcHCIZZWmgWOI6GC7BXNvB6nWxh+rm7KiOyz4eThl5+ + CaoGzIxXrTWjuMLx1TO4AN9lwAUmR40/lAeseul22MteBFLIoZW0oOraD2xL3EFBvPXymnNfDrj7 + 93EfqE8a0ltzmyQ0KzAIDJEW6EbyzpiB0sG/LsQjPHc8cRa/ACH8VVp1U6VuPxioAQ8/o/LW4qX0 + PBDlmVFKi3RWooO8Sreg8h2Ook5LSbnLJxqiDhP2ZBptolbirNtv511uG7CZrQcAYi8IAxJ61FR0 + bJ7JT2i5x8jAWuOLT8wdYvd3QEMEVmdkmZBYyjkZcqkw2qxAfx/BphdOxC1pzhXeQruCuJVgwBl5 + lEFs8yoALAbH8pS2b5LGLFwPDJ1GPi2Fvta+AEOxGN2USwhreUKG9hilzo3S7Eg7VX8SzaWQnkf8 + T6tr99SojalDwioiqxUaFc+3GKwem8Bv+kXzXxPADhkX5G8fEfzXx0w+4Q3n3aFIXbUWoC5PdIdy + rtYnQGKwodF81Nq37SdMqkWYyBWaUTRBgQHY5iMZysJdEaW0kdpEIDMjwruorWA+hFUTuyCdUXIt + HeRrdOe0sVIhg4zvBBV5CZogfUKWBC2kO0Iy1HmEQWVR1a40NO8zENii+VAaY2B10C8/JaPZIPtb + ScGOiiQc0QVNiFAYLFi1ocTHodscQsnUrpRWyERh13LQXqc3py+m0QH3mdAEF2tiwh5EfDUzoSxd + xZfnxtP4N3NQziZnRirCabKPQPGbAf1qjGSpG+u+BsQWIgmm62cyMX5BunIZq7zVXoQ3GA+FDPup + LSvHjEl+2v5fohXSvWFCnu8Mg9kmF0Qt6gqSJJoithjrTOtaXKDOBP63ZawwVpiWHxO9/bUsTUco + sp6MpsPzpufZtXb1NWUsYaK+Q86MnGOvi1KqurEMa3aEi/C7M+XjXFtyDfn4NtMqnVmvqdWtxneE + goMf9Wa2iJVerk4q654kSkPrNHBYAVarP79LLb9qPra0v6S2cfq9U6i9WXyOaKAKZgq0CMQU2+Un + jRcjFdRTLcgUQPEHF4/E234Xq1SzeDFNKV80ddmXTYuD0i2MdhZx7vW4A/aEcC3X/JggVPgG+RDv + MGNEhWXjhv5hVbTE8pEH6pHA1rYiuaC5Gts7Y+EV4o8SWtqPTXnKWV41tvT86LTNLs8rKscPJA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 05273d64-d27b-11e9-987d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 05273d64-d27b-11e9-987d-001a7dda7113 + x-ms-content-crc64: + - y8YvvbrYS/w= + x-ms-request-id: + - d00ffd85-601e-0010-1c87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + q9IXNfEVVq7UezbigjFCVHiv016Urp0zRUXYtyOGRCyNH42AdiuUxdfNaVXSMyn4Guiveg/ych47 + l41J5CY8FTXqIB1GC/CG6aU1t/g979Dzggi1pNoXm5/px66YQZi5az92h4z+rXeP/DYmOpw2peQ7 + pCcOCRPedn1GKqJT0nFIDcjul91pFb05/DO30DA6cyeVk0t92cCb4bK8MYq3EaydAMvBJIcukYuk + W07MP8OFDVX2GYnFUqG0E2PukQO9sBg55SNESxPzbKLk75pyL00gc/O7uO3rwcl8B3sOT+ToObds + ZOi1TjJOsB9yXRo17+I5CEzRKuCB344hcYAgq1AhqueJW7uamaBcM5bXIbkgddUWAiwdalRX8z4D + 9K9uMomS4UdZxfr96fwM+XMXLc0DORySMSdUdheBM3dy1nEUvkSRQU2K7rhzpvZ3CZFTqEkcMFF1 + nCvUIxEUR7KlTzYmYTbDZy2cnDlSfPQoCukGEmPeSaBJzJg3KJTAXGeOy48is+s/24aDnxfpaj4/ + 8DqyfD456gq+0JuLRcelE8kWux/nDmHrAFXPCS6g300JRgUbEmbToAMHIY4GAarPSVd4CXPXfQti + WrkJ0MSYwCHZWFkxn4qtbBSQTiMowuOLAvJvfDYqP6nFjowdnaf3JFeVD6NY+iFEwAN7ZCPxYqeF + ULr0F4DDObKb5+tcxC2eQHcAy5A3yEFzhXfkKZ2uQ5lNDHAMg4cL4V7u4exqh1h6HFS8w9nMXNgf + 69iPdQzcY67SczpSVIv0vM0H8aw/2R4ZP92e4xAa81lSPVsw0AsqhHqDpvToFIh28BJLmXSfSepQ + cTg9P0H9RJE+dZQuk2VbqqsaDUIyd+AyPIErtPC/Oujbj1bCjQpxtkSI4nzkK7UjAUTgL6EImjjo + RktqDmecJwplHXJs/Bx7UCMn2RHpmNHkCOgMxmONKA/8mZaPr4gz3FF2lcE+fL9QlO4R43/029D+ + LfNDp3JaaTIyKirNm/IJ47wErNo1LrhnPLCix/K8tHdduyvBrA5YCgMcuEeRUeK2dlrm31LH7rid + VrmgmJii2jgHMCdRXMWNf5L4HUIbOiSQiXSRSb0MBM0nquNG4JJgzlieifxGsBDJvBCk7MErqdtp + BcKBlH/zfbH935piFkOPqCV7rzItaQ2uysvUU353Q5Ga3CxBp+N6NeJQKLEN9XSHh+eykh+PiQKS + T/RAqkY3yeEWcmV0JIUTwPST14khjEL9X9Wra6coC0sv/Lo4kMMERTgm1IOQUOrAdlfEfqWp06f4 + QnNentlQxyXCoyW/Nk35vtTQfdmp15qMTIRoe0ivqwUeiT1kPU8qbNN7AEqW38JvID0c7fDDfg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 053b04c6-d27b-11e9-a64a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 053b04c6-d27b-11e9-a64a-001a7dda7113 + x-ms-content-crc64: + - kUdddmYK2oU= + x-ms-request-id: + - d00ffd88-601e-0010-1f87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + UYV8GETodKhSCfqq+3G+1aio2CzofV8cPE3QSS5pDbA+egjH2WJSORQmiyGvRnSVgvuPISNT3fRx + wJkQzF0mcQbDt3xwPZA8DVfW/uInvY8Sg8qvoL8A5rJ4uoKrSi1tx0G6r+seTylxCpGGPqqIsCMK + VQ5NQ18cn/vhS9FnqzPJtRm2AD7n7FE2h+wiTHWUeoTtmTj3SFNTUHKQorLDLUoWxV27w31N2g7b + 7zOqvj3WT5IFqWrIT/6UoWRPeCPYCLzRDp/4E5gn20moo3T9gpAjeIW5Z5TNeDlTOCw/+IcJHw3w + z7SmitOeYBUyXUshzx4v+PI2vpDayJv25Y4mwG0TS+kyWpwQsqgq0ztE7Zh8CQHyIaAm7QxlzE50 + /l3xrs9ePbftFkfE6l+qxqDXAdBqyN6Lr9i0UYLTlSjfu9QYE/wKaeULjAWh7bKhV8jAwPNGdfqH + 3UASps5XYnscli/LswMpSEOQjvlVia5TCNXShb93QV9dPtk0DO/KN5v7Pc8d6TTEkCgvtu4w1YiJ + Elec7deM11BboGtfNL1DV4JQ47mioDXKPbSonaiVK2AktDx4m6Fy4tRljx2EeN49bbI8RsfDB1za + fgoKKWIlZGp5kUgUTgo86oI/+xA/09nCfG3GcAtq5mbxOLYpjM26b3/b9fZbSw35KUG9IBJLW+ep + t8A48n6Sh/GHdcGRoUppmu+v+Giv+76JW6pSq3IFXf0I71tRBW3LfP0yFEsCnw7HJ6jUttQxXHWz + C6rMb67ntHnAPebhOf1CnDSWQG7zz6X+FAmnbGts10iUbRAOz/U26wvIBzXZVl+50bv0XTZZzqTO + Ml55JBl4B5dmch+LDuykhK/G86oRu2CXeceKOcsVW30rRo8nupqvihzhVPDAEZ9j5cHiQUIsQ7KK + n1uSiYArkpIZo1Z4j0qL7G623/z9blZQeCsdzNmTfR4h5lwzCZ92AtwiEasIVKfghLER+PAQmAd2 + ZZniJU7k2noqaeTUW1F+O2edVoExcSMuULAjF4JBh1ASWtdLwcHH0XFbR7jWAgwlQLb6SebinAzo + Rm0S2QjOD7zOZH7UpkhoYPf9GOU+5pfoJ98mwCyfA1nGkzLRpNcp1g3BOeLpLGdRvwmJ7F/8pDZ1 + cHdLDSsxttAejVnYTvjUo+X8loApsho4lpqfQJ+vUNc8hTDWVhDy7MBHabCH9ACKn8XM4rAioy4t + 1MpquQ0mtdDTml+23jfb4PE6eG5GvGvRGIrl5JhcW5OduAQHY956/S1j+kr+tjsU/UVvqa7uAdza + HvNASDkJfgNy3KkClZ279ErOfrZfqvSlggceNsqn0i39xP6ICMjwR0vBvQdUSD/g0O9RC5MDZA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0551ceb8-d27b-11e9-bc8b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0551ceb8-d27b-11e9-bc8b-001a7dda7113 + x-ms-content-crc64: + - xlwMtXNQCOc= + x-ms-request-id: + - d00ffd8d-601e-0010-2487-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + JmBuUT9VPgXwhT94Upld6hZILJ74vFxHD7HLd1ALtQ0QoD4db1Xmg+gJ1sv8GW+Rq4r58JjYs9Yw + mx8YgF8cXa1rcqcJcAEAs9Z4Qo99lpE/TtygJtHRQ/z0kcPpLUliukcO+oFn5MRc+mtm2wueaf6Z + EmoWHjiLqMe35WiAhigyNfR/3CY6q3z5iHE4/hOg/OEnnkLkdxmVniPXqRzTxyS1Oe3UezdOotil + p4m+CBU8X1DoeLf3E3tOkO4LK0OXUwdfV3oOF2m0ItQLIt0oW2IjhpDKoWJ90qCj50AemiPgggxx + Bp9tGrrNlE82DfXLktd12X2d0EuYOm6Oslmmv0jdJ99DmKMY9Z3m9pnR3U/45rkDHHakk6akndUF + x1u9ca61yhYTtPFGuVp9ccvcik5BvWve+PCw2FD+4ToiWyoRWOYLWjZFZhCK+SmwjO5SzJhZzrnK + vCCUHGhIsVoKdJ0phuqExfYa15gs/vr1UdREJ8Du3LUSQ43Dsg4ChxEhKi2N+aEA23rVNgVt+a1w + g1duW73EouUagciroFvY8l6WjO8KFouS7Z5Qy1bSvCwha7VFsPvIX6sH2JQTimI/mKF/TA0PMBeC + kW6+89oxQ1Y42iyt4drGBgWTkkIruON9U4s7H1cg3swA+aLewAVaNKVpdAqrzVojmVy4J/p7EAgb + 6O1POgTQ6N97WgVHgsknxMD6NARph9QxjgVSczsDB6KyK/l4M+55+Zk/V+yvgGXFyc7puu5i4KPC + E984LcSeeHw56nT8TEaNriqirmnk6UuwBZy6Kvbzs5XD4vmK2EqyuPlj+BbYAlxXk3TPyJFRErWw + C1HctdBzXXHHLk1Yk4zDcTsnPBM1JMZlqMVBwJ8HXcMj0+lAKwu68iyKFJsimmphTVUqOUtTNScq + y6QrueusggHgN1jJdoZi4+B7cmnnvZ0cMjZOIRVO38lWE/5FAo59x4L+EHk4EOZE3mYhTzVxGcju + Ji1UAIWdU8NX9bAYuVuRBwcBLMJ6p7PS7A3XkQaj0MLmuhEPpuKC1RLE2HHBtKvcaM+2sYaf8NOy + whhmu6qjm3eVw48mU83PIX8QLd4CKZ+FJb+d6em0AIHvnAY1aAvFD095kep8svWA4mKHZAUW4sy4 + jTvTQRMDPvK6DD9NKrvgjWJYYJReCBMe9hTwMytTTogzAbjMo33o4WtCxgp20vL+L6pHRqsihc+h + mkYq3WEwMNLhXTYfyQZzIboZL2VAUKMDHOCBvg2qe8qAzRJIQh0crcZKXefEd6TQ+hsNqZdRWvjj + kYcEPLPe5cTwAgfOek+p+2Oc19oBpGiFIRZ2bIWSnJ0YuLjLPOqb3F55r9O/slFsX7EvT3W2kw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0569761c-d27b-11e9-89b7-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0569761c-d27b-11e9-89b7-001a7dda7113 + x-ms-content-crc64: + - Vz+75xfyIKI= + x-ms-request-id: + - d00ffd92-601e-0010-2887-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + B9Edpb9ZeAFw7rrBhVnQrDYUdXUTjHXezN7aKznrIyk+vif4gGl23xNwEbeTCiDlY+gxeqqcnOct + pebtfXKblYZM9OG/JapByFXXDcoZTN+uraV2m4pL+kV0CV7UOBMKHocg9GBq4o8KMcnNSVbNAMWd + hlXab03H1ppKcjNCcNgVHJBU6JDVlsDJI91xypvOV+1S74lEzQxZwNpj0CTwhPsG22FtCu93ZB2b + tgGYRcGZAX809yLEMxnrBvAhT9q6OEtjTWGKsJZOTT3PA3cG2pwIymJYMLE8zR8wVWyHpDdOEP4K + Vy33v2/no7d5+23ctK8Yo3dGD3LmUgd0jvz4hX+zsiOSw7CYxVJrva0Dtje+kV+kL1ebms36iOFd + EYbTsgDc96sgXLt9TfqKw46cHJ5lUjrqkwjA0eCmJaQ04gpVQaOzsWlEnZkBXgmyw4Up3UPRCzWK + nnDuLgOCPxeNKgqXOMEKomuSmrXGMy/w33Y4CHBPMwDoyg0mBd3BazkAy3JUiSK8crdO/VcKSLFA + EM5gTKWtwVjZiDhcXQa3bF5GalEFNdnKl7r72iASR74s73zhP+KGJx2HnGNxo3J0lnjK8uODrn/v + ttddlJCZZAeUeoWuaTQWSvCpL3zewXVGb9+yt3voiEyvcHAuxtyDM2kppwUCAy3NAk8ku26bRx3w + aSffPlGddOEpILfmgj6O3sH2ufLExLGp88KWtHyJd6nPn/GwVWuOFvXbv6WgBuKprtuq/eTXA+nh + 4ipYYktMa28XPRBkexwxNOK7brzOEKbjdEtCzmqswGREz0CbRHGx5zjj0F/iJ8ow446Ml2AW8wpH + AXAO70L5e8NYMiJ3nKP7jdbAh/kI8OIMLlwzALFpWtp6BjW9wd2ce2MoG7XOf6EcVSk7KmaX563h + NfAkfiikXpllBYdwYM64RpBXedezMRmn962LyMoCz6rqZ9gZyFPnnhL7DOr8SdWkHNsn7oV3YEIQ + QvSNlnV7ycjvaj8xcL8zqPzlfWxYcgcC10VU76xCoGJCrvBpl/FqLo3K+d8a31xUL061XVWXw9ET + 1qOXiJ7hYfNJsbdX1Ykpyyrr5svYy+hF9MSmVtjapL77xIiqRXxnWxoN3ujc0xmefS6gJJgJ403U + puRBYUFCHbfzEc/fCn5ez2zxnd/E/NBcWramx/7JUUdWNAN0Pnzjb/H4ktlMQN8OOvuRmLjo6HHB + OOnB3KV9+ObmMQ2n0+iBx4VWycIci8iI0J9wK/No+zygRDhSL8m/F7n1j4G5NzLSoRxqjrNFQXmQ + IwQHTPvY9FNlYwXVIbxDsSVzUzzT4C+584xrr4l9SMWfFfQyTicSt/5PGl43fRGwMaIhFwj4lw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 057e80e2-d27b-11e9-9f65-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:41 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 057e80e2-d27b-11e9-9f65-001a7dda7113 + x-ms-content-crc64: + - Sd7QBmjnJ4U= + x-ms-request-id: + - d00ffd95-601e-0010-2b87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + OnHp0IrLm1cD6Pg6wDiiy3InI6kMyXGeFKwqLwzItgubsep4ZjOpfvGctsS93Qf8BJvRR3vs0yXt + o7fBZ3Wh4Ekk3CEiWX207juotQ3vM/xwf86HEFblP0z+1rwexBu5ws8S8MAWWXP1zYR1Aci7O/Cs + 7+E/aZuggF8yScDI+U+PKebxpXr0l3nemY6i/rR/LHpRgUQTUoFnf48MTFMxjWMtPWtu/oCmsIsb + +DDTY1uPMQTQZQ2WtYVkEveF9mmswWe9pdcubFjrOsQgWkXE4bvDpsYZqze4LIQKPps+QxQmAfuv + zw36mYPEIyOSwkk4eORyj6Tiv17sNVCGduZGgFVMJLsd958Z4IuGVrolyYWuB5vXCDfXoNHcpsAX + 0y0/he2aS0glptHGpt67umQU9o0VmyHi+jN7cIOlRcec/JP8XMYODCnTNEmUwibi9AScxMrl5zLz + afhSM1/+ubPB8Q+nj+tXqwhte65Csggsc4PWQX9eceZrX9qVM2YcGXl9ty0LikIgWib0vfkERO2J + brsN+cW+fA6DZTnqbP636NydHND4TuH4rOqNWWOTW+7ZUC6XlTg8hEUepsH+Iaf9T93SjKWjv7Iq + Vmlj5BVnIV7ur8WUTNgOJJpdHu6H933nz5xRLm0bEfTFHbAc8Bke8LfeEf5GJjifEJcb8XEy9aB6 + lp29BwZ7Oi/DbCkgsyDBclUD7EOUA260mDNO4lw3QGobbEZNkqkEPkLgy0kCD96Gr2Z8xNRV58/7 + dRl8qGnFfNxky9id9CHeEOLfAeSoMYm9B+sNyoVB6eojQJkbq8iVuAjWTHh/IxV0QZXkMgdgCss6 + ebcO0vVQPs5gESSx5oY7m5SnNO2mJOLHDKwJ6AOe9oPzzLfd6CPv7UdAvyMRtzgfM6q0kVbgrViD + 2zptyhj2S4/aKk9Rk+LqDJkglXtLz+vHsqQrhVhqnGSzL+91PHnKtKsQmD9dgqIE6thYsgLXL9gH + 9yTTxDXTApE4Faxvz70YeYRDL9ynucyqydClz34OpFDucGQBn2fq9ELu9UfxOT2q5B1A6UfCKVpD + HknIZnIb3MBSb/rtGHCDO9tw0OuM5u7UAz4NPyfJYg414LF73Zu0dJq06u4CWCN7YQ2QeM84MsjV + j7WTsz+tUIpqngfaoJ612XXS8LqStk1pFqCwAjZprhMOWSNbGJwCeqEM/WpHOw65YLFfjinGyV+w + eH5MIls8f5B1FF72FJd1nglXxD3XApUJLpZZ/KY5tB3bFOsUpqZTCWO3hq0JOlSAnkoPF6a6cW7B + TI2hJtY4mlALG1wtfPwMAaM3oJ+AxJsMR4DPaDhSFAM9gM7rJZ5tZzaRVdj6WGu/N5J5uzu2sg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 05902fdc-d27b-11e9-b173-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:42 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 05902fdc-d27b-11e9-b173-001a7dda7113 + x-ms-content-crc64: + - t312AIwfCGI= + x-ms-request-id: + - d00ffd9b-601e-0010-3187-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + LiW9nW8yZqTRLUgOQEMPw7ImzFw9GoP1B2RDHtynC5bgPM2zFdbZslt7TXGmi2KLCOE5mET2t4Uo + LIF9k8fTR26QRm1XbeXXfAxKN84ewD3Ue4BxdkATJ3dqwDpV8PvgdKOgL/kkpK1oVb/ACw6NURD9 + 9Pc/kEq3TTBKJoJENd43L3GPVlg6HHxMuX4f/goZjCb6I647ZLE9z2jO9zs0NDKDpiI28ZkBOa2w + ZIUs0N9UlUz7VNYstCKTC5hPHq6u1Gp1MfJp+afv3IDYAakBEb6gGjoWJiXitvBIRCJDf8paPH2m + H2Ibt0T9UqZ1Hob0eK+hS33tO5WC0afOplSY7HuUmiZD3EdBJeqkyv0TsZSAKFcymRhf5ZjkS7qz + wDngWq1qUjmIhZJGsQ/TlokcjJyMdzBnU3Sc7bMBYRJL5mF3D+X1IymuA/Wt9mE5NbfJfusZWCi+ + P40iYSGeA8n612WJ3ZXhi7D1+2q4MH/zNSxK7l6pMH4eyG88Q3FAWHlMg5yeHVKK47kulMWN6kIb + Q8Lc2e6FrQrekvRhraJofzMIxaiqrB4RYAANmQ/yhXJAHxKSFF/DS00q2N5eDd6Pypf02kX7YyLN + 0pIqbtd79qKSQQj4woFtZezfQKE5ossA+SELgP7MyTgUWaLw9h/RxQsJFggyolvmnqePxJxYwGVc + wCmikpk+s50nykisaMlqCS3XNSGZOLFMbKWZj73bFse5tqQ++hp2nxGdJjPbwnR+X9NZNx82WM67 + hnOXut6aQxqAiWbGRImjIq7kHKSE9bl0FEW2FC+P/Hyyp89rWd0Gz2ApFS32+0/sA59lrfVbunow + eKvqdHrJNyMYBXR7HX1hSxVQn260ehiwjr/+g/UDpxJXWmj2WNYvA5f8eKXWdsyx6r2as97mS572 + E7ZfRyG+47utMTd+HwjxRaQopjXzYJo2ampmpOeiq5gFJKwdoE2sOgX3Tzd3LZ3KnNQoUNt9fvM4 + fmaMWuFF0S3qhB0uu0TweAvrwB0SlpkgKoStvD/eSXVtMs9xl9uvcF5fQlBUuppRB3pzEf565ejv + 4CB+jPs9jBusO0u/OJ/zW4e038WsLM55MOk0WoIA3jhi748ktM8wjziA1A1ZeLw5lUmC2lc1qCXh + 4BzKTHWy9bBY7/q/vGLC8jqVWq8qS1uumKe+VSh2AcAQ3wqoOgfxeQMdPL7+hwqmM1NQfTY8dVuP + fMxW/FLrIoP0ObjEWJnIHzULeJbTKmIqteMBoprK2UnqZ6cw4yTnm1lwlpMq3IuY85rP2395Sfxw + RORi/unRJ+oPqeiQ2i/kdabcvjTHPSNIU0Hp3/U7z0ykUyTbeqmlOrsS0jNc8GInBatYfqIlSg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 05a7696e-d27b-11e9-9c30-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:42 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 05a7696e-d27b-11e9-9c30-001a7dda7113 + x-ms-content-crc64: + - Z2pAgsPtU+o= + x-ms-request-id: + - d00ffda4-601e-0010-3787-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 9ZITLGZAjWJTsW6z+gIXfgViGMaMDmFbUgIQo8DiDiOva8YZpdwzcORAOWOr+naUDoahBAsbtpIg + xizmILxuxLyNApmDy4S3O4SCoh820kk67sJBYkM/fl/pzGg4nWd+NFrGz1WiPNXqgh+2Azos+4WB + qO/4NuR8ufuQkqdVbgnl26z+jiwDbcca2FVGykmatZ5fAG9mxxzwTzOyuWa7xNux4snZX6Doo94V + Bw3a+gpr4LdWKsz4NjJ6GoUfcxgXS2RHjmAjQeY3FthORl64xrjR6JXjbvhWAy4sIH5BPydFhYsS + FAbelROJc+/ew5WjLo/zVDufK2Q8o6udgkYLGpFVfYslFKmVguNY+dqCz+ZsX7xJ7KrePKcPmPs0 + T20r4pXkVU8VPr7vnAjJOnTK4S/S/eg3gV9TUBUecPorKxUowy/qm3tG0GNyZr25J0jHUXlOMRI2 + xGTAke08nqNBn/cm2iqakTHa6SiPGlq/DOD1+PncNpPtozdMJNG02PiYMwvSljnyKT623hnyq60E + DwS0Iu66zUfsrWLlaikE3PoEi8MovSi1A08HmhBVtGYuQRWLZAfSKqBkd/iQF5GzkyCHycg/lIx4 + S8M2IXw4Y2pQCuuhnbuG86xdcRIkIXMA1S4Ph2NMDNMchFc1mkMZyumoOpqLnEGukE/HUNTtSUuU + GwFt5RyX+kR4oU2jQqHBnPejKev1kK/V53JF1KD1fKx4EiI0SNIOFq9aR73NmBr8PH5px9Enaead + 8TChsdUdCrzFztsL+LSwRXsqMC+Vaj7qyx1izlo4qfCAy5lEonC0B91Ramw1MtGwbG1jMHANo3ny + U3THNB94wM34xO4MYTUM4ooshbIjX2FfoiWu/H4F3XyMWvtuUeznwFVceWV0+QFa0U6rIHHbknF5 + pWKGrQTfTAvbg4B4r5dYHe4y1daBFHcWBFq5/ZqFrx53q7gbH3VHZulZhoafp2QPn/ZIOYgWtM0w + peb8gNDH/sRfRmwzA5kF+E6fShLcrAtSwpU16IldcLuN5QhiNvLfhq0ap/WpIbhqz09iv8gU4AWj + wD4tBjtzAxOcB0itNmT6xpn3qnuP2bs3e09K0qaPijkgNfA5RubmCJzq4R+7oYqXJnEOnMX7vcM0 + jBSr7/QkG+ZHau6i9NM/1Z2UCcdtjaY5UxTDXaDRq4jRgradvhZSMFgxpLYr+CKAzJOnOsGHSRyN + cjdxPgXvRWm5hr1FqRUbVFHlMc6G1uABI8DFXytVe6skd8YeSIoui7w53qtUKMIGeSX1R0fe5DZU + YxCE9/nHKUaZ1ZowmmnGTuSHh6SEh+TaKRN0vzzmmINa6kI7WK7GS1H4MCFwCsfCPXOxKf33JQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 05bb955a-d27b-11e9-8e91-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:42 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 05bb955a-d27b-11e9-8e91-001a7dda7113 + x-ms-content-crc64: + - kIZWcdzQS7E= + x-ms-request-id: + - d00ffdab-601e-0010-3c87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + NKO7bc5LwmtC6UNJc61Pqkemm9LN/d1DU4pU8UwJAXDu0U7hJnFYCHXuZJwfuhoLXxnZ13NfckPd + 3MlKOFAM5JsHubBvcUFJ2QdrsAor9sVCTLRB/uOol8qE/DA2HFqP6/iC/l46MGJ+Fw9xFfvZDYs6 + 2RovMan5KvtFGNnVaUe6nAfY5vw3d2xEHIjct0Q2uZXBUkaNke/D0UXhd87AOdJt5Kx1nlpzntia + YUob21TItDv5JbVhVRvpadghXd/JGpyzG8ft1dKhX4DOn7X2sho9ydD5yq589YougfYd9MCdCgen + s81ghz7w+DUyHb6s8BLr7Z4TEIhiW9P7dmlN4uR2mEMzNLv6FhDa1seyuhEcjwrIp80EKlkldEov + Z8H1E8+Ejx55p3XiUNPLo4PVg5MiGOoZGfNiKRs0yQPZZsdldhqB/qii8/bYCVzkXMaSALGx9Dxk + OH3bkqIhk7YBFhh3N8p3IoCKmSgqnr/Y75m2ettiFJg1aFRl1njz9r0RoNAshjGESbdA8+A+FSrH + A6gigV0VVgakGMKkisBY1JJwBPiHK0m/RBZ2uVUHDSGiD4/0ycqm74w01ZL14V+9t4cByPrqr5uy + UJrIrJRqfdg3VPfNg3h9YhjdVsOMr3oVzc+NYlt/SMkpCoJKTSKbAFaF8AAYXCc5nDUM4BpP11c+ + 02SlDKOrMl9Hfb9hlU201Y1bnBki52Rkd5ovyRqpCIXcD2ba00/q1EpZMzBYt3tybfWOyAbjrZUc + jil4DKX3VJTiUYpPx9SU3PSJPtt7M2pOUCZQp/H4lypQOD1KjfhtOGMojILIJJAKV57gia+5/k1N + GpOgivaqBm7C9E2Ghlafl+Y3fywMNxUuqTZkBFPUz57r9PIq6nTYEWNOuexCMYVP7+d//rs2Jgs0 + sRBn2/If3d1d2guyR/CcWuOPVuz0v90STGl2c/MO2SGWxhrkuxLQEtDkkUZIqwN4E5ydxaT6mIXJ + Vqj13UU0nX2m2iG3VvzR9RZTq8Cj+nY6xRxqqq3XaOU5UAgP0HM15uajnHCAKrnRW11ERnH0cKmm + Wb5WZQATbjS1TxnkSKhXalBteL/dHVySCOYPPRMNX31Fz566xVzOhXFxnrvn4w/GQVO9ssHdmaxd + AKy8uQIlS4bAPdQIyECKo41RxjJC8YZBhIZgsFpo8yakSpEEBMX8Ukr2GFG6qHVLo1PhJYveGHDq + 84U5GaTf5nb9CCBqqw2NwBvXwW8VnCSCOpjmJa93YkuejSsph73riF4SrFBCLT6OCT+KAcciG0rQ + vGtCE5ZmUtUIbK8Uk8S7pp050uFACPXE+HjeyH0waovcrt6TPsbsVAnlbenS8tBLl98+aJizsA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 05ccf11e-d27b-11e9-8d02-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:42 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 05ccf11e-d27b-11e9-8d02-001a7dda7113 + x-ms-content-crc64: + - BW0yZhtZkG0= + x-ms-request-id: + - d00ffdad-601e-0010-3e87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + F1vCV/wXwu1UOUf9ItsYf4mNZRAN3OUOBmJf28JNf2JBZtRG7zZMKUWZ8vz3l+8c4/z3QivzMhZb + ev3UYd/fczPB44ivlDwUFzjX/gAAfHRgqzw5NIpB5Licq/5njumDt5M6XjmTXorAARf+RxaHNnon + KR1Hoc7CcDCDUfgis9niF0aDnhOqmuuuDxbeT4tmKFqLugE819xVupcOCGiz1bQ3UYu8T9cy0Kmt + +zvnv8j8fsSZ2Wsz9oQ5RUfZ1JrWzA2SdBbTCuwtjXPW5WJYnQSx9AJEbp16C47f1RtoECQRXkM9 + PxyTOP1GeStIRYjaFiqC7ehtcQlHButflezKPsJu7xAfMvgwsJOx05v69jGa9YS3zsO7XmQfRhT5 + 1cpBBEoyjc4DDGmUSoD+nhvfgRpXRBKDpVn9xNKSU+/tnAPGLlhkBOz8LpPe59KEElGsim9ANqJk + O14ERcxJzVubSgzthfcrJ4wWe0A28dn4gMSnTJmz+X15B00KPPuTazYOl1Vt0TDjd/mJp/q3xiCj + kgtJCgeUiQtgbC08h5oN92nezxdZBqhdFNs7ejBZy952jWn9MVdNeG4FnURXDdWZQSHJnSWOmOep + Of0kwIkmhqM8EsjtDOMJGiAv9+vV45G0JmFdz+ZGVgoRhncNIMzZzFhlqu3JR6H1C2uLg4ZrPQrh + Pdbtj2aLF/1t2/Z7IV7qiTBKv9I3Xf0U3hiHT7zJOMHBHRb1lXNiNjqgu8t+zQ5+EykQazif1K7+ + frARcP41A79qOEc28NUuIYcRLNCfLEcgxW9Adfx9/aFQmZPp5+xDJLJ+OiLkEOHXUYh4kq36GYAK + su+MB2BDgwyqwM0BILyZGv4BHIFjq5xSN6+rtjKvQq89iPrgA3DRhd8PkFJlnpegRMEbZa1/YJDR + 5GRO9b4kxFg5rhmsELqsSmmj0ZSDuBcpWxRi0W3x/As13yPZqa7nj/MHSjyWEumdHMzRcc38jDeg + DoLl2/2zEJLfI9zWmsmhZI9ccEfu820DMWHfHwU6vXpI4ScciVEfFAh8s8V1rlZwsAsQ8/d3tedw + PhMVCO0SNhFCMWO3ABkOYu7sVD+smuL5uWAxfYFA18fen6Ecpt2SQFMRW1XLHnRcQypYLHstKMer + nztoMar4lH1MFCZTzJGkYeID6DWUqOckG0BaW7tdJ6bVd9BS7TpMfbIzJUpYRX/GFmKvd223/INR + Bj9dA7tkxijEmMRDuOD8P0XToVu2VXSTNE+yT0iFTFYo1V7T/EgSb47lgUGcVkeEroVkeqLh+Vwu + ABDEfkOq0N66dyZMhqMG1dbdUmQ7flXYTqLmASu8szWYm7FvSBsN48ziIir6gbCR588KZeNDnw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 05e7d8f6-d27b-11e9-8f4e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:42 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 05e7d8f6-d27b-11e9-8f4e-001a7dda7113 + x-ms-content-crc64: + - vEEkEOxJxec= + x-ms-request-id: + - d00ffdaf-601e-0010-4087-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + krfOj57VJ0fMBkpmy36pQWdcRNgX7LAxBmS99HJ5UWXNkffF3QNYQsZwBnp5bxBpn/LXnYljT/TF + PqgjhivgledXc16nYEyrbznljmmC5S8OJ5o05O4cy9h/+Sfrn1duqU1RdsXQRAqV/bEbw6mphSFE + pD4JY2rD9INx1t4Cols9N6VFZrZdBzxVrgAh+ZhGaWiX1ByRID8b4/WXFio63BT76+Si6QPCUBBn + U4j7HyAV7cYcpQKGgJpSf9+QlcSxMOuef2v0S0OrltV1qhP9OwhgtHW6/pXLqjeUmngoOCthHpfO + pAonMttWRX+2sGkiLCQhzxZlMowS4SBc0MYWce7Hl8U2hfrmsdnO9QJL8xWXcku5rZu3IxPo6WMP + Z/qEhnlEexcvOgXk2VoxDC532UIh5+0PtWHuP49qAXdn4RFvuFnWclez48l2ttuz2a587R/1Njwa + 2Y/TUMjx3Dr7dLOgHuWQq68bOQJeK9AeatT7jvvcimVqXRQ8FvYj3FJ3B4k/oscY676mpCaj4enS + egaacGQhGs77LrRyVIi0P0JBBXtyIZiRencEz2NF8tZKCFlhrsOVqQfK+vkUabLHMxZoDhcHQBDy + YUh9XmPmNWo2cgh3E3RrAiLme5wBhYNygTTo+1UG/O7TEjQDGwNSItZbtWfTSVJp7Bf5bT49TKQu + Lh1vy1DsySZt+YLy2Efds3mx5LAQuO4F37MlxnjOwQj9b1OgBoSzWC8OmMV6DsLrqAh5MVz1P+sD + e0OPK64TGMgzJv2dz89Vebyiq6AEE2+XwHYhD/Tk1sKmpt5kBGClLQ4MjZFCOz88FLY9evpTL63b + G2koBn7NOTWthovthqW4TPXstAEQz/HmomlXN/DY5NW2CuB3ztRV8RfmYX3zfKh+IHrVvjf+ijxy + 3UUd5FTOhGOSDd3ghcvVV7hEgv650aI7CSuJi70tpwMr2t1olhFtNhz3nrBixvSf4DqJRL6LC3M/ + ovR4W4hS5dbuIuTcnMVPyWHHJk+jYuKelcROniUsXqEBOkL9noecLr+x9i6ZWTPvP09oz60z+gwb + b6TlNBAPn8OfXXsTjKXK3ODn4mb6SA3XpmNzgB2KrFYYGRXHFbXETHpY9r8EHp41Z+01QGbR/Ref + NT0FDEc/zI4x4V3emkDCRBcAkJJEB5qUNrLvrFgkv9ol07k4mC6fnKLi7hU+rac4lWekQtAa03RP + r0u709w4SE2ZN1T0KuYWaHmzghxWS5qTXWWnMjnyd8V/reHRuoKcZQDE9kBTEdslgcsRduRfKTw9 + j5Zf9GlMQq6JTcvBJSj7RH+ujVGIyDcBsdHcekTgSgpA8VD80mLvm9e4za5UKC2qmp/1Q5MUKw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 05f98d00-d27b-11e9-9edb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:42 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 05f98d00-d27b-11e9-9edb-001a7dda7113 + x-ms-content-crc64: + - lXAuFQOPf7k= + x-ms-request-id: + - d00ffdb2-601e-0010-4387-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + xRofAy1iOSPVAMlkich71MyYOsAtKYRFW73vXTeAtGnXpfBUIUwjD1mftI+XRudRawygInIlQ9sJ + UTcHOL0InPGEYBVUIIMLfPRlTNwEzodlln5c7oDIra3HGOWhjsjohUbXwlguZnShVOg+3wl8jQDP + e8q3eTA9H0lJIkIpbMj6BXXmbLHr0Wta1OccFB4asIjvfDq3GUtTlMMmAreuMsqAHkoKXPp1vEM9 + wnoaWJfXQC9Ph30qHHlEQ2LlIRHpD1A2rL6Nykh7vr2GZ6ETZySDAj4WFksmoYL2Gn2Nyv0g0p35 + 8PjHAK/p8JPTQI37ebXTYBcGUYTlwPYE7rPGq1b+kRtG/nu/n5RTkLpYQYmbict7Zy10xREd2kpJ + GWFgYaIUwyJt9XsV8YruMxCaEUUqXmz+M8DwjuxZT12x1CtybIcA4oCLL46hy9roKXP9mm9GyJtz + cQMR6X1rTvBLfjxBYu3BNUlMdDbPFCN/PzsQjAmiZ471DVVP+QFQwLnk505/aITAdQHD038vsKp3 + FIUbNSk1uAd/i51+LrfSZ1vX0n4ehL3pmiKloN/AaDu7YNEyZ6v3clH1xPKbbOiZrhY76mIL54i9 + sfXVcplFihL9p65UYy3O2scYeYSkg4oFlaRp1PLqVf11L2Yikj/fA6+vlNRLNlQ2K5UH6P0JEGcA + j5ZcSAsAlQWEfUxDR2c8Qh32pyLCuh2ddWkGMhLo9zkxml00ijajB7Ft05fbznZmOjQ2T7/LVdGj + Gzh8TuwYwB2kA/6hx9CQXp1MV+8joypFw7KHNM9LgJA00n8x6/eOi/oypyzrVsJKTNsVjzjTjAYD + ptH3dw4tbkK1Y3FL5pygo39GR6bLfYr1ZuP8Tf5YE7G4dmQdknbnrbPDUnqtbyFAXLDjWo5yKKIl + w0AEBY0BpC6dr7YlVl4uXvz6le85HXf5FoxFRf5zGfiRyTQlPwqXEIVh5VRhdFCbXTIX2qlzhX27 + vD+XhmtAUdmAIX1QGCHuTd06Z2ul8zxfU9IOL781QXu8ZvVT8gdA9F2DUNoqKxFlLLB8bqcof3Dv + RYy8Ea19AITlyB2u8WTUIzDhvF7WHN8fK/Cjmc7TlPtHiy/bixws2Dduxgp8Q7SuJCtDzI9+msn6 + J7V44HKZqzB5uUgYBsRBULpR9U1Ru6psi4a1fuH64bmyf1tCHwK7hJ6PaPcOT8n7BwJZYXCE1GQG + d+0U4b1vtbHocuXM+9OP09B9S9hqmhjpg5R+g5NWZ/EByV3OQ/Ydmm05A5b7fn7RxYOX+AbfZH19 + lf6sLVOcwwJSpHPNEf6WrBqOy6jXBpv6j97u3fImr7grILFSTpVUFXi9w1fpTiMGNudgEzHtwg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0610bff4-d27b-11e9-8419-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:42 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0610bff4-d27b-11e9-8419-001a7dda7113 + x-ms-content-crc64: + - 5TtyRufcbe8= + x-ms-request-id: + - d00ffdb4-601e-0010-4587-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + wBUoaL2aEXouVD+ef2rV61a2wtfaUhnVsDAabtM5jI9Kg8cv7ygy4GqG8eqe3XCs+FJ/fLsty4+b + +Gjk1ZEM+wQ28SXr0KSyzq8yQlM4gdym3Nxk21T5aNazPn81qlz258MLq5msfO8v+96c3lWlpeqL + k7cdBxVTP267AxZ1e7b2rLtA5T8Z+MpTZUtD3M6VMqJmawdTvDrf/Ol5cdEGqEB5VS+1wIX8Fc+T + sCT+92GZ+cuGextVov3uQDbp24H1mpDtKypblvNf6IQAbFBfh8nRBh5BdX1VumV3hr2fsBJIyadK + J/h4I6siovuHdqOP5HaU5dIAWxKdtd2kOHUXuaebIMZ1rPmYZqr7fBCxwSO5ka08OwXlbLjGmjF0 + tMQpqmWQ3u9TN0DUoWKRqmDpsEVhROATpNrCfiYDw8Ntpz7gqujZzCM4HWa/wjpOAneb5GearyVs + RqUaMYmKme6FblcAM9+lcL8qicGxJfKp/DBa8pIZwR2RQXPODcbP5VDkWOGQ2pjCeih2dU6acEI0 + NCkIp+ahg62ONEofSN4WQihQZ+gyjdwNu6USiN7zcwXri4b2obU4v9UhO7maZelxJbLQZQrEP3Rd + jwI1DFR/chXnGTI/EHNra8B55zVnxHskxNVb3qDTCFR7lOz9Ykg7B+Ufj7ZswvsMXqn+sIpaewLk + zno4k8cKlmD6biuwjdO5diQl/HdKTp/efhMEUcAOErgWmfVdXzh9QUi38DtpdgU0pbUWgiQP8w8l + yfDfoGVkauaAtSI2Ud253LQpnHijPB7dY4D0gJuef3sxmSgXpobHnNL9GK9Z2N8d7pvhmRuBM+ia + QiZq2bJiIGsz9gAte4PiYNGMPjFoRtuhHuDBuaePI4Jb4T5UagKAJ8WSrnY4s2uHnhdMeaDUlrTh + Eou5ZZwrhLFx7OdeGn7HTBitbFxkIcyX23KLssvqkQzzWVRgGryFUwh5pJ2a87BYQfQNxAifpwjO + kniGX5E8gNL7SS1vLQSWG6u+t56/K8TQgIZF4nOkB++uKy1O+UFTVwyWYB20O+9+UxGySS1G3s8j + 1Rqvdyz93dOUEMADlD5kMUmYV6OWNyR25fUnQNL2b4PAe2NEaHg7Jq8TqkjrguGwUr9KCqscryqu + xwmM5Xh8BO1LKFwdZPSmomw6nFIKok5XHwLQqal8f01t5eGgC0ni8YZftrLusSN5m+Pqt0j6kIOE + rDBisJ4dlYxQ2FlaZPxXBOv2N0CwaLcEDVfEpV/GfxhOz/pL9+YGgw53eGA3r69hg2sjCUnEe5LT + hrE6El2Zy5jQItpeJUcLWXyQMd0qu2/5n8u15QQGnTxSnMnaJHFbMn8tmwuPzWqJVq9YJEA15g== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0623c4a8-d27b-11e9-b6c4-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0623c4a8-d27b-11e9-b6c4-001a7dda7113 + x-ms-content-crc64: + - MLALZpTI/fE= + x-ms-request-id: + - d00ffdb7-601e-0010-4887-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 0UiDApagKYaBunFsjKAY1oqy9M9eg7epfx5YIQbessP2PZhFTQZMLeLivdz05Oop9DY6Pox5IJNN + DLHZyz8rBhbQ8qvSWGOpsyRJTF4SGMlVRGx5LLOvN8lFELu0Ng9pOCXLKXFTqL2+RlHPH7O59IG4 + lIumkJdLGPufci7MlksQytN1p/jfjL1NZsmnOGjqglhko8gmQM/iQ89SYMg7Mw4MhPcrQ/RJCFmH + wpA8g0Ny+HvNz0Q26sR9YrSYASaKLTov3+14a0drJG7vxH767JIe6bc2XpMRwjNys7QBeimZd/l4 + OfRcd1ur8GXzWE+XM1MsuoP5dEWmh0BAs9qWVcjIwEfMQ42/jc3wBGv5FsWWHvfPmrvLbcRGPlll + LXKDkRk+t815uYAv21m3PFLLFki4X4GC0vNixJAhx7GRmeV5SN1Ok3NX3tgpefJyGcn9VsT1rcdx + pHa8zLXfEbeOTehnzEOuxMEqoUV6thhArW+PWe/YoetNQbIufDyBtG9/UCqaQexoK4ax72mF2AvG + OVU+dIKt/rvqMFD1Mxiwb+NZoAmXm3yEENPCdtnDbUbHpWm8z9+u5GSTKcwDnrfzBdEOzgxkR4Uq + Dtgx+Bfc8jpzKcIYMpOq4R7cg+dBTy/yetLYU0a0L2g7uUzjgzzbUw8aqDEtxHYDqexEZO6s4T4k + 9wXv7hs92r+UVLmAoA2qDb0pA6W+hXd0Fx5H6R4lPPs4A6TNG0D7sGjDG7QpzKuqJYUQ/MyYJQio + gxVdKA3yDi6SdmHTdJ4V3S5vmAmccITh5wRdSWkkzhj8b55/B9dUtU+p+6JbeylpxmfNW2DOa0zm + 8dMs3wm82kSWCxTRpfv+UW8mH1RGwt7vgtTN+iuNduN7Ve+ykgI4koPJDZRg0oVFNQRLhr1rhjJq + oJrI2yaqkBX5ofLHjyZ6mERUAnxmfOwrDjN6AhYVtwXJ6JOsj4CBWd2BdPNg16Xl1Nf7cDfkTpwv + 5cG8HS/hw1YU6jNedQXrLj2W6smZRvMMPce2j9d82C5W7mOlIhx96cTUX4XMUlYBcv5UdmvZkLAR + qxzJ2bzY9oB7R7fLZjVRC2ExC8cLZY7hUcd7pwvVR3bqKLxCmC4Tw5hYTRJYWKr5s0ypi7c+0FrN + g16+GYjVe+GaOl1wgWUZdkTmDfTB19F6ecfbqGDIp4d6jI3ULj274sOl4Bj+wlGFg1K5uNbLw/SY + 9Nfjxj4AfdhPzO46UhnYQPqNQaY3NSQSy3DzVCk8lpbU4qnnf8ISh7cIoD+M9px9pt5b0ab2KE4Y + FyO8Y3x6z7iolAkRskPzpqWr4CuNptFyoGlV8yrT7d3qWBOsbrLDWRWUQLiAXPHmWkNWtstTSw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0635fd9c-d27b-11e9-b5f2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0635fd9c-d27b-11e9-b5f2-001a7dda7113 + x-ms-content-crc64: + - YRBRvOgwdGE= + x-ms-request-id: + - d00ffdbb-601e-0010-4c87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Sk334T1cEE0BKygaO0U4pYcPDFBDwwlEa59LbGDWhPZtt55jFHIQ2Pur8P1BYcWytXU/gYgKntHt + vUsIhD3RCVf664UAm/6mZBzTEOyhLkoUh1WRpah3a8D9AV9YuJ1TFCOCwOurdtEx4YYG4OKw5ACP + iFaL/ffHWj2iwqsCxNG6D5jy69m/O6668Ae7ciyfmDHFxQ/G3NGTutTJ6c8RyCMrtOItykpzablE + /qT+VhSRB/cVdDl0i3pMKXL4twa48oRJjYkTTZV2eF3bTu23YL1X61SB2A8Y7ajhu0h6iApXxpQ6 + ZyJr2JLi0TZQlpXn63BTfYfXingSqZ/o1MzAKo0UYudn+ZsRcUNrNrOtfmz1oEZxjAFlyb2+NDoV + 0nqujXQGsAi73qQrwai7AE58ALYkKQSrZBU6X7GS57hQlTT9qrpUx9hXhMMuSB0Y+0sXd1WLZsH5 + 5xmopWJIb9dcCVLxZTsOvTVzrg9985TLFuABlt0n5rfOz0uFSrDdZkLG4SIGK6jSvyNWs75S4zbk + NwafpDhmuQzVMq6y3xR6qSqiUIJzlMsTS1OWT2kOgpl8ROsdOw4q0y772wqNAaX8/CrEccv82Lnz + NsBoKkZrxTpzofZcB5kEysElMnOwrOmJPGIHN95+VIfQozLTn8MF4jjbOPE/Gsx0hj7ksZFz7Nx9 + 1ECcM7g472kIhBJb0GFM3D97emU/+Aj9rUyqbisCou2vz+fzB5isS6Sym5ztGJOkoAOSFq7P2YRj + vtIP8flm9KrnFA8EDlCaiJ/K979fwU24jxSGndEr1PE7WgZ3duI4vQ/se8zE+fTzopo/XbfOJVyO + 3UYEMFou4T6HwKNCiSckAaGi0bc2Nt87MAiWfJVtjHf5cobt+4M+1lnR1U7GAf5kYBZt5XwDGcFX + lyWWGKdwhkNoj1Tlo2ZKpsZgxS82jA1eQyK+bbU632aZRnj7XLNnDmFF2xSXv5FNKnIwZLqztGbC + 89/9dHopg/ZdE2eZA8IT3oDvc1iaHtTJMPdU07txv2/fz+YV+dr17oOiMb+ZCt60a39jZ35/n10z + f741SaGETzg/tDxWN2DCzzaPZ84Jhkxr7X1p7Wz+naW4z0tGQufFWqccxw+El72cU5iLWGqVOzYv + lOilnUhh3npu2ZpEkGtYVHDnedApDYQ5XbP0lshA3VvE9/fV8a005ayWV2QosAvAh/cDm9HHePAH + 5mqZLONECUUlkaQha4sh0sLp8UbGrfX0e66RbQOjBobSGYDDIxILxKFrKHVDOtbvxEpB8pw0aiG0 + pykLB3ZhESgIFAxFFSYlU9eTqtOEpCsBMiqZdYl6SJoyUjc3Fyu+Hgpdcn50lpjxDUKLxigYtw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 06474aca-d27b-11e9-9bde-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 06474aca-d27b-11e9-9bde-001a7dda7113 + x-ms-content-crc64: + - A39VqgK3Lmg= + x-ms-request-id: + - d00ffdbe-601e-0010-4f87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 78m0DDc/h3/WO+GSxJ7PXE9jcKgaXVTfaW3BgyLGs05gGHGIumju5KxmIRc7MFeh0c6Z7MmwACzO + DlHUdU83vSAmJZxJtIxEgQu1JALcbRgW2mHrK9nXv+rVMwhebgXfz7Wz1HQ9Ai28hSSawQqvITEd + a9cJ02T+SGiqmO3FgwqKDbj5sxt5+Yoz8WTIvv1THqsX1v62zxMnrSYU9+MT22BaaB7NRDM6nqJO + 5hVgoFN3Ym1dHW/vBk2YnG0xLAihMNULcifP0busXgXuVf02eft3PCI5wyYpJQglm9UPGd2s4vez + 27c8cUsH4jJVeBd3HpbPtnZL4/hV+xajwQDiZFyqabjvw1WxFiVMtatqYX9tg9A7G4xhlUESGOyN + evt00FfkiXmsgKLoCha+9V8SAZQvlNdEZUHlc8mV/epV2QTL6loC8UM7WVVuYpp1nwh+knx9H9PM + gPJy4FSvDbT+fNH3yP14hcyg6NDttw5ULMAms4MqfqOOUGrODdf0biRDzBu3KRH4vtvDwYG7kMc2 + g2+CIY8v50VjOuWmudb23ZeUMiOdHVEeClb3ahYnJ8Bh1Su98KKpufcawwkX0oIEeXU51KAEpQFf + 4d3DWl6yGUVw9znflJr+bUVmZUOeL2zdw0Km+dt5hYpmp6Dfq39aKNCKuTUxX/lpruMljfWKZPhh + X8bitle1AzYAbwLmZnuq49hCdnJfAAUNJdoxWH+axvHXsh7Y22+ytgnJBNWAkGn3XMSG4KoUTJX1 + sECVHHHgeUKrqGFcuC69DShGVQh6DSnkwIJ3Mgh0xEX5CbbZ1VTOrrh3ebHiTYp2P25E4Un0nGOK + pRUCUkAuZBGBmyGTf59BevmZMlqfIfhfvgSwZ8rIUvabVOK9X3cL3yYTb4fMcnBCaKza2uDSutCp + TSpQndg57mI2a77IO4u6K24N1kxYXrrRCq8FbDSsA63tI/ud8prc/LT0VMX5kg1IpKil+0WC23a2 + B9eHUa8k+KA/e34InSOph5NeVbXiQaMlfwP0mRSZ5WEIn3cVTW+p+DHlD3G1jxpk43djhr3p6mGL + N2KS4tPMvAE3OvxP85jZ857qqB52iRvIJWbrLh6bMu1VzKxAP/DA9eb3PwzgALqf9sYKLMV2d09N + iWK2OxthP876Wiu0qqw5v7Lz00MX5yITfTR4yVx7KLgv8gdXvflwT4i+Mnzzoj8E7ZeOZ5B/aZga + IOCSgR6CoQekSMKVhfoCjDk/KrCqtJHprt5uTF4pwwQnU3w2ooxfJyTvYw7IWOeHD6V9qoMQNgqp + yC/bIC2ltUsy2UO+7glNvaQLfrlDIH1Hni4RbkU8DeJzzIVrp/v0R70MmeV6eLXWuyo13f4ajA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 065dedee-d27b-11e9-a90f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 065dedee-d27b-11e9-a90f-001a7dda7113 + x-ms-content-crc64: + - 9UYx2RH7ihY= + x-ms-request-id: + - d00ffdc2-601e-0010-5387-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Vyhkpx70KbXqKXiEDWAMJK2YF/zUqqwJwzXMa2e7vJ0FUskFvckP6urYgc/GcBu66OfAN2mQ6fbl + 8W+GY0TKjGD6fKTFnX23xJhfyj8GMiLPLYmeGE7+mjo4aUlm5nGwBhBYuv6fEhdVNoHMmOfqZutn + tRD2XSKDoapFLlLVsr91Q47RDE6PErdqeQyiblrvvBh3qb4L7eY26A0cDzJzX6AmajjXxiEAKCyF + GMGaGmErhAhFcReeUXFcOM9lBSFSket/DMwmCi50kg7n+Z2/ykNtCQ2ukWdtxTCylE0Yg5ZYGEPF + L/b3UvHTpMkTaawJVoN67L9IJ25cGmH3K3saj5kFi48LlCDurmjXoA1ueidTf/gBkS/NTEo/104O + B1a6KrVS6WSuq0HgvH/opwT6IEwAjH8HMpzCcNrZbp1YMYDvATX8sajw0o8rBJx1L13r96I6+SOD + 7Mcw/T76+Xn2ghSEVKDCoalLP8IY+z56v2HYfsXerblEqwWjchPNdP3Qdhxcez124vtlpZS5p6YW + flFcLKn78fIzSULmSRheZOIkSDFYm9sPXmyk70hDw5EqOEQraVtwGAl20psMQ5781znr6UBJDojN + ztQiJL0mlTRYtXdBSXc3vftvqi4/7hBG5XCOFY2lXsahw1IEPLUjRfI4+3Z66oh5ncY1w9Ztx35o + A/NxjhEDGtQdQXQddaMGBNPEN+zoxwWEueRGT5kJkGClUE6/L/NoTAKKbKmENatdGMd15K9pSOil + zZ1SVxntteV7NgZzzckO0FDYwN7hAWJzWdwFYBtEunlseszJJwvPia0gX/xAhWLLI+dLs6ZjNSKv + 2oGlJ2/wcuC0Qc5vjrPn83og8B8LrALLcxpamK23OyOttLrjDOKyfxAFC4rNtmEhP5oLgm1XB1IN + SZl+QZ/of48y5Oj7Q2wnnjFzKXqWr7RGQi3ArwlotNL8Z+nQsl11oGqPaGc/yaRsug8OUIssk0Hp + YNbLNpyo/BcP6ig/+00F46vHg2v6J3AwnEAzJg7NU4+SOdfz/RfORAfC2iXbBd0DbuVVEPloZYXA + d6wznnLqIkaB1jcXgKeciUfn7UM5UvrxwRUA443dJykZZeMgQ5yPO9pFbiTtuPzab0W58Grc8An9 + otSu9DqVBqIHyjrq3NkIJnf0lnBM6VtCGLBg6KqaIOMWa+IeXMt86ItElGpAEOeX8zCwJSMoPYZ/ + wX1sydTdh0+qVJfCrs2AUfsowEGgrabqL5/Rm9+6qVdXC2cDGWosa/3ToLST2JYVkncbagjjTJsC + yVIghb5e1wLtw9cM+J6YQOHpOtY/GLmvdLcKQfGBv8p64OK81KNAisXhujrtJtmGt0qGKDd06Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0676cf1e-d27b-11e9-b2c5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0676cf1e-d27b-11e9-b2c5-001a7dda7113 + x-ms-content-crc64: + - IRZKurBygQk= + x-ms-request-id: + - d00ffdc7-601e-0010-5787-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 0mOLTBjfpyExUg+z3Xu2LwmdKGp9zbrMD24fSodM66iYlw6m114Jp3BVQM4P4L2oagj1ZWdwOrRC + PnxDx8alAO8jt9SgQJ1cPVI75KaGx/FFcUwfFXX0TKC8MbDcbiOFaq7t6qNyKJUcpE+8VfBPiFeE + bjmwQb0ReXa3B/d/2w5T3+RHkMLsEUamdFrnMR3DCIcd+GqctDVA+98fLnTgkdFr/t0//CrcH0L6 + bSS7wQpFcv64RyON4L0CHUGx2s4UNfcsdCo6vZ9HNeD1/E60wCeJPQ9VMJCzp+DidZ4KpAlSb9CC + NAPknNyt94TKs/BtY4MVcyHFsjipdyWCXlRFQp2NfyoAJgQLaRZxZ7ZaeiVVOEShlVVum9uUFlZe + p9FM8bjggSIY6JjZpQAu1V9KUQUR7zcwZkLQb5y3kUdRpQwuuDCHsEQAc03cKHGXT1Qp+Mg+72MS + jqakwE63/vb8+VCylu8qnfOZwfp4Nsu3Oz4uZAXo4k1WIIFY2f5d4PdGGH6FjD1Rwq79308DeCHd + jPzcucYaZ0xbqGjunXQiPlJqWljv6lBIg+TgBcVsbPDqmcBaNXV4pR3ScQULkvQxCeU9KaITtth3 + +Z9QaJUv2GN2IklVfWdXT5q+raRdYhXE5lJ9/MmvpvhvJNSrqfIElChgdIWO28PNp0g8Qga2bq5L + v7+bLqWm9DTUELzqxts2GGbxGolskUfxwWYYggCISnqg2Ir6DlRH6XfykjhPoZ1WuLeMOTu9AtBw + Q9qCttHZeSt32G2YMwFW/Wjl6FiPN9RyGF/C55TewgWmMBXvDPbYa+VxCmM01ucDU7C2i/Ncys0/ + 0CIbWy7c6Z3dYWw7/l5dYWd4mbbSBK18627zn96I2TRJtgQXjzFbO9bIRFN1fsEKv9gymKfAdHbz + PQpj6b1mj8JQMhgKRJ9vRRR43Zec3X8iSm2C7WGKu/JtxJIE6Rka1wM/6PacwU75wBaQ1Z6kFcLn + 2LTUT0gy2TGoCtI6NG0euUhWu1SAFdigH1/yNgJFcJFQk8K5AUf1cfjmz35UhwVv5dL9RIizStGw + we3axUct5lgxekYHC+v1JsvQ7L7iGD8xtRx3yn2UcSBVsUpsrN9cLJ0Vqwcj+5sIZjq1hAw+JfhR + /no+4RE3bB6lKrgtwvEGX299Gb9VK8CGiehtoGdQweHFC/osrFCvNuA6E9MW0qkT/tMkfgJxQxlc + TVgQ3uXLw8GZy2hToaL9BNyfBmgHbWpx7P5ffRm4E/VN6qlep3v6aRknuZlambMBX5lY9uVlVsWS + cf5EjlGf7BgXTtSzK437S+hENaB08h5nDe/y0L57nKSv/KmLOGwRAUHIAxBeZA3IHA+MStnbgw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 068c4040-d27b-11e9-9195-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 068c4040-d27b-11e9-9195-001a7dda7113 + x-ms-content-crc64: + - ToFClDF29LE= + x-ms-request-id: + - d00ffdd1-601e-0010-6187-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + cvYR4EwNyQVl8grpdE/vi1y7RZrJwu+X2feDcUe6jilZzG+b/S1oxJCRVMFyocHxRJxgkZn2Hvbk + IhTG+igFNUERFkeNsUANdPoBpZoyGbo3XLppDjkVGQ2bqmuX8DEVaHsIy536vknBseuGtHHAwMRy + SfFSM592E42DOPWUOJpYa0afRdI3rW+pibh57h5QT2OaCm8I73POSoydoj53E0F4RsrHZM0JNBZR + 9Wz5pSbrdA8zm0qr+NsZp49VscVN3KjwYP4uLSDLeythxM92u2WGXsXv+98cy36n7s8qsW2T6lMN + zIMmUVGOFhtxdWkMXN8B4Z1ML3iTwgKoUtiKrLydDVICV9HRa6ywg+ZN56YhYSLLjw6I17Cb3yD0 + E4vO8QgMZgbnk8ANiSYl+I8QrkXJHncVzPDASX6L0f4eNvtDOPVZ4tPp8AQ+spFYE12QadEpZ9wV + dm6X5cMLrtZP0aF3/c2l0J7grY2mOqa0jTf4L/5WaJssYoiP13CeEvqX6Bjd4nRLS+A3626qsaqe + l7wJe6eBlDkhu5Om2ixlO4lAjg1Surk8xlycHjc3/rc4QRdrLgAGM1rNY8godG+2ofrJgF+Br0Wk + 7fFCTyTcD3ygeQGkcOMRpXt0uHFu6t9s8K8TSweS9iJVF4c+Y89pG42Omg2+FsjubltU+Vz3g97P + 7uPOFb95Vc0sGgudwwsTFJE3/L06ZgI8AkQvmB+4fW5o2Jq3aJIjk7BW0t5POySw7yFK1szpg76d + X0SrrEurzZ1Ob2uk05RdR1oeJJKO1sbCEbAK1Z5UMAThr2Etbx34/MrsQ/WvdfG8055PJ8ls/t7r + 8150vC1Pclo0ICVfiOkaGQ2FPiGZCWLGrJC20Ib+t5C9O1Roon/LpW2ZT51uxry5F/nzo+ntjctR + VkjMIjy/D9qgJF8U8jiOCTAC1vvcwVjntTNBXp/QJHqTPOA+t51t07mtIOmHM0cstTdDM6ljidpi + /a53UcNI9GiBnbqoez6zKhZ7/m/w6qM+sR+tu8VHxcoQWJxPRPY7yxmX0v05U/Flf0l922CNck9/ + i3Wcb2UF5JIZopmg6yUXsZXSc8wctTGD+4aEPNMPTOCvzRasEuENGVVplB31xoqnzbn11Yez/o19 + NaTc1vBbkGURmXYBPjbAQecdB7jSjWY98pSC0B6F+bNh6tracvoHJoWv8peQA3l6/VBP4pQLijvM + FVbHIY2VJeXU23Z+PcpiMfpzDqAz3BeUQg1Y3r0yFfAS7M9f1F3ie49IrT+im6fzAnZfkp/uJgE4 + ou8Wm/KBkacyvnpFsAzZ6b/XLH7rxlC4jfDVEs2R4TwppkuSDnPbGuwlaBHOn8NDAo6kI2MFDQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 069e41d2-d27b-11e9-b328-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 069e41d2-d27b-11e9-b328-001a7dda7113 + x-ms-content-crc64: + - QKtv6TUw5lg= + x-ms-request-id: + - d00ffdd5-601e-0010-6587-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + E9yB10koh8LFLA2hS10IpuSy6yXB2mWC1QcHjqYAZB+cmO5V6COyWTiBiqnUjwh0+UolM2Vy0N6j + yMuu0dsByrGmi2GARcAzfoXn0KwChbVR/h3RUI8QfGCudMWhecLPzq0BdEmXsv3rNwePJt0OtqJY + +rdU6c6ctGnogPXIjwnDZvqroocRzgK4NDj96DFkJlmHwQdojojzkk5sUNU50AmsjMdqwLBvPgiF + 5kkN6n1tS4QLN4c2y+cixdZTW4Fkx70UO+2HfWEMwFzmoabvn1hgVgnc502fNZXjYstBCZ/cvrPu + oLDbCFuDlUWUslYaiQiM4aSa0quRhDNTkHKB6cgs00y63KtOu+kW6m0oYUXG/kvpgnhhpdKZ3u5A + rXQ577GqV5yeuqkRyM+RxlqtlA8bUQj1lSYsfdlHBp70uwaZ4+hGDk/22pe6sjYnBqgyb8IjYHLY + D2MbP7hHF2XCiL8lEC4t7N4xnCNR9X7Rl7zu6JRTJFMtSPWbqgRJhZ4k1FJkxftcX9xcI1fv3k5h + yV4wUIM9ZF77fcKmwvJ7JSglOjsx74IgTLNcuPJe04AoDbbckuSY7Qelj1/N6uzh9P1YKxbTynuL + hclOba2PYmbHd7vSi7tcPYxxixkjM8vciHPKHhcFSntArpnbo0njuGMLwMupwYheB2oRIp7XBzG1 + Tnhz3XHqbnn7OCAn8hMvpA/kYVXLz3UuzbiT0ubVapTDkrKDMIxy+tXQH6jUvvBazFq0mwX8Hlxw + 2rCiTK7AEhXBlZ8UWQeeeDrN6V4ME0gNotk80p3g9cV0kGSss79ojm6TobrnB2gy01WeUfXR0C69 + +tpWAHCBZpBzXaQnaCbIRrU10IeX8uoSfgxcwM/wiOnTqDbv6vSKGbpZfw0jFn0ZH0hUhMG3wJcp + 7mRYs74IEeEWhoPtn+8yccmZW4KECtxUjcZcPTyz4hs6+RqYUz6TW2+NTQtIVLT7LPp7J5MwvhGp + fUTzc5oKApJgmprYwlN44kJEIOkP7emdg02/sjy8KuVWfO7rMx3E64NYwo2F2TFehf67W5hv0FB9 + MMkKqHfDHdbvYJDHeXnFlWcPWbA+eRSXpkTRHHTL32qMIHG+r/BPcF6HREV9mpS96ZwcqyD7UgTa + 32VAeI4KqVghPKu627uq6rvl21NdVXOiWbg2e7l99k5yTbN4DqdU2I1R9VT8aWjDVEyRiV4v4gfG + c3ms8zKpw5BlIwQ8sW/0PCzNrhAAXMA71hV3SNgR3hzIthC/dd0lcdkcj2EjEwWLWkczF+RP8/0x + ypoH7YA2DjARG1790FvvU0FGVat27xJdTkNssMUYXV0P5b2fzvI55ywKs2EqD77pQt/3qKrdYA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 06af5d88-d27b-11e9-8b28-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 06af5d88-d27b-11e9-8b28-001a7dda7113 + x-ms-content-crc64: + - NwZdPjZpXEo= + x-ms-request-id: + - d00ffddd-601e-0010-6b87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + py4S7vFPEPaVRg2LCjaGBWbdIGd3iR+CD8Uu7VgAenI4ursNNCc/C+z3X5/fpRzaMTBU15FxqHjW + M7DwishZiFTkExNboMN64EgqM51iKALAC1owmBdk26SidTR66Ok8+zo758unuqxFctLR3lE2j+SQ + WX2SEMdZKmYBBu+EB74NXeIyMbxGjbjhyZyJOUKDOdEGyfvK5C036i7W+uHXx72u6w/mz/kmGCmO + nDGyC9JU4McyU5jDVqlE7Y05x5BF+LGes4DMtqTwbRZFfjk8uzs5VtUljdLyHAFrptDn+sB+BgA7 + ccWeBXQTHJn3dVijOxD+L4LFY2ioumedTX6U3e4NxoyzOqsF8ybBbKGnJa7WRA9lCG6uk72EzikH + AVNr2DL6h+VoQoAhc9xKLHisOonWq6ZISF1TzjT2jOzKWW0l1DQXCT4LDonAMntxa8zDWH4EpDlN + wEH6SGs2Q5ovrIw1fQtGok5WBaylLgFGUDWLBHeTNT4QSPATd/0CGA8ub42ZH2f5vXW7m4h6qyqk + 55XP2D9rjpJNWNq30soSDLpGDwC2rjemOLajJ3cnduibeKu6Wk2GRKS8Zwp6aMpiXU2gbYccE5/E + ID/wULdnh38LzVSd3RWvaOXY7TklWYDNtVeu5gKW9Eovx+k3a9oSED2g8CsD+BX4woABbajRMIdN + q081F7A7bH+LSUlIBZ/KYOb0k4R7CPx/H8naWn4YCvSHHlhk+jpxj1U08tnT/EvbHZSaY2V5nLDJ + VyZJ5ntw6W2GjpDpzz3QKF7+8f2iqpJjQWlKakxbJzXtjWnwXfrguhBO5bIrERzGfqOowBiFbVKh + hot0jXQSCH3pFPQns5gXcW+mWIkFyeTZVVmiAgNmgxwOcK94TFTmhQ4c+88tXXQt6kRrRyVxBr9I + q7FcyS0KG+1lWLL8PGwNvax88j7DfGee7xZwRHH7BGFXnAZ2UZvPUT3vYXcXDIOTkUGFe4gSs11I + R5QT0L+MUc/Uqu6kkNwbwxuDjOQnvAK8pXBYrIRJs+ZbX0nUMopyoVm7NqgopdNaZEq7/EEIFwSh + 5oP1EXGCunk5S3ki4x2G8YqAdjzOJkd2j74m0sILCWHjYSWW3PQKXVrVb1M5m0ZacQuTMaGMl68g + 2EtfpYAjo807vJkoDNz4mCcScX/7jgjUoV+yYcLcP2magpBwCRUrqE8pAYUn0XiDgXJz1u9trgwr + GVdRIsvTaQPi3XD3f9rXoyEUHEH5bj2N7cDi8mKq824nEvRW4tAjZkb+0lzY3EeUxMlrfcAGO4jU + 301Sa2evlORsemNJfJFk9KfLRwbSBqw6oxTTqOnHITxUNdt8juyIxT07iRvOjLPyxGqnlXiI3g== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 06c0b56c-d27b-11e9-9b74-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 06c0b56c-d27b-11e9-9b74-001a7dda7113 + x-ms-content-crc64: + - VlZwii4uNZI= + x-ms-request-id: + - d00ffddf-601e-0010-6d87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + X9nWeMe9PNN1t4R+50NW6lBzcyOy8JT8h3VTWl98pjanrJQKw+vefij4Zsbt2ZNL9JHVpS6eQ+yi + krIYduNhC/ZGb7lyybkSM2m6A1bWYCCgvPCySxI/sn9vx7JpVJhW5U/G0yToxORF7SksrB8VmIn3 + 2wQ8OJKub02h0uZFypgbiRUKwej4X3HEJo7GEYUySEIFZIwrGSMEaIz8U9FjlA1ax/4Kp6Bu6il+ + 8p/fBDoFOVLep3ADEvPpUDqB27OSX9OQi4FcHl5ufHe2qsAxEY6tTDEVOT1cKrr1Da7QwGnIQzO+ + qRydVKIkQHpnWc1ArOxllibTcsHFR6YS+pziPNsGoAoWxwg3J5FTy9BMMLKF8IMk/tw4RTK0gnUz + r+13uO5ncNaFXguOq/7Y2cmGaOV99+FRnGFmO3FePfv16EiYSV4r1S/E+8KA1v4uKrs2L8FgmM8v + abhhhwHqrpGLAn0JoZnivKhRTS/edleew7YbUQoFHP3Q/lWOYujwtyCZSsGELbx/S2AxmNP5SgDg + vTbOSMv8/FIaqTm+CutcVFE3X8DXRJKH2zE5GsRCTQubc+qoIwtKsoQnv/0PiPgFlKTVkSaXLAe+ + D/ZZkN/lWhJ/BUyhlIekvBHLYWWKA1Wgc9C7WOZv9HXj0MdIkY9sxyRCObj3+tOKDZCrIqIIscb1 + 9VI9N1sm+gZlcU6A0nwVkVRMBXaTtQjprZeEWbq/5qRafD/rvmqZkaRuHnCMDFscFDfP84rpoDs6 + x7yAFcYqrgC3kCE/5fttPEB1CG+14A63NZOWHkF0PleM48WVE0u+1TAhCM6QANmnI6JY6yr9EyGw + lmTQ6tGLWjNZFG6c5NrYw1B6j8TU5CqsuiEeso0vAvfWuUxHR+wYAW/DNCVvWzM2/FY8Qpkf2oCk + CXnBYR1D51bEiMQ4QWKfii4r6nRVQ8RKJSgD0na2/NU0oszeAkwOk9cLbej5UTM6EjkSCLzRppvg + NdBV42jMy4GBP60hSgBAmhM6A0ypKfG+j8fDm0RdkgMwkehBdAHcC7VJLZ3CiHiJH36W3AOZY6s4 + eL6AQVKC6CPGopDFvTp87qRENta9wSvnDin4B+du6nEgDEu8sqLB1uG/lU7nCjkcghHsfd4FxRnz + IbdZO8Z3adl+tqNlU38WUDIvhRXjNAuQuFSfr5MPhi3Bh02Z8kyhJ7G1+XBGPaeSrVCIUwdkrI8j + ZaSXJZPPZ/wAjR0WQsk3baWrDKkH2W39U92eqUDxM8ja0Mntc08sPZk3SkQe6W0CX+RbZ6HDQ23+ + ny4HEPfjNRlI7MChJvxXve5sLqRHVhODfltVNzusp3MjvMlOj3Y6vMmvfpNQXt7YUCX1HWvS1Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 06d2cc8c-d27b-11e9-a059-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 06d2cc8c-d27b-11e9-a059-001a7dda7113 + x-ms-content-crc64: + - 5newg1pWKhI= + x-ms-request-id: + - d00ffde2-601e-0010-7087-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + mON1+NZdedRTwxJ8grRxfdKSCI9n/R6G+wZjhPap2zF4wxMzfcbwdQXb3Ya7ySzxt1/pdDZnFgaw + FawkpoxBeUzC0GE8oWj0bj/YmCWtdCa+f+cplC43ahTWXwxN0cg3Mp8sYTij6NPSOnTRoLnIw6Or + FSHvLMoriVzbgeJmjYWXIb99JzE+hsUURdKRHKFz3CkroR33rfs7T2uUw8rtLn+KO2Z5VGgl8KgJ + IauCKmJHA6KGrpKWMq+1VGTirzY/xuxQD/W/nXAUHd/oHrLvdCD4vDNnotwMO082X00Mn6CEPjYT + rJr+mA7De03+u6PnDn/kVlmUzSbB/XtqYcohSYcW75vdn0L+uQl3hztQzDOLVci33di7jLlvFKZE + XHFh2WEtaIEG8kXFEi2J8+FMTU5riJT50KbiZ+ULp1cBRB4XeqvQJttwf0PGpv19ttHI3Pt52pjU + 6D9frRrat+vWRlKSBWbN301EhUzEACav9fF//uKGE3OmoLUPdO3oHyQR5udvvEx6rcrPdpGO3qWh + 5WIcWryyMuL9qse/IxkMs2Vbe7TlB9l/5ItUDH+WD/aMY1Rz67C7yB1LyCD6mAKCVzAcMyx7W8jW + x1H5A2BN2Qw9dEfK3HJ4QS7avEpPolC4v3yyjb5DP6t0bQNWPx6DFHfN2+vIOq6BxOSTGy1RGJoI + qBttnOhLxovFmWI7mUzsfjejLZ392YyZ++F0oT874hTVu6PNnMoU3EMz7y3nn3jrC9L57hYYzCD6 + pjaB82i0jZHupmQFWfPlBRs1p1fe0v6cgWtZJFz7TyjTgBfAF/K9CjYsdsq6btHaly0d5VcK3o8k + WOQVMd/PgJ9jiOcENrPGFkxIczj9Z/ilochV77NvAG2Hc665UKg1s4I7AUgV3RnZKeyrTO8RzU6V + 93FQ+Nx31VDmXU0AGXw5JXF7JUqKDV300fyiKWxNjWEMRvN5FKJaAS84hto6+4akjbpiQ0RqAKc9 + jjjiJzwWVFRNCMb86wC4dXGxpYB6dAXGKNopfUkEXVdJX6To0FU2jdNcZUdIZx9tOEohq89SoInu + v8ycNs2sVDQht81aL2fR3HW1PgO5EnS9V5+DwIvPNPfp2JKTwNcsSK+7XXebOAC8nhmLL8Isauqy + hDLzWdyBKqInMnnr41lZInrOQ253A7NZu5HnT2UxHNLhM1WImBGpiGbfGsMBbZRU0r0MzJG//AI/ + DXdJGlalc15Fd2XY/TTpBmhvx1tJJXwjbkYMwU9dA6NivT6j8QLHT0YxFKL6kTHo+HrzITL8a1wc + f1JN/fby1lyLRokHAZnNt5e1+GsF/EzHclR+/eACubp4XKTdB1lmH5YZdCnvQvbqCZNetHgXSA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 06e69188-d27b-11e9-86a2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 06e69188-d27b-11e9-86a2-001a7dda7113 + x-ms-content-crc64: + - CaSgI+wRpSw= + x-ms-request-id: + - d00ffde5-601e-0010-7387-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + tL0Oymx7Jq0ZSD2fO9ndfEw2fvcFaG1MvktnB4nfxAdrbCCHhyrEzLksU5CcYT0Cy1/g4zRhcGq9 + f3Oh0TAood5c0KHLucqVtya0dUc6N6V9ABDo9yhvTFjmAEJNF+MTDWP+jgdpi43v5+LpWlqEMgh7 + e6yqwdngt6rzlZyrK6AtKQwFvBB/nIknXhyNBxzrYcdbMXb7veZgw5Pz8uCV9V7fZEETCtFZCUs9 + 28BM9BORQ9BMMmqFLhXhvsnGLvZ9fO5krCokxKA/6A8eZ+Sqz6t8LS8J2afWepRmkhGIzHhzIMIS + Tds/py9auKJa8rNjLPaPH3WvDzpKCUvSwaEdKkcbFaahMAQbb6Y9vfL73LvSRcZL7olPeRAkGHUI + A9JvwZa2OpsxqgtlfOZLi2gj8u+Y/QWWESyvqR0FLm2iOhDxaeoSOqfd18AkDlCuI4s5/DbLt9Qg + mmel0Wc+Tb4xcj3gZlYDXG6xFpT6Qru5DqDcy09T+aRwYvPIMDc+8dDGkG93ivoyVi0w1hMc4gGc + 7NxsCqt2ILze6LkDV884whSkTe4pqpiYB/W9nBIwMi47+iCd6VWoz8epQ+QYgo/aH5pdDsHOf0+K + GJoC2b0BoJaePuNnekPrRETjsF0xTMg+xy49q2LqNiD8ap0Lw8oQnniJ6NrJOIp2v2YHKqRdQRA2 + IUuL3WFps4yVCcB+jPbgIqqpCcq6QzTV8juJqg7+z/m3GuRIjGg2SXOOyTBl33Jh6oGzFVjJRpf0 + uBdFyH4wrWeHfeHjmRUEe5JrOHFIcAXY1X26zW8PGdJFRuSI0yTP+XlkCNDV8kRqQRYRiQvxS7F/ + fCsNnbI2CLJBpUgLuiWvSKtxvmLV2UAXIVseWXDfOR5B4eWgddRLJdrGq6LuPWyblctI3cR1ItvJ + 4WgBoFVbF8X64bU7Gnnl6sKemapbwlnnLs4n2XfRiIVuc8QI9gPgtT0zisXwWkYLLY2PA/rjmm6g + ZSK31hMb+5Pwrh2CyJtvdTl/ihagjYihE2822nGPTK8z0o1z6SszkGOPTXd3GlQcsh0bL1h/4hUg + t7krcIb9kKpLDKKzv78kD+QJYwktdXU9sB++36sEir/4UVuDXGiQ0gwsAqLl3QVyngpnHWz6WBe+ + QoabQLNFu1uQ/G7xTHmjV6+wX+L0u/2wK/hQCvTTJfDXF4cpmTyLl19gSdw9Eno3CxvhUgovthS6 + Lhoj13cJCJEqJxp5RqYSzpEvhTe6W5LYDmFkMvuqdlRliNxAtxXEDckVR9VWRepUcqljtr4yLux7 + M7lSGXYDTxkWRPhwlCd9M4YZ8PeKcbTUZUbzE1dgIEHtH3np0cH1H+n2zqEzAxEdX8AM+7pwNw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 06f88ab4-d27b-11e9-8c06-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 06f88ab4-d27b-11e9-8c06-001a7dda7113 + x-ms-content-crc64: + - P6eJYFlFN6A= + x-ms-request-id: + - d00ffde8-601e-0010-7687-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + vDX9o7W2bXdIUykwzl/tjVFYrbpIFGvO4aZHhoZjyWuV8SIccIQ6dtCZqXRQ0CUJ9DJGRBjg9eJR + KUh4glCTD8wkGmr4SMlQF5nXgSkoCnEvMg4c7zz6Lor18YOAXLeCQvPI1wLFZzcF1eHgfCBIYMaf + yOiuayXH2dQeV9eB4sgDFGaP4O06iZXf1/oDmhzz31CmD7RZJ1gwI6w9OamrT5gzq7vy1cIb9xaP + qpfHPgwFMZHgxRzveyCP7Q5eMxmC3RywRnI+7ndl6BC/ZIYeJ6fxHiXH0eQXU8O0XKd2vTE4atgL + Ik4GYvs4CNS/xHNUaj+EDTWEhke8QDA5h1N0aeWbEPLsS4Zy6kKM5kdwPGXHPwrJUE2EKsBGSMno + GgcCJ3Y8ynsPZSQCOCgNvQfbTAzx6Hmi86N7t8VGmLdXdaWTp6zWCiiARDuoqMDJW7y3qE+h0Qkl + ZvCbauAreJZt0jGIlfnSpwZPI7ajOGzINulV+K4hwZCgZPR/2eoiZ5dRrUswYpNA2w01Q9TYGS7o + ep5NWc3Lo0UyuKLCenzbteCcPI+Urq/wj6KphMl7ca4HTtAqegmj4vwTorUNjH3L73k3ZhQ3ASo1 + TglflfGf/p5GQnNBZMXDypwFv8Ri7LHVPp2OJdgZr6llVolP0aYMHnrXcsQ8KPrWwwADpdQDSynj + APLtdfEyoey9DTcVwsZxUkQZAjYJraMIJjynejoBIjHkVm8I/imqYPqfR2kzkVnOMW4blu9YoXDa + PMOBL3H5jhTU2rXgwAixdP4C7Z0PHcxuE/Y7UCjISidFKtLjR0y6qYECkhB4uGmkqIBD1Ko0ojQ5 + 0SUD+mO75V1wa6tn3BDheS8O41QUptEGl1mk4av20zLP7lEzHWLy7cCjXASpEo19hTH9CdnaM3sE + EmMeJPmfw26Ba61BIxoElrfwM0cociiNXWMsQ8qma87q3bs2XsL2tIRIZg/2Vqnyr5qcE2uUXkAc + IYoX7J4Sg3XHDYpq/XtLUqhDSJETz3F1JD318KFWevJFV5mfhoI1c9widA/tfD7qlGLrtO0jGYzl + e8uU7X2qy7SXmKbQJVBgJs1XaWXZ+hZ6K/QLCBPGmFmDFUQ0ZE89VkgaKXiKmqBL6+n2E4fIGmcu + H6I8a8CG9HLQJk5bD6fWwqdW2jFytMTF+ETi+ua3VTbM08MpYY4xc7SxQPch359gzyBjNAL5S84I + cmdMUjLMqGk7E1u4s8pyuuZEHFqSCvg6bZvucCMfFuagxc0APtBD8YlmHVXsrnZzvilGdDuAlVlw + J5pdwNRyqCr3Zr2RMcgChJNIlCAlOd085DDcR+rmWEKKkz5kAQt7hCD71Fj6CL4zIZSc+SkG2A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 070a2050-d27b-11e9-95dd-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 070a2050-d27b-11e9-95dd-001a7dda7113 + x-ms-content-crc64: + - pHOhShn2S9Y= + x-ms-request-id: + - d00ffdec-601e-0010-7a87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + s2jPNnDdBjupjwdg2FTZlley32rydIeYq+vKfy0cxvZG8Wp8U3MsL9SAq0kKfopX7aDNdMyOWr8w + w66AskSE0d3PYpeTja81lSFIwIh3IY1ygp6iUK36mXGPmP0WcjaXLdG9erzSEiTrf5Qj1OMGGxcL + cSU2dg2rJk1L9LJPzmO3QvHgWvPxLbAne1F2/UIwbCR27UTLi/UeMK01EnnSj11mpt130uxktPzr + cFkdpXm6V6YiIAQBS8uAClmrmmNcAeCzJtgEKcQHNcKrLznnDrQeHcT0pdIbVfugeZRvVi0PEpQN + fzD0LyPLiIXOuQKG+QaOFjzCzKYQWI8zvuEGoXiN9d6shBB+kXUhpYqwmRgq2Yom/fqDNxgmKNOc + KlrgtuRET07n1Spln5Wel8HP29oXIY1U22BzHaAjmt/5b2TujRDnmgxaGdPtSSJ5ir92QxbAcMRK + 8M634ks0Ou+TMxc44oPEqN9ZUSDS8IglELQQHuEB7dLHwVvvRu3ikSKbbcVUm0mMHpn8PGgs3e27 + Okh0xYSCoOYrXA2+a0+7wEY64fYNaYvJoc34+SrcSri/JMZB2CD4g5VdYwnrIgGwMEI23dCe69fQ + B+tUZg32hr2N5e2TP4761eOxTL2KZDExFNAviMbP5cwywENcTWC0wpGH34Pn0FXI9ekb+tN7AOtM + 9MuSl8k8AAkf0UMFe4kOrwAH/e5RLQcus4Pot9qVvo0ZROuL1A9zcIHTPdCsQOYCkxo8B5IJrriX + 39LWWDyMraLPIuKmT/xcIAzzc1O9S46SMFvK9zHP3DBAjpsWNClrtwIyCoWg3eTu1C2legtsd5MN + Upw4ZzSvWu3XoRojg7hoxeEyhzctFt+Hmm5ioxOrv+5vUIqhMoVUriYUTmerRwRLsSaumiaK5FDD + uF9TlT71IYe4Lrhd/UV9ywU+joHCKgIzWD3ZwlrsV6fNsY+vjLTu+pkoTnjkUmMNA9ofCxaOle44 + uWKSfRjipwr1Gy1vVyr5vcY4A2nxL+/Rm62FyY0fgn1rY01tAWBDLpyJmpH9MLmh48mJ9S4/u/se + mc8pJCl9VsU9jbqrYT3vbwLpg3vb92bGZ+C6tiKcIN12WKkcOXy22ZM5hb6OemybdsvyJ/MXP/3e + adr8a9OCenFL2JaXI6f318hSdPYwSJaSB1p69ruH7H7kEUNT3A0ow8Gnh8cnyoguwlznvabRqOCO + 6zaWV2PNgrl+2cZhgsstnx8JIkT6NfxXscUpRZ/Lkt3bNjemyngID/zZ+2nIoMyikvfBPCzXlVzD + W62m6BO9mKoiv2lb6geA0Eqw8e2voKlX0uHv4pJxQ/abeXgyWpG19g9t6zWy888pX8ZcL4ki5A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 072110dc-d27b-11e9-b50f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 072110dc-d27b-11e9-b50f-001a7dda7113 + x-ms-content-crc64: + - IUNrmqmAQSw= + x-ms-request-id: + - d00ffdef-601e-0010-7d87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + NU3DxlynwrMMU8C9wxsgDRXE+lnhyibO8CorIPqskiu76u0xEAqz4hBIeYeI2msLNVKqGESEM+mC + Myq9elqZq5Ly628mBABeRVuWQIemQ95b9x7HiZ1YxBm/JPdaJP6rl3czIiN0pjuHOpR1lQ9okdPv + z0JKl4HAAdZDjtmrzApizJFA5i7uVOXS5clT0+oiJpFzKb/ngaoG794qbol65rpGB0pSqqJpsOrR + MKxTYuRn2xRXvczb2dmJqjYKmYYH6VZ8dQi0WVXzoJhS3Cl7jicVFuj05zEnDePdcexY46lYKGAa + VTuqmfdXS0rhlFXxKjM+21GYuq4PiUxa4ahOLJSQ7mSVxF4XRAoeL8H8btvqDTHxYHSuMAOZMJQd + Tcj6N09ymxOdAsppDvEBv/qU4+clGoooKZBc7sWZB1vkuuysoKOGJ1kTy2ukcnS5uNL8RHCbo9+n + x8Z3nGywlA3ZLCB6VtYFMper7roj6pXzNdkt1de3UxP4fqgg2uYInQ073tbdhybKtJmKv7qOuQfg + ZyvWzbsDZo582u45WwEJkVrbduOnk80qToJ0/g1SI/3ILVv9uBkzjtf7yB9CxaLzc37yNI8pmBXk + qrMcauWkihlyBdfrJOvtwKAFGFqOQr30n5pUquz5YbONSiM/VBw6Xk6YU5tNkbW8m8jIZJf6/ewY + 1wVxyVAhOHR9diZqT+AqAtuUMMQ1VdVqUDgpt2w6y/du8C/grBUL4ZZ//WaZzSan6W8r5xs6at06 + n5bV8fEH9E8vtEHg2l6oFuzzlfq3Tb/WlPNBknsbrmpvaoN213Apl6fFPZRNqoABVo5FsD8JKPm2 + 1bakOhxJb3Bzri2XKtrSE/TKuWxU3DoENTTUxhRAKzbm0y1dLxUCbd48Rekg+X/eIlmC/OEjLhaU + 8G346T51lOxCSOUTTkmcl+rWOmEM6waPGon1myUSwTdzubxPGYD2aTBs9Ax2bXj79n7CaUWp/k1w + 0eQA1/W9wykCFQtM67k36C0p+i6R0CY/0sRFZ1gYfDWdIDIzN7boWuEie3+9WjQk0s7vgqTQjZNT + rhofusEA9fzBQblJqdJGgDpW6ZgtG3idAkQR8IPrub3TyvnfPi4tMThfQvt3UGqeWsX2WLq0Xj9A + SqDegDqX7gfriV1MwaUlM948bIG+DG+mgN1lt677xrT2tcpfy4C05JHQuUSoE0ePxnujSqpu+hqE + riGx3w8hxRETXV/qHomBVdubFKydsufX7NS4LFNjPzQGej3Wdmqyng59ogouWMmghlNNxXQ6zf2m + c+/s57zjDwrxEa1WABkQNDjEuhZuMtn4JB/Fiz9ocRIzOwRH8FlEZsv+DBUrnm/uPaPDnKhDJw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 07378d64-d27b-11e9-bc9d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 07378d64-d27b-11e9-bc9d-001a7dda7113 + x-ms-content-crc64: + - gTj1rd8J3Qw= + x-ms-request-id: + - d00ffdf4-601e-0010-0287-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + fLyQ5TTEod0UNlbJMAIXgDSkXoG2gLueNqdWDoLbhHmFaCml9BLGge+Qd1MR02Xllufdif1RrcQp + EtGUA7il/CUokvKtTVfUXZvpKtgRCXXLPdPg31LjQWLqLvVXmvA4X+oSl9p5ZwYkXyFEY6XsOIeB + oAhULM+9AzadABMd8XhOT+Ib9Duz4dnqcyc6Oy1yFwIS4kdhNyzWdoWyVpKtmJG3WGLKSz9bI8t8 + rA9l5H69bNQ1FMXKe6AM3u63BHlsg+mFHTJa1cxrehH1WE3UANUiGCFgUG13mgjxn6tFO8kRyZsN + wxnhHMfot2ArALhmS8aVKYd5JrDvL4pUPkNw7P7MqFqRbFhVm3ulw3sxbauGHJRv+QUsuSm6S8KO + dFX52u7iQkzDvosQh5wg8IxQ5q9ugvfXGyRE53IqanOZmawNgdfKfnV0NoAucSBAhtb4A7Q7tEWL + g9wxdIouEooOWea1rHW9bRnzKz23M3iNImIWWiRsPT1KiUC6ycBg0rk8wNMfnV0jC5VhCVnf7h4k + dYX662UMVGNbT0eTTDCOw4EwGx8UlMCRGFHd3YAtoxfcdH7VRK0bUEmqPWBGQwYtdkwHOGhmIz0/ + K2wICLG1S3FnAaxl1q9Q+bQqoqecWpiK1wr2jCo524oGXOaPf/TESgBufu5QwgEyueKJChOcPRtp + QAhxcRcx+fo4x5UvAHdmQSZPJVBkmE7AMtZq/uNcfgvb6myGrLVpx9R2nexP8OhF/gWme5GGxJOi + NgG9tLD0aWKaN4uWVKb1uFrGMXdZLYsmP6fq/Rri6pblXRsDOu/1twm9RBHoCCb+8zMtbqIT5t/v + omKDkEW+52mLqfdIaJvRxpknwcDXZY9llqnukSBdOwmfjlSNZ5cmBBIpULxZBelEPuYct8h3TfMU + 5hj7kUTxu6iSvtNXYK4YQiPMFieC6vDPtJeupRp4wq3VHyWU1evM4plmWEyB0qDJMAqMoG12vYkd + u4ojfuF9vgtrYO9V9f2aR+be/gnvCFamgsUwe/xH+9yFB4szvSE1BKS7Lj9emOPaf3s0tIU/u+2y + WWjKVlFpAaVJtI9bt5uxmTnrouSFJSjUoPoFqCu4WxT9B57SE2LYl2HtASybCl59P+FDcupc+7Io + SZ3akiJqnSkmGmqbLO3EqzVePzf5J6uQbrgdekfDxUvb5+2mjD6l3XiD8clRfF79E1Rm7gCUIAJa + 2MtCgr54D7Pm+BueernKEOZcb55Dbjr3l43cLSDjfO8Keugq73GAcwAq4jm4hinD+NZvW7ZggTG6 + Gh6v8wr++iGTF/rscgusQveHhafgluFM3OE2XGPYcF1KKvQu9jxRs4ywXtu1jVAPFSrlnytQow== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 074fa582-d27b-11e9-a6e4-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 074fa582-d27b-11e9-a6e4-001a7dda7113 + x-ms-content-crc64: + - Uy8RJYFbmQ8= + x-ms-request-id: + - d00ffdf8-601e-0010-0687-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Jk6Ps1oka0UL/Hs7OVN54tk1pNAoTXPyGyw0ErYIfuPutvlFarPauaAyu6zYLoVNP6PJI+DwuyBC + gLBLqDZ02c/4Q7iGVV6DS3j9VhbTxut/nWMHpkho81q89hDGwiPC+UQuqzuYcOLfFLqG21hwW24N + BzRBdRgopZkFr7KLi1s4jDjdp+BLfx+xLWswAxcxUVHbwcD1XF0Tg41AJ/ED1q0m4YaCUb3ETEIU + P2FfQ6YZhVnXAP60re+DBSAdeaKkfTt8vixsH9N3Y0ad2SgjU9O2gChlMW5X2AyZzeMhOeMd4P2O + VuUMwQ0MkJYJ535QYa/qY6zryCbQ651S2cOssFwsp2WFcTxDsl3yuu2dgPIp+FdcY0Wv4CDzpY1K + OyqrU1vs06Lk2MmuHfKUgxnc3gvJUFdeGdlPr6Lf1hh8/V84mCLA/uMUDAJ4iZPe007JebPWy9C6 + hUNZILPj1mAXO2B0nXpic1zht7cGJ9T5AX9IxuWnvFdwqWpS+rmU98G8ZVyU4YaROORkAWJRJwQN + 0qZ9ZkT6hpn0D5XwXmQWT1LK741Yx1puL7zHWmKvoCbGjecpcMrR1lzp4vaJx2Ngdfz7X/p8JEX6 + TwmEoL5yFXCktvvAaPeAugN0Ziqzf7ZSnHjzdud3V4aV91L2FlRdWVAhJkOT9XhlAu+RaOztkvmN + WnfvUtGKD+8nB8D1RrZ+MTDB/KIpyoor7caWAcdHH7RS6wGvqKZxWq6cE0U1vXO8Vf3vgVOUzLu5 + rM4YFdWy4G6InFHSZ8jZXvOmvMl/l1F0FC5ueXnAzXh2NNvs65yGtXDH2N7Vz2UHDUXYruMC6SRj + PdTn03yCJ2QoUB0SNwp6CnswpRN/GnkDpmohN9ixSeGzqJPagZaf8w8083a59xjBMV8Pi4nRj7SJ + gDcNRQyGa0waBF97e/IjBmj73G8/XLJBHCC50MVAYKxqLPhPUPLF1gTGjBZW24Mh02DSzRuaVt5w + 7RX2gXMSq14N1G5q/K0/eN53GMg1Hy7yDR150wr9w92gRxNSXsBxiDTkQJ2h0tOtRxD22dRmr028 + nxOgFVRspkwGPDSFOTIlTvmF63lEocEt8kOYi43yOHiYn6eBHABCJCMSeQ8FN+EY0KHT1VhkbFr6 + hetu+o9y2uDrbw3VdDnh1QsP/O8lkFL0dnxbj1FOY7/BcKmMcyu7Qu3KnIxVWm8/eanwFBMKVHqv + aXTfXwj8winqNRG8rCE8j11dbmcgqBguC34HaneqwU4YWteUTpndMnhPOEXbo5x5w65eNUibtJwf + Tej1t1UHADrtlclQZh+kLgp1apC9Q9vdtQ/GyJycB+DBWu9awA9gb8Y3VTMlf2GNok83gQkdDw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0761c73e-d27b-11e9-976a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0761c73e-d27b-11e9-976a-001a7dda7113 + x-ms-content-crc64: + - tOSBnPtVo38= + x-ms-request-id: + - d00ffdfc-601e-0010-0a87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + gS63Q83Y+qMP21V6A4ryHFbFIqIRSXsMF0qxS/Qbluo+6CpMXhu7kTXgK7QOFKRgr67NCcPKvnHH + rryocKW62GbQqF0tvkLIRMcMSLNaZ3X0QWw6DELDUe1vRH+6ptB5+S9cmlka3LkZpjBUlEvDUcrQ + Jx4SuZdQNgSkyERMrDAotfdiMDVvcsg+oYcr7rzHrLA+Cpz10AjWqWEGDqyeJ/Utu1UrUgrYsFJD + Ar7yXOtmh/V0/MatgpTGQxTJNQIkUMox57UjbjsklCMCUDUv6RAHMS6HesV6qnlBH8POKTsnI+b2 + P2xd45U5t7WkXPhsdD+fsvE2a4GKvUoAjgyE4JTABdB5D6CeUG7xGo8QVR7l0epx/ctaaU6op5TG + NpJxSICDafcQanzJWOh0UVahkHEKR+oKBL28YVwc2brh9omw61mCRosbTJgjOlUoOweDbO4eaW+P + OrrMcuNEY0CQwkpGULg+VckoAFyabHCWruWG4ZSRaTPc4FrtjlwNoObW75zv+OEjS2yjBOCDyfiq + +47rWupVXt/tgTf1WPPMg4XuShhDX+xWHg8eU0ItbAQGTlrsK6SNhO9AYls/dC0U47kLZdtooXQI + 5wE4WjkdGirxo+jM5tlmT8lZWwCDmrmUw361ZfDV0J9EPhcH+kGcGv7NfXvLqLwZDjlBwGRfBJdu + 95jMe36eeoHTYkTH+AWokUwd1hgN5fS9yag0UvwxJIMZJg8Kb9eVHZJR0zTAfSCO17eXaFr8T7qQ + /G1212H1iHBOewP9536J55W8UAzgXH19UEvUAGu8HZM3evhm/lnQNS0IkKard+T7YWuqXI0wUMLA + 5i8JGqyPEhXM/h8FBiZnMIJR1mNyk52oP7fft2ng+M/nQgSuTAu25Ks9QckzUcPcN5iCYTJ8IxfS + 27QiJRuvhubKUeThqq61o8nbZY6GLFvi20EVLa0nrfGi5QE8kV5cvb/H9N8pyGL1XGNamx2QSKUv + 0Hm37KEaf0zzpzOt0FNK4va9T/0Y08hOvlS85kNg0T9bC30gx6+jD4BPQ1uuf1cTyT0Pk2I/9WLK + GMveIbOsh9Uh7rP4G8J9e1EEbfne34QoUd0kSHWoqPz8qD+vCgyGcaJ/BgNY9jEFYnVNxQtP0VVZ + C6FFz6H2q5A6CscuGeNE4odsB6x+do9CHgbZZa328JA3XrguvcY+36Vu1ypQew3ClWVJRZQxWxN5 + GFKJ9X2Cv0cO9Q1Af8JVoGnS9tIh0yyGXLIR/gwUveePEazdmtB54NNWJFjrImoDJAxH5va5cSIk + 1M1jkK8q3i+Vgo6oDVFAeWHgvRDhGIhu1YuFqMnM4Y4oUcmbjjgtoYL5R0qhpkUVwY4Vp/m+Jw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 077399ba-d27b-11e9-afc7-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 077399ba-d27b-11e9-afc7-001a7dda7113 + x-ms-content-crc64: + - QPhA+7bHjsc= + x-ms-request-id: + - d00ffdff-601e-0010-0c87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + fhouExc0QcaLPwzl5OT8j9SNtYFPWXSv5f0tbowY4CrxYu7GcB0wDdg0E4SmxjcYHNYvAqzDkFG6 + clEil+L+OULm/dDuSYQt9VWhVkSAnqbldSjpOyTezcV0GS8Gmaa8kDuRa9szbTsQtkWyOTOloYQy + wm1kPiD9WXDJYJWGfj1h+OeTMV2qMhTDyypdinqszAzr60ei0SNDVkXAHwymisUGn2uvFUF1Awzo + KSdNjre9Iw4gPO1PFgEP6XjOUHteIFt+7lwSunVJbhaxBN+z3cUSDKVPEOKoQQp7ucWeKthPLD55 + M5fuNhOJw2XumcRN/CsyB5nXVAvo+ucRCkhn4aVwgxIuX2KOxBOCUtI9ugH0XuLWEo0ew7REVjkN + obk3udZ23AHHKRDvS4038f65paffjAl1ocU51PKuQNrWq7yfHagpmzFmPaBMeIvxqvGpTJshiIbO + YtwevhBieRKlqE4+GdlPiJ67M6uZXqSE1p8S6m10s2A7vU86qU/1if4vLacEp7lT6NTvM1kTPoIM + xH9b1zbJNyhUTMC3eRwt2UJtv4vElpt19X3hzhfxsKaJ87HZMUoicVb5Iql9UJZdqGIvXPQ6xmVe + rEX+cGvf732+v/UQ9zH5Pqsfq7vsmcRphdsTQt/sNXizdwIlMh8bEWPv5oXy6VLR4wALs0iJGMKS + oFhU3NoYdrLaMyHHhj3rnZs+zyAI9XP58YDvtUervrkekh5CEXhqFExS6YSXt0Kf0VprjCD6Ssc0 + /lfkCvkKZP4JnCwrRajXHUXTxD7dvEcqvsdonDf4KhmCgD6IAm6puBSpxlWs7WbZRoOM0zObdEuI + fKkxbEDReV8tI09XVY/Rwt6I13+4FhbPjOz7afuK6p0kNBFaCFbfhtHHwQaTT4gYr1ua4UMyMco/ + /HXVZkrDIIinNQcHsYFLfm5B5dbCBfKjYu9TNm3YZXtnc0TKyrUYsXdEOLpwkK1jK+ovrHZnWqZ6 + FzPAV1ecyiE5UWQHRtKlmWmmb2vLha9fGpGv0CkYS0de4PQFPI01P0cjkstApJXShjJauz2Zuzqd + Ajk4jHbjT9N4eeryWCxwBPzkLdgPaBMdbLs+bW2s/oCgHADGAYu1F1bkusCHnzjX8HMp+QCpgecQ + HAFslZS2K/kUgHr6sGxWOpMsbIoDNy6aa1ddgX0bFgGqDC0dRzzdEP7AxecTmfpCDRxzO8ZK9iGC + cQ3n0xPqWRwCwkFYdyvFVrrKzAHt8onYGssiqB2umYV9v7fHNhj6CU14u3Oz/YtOGoTtCJWGV1Du + dIo3sDtEbQ0MJ38WmNzrCjnvylHswlTauY7zET9a0C1Tw8wH35FqtGzhJQD2z24Y34g+855pWg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0784f448-d27b-11e9-832e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0784f448-d27b-11e9-832e-001a7dda7113 + x-ms-content-crc64: + - UI4PZtzgfRg= + x-ms-request-id: + - d00ffe04-601e-0010-1187-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + nSSSUKfmXixdY/fYbhig9XmbxvOR2NFMQCeCuKHQh+By5C/hh7cgVoVKYFLAk4ZdY3C6EF20FyKg + GtHo2g1f3ic7GHsJgOj8M9fu3nCR416dR6tYlxoQZ+BUS4i77lUD6mC6+mNMtBD7QytRAsKKl1iU + Ac8BaPtXAnskd1YzQb7nTvPQv5Elz2TYI0Hohu25AdpMyUQQSgPqaKQxLxBiYeDmmxeQ+xKxN5sE + bwnLhH88fx1T28VmoL2nCQ+z34L1y5rXXSntYJqLUoIkGGAgjsCaY+LnSA162nRtiWgEZF3BZSpp + LKh6vWGZ4xVb15pju+DrPHxMdzNJPX7aD/5/D70+gS0quwuT/OUBVYQ01tdvGvXfOUrhHfDv6FKL + bpvw1Ez5Zf6mkh3cz5S37g/LrtKn8sduydIeQb8Nr+wSYeaUAmuO+CxkriT6gQlYOCKsa0Lwx863 + /m5odO7WFxRPrQIPzNbjIljZ/MSufCLYQpvMBJskGjPXPsJFoAzAa2NhGzEOOlprYBaltZKHAWHi + UlhS0jGTiL1SgXfuiSyDfoaZLhjoIJI9nurrLnk6KKnmOG8DJqV73NQcXvlRQmO2hLcwgFizRjNA + LKxfz8AWZ1OuwdC0FPZxShck1gtUTv0P/R9J7F2wKby3N97Zwnjo+AuB+lM12Uz6X51IXLVXuyfp + WluAos/Tezg1c1mHP0inOYWUyAnzInlJ2O8ZSEpBKF/twrX5prPmO9OWjp/Ts1ErL/c8D8N7G0Ws + rTghfyTequrivK/fft3t3ib+Y4+4P10laypscvcTHREd1QHsXw/YELiwQFwfmfJbAJog9rfLWIcS + aMcs8dMRvzpU2hs/9AAS7Oy/rEBxEnCHkfEc4XQRTrGTWNEhmTTeHZF8HC36SzCFdlx/n2McQbaN + EXb6NNJB1iwnW7JOrOd5Ff0o2O7NEKOdK8OP9nhrDRxPXutp21JUQFVylUClEs4uMw8nWJitqZh6 + 72dv1CTTL/zGgJCKPIHnt7EM/XAwXmBKYl4LMkMin53qp9wlUwe4GbMqzHJjeFjEyXocRMbqZHMz + Js6OSV9+GvQdkrU65X4LucAvETYAqHuaQjYEdxitSDiPgfWAyggWisFIYxkmvODkFcu+PmxMCmQY + CxlgM9X2c3nOIOp+ckGdGsXBISCpYrVQVtlCENr1Zx5PQGXv5AKByRfpc2ysimwbdE079vJzZfp4 + Dfl4UGyHDmIqp0HYuC6NNgui8tlg83RxIKyDcrAyW8eaqsNrxfN++yVz+WZ5aMyDk3/MsJK/2siA + 7zH4CqGw+1a+gW84DR7iKhmcwr7vviMUGOMXSrVJOBzGZ9F24BkFPtC9Ym5w4S/j8QOZCY39GQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 07996b52-d27b-11e9-9eaa-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 07996b52-d27b-11e9-9eaa-001a7dda7113 + x-ms-content-crc64: + - Vgo1mS8hsBA= + x-ms-request-id: + - d00ffe07-601e-0010-1487-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + y4yybzsN8KhBDm6NFnUgOV8qL7l8Y/7Sw2smMLpyNA5L7PeesE1DbI45vfSv2ziuMogR4r2cfdLO + elwS4+UjupxUCuVR56b16sMLovNiJ0PvIIhSw0vrptUiZwH2NslXTLTski4bVoYjYJd8VpZsvOg1 + DzbzZRfT3xmBMZBs9eZoLgsbavy1BJXjYw9JvzBVSJGl2rEbeTRh0WCBUc2fltuKn6J2805QIoYA + ZOm4bYQDtlkvlg8iOBy8xMZ3YivOw6OGEiEE2LdueDGfOSaBKSlzC8DJ+T5Ga1ckluP0m2cfZ0bL + MaMNzaaa/p/sCjBnMACBxAyI8gttxy5sPVJ+mjJd3R7WUUp11W6lgCniq2Oz4APXmm+O7KwaTatB + nU0J4Eb19O4ICUj1pTfsZU1HqvUI8X23CMKADbLVO/U85SR7xW9p/OeaVEqQjKVqP34jGm3kotDR + H3LYQPd4QvGfUlgHCix+FNkNaq4vWSrBG0nGyQR6C0WNv0Wv81FfpKcFFEXPagCpOdtlKwslT8Qa + 0UwIjS+F91yohOpq86I4vuxMzg6uSEgdPdL2mYgsJ+4AF1r0UU4y09hmyMBBya5Bu4jIAS5JUwqS + rrL2cMuuL0uFG9UN9rBMO/A0CyUbxHP9D2RLkmZ1jY7CFZX3sCXmifL0RQuf+xc2mNyQSty1jFHr + b8dH7GQPB6bx3tNBHTdO6IzeRA0yGcZs0YDEJcugjxMyVl6YqI+fsREorUzMhrIWrqI3/pCLOzkC + Qy3Q5quikOGdTaYKSEmKdM/zPMbV+j4ItpVEH5SC1RgfsBhhsesVhu9dzlIPk1Fl6gLAfIQt1K6+ + OgiCf6c6PG5YqDcJfeIGamIsoP4/aRdo69qPwbjjsS8gwQKB2jluyrOxB6AlKXpK6yVhXxptps3Q + NXfeDgcATOzCjOoSjPhGJsL8EYj4qckaayRTHwJ48DM/7gO+rixySulX9PsfamRNe9uIjz94tVu+ + 2u4/5vPsQpuk7jgmaYUUxzCv6tIbGi0IOSGltiS47uM6PtP21tj5peHvpLEylh8nPccYK0cRZQPh + Z5RJzHimEtAcJUlAf4NC55PsKxJ2KnDJUjrROhPLIzDe9/d2WdD6xDIA6sTOoZgpaQn4LZyu14dM + aQ9QJppqK3zM/H3I7z7hNvT99c1qGlo3wDNXQOK/sbYqFuAnkh7PvB1bRAWwehP6quWbGKkgNs/P + 8Bcj+vzr9XE4p45f/LMvr+/v/QeSGNaesUYWmy5J6WoeU194wDKhGvapMrY5b8xGvcJ2sO9ZS6hV + hhSRBSsjBb8f2+/mVLGtyTL9eTPDMt5j3eEk9QEAkNjD46kJ+3H3QFVHIwQghp81rV/LttWsRA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 07aece6e-d27b-11e9-8af5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 07aece6e-d27b-11e9-8af5-001a7dda7113 + x-ms-content-crc64: + - Nz0z7eiKY14= + x-ms-request-id: + - d00ffe0c-601e-0010-1987-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + BYA4ldFqh/ZyjBgbrcvINJVBcjIVG6+iEIFoyTUpgLUFe3cycmYGPlIFu/HVRSHPmkorDpXsJr7i + 2xW4x4GWaESIJnJba2tm6k9RrREpolZRrF5pnRN0Thi1EN/CJxxyyGP2hXrnBs1zCmT94Df3wH9g + hvWtXGgIJdaotVykaKcgLVW9sW/xmmutB6IpGxQIK/BjORS04PWMfNZOc5E/aY7SG/rDKw4W2Vw8 + OSaiP9k9k5VaFcrWnu+C4LkNheI/1UnB8fjX3+hp/JyVsPLKN4B6bv5PIUcrmAyRN7KeM49o+Nwi + d/hOEP5mvgo8xQ6ImUpfjZZIZm6i2f5hHKSh9O5zV9lb2k/xqC+x7gQCM3uZbBspzAq0tY6dlrJ4 + awipFXHXYR6kvaLf+PlKsXtOKmMLhCxd0gdnszVnVbJiqoD0mMaz9EpoyDSy7flYaAooEJdZ9z1S + ov2h9tPgecoqqP1xSWmuuHaVNcvdOJNd8OkfEHI4YdFw93oIedaZf8R5DER4HHXjBQql0WlVuMkY + 2INce25HP17eKVuQYlh+7atJ8TyQbmtoM+4G4RQoNx0IYB+i3JMwCQ+gYK+0J/i1/f4b+6dk0eY3 + YJIXYAXkYAOzpm1kqllPk87hCMOaFjAJO/gnKzJEhybFf0JfUh4i79by8kWNc7ltn1gr9tNUteOd + 4/vlGz3SZnjrmnMzdjii3moajrBP5dsuSsCfaH+m5yxUVmEDILwKTkwBq2Qza+hAd3AJM5PDSFin + QLzVxFJ+RsY5fjBwrubc57ROF16DZAzKaXpxJapFj+XdCzeHFzPS7e3q792hxNIxR3lGJNCZQEQI + 6x8/1jxwDVVFo5KImKgHKtTK8VOPFdRr1JcQpVX3ZVELfYgENAwGXFwvcFgBJTiiSiKOsLY4YevB + AqnJR6rItbvAWemY9OK8DgLNvsZ6JbLmMV1ARofuUjQcPM23PQhLON/qcHvCxc+f4AN/CMCWXIdK + XxKvYt9SqFBPrdN45nier32W4tXzQapbTxGMgR4Yjw8R3MbDC64OUQxCJssXfBAlzKcIzhpiiwyD + qxbbB2S7swTVDtdCKTIS/WVEHBm4SmucNCaP1mcA05moIPWwLZ/MiRY+oG1W6maKdnfDWPAGZO0X + zyScqevwqWib8AUjDeqGoLG3oyOSUtWCFgYooMqW9sJf2lN8141tFVZNHC6ZVnZD5NQO+vZuNXng + iWYXbz4fftisqfsGtfx5UTRdWJCf8MGkYabgLLHVD5MuhJGIl7uibzk9kukLg/dAKReUgv3rRpJt + kcKTk4rXOt97AYGmYgLRahm0znEp8jsihTOfaKvJRnC2iYhvbxVpOlu4dimSiHbZrUUdeyWymQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 07c09b18-d27b-11e9-95a9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 07c09b18-d27b-11e9-95a9-001a7dda7113 + x-ms-content-crc64: + - 1Oaa0HOWbAI= + x-ms-request-id: + - d00ffe11-601e-0010-1e87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + xrVG+Y/24sv7Xjyju8M78q+L1HN1L05uO6yrJMEysnjl+oADGFiZvEODpPx4Qfa5znTWFTa/a/MH + 4a9dphzOScRf7NJDZoouPicSr7h4507i3GI3arnTYobetc/PyCl6IT/7ObQ2Fvi4zFvmMjMM3VXo + lClw5wrja9nmeF63wWzlwgfs6xYdsqJPiq9sDcmkHHAAYhwuqTkD67FBRb4GKicOl/SMe8o9awRO + /SMy8BoZDIqrZ5/NGMz8Ef5SRGum7iv0/gNVjRMXGRybT7pDumhV0RMAYWfe2Uo99lcFPilMU1JP + rEycomm6t3zqR7r86aYgB/gI2hPCgm8TNKmqKPyMsCxwkEBs4Lvw8cwkcGS6KN/zmtIGBxfG1fz2 + vwWrEmA6sdut39YFA5c2fTd3+M6xFHFXWHpZqcW9ejo67SitLnGQvm+OxiaGTrfMsXPEHIrb3ySC + x4aPcyJvaXyxlhZ6s/MG/nh/Qivf26ET1JCLFGJ+veSSWAQWnB+CWjJqq72Ad27dWDFRc6lo9c4J + akDlFrjkEmYAbs73WDf9i+xlkFkP9TMVRSFFm6zHXKEvsx68WzNjrO45FucHbTO7xbqK8HHhsDea + MrmRYfI5PDc/wE8phZWZBSFVqftkhsHNpMxM/cjPCbeKPta00gElk2UMLiAqnKBXlmDB1YWbcgyM + UoKqvi3M6HfEzvuDtTg9mYLPjeM6K6QRbt4ekDlr9eLUQhBqQbly9uuXRlnpmRW50+OLlcX8YFhM + KlTl13C/SyX9oIBXsUOdOfvc1eRPUVXZ3qImd0iS5H8r4JYwaJDjBSNWdEAZA4BNlaPVb5Ln8uNH + HddbiqtT0F4zdI9GwRKo9hzNP7f+pkWq5LWGKcukGRLWCXMxEsI0N3fcPM2DwQUhu1voKGydbAUZ + QVaySDfOtjgnRJ7JGT8qCHi/L/3duzjLb1GVxFyMdqF3+LtiA7GtyWTia7NpM/JBGX41nb6GQBwj + GnpGKs97/UoHcM7N5aB3IG6vndJ5ZzpT1NDnFWD4mACjUJ6NwK74Bk/mUCdQXNnlaEJPVIeez1HT + UQxxeDIL67jpCiXCSw1lT+uJvJgXF5Ab/G8jsUd8aAkl0gajYCrJ/OxbyYAb7BHRfiVOwOqKbcSA + ro1bZL8D4W2okPWMANCdRlExtpxDHjzMez+ds1GsYA8Yz7StAK+/8AaJjw/9kFiM+XH8trwcm4z7 + IzGPuiS7djpWnF6S7Z3oadVtHVAvp9zN5ox6m8CdkOu8xdTQFNRA1vTjYw10YkgEjAZl9bB97a4w + tOW3XJ5ywkACtfAbY8RPilHFHCxtwts6zBashC0MEJp9+dQIGxwvIiTOHjC3Tydbux58CbVCwA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 07d8a680-d27b-11e9-b927-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 07d8a680-d27b-11e9-b927-001a7dda7113 + x-ms-content-crc64: + - ZBdSF4kGqhc= + x-ms-request-id: + - d00ffe13-601e-0010-2087-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + EJbuigRjkT1rB/qHTLEXZOmYZeQIIb1gYDRWMUjywdtsL/cEHCUupLNvHFieqnUXfLzAu5/bFHey + 4TgF549kB6coBnf6pNGhv2CXbmvmuEhZee+RW2/Vbz8JYuNHLhODJE72MEGBRAn3iHRTL95eBS46 + sx9gFHJX+rLTa5kCBa1tSJ1Dcx4fIDkd7vJ+70XCAbwMm1i76djFJW5kiGEtzefaySNDzYu7suBL + YZb0uK+sdNqlHfikPXoUk5H3muxBA9MDQIXxXXVeV+RvyYCLPr6P3kb2RLvOmIKuLEz5X3Tj5hwI + u/vShMwx+D0ooSiSW+2kYswoNZpHDYZGQECy9FfihsDT+NSweZ4bYEOj8g/J+VcMEIHSrlIBlNz1 + ib4E5TG/TlBs+ArDUUkfxOkPs/7VeHR3PFH369eDmG8rLvQqV7MNOn5+eFoLCZelz8h01ydM8mTT + WjlxCBbWnFqqSW4mOyv9sktwZNtynU6YuBu4+hC10/jOks2Imjh57lDusKX36i7mX0Oh160IuDmz + EX+WbH2oW6yQLir7/XWpAna3Fdh1agzGZPdgk5o/w9hYLbyNlQg5b3OC6E51ViqZhMWpwvvyF06/ + kVt6svmNr/gzMXSKY4PYm8Df4qAckJcmsH6Oxk+hBBLdczHySiWuC7XrEzKDOXvf471CPwxIQJDh + BpDsqKzSk/WsvQkiDcDhclToZsxYB5IMuIWqnuFTzOmOqyNQf5w/dDYRH283EX7Y9PrAY1GS2RzB + FzYwD1mFgRMdXsZFuXXlFo32En9+jT0FZG0EdpRUmui1zPBTLhG/yxZ2ExlLbMMmW591FQhoMkuD + 123ftzGb8CHPCnZ7ALW/s6AA1LccuFx1/LP7m+Jry5Hj2aThaJPy5FuMiaNN6AqhynbJRPEblZjw + jt2STqHVJTmftk6PK/Pgq2evH3pZ9TR9HAvsgNsh/A85e9m93GCausTDuTXoOpvOwVe9FNcNz1DH + 0VWk/FgBJs0XXYWmxexxGgkUU4vrh8AtyILQB+I9kMOhn8GezQY8q+ghooRdmwCdXihXJqAukRWA + Yb78MRQVqXpGD/My6YkphFg7euD5AP2ERcqJXGYRoFXxpiyJ1soVI2MVdeEcuaPXiAJlvVXojzaQ + wjTPpKHOt+SPaJMipNnqnzUV3sQLAz5vQr4/QYmBWS9gUdzKd7YmRemFTYgv3mMHv2aCdbEJOmWb + pXagMTflbpAtB/D3H95mNLFScI6KuZ1bz+fKJli8W5W7nUULSRLjSofW+kxJN0VL7RNqQmqSOhHk + KuiDsDHcsLIFnydZ80h2GRa2d5Lk98YadoZVIhdyOAImkCsBbu5r2CqAG5CPEdf5YIULsMXvag== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 07ebfb80-d27b-11e9-9106-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 07ebfb80-d27b-11e9-9106-001a7dda7113 + x-ms-content-crc64: + - q4ov3cw95TA= + x-ms-request-id: + - d00ffe19-601e-0010-2387-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + GX5JYC9FCZC6E9f64AkZ+aw+0Y/Z0kPM+PRXMVqJd+zCcz5NtEkWh6rDhQRKU1rDwDh+Gq3WbZut + sBE7NQMB/gzzSz5/Vp3cleQa8f6vRjdPcicgW3qXrHFwv8pg9iLSQVEHwKZvuf0sCxU8fv3XY3A2 + bbAeupwjgDeBk5AOtwpu6KM7vH/x6MxiK16tK/lFCJauDHfVAmiTyulHMuN+aCdzXwAk74U9CeGD + vitt2gq74F/08N/3br5c5Mn05BeuD2jiFItc8hhg9rSWVmYUBuyqh7wOls1ah+ip4spwNGJ/YoGM + 04KmT0u9ePLMMFFtARegNJtuzW8JTxxczm/nddR0QgCHrvtI4Qto6qXOTp2b3iaJ9dJ0d3OP+W0x + oFhshShckK0eioPc4Csm/MIcnEn6keI2KWcUvK1BB1bWH5hYUpRw5ipD7NrqvG/jhiF93bo/U3Il + 43KQXteS+tYKFu6T+V37fFQETUQ18JntWl/1heKTfJ+ysMg0IfA+8uPehI58okV22SEyNF65p3EH + OWHl4U6p+UXBrjgeMMo028+oM3g4o6xgBlvuEdftGnScxoY5cje3U6sxSxXqmgFGLWYPQx3n3k5H + RmZR5z6KbLq9qO/7lfM/VRufVeBSJEBoU6bWwhvZlztoGXJ7ylSezM1rFoi2Tnxzt/fu1+nNviBQ + 6AiTwlnaNBYRxYllbe7xM+PhwWI94qKnQshEnlqbmV8PPMoBjpNGXqIcO1hbzvyP6iWo1C9wFiOa + hWg4YPxxvHZyhv2IozUW78GKP9r0HN+NkGLxTfaTZMGKsVkxf6PwQTMqlShQsNS+8YmVy6s3aKkV + A7IP83jblfEKTY2Jf5bSz7Mv3unP1oax29lWuit61zXMDrW+0rKPuqRYCo4rXZcEZs5JUu/Utr6c + fyFXUFbEdsnqF1CjsDIzL90VzjCNJxXVeQ0BY66kQDqiky3cal3DXpMWscHBhYqm1niTKiZehDDF + ySwxpamhG9Gt2p9KyXSdtfZMxTN7nY+aSCiL2i2Ph9DoageXM7MWBh8y6wC3vY17RgchaQV/SIuc + toxkKN6zcAO5mGWoH+LIYcHKFr5TvhI39azNtX24PHGrTiv07kDzxQHXk2sUYbeAxV1JJdZAa3SM + 0egaLD1SEfhJTcNsQ4ZL6XFf+14Ta8Trb8uGHYL1s1UE98PiacBI01AkxRozZRM+NS5uM3wJYXqP + LLD2G/Ayc2011WqFwEYr25Y8salv2OSS9BJp3UjwMztPA0xdgyF7WvsYQ7aiUIeEYlxlCGs8ovvK + jqQXMQo7RR6hTuwUJ4Ve1N/+kctMPU6faQa0bd68Akd2KkLCg0+xivLmNSAJvA56bL9C63Ur6A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 07fdabd0-d27b-11e9-8694-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 07fdabd0-d27b-11e9-8694-001a7dda7113 + x-ms-content-crc64: + - JoqCw196Bws= + x-ms-request-id: + - d00ffe1c-601e-0010-2687-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + MCaVcl6TjgUSwl24326kpwl3ZXWRN6e0cF9dCd5Gs45Pd161j+cgdlMHuG77KLD6uWV9UvVL4RWf + dUiAZpmEwlRmwlJ2jZOsGZfihGcM1UFndUw6oamfM6K7HnozYF879HR2fhPWtVoRcgfsMdaPe58T + 2NatB67y/KMWrFOxIcP0tXZrQIGaeTeW7exTORur5sGhWQJh44i+lYPkOn/0BCFlawaCPESeLpGi + EvnxE8V8oXfm9Ab5qRdLVP07Lc6BjEnJVjoNQZsvb1XUr88uiNM66mgK9nR0p4I7F3xbKWv9tkRB + A5I5pnNRuixRRsu0YbwEAe77Cl3jh6O6605xYOYM+bkzRh6YPPpzdyOmNK4tbAG4RW56rtSpDX/0 + cwI+ItT6LogUz415Mp+JMU1lgAwvn8p/00y786wlADdbC1GnCTAsGJd/H5CZS0ecPPn1eYQW/QC5 + zr9f/BmsZL9riYAegCXZLGAYJkZiXeRX1mHFPfEGhu8ppAnHu56F/eOZQn1myYbin7lnRX6qAgMY + Pxv2vwWgRNWS7kBRBkLJxdnaP7dwPTlfOV+AiJf49rj4t/IRNINmZ98dKTVOsKfxOXlqd22UxRsg + Z09oB5PcKhegKwBt9du0hiXWTIkFaxYKe5FL4VeRixXgibe1IpcxT9t62vAjbBn70A8E4/YkIOUd + 0eo3nco14aCF0vCEz8LLLzXuwDJpXtg3dQdwhflre2wVVEhhIWKNvrkafk74LyF3/cFOq+ZgZYBg + u5nTABoxRTFvP/UoImTTAdzOTbgPVlRvHLWBhIJ0KN+ZsrD2eF+UD/uZsuAjEi1DM94JnQGNhONG + vPiL8R7Lg7zy/J4ES8wvzFixX0l3osDJ3BsjkDXNdSUJAEvWUXgl8EgbvIQsrdfDgauh+adozG79 + 3GcC1FLvrvyRya42sXfD6vKZLXiHELQy2EzAH2ruozXUoSq/5Sr0tsDDD6HAiEFAwWml8rtBlKBm + 1DF3vu+C/JzScwtoN5AGMrLJ5GGHTaLfq2pzp9cqEfsn3J8mi04YK+PXWU56gkD2qyQuHZaDurdw + CHhH3QYyracQ3hwKn/XXq7lSfUFimfanRo6d/pqBMzypbDX+UbWH+xJr4xgJKjCTFQuf5U9VLVMj + pmJil5ip5J35hfdoMilzfjaO63/vDiu8fYeir08ki3mY4ZQ8wPqP62jz0V4UvGmwKtQNQxstgUHm + fsYvgVD4Wh5iUlzsY2V6gA68ER57cIQ5kqX54u/n2jTe8H5M5U7vh7FShEUL7qntjXJNPEa4zUq+ + T6zCxA30IPdNN7XByL1VJGYeuargtvcUCC6YIeuE0a08SLUGFFdGIXXkQh65dIo1DcE4bvoJzw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 080fb41c-d27b-11e9-b242-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 080fb41c-d27b-11e9-b242-001a7dda7113 + x-ms-content-crc64: + - a1tMWIdsse0= + x-ms-request-id: + - d00ffe22-601e-0010-2a87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + QMRmPdKlE9BMgSBbhnY7eiQYXqiQddzrO61OVm8K5Sijp+zomA79UXvBVYGv/i8LiKzXeUOqWAHU + Fbp+NACL8Sq1Fe+PP3RoGAjCsQ4uds9fwAzEpz10Ccc1VAuOqp3aRZds+k2MCxBq/e/led+6mOWI + zd+AZ0/e+aSG4SEiduH+QEW7apBrWCcfzRcxnXqyoiiuDVEiLvRDI1YHFt7nRI+oBtDCsIIA2CAm + 057ru1kKw0GlyB5zgnNrMWj295wRAaelxrwxyEIAnXMGjBYtZr7iDDpNmQGhZgkKhXJQ75WRU+ue + Ri4ZrZ1EyfqSTmmivmV/6saFPBSJK0/Gxlt9ZEdSIiBQId1RFYoavVt2r2VEe+hqBcrAxI1wDBv1 + pqWIUtSLRPJfwuRz8bkYi6LEnZswj+fp+CubV4PXgEcXn9PKa+7dRGuRhoR8ZoBKbnCW2lLkrTbn + yktYlucs6qVKD5x97qqPZh0W2czjUNsXaoh6VKV+Ytjw/iP0qzWIkvgNSb/49YFHahZZPYIqTFRA + e+Z+wbVPL8HpP0LY3oiT5ZoUnq4cZxEtb4EX/Sze8gZwX3Ex1YJm7oVmptUI3YEmxULz6OB4uwCu + XbkY5qMg5igHiVUBvfV4JGARPSRqutIJdC6uF787BvgqrlK1e8e/q+JAG128eUlvsT/7PFlXuUMI + Ehluy0IcIGAHWOhvjGoC4peAnxZsKMQkp6eln+38sIpO+NiGrkAyOXF+QekM4TWpMqL8j41TcAKb + kJxeO9/Z54S2YUoNmydDLoXSVpwf3BCZi0Uce4doXZIycVMPjrG/D+wPZVjv1WDrTYBFPyCwO1Ck + KacuYS2pINr9OlHHR1Q6TtHRT3TNP1JGUO0QfdDKPauuLvgKWA/xa6AbleEUnVgBJwP5ktCnR7j2 + FPMLMc1YvZ0XmdyCAUK4kgTNQrBb34zjOo8xzkU03r/yWihGu8wCMyFu6tMPsO7iH9/QIk/qyK0K + 8Zr8AvWYkqFQowqKL0xvg4RYmhyMYV8Bk26bjIfyHybuxKgX0IL8tRzsHR2tDcLHvoQlv0cuNefU + Zl/VoJ6Y1y2LFrfzONTK89dkggaTSAgySVRZggIcw6zoBg0lGFTJyqEp7ozMl3pZ9yc8BePt6NHM + clwYAwocYBdBZ9Zbo/qGlX5Ja4Z/68icgsb7CzVclUfVqMOGvLYMRPk5+SGMGqKDpLhOAmBKpVzL + qv7Mr2sKmwM0thqGcMyqzS1DDuLNl8sMjmbmrXO0D0xOjbAB4iX1qNM2+QiEtz9wEDh4TH/VuEur + /G8TbmphObl+SNbYrSBjfUTyIH1+chTOg7HwQTkp7h/re03P+K+LSRXdFZo+ow6tnedH8OAnfQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0826bd9e-d27b-11e9-b66e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0826bd9e-d27b-11e9-b66e-001a7dda7113 + x-ms-content-crc64: + - QlUiu3mh9Ks= + x-ms-request-id: + - d00ffe25-601e-0010-2d87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + awA1oPUSfLUBTi4T+IrxG6StNe/cgr1MwWeLVRDPoLdBSSq93L9w2L0lE9SSrqqsgW4OLaC44Wj0 + Kg9U2n/T8KgiB2I2jHWE0jb0fUdhGnekItg/KpP64ieDxZS+JsIr63/hz6L9nnxW4e43UM67Nsnb + zYsxfiZI4LaairOtb53cryPhpsixpPM4lgOQWysbSo5+qMEQQYWbOqHYWXys6vH29SZSXMDF91om + 0UknUszLXtULdZu7JB0c4w09Xz5ANM0smIF0g+3OOLNJMgvh4KlXHclX345Rj/hQsiyAD9yrpZ5o + 99JVQaOZ0Odn58ImXFxMSmO2MLDhTnqJx7mmEZabvJwJbiVmUfBGZ+gcYv6WUOwtVsE+8ZR00inF + AmACgBFUTHX6NFaVkfINmCpdrSTDTjB5cOBtprWMuuVE2Y1RgL1METfDo1DZ9CpPwOmqjAYpF/Yr + QiWr0FiEhh+kxknWWXtiCTBYYdudAqvg765PXVxNRozKGh7Hj+LxQDMc6AjYhxLCsTWPzPaxxgkU + 7qe54hv5cY2849UbaIxxiMPBy6qD6zZCogW4b5AOakXl9gyEFXikG5Zi35UiD3yGiD996OJPQgct + jhyp9vwFmxmMbRb3DA9+w21QNZ/KskSmUb2Z7F4mrJOwrIrmGc0t6bFfbTCesM+qhHMaZDLha1C7 + QUafecZ6tgJn8xvkSOVF5o7nuhGWag0EhfGPPQWaWdzEcJbySwIgONScTOCKz7JPpHSP0GbI1PEP + GOfR+9wAN21HRbq26dw6NqEG9Pts9RvrHJCz17raNlXO8SV5jIHbzPpuVxwKKMyR8OVcBelGjXIi + EitcejbujdalvY4K1QJOJ2YibsMHZ0/7korT3AElxFPf+69w/N3sU/ZwuCNmD0+Ki/dms/erRFm+ + IsHiAX1S4ItXkunUExdsCX7F/er6MLveYVu0VI+UXOfFUUAd7akkyNFJV/y46IGcMy+cF18MbA3Q + 97v2oIXnhm3wwqqAOQb+re9DcZAjf8+z+RfKp+JPoaLeghVX0C4NSHX8uyh7DdwmJIkmdk2GypZc + GG8OhkHMrx0yI38BqSgQSxSs4z7zAQGAwD0I4dkOM/tQkxzByfy0/PwMzWo99kRrmQDxf2NnNQ8D + 8JnFpluvhECK6WAe0J/xi6dr02FwaAU2Apj+/tYQ39JEDFG2oWESAp0Ijr7GdYgyj51xww97YPdG + EBQylFFdHnDgVtupitUwGbxOjx6Rc0sF4bNFDts0N0jUJERDb+fNFrmy+9rvY0danWzTrOfHqScH + PLKOGmi2bnqK/l3t+ONdNf0y870ISvRZkFy4pUAI2F992ofJFXa6BItpfCDZ+1Sp0mv+P0z9gw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 083d894c-d27b-11e9-bc2f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 083d894c-d27b-11e9-bc2f-001a7dda7113 + x-ms-content-crc64: + - yQH5T7fm3Hw= + x-ms-request-id: + - d00ffe28-601e-0010-3087-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 9x3RSm/TcGTFZl462cem2LbbQYq/7RgowigVrKPHysNhKoOUCtwVbuOv5AVumUEet+8YNuTTnZfg + iHg/kRT5MUkj2WyXNWdHu9ly7BW5xah92Rzj3OcQa4k60HDKL+xvfb07nSNKsdezkEHsxsvjO7sp + cZlDFp7sZr0Mrl1Rq8ujZAJwA5nOHZdvzZXq8gCUwIJTHDDD/WZ9cKQwIlmfSvLsCFrMn75dVusW + yydDs1/paJsTYvA0A9fgnIkXQUF2G03ULNS/j7RkoWvV10b2d+8nF0CidDenz+sspVwuCg60Apoh + eZZE0guh4Z0+BYAvd50zziOwLMZ4Cab0m62+i0TBLf65NKLYb77V147Dvb5UT5INrFo+8rNJbq9A + YPbGJLbAt3rANO4c6IPHfBKCQdjgmZqzfFw2DHpLPOloV6bR9FOUM5ytKJwKlFDOhs/MjlXLcvHW + VEMv2IupYXUm1/OF79JcNGlhWx7a7ml8eABw8nSLBXp/mBM+s9ODkKl/soo32SuYhrBIH5uAjRcV + bsD2hoE/aBDHFvEVE8CY1F2aQF7kESFnIbuHenwSz4wFd9HXsZAeog3cMXkTvUFXFlTwvRe+jFpa + lU2zaFSyQWLrl1qcYrXEnmIgjT8BGSFI37L4gbofhKu8bp665l2mRF6nsTcWaw3cL/zL1eeQ+rYa + BkUPdGqgqHTtpxhGIUQESahna+xeeX3tzmq6LWjsya/C22i46jMfWtxALEKagE8dexciX5o3S/LS + UXqUsy0M3tQ+KXd/oGKlffOF/LwWqcGePGIwDNqrQgm0s7Uqu9OzxwFz+0/9kXYCPhXDpHUAmfJq + eexpmyo5GBaScerpEiq5T1/KtHwmq6Gqc1QJMyALie5shk2lCGzeBYPN/ZppAUe1B9PG5iaX1cJr + /JxWQ4dWLGscUx83IfCBL4EihmfwIoZVmI9RXg1nGSTvzmpMmEeScjC+26/AiZH4AXa4RoENlUTk + LXapVnWI/inmNgkdUtwnwRNeNTIT18tYpuXv7y26TxD8jtJqbzipgk5NdWS2hOKAQ8hr4K37Kmbr + xWj7rDToNnVg3qJeIocJ+P67MtM9e7hFUJmvo9tRlg0P0g34OnP3zf7rGrbIthozcolThsdTgNBB + Gdu9vCIK0JtMlfaM6zIgbBcEhqoOeMuXXKQRDBFjtIoTQLiYo4ayhgQNbFxoe+v0AIqki1t+MwMk + NiawYX/0x964m02cyK9Mgufagu6+NChmBV6/7sz+l9SNOvgguWkVipVfM6xdJjIP7JBkNvsY3Al7 + ZHm6FfiL8dYCjE0iHna/cp78FjnAw8l5MhhxZJrI8uG3XQLS6AR+2s8HGE7NIXScGsA9cpLvlg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 08500092-d27b-11e9-9062-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 08500092-d27b-11e9-9062-001a7dda7113 + x-ms-content-crc64: + - 94WUNood66I= + x-ms-request-id: + - d00ffe2b-601e-0010-3387-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + agsD9Daed284jny2XM1IHLrQOc8tPMxWP/4tSSYnKDPdTmgqDrJcofjbypkQc7nhPsXrXeOLKtsI + /O8UaswaNgCT2wfVUa9zugOvN2EPST7xbJ0bIbxUFnNYXsDUvEp+wOlbvESQQqLfzwy1t+IWVAB8 + IB5YcOQ1ON4KOxsN89jLTRtbyU4MKRhnubqKuxWNeDVskvBy26xE9LfZYavKVhJm3w/iX14GTF/7 + CGfeDohRRAkud3tMrlKN5cibWO49FdS/KMuP6l6nyoxvwDJmg7fMmKwYuYO+holAs+DEoCz53/RC + P219/H2964o5ejoZ4SmEkEEBYxt7L5Ii/hyb+l6bhHgjDXcgzHthK95XIvBfPC+V8oSD5woQ51li + 3gd8PQCogwyhadTIlilJ1ysB5k3ZTQ5vNtnPu4SLrbsTaV0UbJf6rcAkPc2Um2A4rtjzaUc/sLD+ + NEbmbJL9SWDp2IygIMHy9X+jm2ZXYlvF+m1jdMjIPmISQ44cv+PGNyqxvtxhaRWVFFCv2cmaTDRW + tNEkQphgbmolCB61ojiaHJ8Zy3wisb9byk6ztFXjio/nL2bpX3FH0csbZfec1AoF/b57xqDSbKlH + xH6xvwGvsOgZ5NSfRXIbnd4gTBsAhqX2ApV3a7ZLz9+jGiAE6WeMaTPzogKxXPQjazlcx+SgbY2C + HI4J+clkVawrZQt2uxeuJeRI5hO/2/jV8i0frIxchR/KKErTYALIHDIC+uDiLUkCBqybhIdoN2st + tNc7nFCtzl9QYaofRZZCpQCsLkcql7JM1FN0AzHMX8L6rGqSOFKypN/rO8qlBmk1zcDKi1VeRo9F + Hgi/JxVe+Irm+s8o/kA0aw9GsyHJb94GCTADTSwxCT/udehcF1BZWrE3f/MGJ9UERFRqpG3hfsR7 + t+BLp3CNwUwX2FkuvPYjwPscaQ3RpQqPrlMqljPDlKCc+xF6i5qSiZTwZY0VSluAx6pPPi94OQro + 6wg7j/vz5R/OHxb6SC3CUXGIMi3CpyKq9XrtQKLp4rZ7DDd0u+Yhher11EAPl1sS28qjzDF3fU/n + A8rQpOVEPnJTkOKehNaAgKcAkBjKPzwdLHep0AVsa8QiMgthuEd3oQgCA74zp+JvF4VdlUGp5IVP + 1HYUuNS8In8paHmmw96lpVW7k6i3JPWVHRHvXtzP2h6uNfeyh2CtpEApiFh5gZB4MYHrPIG9gdAE + wNT7cp+B2+SqdltxAZYqrXjOiW1X0yyUFUdznUlj5LObZuVKNteUDX69pUuitO/2brmi+LsQXp1+ + eT7eDtzKgvkB4cj5h1LV424I80EXF+9DC6JFWMejfHNohJ+Hnz7JqbhxYcQpNGH6uhf7mX0TQg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0865e0de-d27b-11e9-8634-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0865e0de-d27b-11e9-8634-001a7dda7113 + x-ms-content-crc64: + - qahp/vGqBXA= + x-ms-request-id: + - d00ffe2e-601e-0010-3687-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + bOa2PmSJgATjEDa/DCvkPVdVzo4Uc9U++kOJhKpClO0OsaaChf7vv5YgxajecPDnC/PJKLk05QNb + YVDUJeIogqQQhwujHFf4QtMcXeZmYT0TVVKIo61iDUdsjMuw3m5AWWX0nevzElgajJn1EyLN54cn + oe2o0BWvC0r4UbN3Sq99wrWKlG9ffR7QG9GxmpXaYfUfkyGZRwMjx/m6nsvGDZSO8zSdsuY1/pBL + +fyfpCF5xR8s7fes7K0Q6LeGuHHkLlFIOYD1lrghxh7c+8AHYWNF/pZ6G+vxcYgJB9hVptFzIjiP + sfNlHchK0qQZZOjzVUcvGUoycEsviKiBWu5M+aMQNcqAKRVTn1F/hKNt7c186hacpi4N6kkj4Qbu + ets8hK4DiDsZ9nWLn0lE2dFX7ok80xXNeUMEcyS/gaZObxBjg8peI5izcHtqfPh2yRJ3dZQ6KWJh + Hb0qSIkOCtYGU3PeexsaDHLKxW/107tcf+f2d15GB4g9NiPYH2ogNZqoEXQr6LoX7nuwoLtLrJ/Q + UcDN+3LuQmAFUSDbbcXpV5GKn/wbdvMjd3uSEhIGfpkimqDwUR8OBNFZMCsyI4gFtsplrcmacLwm + Slp4DPESvVJJIYALfPaZXm7nGLSAx4PR85Mkv2FoEfmoFRP07wrLQQk0e93qa3vQL7OZMqpTeXmE + lMDZYgfiBtJ0daKHgeDbZpPXhm0S9ztIOVCsUacU8CXjhkHjDAk2ilOQAClV3x76a2A63QTvC50A + ZxSaWr7En3GCgJtSkTsw7OzMIULohgzyiQ++jWFvUkvo3hrzdv22KE8tNYXgIUjOkTIqnhzvdNeE + gb7n189qQ1F1gRa42Y3XFnzbvhHfmKGIkcOvdOMlu4Rd08l0OgAATZwfFNeVAn/g5vJODIdSLe4Z + 7xrWRqpa6KyhOGhoyVTB9PKwe6B6X0gMdNVn7CYnK8yHjp18DEhneYFxNun7BbJ/BtP8LTITyOro + 5jTMXtiIr2n5hx9Ncr7YmKXiWPe+oQFYKC1tLK5GQGKKvDLHb6/yiKZqOozZFkchOUELrDJAMXF2 + z3qRBAffYzIpZO5t9fobUbODy8YANKgL3bRb+CYlEYuD+4vOqof8z/K0RwnC11WUCxegp0Wm7u5S + FUUvf8w5RXHI1veExWJPtNVYym4yE+70oe8rZdfmyw6e2RQOXz2xuaTCEy6rmZp0ufcHtmHIbvTS + UNZA2cABykWUM+kpevk8XM3hxW3ryD3ZjeS5pwwNN5qS3OIOxwN9HHPvW9tKiRBDweaxQlZT53IU + ypy+r4AZULWJDMzDDEdJ8igHBHNbvv7CXYi9ex7ZTGb4rUhTBQSHVuNx/YB9uTkMMjb+f79BmA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 087c195e-d27b-11e9-8b4f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 087c195e-d27b-11e9-8b4f-001a7dda7113 + x-ms-content-crc64: + - yddzKI2APvQ= + x-ms-request-id: + - d00ffe31-601e-0010-3987-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + TG+Wmd4Vx9q+iTcNfiJV0NJlx3zk/qHNLamFunjSlY8/XzhkO+yBW5JKX0U09DNH4s7DxEuNu+Kp + 9nkVwrWL0XMuHS5P1Z7RM7hFBR/w0J6g06Xth9scT9F7QpCPRfqv8glXWnlWI4g/o/xMfWXA5ZTM + h+Uc5zJ/RKqBqewz8NmLoKg7Ss26QRfW2TeqP2X5nn2Wqxp9S/TiWXLeQ42UX9Bn10HGqE/jSuvB + fBs4nKUkuqY7hLr5TdMi3nJR1Y+3tgw9x4csYloDBYrfSWHkCt+79ctmUPNfZumDPp5JjkB1IMUX + EU9pyESyFdhjvVB8+Fxz6+DbPLWtS3/fYuHgEa0OKPxmGlqJG26kFXVulczxi8flPmD7VK8NPgs2 + jQY+Lvxfp4KwwArTuUOApbtysEDJlQI5pCmtywpukklUDfLvuVMR5SH8qy30bgOpJ3z3iNneGY/p + cPSqUFNgvMSMyGyRE1+WaMysitMcQbuVoMthmCD+EtzIh/qTE1NCalGxe7m4CVhCvjCFFw7AVc1H + j9DMD4DTeE36zEophC/uYfOX+jEh1t2qcqvY4425AvpAPKLE0ns8kqODzHqmZLEK4yYDsmV6CsFK + gY+GG5MFCIwjuXotZrQq6hBpzurM4N7N+T4sHdY9OLA4LBiX6vlKCdJNve8r9BcL5fyWA3KPOW+g + 2bUQ9/J+gDwOBtBVfvF0ftKPDEExs4xGOVBWFjbIaFA2czeWncVnCisSO3oemzpw7hG6k9qx4JZM + C4LvxFXYIx41UEYd6tMwLjvcmHJq5NHVqe9cub9xmZRNqg/p7mppiM+vdVAvg8wjsLdASETWvGBk + Wh91ARRyXZ8AzIgUwoSnDR/XdrSGitlHEKhoGkx16TJ+3K3dZLyeIErzjVCzdus064rDEInJgzdN + VzJ1ML+o47M2Mz6ggdz7l10tSYOC2h4jtl3frKCzQAZHuALYJoecJTgYiCD59VlTSQjlzMrNYzox + 7IXqJaKeV6ebJG9sywyJByN2zRcbLG0sefuHszV1dekMYDOplfROveRDcvFPEywBEbJvt9kKa4ku + pVMmgqzdzhl2WKpwsOpjkpyODodlhMgCqqoBiKOX3nLF75p+j5n67VgclnREpXu4GbjrW5QIgFmj + f/FEvs06sZP9e5Y3rWZdc+/h+ASCgwW9sBECxW0ZptIHKAHvJburc5O0Wg4JfbY9gOnwJnht8Vta + Ayz0MiZeNGpoiAMfbSsIcadPfs644lxEtujfmRiaMcQcuMZzlq9KnYc8UTfTMewj2Zp3SE3YU2zS + GKgVueV3FU3s6dT4VOqWsr/L7aqRUoE+I3egxtFwm5PkLckKdVLnSgltn9u4gAvjCge1iTVTyA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 088e122c-d27b-11e9-981e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 088e122c-d27b-11e9-981e-001a7dda7113 + x-ms-content-crc64: + - 82rJPI6Uv40= + x-ms-request-id: + - d00ffe37-601e-0010-3f87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + AzZIsxKMzK+wiuXGytFzmxrSMamAcKqxPL51fA+zYeHFVPFYslrz++PbBPcWQb2SE6PbP6RpfGNI + 7NA7l6VTPAmelJj7gIPxS3fM8rxM/jSnUbx4gRJ+fFocBvzQogbiqV88B+qMbSWHscIZ939QSRYZ + 59W0szcUhDCj7L4+zat0i2eFdJDiiEyfsc0+ycnasfDoe9bngmy5IGNaR7grrAoSqnwRlOyGY7V4 + WiIvHwUG32c6vzOjKoV5LLAU2+KK1iFTm4HRKtQEHIGvGaULlzOv4FdrFHpbTpq2iSwAKOG6myo+ + avJZRPTrHfcXDnORRQrmMmlFv862W4zGhLYIgEH5eKSGwt2WJrOUt1Y5yOC6xwiNMhYSksD5QaWD + poT5wfZRjmAloFozn9r9+SaUEwDofPPibWkHRs4XDUR5/jwG8INPDAQbpW80Tabdilt8sRRGo3/V + SiXd/IFYCPFl2KzXBQqfg7e3oj9Go3zCdlJtLRP2a0cdxJ5DOatYSJ/tA4g4kr8XK3N0262/K8Tk + VsZ4vwYeDDm0UD7pGN9bP9Ivk0YW4tvTvoiztESmzWmYbzHifFw31BqgLeZKryLWZJiAlooO70HB + TkjuY6DbH6+RC/n8zawiShkSZ5sA0KRzMgsKxwWTcDHHbD4jDEH8FKOF0DB8hnsgdKJ4GmxXmIfg + S8ptqGUnKkEwxYYLwja1JAsCf82KLuv6KIZKFcMq7+xC7rxI3Oxoq4M7dAPKBDcQpu9bTvHrHI8Q + kHUN8AJfVVe9HrirSB3IdgiK6JHiE6Huy8G2gsYNVdaR0yiPxpJ/Yy/tcMd82QU+XFdvn32uQuY1 + w0qblUnI6NuiNh/J273HwjNACeIMNWFRGoF4rRgElsmhM/pTdPbjK72Ur0rCB9/I1wSdOjLk6+lp + 17G5eqdIkga3QP4h42n5vHz7ECca5xzUThnfU17ls9wf4xCdW0uGV9bBbsk6LNwVlvrFQQSLJFWL + sd/XYw4BGCY1Prc/uBWct9fwt77yjeyJvWMYMIqK8mAvEezdRbvYmDHrg8+pZ5EKaEnRwq5enRDq + Y5tZRy5d6/7DHbQmn4fU1Y+wy/mQjw52mo/TnM5/RKyovs3Z+B3cihJ6+SSyQDhwhc9og1sDJYjK + cnkyCwSquOFLupLu4MNs8BnpreXjkLi6psbIm9Wl80ZdioIZe/e9hWdH2jFgkMMycduJ0efp0bof + BLIAcTrgZyeeB0/qtNnt2GTSRyOh1t5s+3Nnzyuo7FsiLXUwJTv8Ntd1Ww+rD8VwT1tkO3uwWlU0 + nYxt+GcX4GJum5Jz1gWTksjUPNFDGQwrv4+7Q/BZ8eUWhABbQSrH2p98Y5RACqqZSPFDrMNd8Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 08a7bd4a-d27b-11e9-8e3c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 08a7bd4a-d27b-11e9-8e3c-001a7dda7113 + x-ms-content-crc64: + - M0S/wK1OrIw= + x-ms-request-id: + - d00ffe3c-601e-0010-4487-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 5CtnPPf25InKxM0m7PfmabZmsggJIYBLbNe1lmJWKsC1tNaN4JNNNNGY64OE9nHCY1b8PY7cXcb5 + BBsjioi6aUm10+ugVn4KR4JnQEl8s/yW4d7qOeY73iXXNt8t0a1D1SnDpruVZSRYBHrPsdZCizOU + q6CVC681/tUmD1B6D44MBtZRHaweDiLxi0wlDykPfIl9BqWaAe9vmzZJKNQUt4Rqf2Owrs2eEkbv + QgHCL35f3xXJHEeVUu0VSFvvo1kRqYWBHLLmC5r5gWRRwOjbnc4tTtCGVDPikdan+Y7LN4c3jbju + 3xQqbHE9VCnlzHnp06hG09VwfNZbue7LxI2kH+RZ8DpjwJAywihG5+A4rM39TZWTAQBU6PQKQCSJ + b+ZL5atF60/DfvSOronBKwOFy+pIJQBxSCG2ppUCW3Qv+TLIRpl3c75GsT4weiB7MDkuIK/iblXQ + hrpPwu56Eop3wSM+MEowWSTMDVqf+fX4MVIoZt/XGp3YsKZuTKRxcq0T88JgtKfJFcC+Nx+1u5X9 + harLqEqAxdAcxcd9ak76j2X7H1D2O5CoXkNCgE4vs3QtYM6ZahI822o0eHTzu83L76x9mTFaJHlI + D/2T9+KF1FqTs9lJqbYfRw3ImlyhLxvBw+ZpZckjEcffsIv16vn9KtyXeC4Vi018x9uOmjumaAj4 + JzmDJE2B6PQwASL+NeiwUGxyWKScwOt6rZCLg5249ThquKSCTm6bBSo521CHqoEsPDONjtUHiwcj + nyi8Rl1QFn1EFB/CxS9lPje6bDNKJToWtn8QjDoczovTlBTeVjihel1wTHP140kwif4dqRT4n1h6 + hNyc+Y342xauSu/jcLF1dmIxq1d1JEQw8sHtIjoKtPr6meFiFLK8FHTgnJ4g60YIszjLXGkaRdvQ + 7otjXh/wKHlDjyP766qkrLgdDQwWN46rTkw+cqiHY8CkPC6WRoIKUMmc2KcRN0RS9YJ2Me8rZZwy + aGdOuYVWFEjJyAwizpaRipvrncJTvnugBbkd9Lc23USP4MgGXHBbZnhX2V56ARY5w51QCH8BG4sr + OlfPuPZFxmxMP+OhF0+3bPYyQixlKAhs1KTFHYav6ANOjGjA24O2kyZ/8rBf6fvrnWnLTFAZvex5 + 1LwSf1c063a6TRBm1yre+NOSxGpwYqx+CRPNxoa1uvPVqeWOf/dT1a7UicdvN4K6F+PxPI27vWEo + aY5g2wzeTTFRNRZ+0IxVY/wuQZhcOqNFsPf5hU744xelT4wAvhzE+i03QggQ4HjwxEg5ytfX77n4 + Dl22G9ULZJ/FzCPyKxbS0DkX/KGehPJethxx0D7MCG2kt689uVeiRiZBICwVABeO5KDk5EKilw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 08c13212-d27b-11e9-a55f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 08c13212-d27b-11e9-a55f-001a7dda7113 + x-ms-content-crc64: + - +5nYkO9IeFA= + x-ms-request-id: + - d00ffe40-601e-0010-4887-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + SNW5tpvxFwmNfsafQYOXGbB/4PVJoX1tepWoO5qljkJymhHa8WPoXL2JoH2XuJlI9Fd0ic365ejB + RQeyi+s0bjjFn5jr93bn3RXhitoSONADu5HnCC6JLnDZ9vGWdnJwW9ohEBx8eZ46ZOyZPgW+DImg + YZdbdYF7Yg2IPoMGASlpJT6KeW2KeGCgdvxW0ROL6hHw+D5LAzdPT3G4WJH1/obc6GmyquIglYyu + jsAKba+xstGvDID4RYstwp909c7qbfL8t5CUJ1tiC78PIwza3Ql5lVudLYXHnfOfN3wT3ec2VmFC + o3h9F386uw/0Vu7ErPGcjtbaDdmzUsemB405h+6KWvat87+VPHx/0+rXWRkka/6OIe1VcuhEHras + fcJr4evarHoAfFfuV4appy5zrnZWkcmHtjF3i9Q2GoQfGodUcH00AumCmxw2b+t1+Z0b0OxDb0ei + STJUTjHLR6kx/H3vxWrEfiC4IUZ/EGb5bnAIeKHqHKeMVXEjmxg1xTHYtvizyQIiGEnLs4sbNSsi + xKcl0+HXxwUT3YmN+8/r3AfK/RVhoNUnEbTz4GGqX6XekKK2j2Zwu4DQJ/lbejhZGasssYlj8Pjr + nGtlbKk3Av7f9DYbI8yWcFM7cTt0nOOD8Ek5vFcAM3BH/ZLnb1NVbmSnF3YIaMztSNIDH4JTQje8 + d/YvDcD9x4OM/PKuH2KprALtkCuzGnwLL14zLJi0fl4cR50VpzHcdycL31by80Vr+bYjGOp971/3 + FXprpuPdoKP7OkhSF0dF/vebQqVrNV6Z079EKLCfHPeyM4w0DqMfY1HQoQVdI/4wPYvGN+frltey + 4piG5qst+SYON5Viqqc6f07RkziRGKD7Jf2A9H0Bpp+WpWoDUtoTnwOkjlBwYB9/KWFeYlMYr4ox + 5AcdyMvaScvRNVbr5AcuJmeFBc003zVreJLlN8xgEQo4w/W39AfjRzyH7/2p3975BumZLX5MpZ3C + mijwaq0xN7mzUAO9X4q89XUq6oC4whASxceEhHxeqnchcMEm8o6Qg3mKSU7UFp3lXODiNYBAYHJb + LHqLvuOnhUzj2ijQlbO/s/5sb3Ia15aR7KmvRoXa3ODxbjo4tK361XGiI6hHk7YkmE2Q0WOFdlMn + qcqfexQiQjNy/YAItjkCoX68T52ViZOMto97512MiQmwNiYUJSgZuVLxhoVpakXc7LpSv79tyfr4 + kytrCLrqTEFX931b5mi2Go4ouYhS/XysiZwiWr/63VCiXUmcAOKAYQjBHA1yUBu5mgyM4enl+WWp + Dg+BgxIN5wT3XczcuiKJl9fwQ5TPPr8OVOvhDaAMwz979QMorflsx6/TfokUtNxFH0j8ULFWIg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 08d8fe54-d27b-11e9-adfb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 08d8fe54-d27b-11e9-adfb-001a7dda7113 + x-ms-content-crc64: + - /uODBtj5gJg= + x-ms-request-id: + - d00ffe46-601e-0010-4e87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + prX1X7LgAEwwThdzbydslXlcJHawxIw78G2mxpSoTGyOoa4Qzh64KMy0687NroUQfR+0ukGI0yY2 + pTHLx06kljBiWIU+/NCjLGHcOz8JR+SuIAxO1VHzpBF1mgD0FVFWJsDbipUYB3AhIy8o3N9auyC+ + YxMWNfaIqUNUolIJ3DufkqxWKtn6HNm8H6KlavGtuTylZoOK6CZPF0ExNEsL17PEpWH9Vun+3ZXP + /vCVPiC9UL3HsVmANA7F6ZTJQDrhQVzaS6ia2JS19IOYFrBTJo+j/esJlYb4JbZi/r7ilOCSI4J7 + W3IeBofDLs2W10E6+vVGO82p1/Htqf4tDMQTQCg2JU5NPbe2ufDWCqu0p0DIjyvHCuGvIZOBc4Vq + Pw32d/cfqu3H1BfRBnQamPwT8nlre4hrQBsE0Eu9x1fePH4RiuswkZ5nHTPo6BUj0yen1VunXqk1 + W2TOyAu35PUazxqMgBICy8gdHdX3pYTGx13Zkd5PK/WghR8djWRHrpNfehWKlRZPng8TRoxjFJJB + Dh4cXJNBGNPupq5aHY9sau9wpanABASAQS4iPSO1CwvUXLd+lRPdGvRqdDNGu3nM5LRV6JQ5UEe4 + 6COCRZ00300PErVPKOBb0YOZH9XUCIqZx7uVX6esaUnA/eHbYTlnBaOYfx6HSuGRJknww5g72j15 + RE2twBxIMbIhkkEpHZSshlNNWYDv9XAecdozchg/5mXdTkH3SX+qXCvzEQyKhAvpjlfqJHZHmu4E + seDH7GDPMrT2mYXsw0HK625puCViBh69FvaTKKy8oINugFWSDWHsT4qU80zAzeUSdngDqXMUaQ6P + dEf31aaDLPx59ezrrZN4AzaeUuktvPs7V7TUzyYrYoUW4uvflEDVjB7dTnvaeqLMjrPDzCtLRDeU + 7tXAgPYB2NS3eIUWWxRcEzl9RK2Izepy2pCJL6K5QLh1hleYogqTeULxRJmY9guLklrXC1WyM6OB + 90tWD23fLIYUl9hAugHTPwklLYvdU7XbpHK5ixq54v61Z06pTnPkT5hDGwnLrYGVlL7NvqiUtS78 + OQsofYmGBA+QfLwrtIFBoTTyKYDbL/7ayHSLHBRXznV1RILvC6mNpQqwPO6b6xqhjr1bJCS75Ci2 + 1JqlzXwU8f4XeQyk/vtxrJ9gGTcSnJx/S7NWNSQGlITo03LYeJ/WgzZYzJ5Wmc2d9LHZzqsvbfFq + IhR6Jzru1n/NPhtCFvXeqkhJz7qA9OLVrq88WnR0SM0Q7p7eP5FtIXgxdx5E7svTTO/UqrX6nvFy + hDK6iAy0Omuae6COA5SS0D/0zrF0wIwRUrPoy55nktqhEB9N2RfCsAFn9NJMm7Douq4LBi0WHA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 08ef7eba-d27b-11e9-9a2c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 08ef7eba-d27b-11e9-9a2c-001a7dda7113 + x-ms-content-crc64: + - attnGAM4bVM= + x-ms-request-id: + - d00ffe48-601e-0010-5087-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + qd5mOd0IiDtCbn7LoHpHShhtz9FGAFr8beCD+N+c8pfLZpZfLFbvOnRDy9j7sYl7WL3Rpv1Je6u2 + /Ne+Mw2Vtgv5vh/ojKyUpq47uagwDI6I90Fv/iVvbZJhiFIHhIjKeWWNAd8McaO7ewQC1SoG0DaX + uO6mEuqOrxB0UdH8HlQ37GerF5CrrB16CHhgpaAaVC8fbl/9tHP1xaJfnPFBzyRLHuzyAZaU9o3X + tYOvl3H1Uf2GaiqfxOBu5Zba8zEkYYxa9zMcoSr1UUxCphI7wqZ/diK9LsnlScJ8KhOMEEwuulvr + EplZozvDHoo1FUAGtsKShva/hqtgKhIbyaQhqYiD/C5KzSbB1ssTCozfxvSNLaQONh+vCBD6l6p0 + LBa1wlANQjwOtOPhZH6Y8sgE0EVK/L0svstxOncgdND1iieS5yKxpf6FLpwru8k4AhF4Lv2csTZy + V7b49gAs+qL+lxH0lem6OEQgDTnHAzD8EgT41U5HhSHawsVanrDsQTJWfBmgbPzQjt8eJq2OWGzk + 5hp7B9kF0oXh2XIQYsw1UlGC2N9lncA4Tpz5EHikZMKX0krGVRxtkoDHPtpFCESs/c8RmR4Fgvxf + eVqcNCq3q+OmgzVgK/iun3YxBObv9K1j5uYkBrJVp0oNkOqcH42hdP3JY9cfhkdXyzcB4qYV8WLE + rK0AHkJih89Ix2Oa29rzwVNnBmn67GZ/5dR5j6AA4N/JQ8Qxq+8yWAw9VJpofvXIGsve7xxAQEPt + PzgR2Mv4PJvDDkrKvS15yYiyw06tLiB4We6B1DN4E7o/Hte7qkEGR1PfvU2Ql6SaPYok4spY7txm + 9xkiH6F5KDbpljBAf87DAhidF2yJgjpJZ3aTEOiinC06uNGBTpL8I6Hkdj3Y9BdGiWTw46lnyHmn + UfiW4enEdoDFtWjmi6jKRUespOcxoseOrG8M/YFO12B9kn9jS/XRjrSCjktNZ24m7o0+hJZ2I2jV + rUIEFXO0LfNRMXrKE2Nf5hSzYepME458CJSoSDVZ31Cl/FTtIe7I2oySqCTApBReqV3pmtwhDc1h + GIoHAQE8NuI9cKnTZX4YQkTPVYlokkzKsQ6DtZATppMhrQtlMtoivTdDtrRzZIOH67yd+6968chB + Izer1GUGwCbvNuN9XJeVN4MV++7i+kxXwA4LuhTy8LrMlTa3On7n15s5duyDjkqdfWiKzAHXVUTc + UeeP9qrZxX2vMdwijJyraUPu8uTcBIldPceMsuqaaKE0CaRI/O9BhT5vtaU+aRtZhgi7tIy1XA01 + IAIY9dZ+sF8ISVxmaiG/Li1WOhBg4a1CH8swaclLjKgvZcOiyAKPCTBWpRh4Af3rg9o309eTmw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0902b5ca-d27b-11e9-b114-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0902b5ca-d27b-11e9-b114-001a7dda7113 + x-ms-content-crc64: + - 7sz0tEmhhOU= + x-ms-request-id: + - d00ffe4c-601e-0010-5487-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + xqmxdsybbQk+2OzNr2VhLzwV29SwRuJ9y7LE14mA9eC0FxWPQqkOLEJx8KYCX3uxLSAxT9pmfTXB + ppJ+qasHKu7XBg5ukXNL0V6t1fVVkwAKOCn6gC3VTVKF7Ns3Wpqmwue0pJlZQPgrX9jV+blK/IzZ + GWq+Gq1lhPmnyVXTCOVc0brBtxzWVyfpRJF4wNyIIFbbdmWSrKkBxqUz+u/yzhA6NPiUCwORmG7X + d0xyu9+ZB5q63jqJbq9GxZg1hnZnSmOh3rkxocXyhwSGfRSEyH/97GQCLBtDQMlI0c3KDSTa8xzK + NZ4gIYR8EOVN2B3JPTTh6244YhK/t1uTjAywUkExHrZQGte4Bjw0aDaLtO0FX7338Jjlc57MFk23 + LQH0Rt4Q46mSj6bNcGk7m0l/jtpPidN+VM0RchJy7PVz/hhquzujEOfBfiV28TYy0AMe6Rp1kpOX + GZTGKXAteXA/5QtN28Uija5TaL/cwZdqAXCPP7XeoLqbScpoSAiJGgFDs6DNKr/kuF3uMpomtBy5 + cHS0wUPdbg6VWNSTZIlmLntT+j63IpPgAPEYQaZ6eFs7hyAl/Qbn47l2zmDIkg50HX96Fz8KeVKu + c2pSSDwdHwXGtgxmPrYp7aaWU9gGxcsUbaKAJElkdNcG/EhsTNwKZaM9pWblDsgnA0CIxeREvrr0 + KLm9NrLHeqfFIa20ljAWPr0OrcpS47pPsgE0sV6KUzJ5k2VzdyaurGSezV+BnEBnHARyfd85mPq9 + PWJmtqQ0tw14SzEbSZnWChK2GaH02+TBpZuGUvAeuh/lyEaToTZZYiSBXsHlBNSUV2gY5virqVD7 + Unaoqj12/IAjP6nnq0aQqFTLtctZdVo5Nyk2ZMXVkMZjWan01YbOioKo2FN6Cc7btJCBwd+UMjbh + MsrI3LMFrCgq6Av+mPChyrG/6c5Ao06zEnHdWmXWoBcyi09v23F35tc8TZjfiW8ZMcMZB3RudfV8 + IsSl8q/hOv7Ovva+AVUPWHZKAFLvudo1V4yBO+MeHugpb2FGiagMh5I1+tJ2F+xNjtWD6v6Y6AlF + GlgZ5leiy1It7PeWJbYIJndmwYFaHUEP22H7iPX8wngA9WhQrp8h+j17wlO4NeIoa9o/0QesKyUu + oYk522DwgFK9KfJA8ynhERGdpxCozKvJk4MFy1LzHxHpFwjrBr9H9jLUAc+a7WzZPHiT967IjW+J + VkTs5MRm40n5oVasdZTD4c0CaNhQ7C3dlfdnZ+2wP8uNngrkzvdJftFuSfUlPj1a1L+Cigpp232l + WX+cdTVOja77C34mlufGCC1G3LTi7d5Q1JvfUQGhY580xEuIIkJ0OyNBWqNlfbsacsO8xNpDCA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 091bcdca-d27b-11e9-9888-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 091bcdca-d27b-11e9-9888-001a7dda7113 + x-ms-content-crc64: + - Xt0BUHcDyBU= + x-ms-request-id: + - d00ffe4f-601e-0010-5787-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 7mSWDpjnOhmERhIxXqMf9RNbFmzXgOttjT0LEFbvNEXuErm7duM98K+ObLFC8n2l4XIwD4q7Lqhp + 5AFI07zL8xNKwt96bvsKNLjpYkD4NTj0CMT92Y8WTVSyPjg79FlA+8AJ10Mky+ZRc9JG6Hyf4i57 + 6LcN+H8p9VmCUCR366NHHqw+wLw3ahghQlDJJIZLJu26cZmppYl3fJOxgberINRad8GnBpxIsSkL + /j3nr0iDRiXVF5p2dL6iR4Gii9wAWQ3w5034rVistn4Ychb4vwMyQ7aqbUr4Jiaeaz0y+digw0Lu + xxVBCkVbwnoJeLTi67S2hRT97fEXcdB/oV0OcH517Xo8ynoALbOB1NUtGSQ93jSjxlQp9nSBTqV+ + wN9oRPNlDeSImborJjdCnrb5zonfx6WNdftd2gF2UoYhW7gLHPzCSWvzOo332LEtd36GCMo3JL6V + NiHNWy3dCED7DRk7W0FlSZIyDFwwZdyY59x7vRKoKzWc2+qOKPTQf0flNU79ZFNEf8A+znHHZMWc + G0MMRNAlAed24yd9gEMqq9nEBdyOrbKcBxI62WBNOqS4Z8XSsraiRjU/dbHVuY+yp/DfbTn2TM5N + GpthctU5Cgn5vLv8Ag3bLYfVRa1zudGRMc2O4u87gHho+QaVTJ6Bbex2LZeKDlHWEzUupGL9hG8S + cl6yflHlvugXZUbHwjuT3bc08BIpsvMM0K1bst6w8MwA6RtMzWMWcupesMjzCXyis03hmCFrRZZr + 9bkvofzY79b8Qh10iDyekUfco/cQ7eAmAiz4GimJfc9+BAIzBrBIkywnHgkGq0dCnslJKbDlIxGi + HaGvRerScXdqRWEhMPZJKhDgKcel8CBwWNV7Sp12t2JWaDl1U/NmNU4roJEtYieQNQUjYpyQSKAd + F0xudOwZu7n8PGa+6WCiJkXNonhQ14faCmUdFWiTgR8xGQh6vWyx7funBhLHiHcvR8UjPelFeA0j + HxiaG2tm1SjYwkiJ7aTES4k4BirhrYicwABc6DAELtXqpSPui742HR4Qlzjbe3+rlbBmx/PukbAh + a82FzibqP07kq5J/ISDen91CGt6VPnBGJ7D0trjcsUxWgytyInidgyInsTGHjA0dB2ksWFqRPFlg + 8irbht5z207M6P1xxXyOE1v1bEVLAZVILBucv13fukUQ5C117dYaR5xvpIiTJZ9af+P5vCF0belb + Ux+miDeLJl9QyQK4WeVom84x1wo6uW1nFH3UKix6G1y8FOd5nQFhHiZ5L4ZkVdon2bj6Xr0BFp8o + 7n6QR8Je3GSIAE+aJmcRd1vNegYbwRU27O8wJp7VZSs83effBdXrEqz52spYevRPbru8O4vUvQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 092f45d2-d27b-11e9-91b6-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 092f45d2-d27b-11e9-91b6-001a7dda7113 + x-ms-content-crc64: + - r93KhM3ZYZo= + x-ms-request-id: + - d00ffe52-601e-0010-5a87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + dkPLCIIoUcat95LdudN88vcj8ETwWSAe+wPtrFWWL7qJ08XANNvuStg60+k+1hfdbl/OWwpTT0Ej + NbAC9UV6GGYblPKq3XC3injWRshsMvRGgd05Ydbqr8mjfeojZ8yiSnfNRl9pamXHlWjLauB+vQJm + QqpJYJhEJ/zgMjyjsLta730wUBoSzhR1vtQLeEWSUo6bXauXhUMwdRA7DDrqr4989yk28W6Vms99 + d3eF39GyQZHX4ipHS2zy4O0p7Gku/N0otVUNVmU1QcfpaOk46gnEHGV04v2qiI33fpiZ5XGsYvM0 + g9j9pWx9XJaKGF6PKPmBXQblYMG5WywrCdEXabAah51jn4OjDMbchOoneWdzVV16mOTAl8dU/j0h + OirM8+46U+CaATtUrIKWgfRZ75ZbjhJVICAx7b9Y8SXfCvzLX0cn9bn+bOH+fVaKz+ZJrWp82qjj + va6A8eOyTNETYthpLh7uLvob9jFyonTw6y3cwzGbDOEbt54YTTw9qyr+aX8Zas+Og6EXnOJPma6m + rjzN1c5gOFdclxB7aTbTK5/hx/srCvPqx+dydtUb9gdPRx2fSJQIloLuKT/P7Lhr2mQLXMNS4v0U + xwx1ygcMrfVhLXe60g5tUCGsSD3H8AjiCRagu7pWWgrqC5x9STvobA+cU34d5NMFJ24Mhaey8itb + rvoLWLIJqdNwbpY5b1qC5kG/0zQw44swGeaiI5bwMLWnqYBtHl32pB2rCfqez6/ej5xVZrQGyoot + h+8zaD62cn1Li83AZipfquC1pKCuSecWHEwMotpVGINmKxN6lyMPC0LKPvacXqkDltdch8AD1XCK + gaYMtpBQ0YdutWf1BOGP3WIAUAi+CddP3rfRF9fWl5+MS8iXbTP1CAt29QKsCr/sZNJ7JLAnr66m + Ecjm72zbSBK7yVM/mFC40fwyninuzQWW67wreZwcrbsoAG3JQ9C7tbaOvkV1S2Fdc8ROCcgRQOd/ + lQ2/bKffPgUNChKQbDPW0eZHCqpBbdhGMx8n68Ah2dQw30sNvgukuCe8XiOXb5J3NsQ0sK0fzE2q + qC8gWZqwEwJjHn9HqG0HlWeF6yoHLeipLyZH23Jr5dggtTIHgwy+Y8fYkbv6hNJefjr6Ttn8Qbm3 + THsIXE24yDGomWCrMAlM9Ax/z3giBIFCCQSW1enGMVenfJ48HAFLLyKSV7LEDN0Z1m4jHnHbuesz + rEc71sr8FE2rjrYkiKGCiOUSoWpY5TJRy1/rZhu+Ax3KToF83gKQ9AtSqSFwiUqcEha39vDorseT + DKOdUtQtx3vsjCiJGOuMbFWGVU/woDDXIYrSGPqRcznhrOdx1py3xVhkzzI5VX3Abd0L0AM1jA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 09412c94-d27b-11e9-87ab-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 09412c94-d27b-11e9-87ab-001a7dda7113 + x-ms-content-crc64: + - b0eHFsXbXCU= + x-ms-request-id: + - d00ffe54-601e-0010-5c87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + ZNp1iZswXvUdBsWbEJDJWpiWS7vZh0a+uWc+hVnY2uFGFjHEysXFjQDvjOAO0TDoh+vjP0XqtdZ8 + Ti6oh4VZnKWruPYRJGYg5wjpxBZB4C22uXrgPyM6A7DRNFmC1JnfJfFtcCoT8avA1PkLkclzHKbT + 0aipNdLWkXNWW0rhOceT+RKVyHkz5dK5UMf3dht+Fis3iyjdi/bEssqM4ji811Rrhe7SF99CSIE1 + 2+PONj/Pgt0Kd9O1d1novQVkLi1S+JoSqMW/3VBBzcZXmtOcJNwY/G01pIbjaY3Nfd1TyDt/E1XZ + bx6WGAqfcjwk5uRk8mfvK1Jgk6IKEttIJBNavCZ+9hlTAU/Esb8dXEWdtcuyZHaXikN7M1pX73oK + eIxDvn5N3xqMy9DHRA6eIQpKBHRpc7JDC8BenALT8SZI0+fOGb+i3BBZNFctDeZLGDIPXLcLFw8a + eGWze9PgjrVLyApCgMDEU5nc8HfDoYP4Xaj5lbgBUN8skttoMHw7/SD7xIH+3ZM9AzXDPrBKWy4O + XOhZbyqpg/h2ryeGK2LT4wE63vaKaAxOju8KUuCFCsLuibDZPo+zx023BfeHQgFyVer8kBYFQiDt + EKGPCQ9FebBei8Zl+4ke3tMrb2/ShUjxgIz4U+uY3PZmHGCyiCiF+6TVckxtHxr+Y9621PKdVPpC + SOI2ZGeugDskNOZVXTPOdFhc3BONZDNkWMwSW+UKI57HV6Qyx9o9G0qkVFsp/dhw8orJulCMW+D0 + a/ZDRi9g378mGP7H7dexhCvg81KB8x9hgvkQl8s/cHLY+D4eRapmMfSlbInFX8sDL0dk+xlQZ1gT + ZXnrcnS4rAqk22XzP1omQfQd6070YRrj4A3H/cWSLwFE2gpk4Yo691dhSV0fwtrniPJ5Li85EozW + Oh+slXHZu2Out2N/u08VY3rtOovyzZfDKVPx/h/KMMKnlxW6TcEH6j/osGo4I0GHN/RFDHoMVH1w + ZWmERaYn2Lkcyg9Erc5jobsTjPebQ0Hwo5P4WxfcIwNC8s6ruFTsd9f0R5EISz4m/aTas2P376rP + 3mr4KnRE1n+dQPTg+8Seo7wUTe2QDgn+dc26XyIAFR0UvH1jGb/d6sGhwoH0ktn+yG25RKeRKDbe + YExmlsNR3vN8gzukKJbnTY1a36Xz4pqXrUDbf/zLeobLBmKZd/CZHfu0meDp8Y05dTeythZsLGvV + ULDXg8tRTn5AkFTMaMSsibThIYnwWZNIg3Mi1TLklOJ+LOvdLDVL6lPL4ZMrmKdBjWWL+E63CFy1 + L1Ak1PAuLDgXfkSuoDI9FF5Djq3HhHmSwERoeJUQic10W6BAY/Web59wNa1W16OyQrtdxmtJpQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 09543518-d27b-11e9-8264-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 09543518-d27b-11e9-8264-001a7dda7113 + x-ms-content-crc64: + - JeTM3XwrEUc= + x-ms-request-id: + - d00ffe57-601e-0010-5f87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + T0FiTVR2+afgFjSjDq3+j6CD1UG89SlEy4FvIRylxRADXd71iR5a56esoOLJ0wuCyN8SiPNv5BhS + Q9g4nplN+tLc5R41HpR99CyIIInaNPUSwm7dzUwOYD2SzMxiGcF17yn91Pwd3bK9iZpIFzi8VYT3 + 62dQfrSPgNMhvNkgxa6xwnZAgGGUvf0Ivu4lsDLwwzyW+F6ZWJciZlSFJ578S1VpyYcQVONWKrKm + Iz38/FrtPP7Pr6v07pgxK/cdVqfubi8CrqrsRv2cBGmCMn26OVa8uJY6Un9PsZNQgkwX2WWgIrGP + NWLRL3EkhPFE/sIlmxwwRO6tBCBPWXc193noTqL9iGbCO7lM3mOXUnOT8XBJYg8cj8j9AaIRagER + 5cq8LARn+brfPHoafTHtU3sphl4wIGMVfIObbM5OXtifhKZDc9GX3vmpUX1fXqq/sJ4yNCxuACtS + ZN59JMcLJ3506yQrvCm2zAKgn3vbVpThFpy4CYCDLHmZV8PtQUZiCjcC38a9ODJijWlHB8zH+/Gv + tIBMUAdvuhSVODecG2cr6iYnxF1DF+wtWE3IP+2honkLJHOiVA5XIoWUXA3fbkxYjBFKJSEBAiac + wT89vDC11aOS4syD95Vyga/YQMZxdGHrWIY/rEfkaT65zdUObZh2pjm6+LXDI/piSsc24i2S1QUf + LpXAL2h7+FMhtjjf42L2fYuvafPcV5UzgrLDAvyxehKopKgpZ4oeRa9GR+cPbzueIc+UMXN86npl + VzJVjBm2zWR84YfkUQlO/nGm4VhH9G1DzPm7mdEQ6CkpnIWceSAsYQI7bRnqU1xWPeNTIbwwoatW + zeRaV7yaqL9Eso74JcR1lxkkGcqBS+XtMc+CY9SA7OgRg2Z/6+PHfYxRPz/t+wNibEN3pzfHhZZL + TdvDRtbNNpWmbRrRK8VXeurtqdbnLcPvy6lRujz6KLajb9uvvIj9xNkxb1R7K37sKWWLVo71uZJX + H04Sv+cfuRYX6FgFUk3STz9knsGCT+58n6TdbTRucXUOGutKR0Asm1H8C7XR9wVWguFoIb+BerNw + o7emSvwr9HSXBrpGysZK7EWNURu/jz0uVD8ae8CXW7yY93DQOI8dc8EvngdkvMQfZbG3+uD+DOow + Z1ASKhZ+nuNQ+hC7fLRc6dkRhjsvPtawbkFWuw3ki0lmiJb+RGSfQPWJvoqjmPNOxGyHTSZ8RxHF + S73yX42tR4Y1GdRLevhv/Y7g9ixpQUbLh5di4hIi4yy5b2VfDqg0dsSqarPW+VajF49tC1k8yCix + O011uqqeL3lyYqzHcyelZHCrKaE0kXNsDofM3ksBedR8DPxGdLkcnD+PSi36tn9wcaMSfhbD3w== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 096b0266-d27b-11e9-ae72-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 096b0266-d27b-11e9-ae72-001a7dda7113 + x-ms-content-crc64: + - JXlw4Fuy+nM= + x-ms-request-id: + - d00ffe5a-601e-0010-6187-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + AI7DuC+wNYdWOSmaDk3qhw2c6B6IrEDFVSW62WCFo+H4YMJBDDX+nJ01s5dem8d4sDoRrfmWLSsl + LtCjWoJGKS/YlGbYwHgrKH8Al8+Dh8K7tRgRWfMXsYNN6PpwEygqo3fAM7429abKqeIOt3fx01A8 + B1BYb4Gw4shnaWsK2mGNBfyS1lFEaPmhvbwMq5Ht20OHNwv0w2/Ell7fkX+9lP5+AKnJvWIUr7mP + 2p16zEce/QcTEZvWFZeC02R0K6k0e+wyzdfJapyaTV4tLC0DeJZ9hdXSowkv9ga1WrW+LcAN1y8o + jmss4IXCA2ELy1ThkfYOBFoBqJ7JIB/ro4k1w58mFDHDWsGPwBUkx/pvEi6cExJl2eiIsOgLNQ+M + /kpxOHQMrw18YVFxLtqOAOGP2JzEjp7EuOE0m6BgsQGkzWcXIl5Hq4boPIJDtpcI3jyO35V0++dH + 56DJRWbyEAgIfkhxjrUslU8hpdsFGkRVetZA+AOcDyK6cGENhgWnMMc9R/XFOhKw5GK5H51aibg+ + GKAE1iNVHRH8yFw+NDyoNV1Ao/zTRcjxj5v0j9ZQxolKYfZPxGLTYhtAx7UMl/1As4K9rWJ0UOnR + nYjyOHxr/DGGXm6UsC+Ad0nHMSy7qaFFQcjhqjD5rN/XEdluCM0VSNIwUtyO3R1qCNyYd7LnGykz + mSKd+v3npVv2Det0IUH7419Y2qSKIpTZS1U3jAkmgrOeEkSN/Oh05sMulcXPV3Ur/rFZnI/9drdV + ThkIN1i1adIOwSWt5BW213tQTGu/1DUOkjEp1Vu4MBI+d8hADUNR/W3YE8GTYAlm67qkI3idmbrl + Ynmit8G8S3PsT/e6pF0qrddjdpIG0674M/BldDARxFGF0iLHA7i51YMBfas6MGwuD8qUnQnQWeTa + GSK4ABeo0VVzMZyUDdHvO6e+9TZNFl2HBg1gKHG45mm3pJXGYxH0C6lfvwPIcNmaAK6VT3Ft6ypk + y8Tb+Dgr9ykkqoWGA9jwNzkmHRzNg1fp21yN8oYBBl+0RLxcRidMwAqKppKB5aB9tEfuDrlQOkeY + RzuGUqA8v5tAQdIPj8HZmFZ7/rVXGm24bhwnlxJoF1et6gZZMYYR6SbawtKlKCIcA8ghmMUHiYf8 + CsO86ZMfiCTITP1vv8JLiN1ahqRko9iNExT2GSvERPRGnb/w4ovFzc+s+s5joLTsJ2Ij6gwJ9pJd + HYgoHcbexftprua5gh3wZAm8oWPyTmk6OgxXNh6ZiRzZ23SoTgOm2td0QSZPAaCopA5OalyJfVUs + EZKCL5ESPVhVC8mtOG0Z5rGXRW0MGXwNRV6Onfw6pPbaDr/E1g94jsg2c2Zz5X4GWRoGreGwVQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 097d5cae-d27b-11e9-aca5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 097d5cae-d27b-11e9-aca5-001a7dda7113 + x-ms-content-crc64: + - O+Q2cFszKTs= + x-ms-request-id: + - d00ffe60-601e-0010-6787-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + TCEN+sKiXYMvGmKL8dhh/R4cnzhq3p6YR0n9NKiwelFWiNm2xeJRxOboOy5IUU3wBWiv4IyQOODo + S3wINlHeeNYXniVaqma2SzfOi8XqmBdZdTuX09NSEVGTUtYfk1kdTJtSYV7FwmUk1M8Ap6uUQOIH + Wbszm0IJJGMnKA3XVLS1wN+c2AkU7kukcZfPgMcTAftKhPNMHg6yCSXWlc9C0Cx1jUbt8ni1AUR3 + oF+63FDmyozJpPU8Y+onx/xUMoqLDktiA3OPYhcbP7/M5MvcCXubjdJkqAUxupuqp5HYr00O35uN + 0iVvRs/d23KKFa3KrkQ/Tavj2c0D3nMm2TmYxRfE8MNpLGLFjjKNNXnzDfIK5pfXWPbGhAXpHg9J + bUNca7vVf1kn1bArk3rs/ju+BCBJ5tHEjdXJVwqXXbtR+Z+MFwIfgew+Fk3Q5nqvVqyDym0TnHX4 + Pu1OpiPwP7fpw9UFkAB4u8XB0qDIOm0szqdNKiKW+gAfBL6Rgh0mx/cPiTDIdPEfwMKfx9Pqqj1F + ctZDqp2wsljNW4g5W88Mef6068n5M3sCgEzMn/67IRkeZapeewwgmXqrsrEhIzTU4AgaZo2tH75C + aX5PKUliJ0oQL29rjIcfXKZtPSNvKx3Do/o785vhqoyHBJRm4p4RpCJtbJ+Cza7Oi8Uq2z14WZCm + blQkJKoSnkPATWPs+vF2fagHKZtjZjiJXaCoOQW05b9yq+oKYBE4Bp+No4Kmlpsk8MWVR3jNIsL6 + 5K8j9H1i5rCVqNeDGKqwZkz6zFju1dJnHehrlEhmvPIukg7oU8dSQnNC6/CGGEAGXstAlfRxH/TC + E9guXLVWKdBAt31JWI+FbBsthfT4Av6FvrqVrtnPfIK4CuoKKARrBkGJUBqEAeNG0QPqi/gyvdwZ + pzorm63XsnMYcb1pSpImFtgb4KAiJDRN1XKjk4jsOE1KY5cnfTUB2zzlMh/+HdrJfwpkCML+Xklz + 5FUPzlYguZSuN6yh1Jx2+LFCyxSkvVquq7/ES88Vj+lj4OsmWIMZ2ILmzqXSJynEvCgf223bZGg0 + w2oBTN2ng+mTjOcOE0y6NztELrFbpiHCme2MNnaBlP3ISiAT8M3HheOLf1TewC5iTGXALxcTKSPx + vn43CFDiKUcDSxn0XKahnkhprvs0SuTGul/qBy/pwhNd3YlmHJX2o8KO7EreleeIhjm6d05/sjrK + sURlQtP8B57XKAnYSw5VEUsS0d4/XdLC2JyHbzHB5GeCWF3ccu1fwuBJSYyiOAlZ3drBIOSfMVry + 7nWMbMiInlH3CaVCEtN0K1upQBT219HpqIWVDYIeAztYzbEztJw/n6w1QvA9AwnH68DsYMQZeA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0992e778-d27b-11e9-8d33-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0992e778-d27b-11e9-8d33-001a7dda7113 + x-ms-content-crc64: + - m0hXlLjBXFE= + x-ms-request-id: + - d00ffe62-601e-0010-6987-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + KP4bpA425w3mGKN7/kId5MdTpIGVKOvHg1FNchi2zV2H3nc8TJdwKGHwdvtAHe8HFVuWD0gdN7Fd + m1RKRIJszCKEbpLBgSRcho4VL0GCj96N8yXlXGtuk/FqvILzXsobJNx5x6f7j41LFi1BB9pvUJ/8 + ptCdLXdb1SSLhM2922TeC4RPCtCx/hGcsEAMWN523rdiktA3CcE7eI3oOnLvsVLW4AhJjXjhQJE8 + +ZlW+ZrvibEWr3WetopIBQrXIizWKKJLUrPCbCXnXVbqfEGbCTDfNY4EuVbumKGaffCw6wkgk30F + W+fgNEp0zWbQuwM718sVQF1siet4zPGE1+qAQlhFeHJ0VameEESDYx5FcD2eB8T6AtmxgDzyxeKg + mx5lmG6mK2tLeQfA6Paxrn1cm6BO5PQw3hyITsjv9mNBv57jAOjJB+pczDpB6MAn68Pu5J7dndGK + Zzwml+nr3IVINc6ufxTvdPPhhruqRJ9Lr3864ebnANgwCjzluYnitmFAg4iOlacj3w5XsNzcyZI2 + obs31XpQGBCjpofsjh3lpcyI181cKqiTK5/4F0hwTMHeLWYv0gr2mrDlKUf36Y98q20TfLCe8mbB + y6iJOF/MBC19rNJSJ3dKdQIsvKhzB6nwLXqRlIRDkBKv2DA1JVB3i1WrU9Dy9jYeO2KL29TRSdp6 + pedfLaMyVHaemIRwSFG/ieufpMyk0T/1Ar51o/GOAuxJz2lKz8b+IbL8zJKI62ViSeFzhNCfIM7y + c1cksqKfpnS9Z891lqui1UKMv1dK9vQaSnJKJh3Wk36OJvj59gg44SvrJHHe8feESBLyAC2+hvU7 + hGFdKNQhkz/jxNcD0CBGxb6KBBumIUtupELJtxuzp1LGTDVdLkPmNwcjiWlnJ0pHqU6YdGiFzt5J + dxtoUxVBjAyvdR0y6pX6NPcwKTCIvhyYAhBTw5t93PewXiXaj4UizTJhsDlNoZI4E7NkAglDPMrf + YYazgBfTuKxXFeFnmTXdbQ2dt0GtEIVXl+4pwMujytUzIcdOo2/hvLDEXZk3Npj4t0r4ZeVo5AXs + 2U4qKLPD9mcn/Re5zAxQLTTDjFGN/svvVt4Tw0o+Uhb263QFPANlwGFKx7LNwvOoLfeR/nePd0Fr + 5Z+hFAEoSKMjYNFtdYL5we3P42wo40UGYwEhhXgKxJ+XaTYBsjrT6m0RBr72g7YcwuxsKehT0DV4 + PYxgEz374F6tK7onr9ZbKVSqv1I5WLfda0imRU5bFJXZFmbN4St+EhY5BvWfL+MAxAuCfpWhn1i/ + Pmy7fy+vA4IQT3FVvEJevt9BCmPfxjSQA/b4e1gvz3N7X3o4YCjNxSUKFH9HV8X+sQqErIZPag== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 09a9afe8-d27b-11e9-9250-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 09a9afe8-d27b-11e9-9250-001a7dda7113 + x-ms-content-crc64: + - kJx6AnQQAzs= + x-ms-request-id: + - d00ffe65-601e-0010-6c87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: ' + + TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA==' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '5246' + Content-Type: + - application/xml; charset=utf-8 + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 09bb7ea4-d27b-11e9-aad4-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?comp=blocklist + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:48 GMT + ETag: + - '"0x8D7349EEDFAB68D"' + Last-Modified: + - Sun, 08 Sep 2019 20:55:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 09bb7ea4-d27b-11e9-aad4-001a7dda7113 + x-ms-content-crc64: + - vR2LUEKunLU= + x-ms-request-id: + - d00ffe69-601e-0010-7087-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/octet-stream + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - 09d34452-d27b-11e9-b3fc-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:49 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/cpk840711ad + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - 1B2M2Y8AsgTpgAmY7PhCfg== + Date: + - Sun, 08 Sep 2019 20:55:49 GMT + ETag: + - '"0x8D7349EEE156AC4"' + Last-Modified: + - Sun, 08 Sep 2019 20:55:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 09d34452-d27b-11e9-b3fc-001a7dda7113 + x-ms-content-crc64: + - AAAAAAAAAAA= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - d00ffe70-601e-0010-7787-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 09eb6780-d27b-11e9-85ed-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?se=2019-09-08T21%3A55%3A49Z&sp=r&sv=2019-02-02&sr=b&sig=vcD60brKZ%2BqRIVU2IXx4fQh5xkco9BlQlo%2BW6ZYPvAc%3D + x-ms-date: + - Sun, 08 Sep 2019 20:55:50 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-source-range: + - bytes=0-4095 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/cpk840711ad?blockid=MQ%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 09eb6780-d27b-11e9-85ed-001a7dda7113 + x-ms-content-crc64: + - /19rsWIZVpY= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - d00ffe73-601e-0010-7a87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 0a128e52-d27b-11e9-b712-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainer840711ad/sourceblob840711ad?se=2019-09-08T21%3A55%3A49Z&sp=r&sv=2019-02-02&sr=b&sig=vcD60brKZ%2BqRIVU2IXx4fQh5xkco9BlQlo%2BW6ZYPvAc%3D + x-ms-date: + - Sun, 08 Sep 2019 20:55:50 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-source-range: + - bytes=4096-8192 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/cpk840711ad?blockid=Mg%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0a128e52-d27b-11e9-b712-001a7dda7113 + x-ms-content-crc64: + - L//rW1uPIm8= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - d00ffe77-601e-0010-7e87-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 0a25d1e8-d27b-11e9-b2a5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:50 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/cpk840711ad?blocklisttype=all&comp=blocklist + response: + body: + string: "\uFEFFMQ==4096Mg==4097" + headers: + Content-Type: + - application/xml + Date: + - Sun, 08 Sep 2019 20:55:49 GMT + ETag: + - '"0x8D7349EEE156AC4"' + Last-Modified: + - Sun, 08 Sep 2019 20:55:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + Transfer-Encoding: + - chunked + x-ms-blob-content-length: + - '0' + x-ms-client-request-id: + - 0a25d1e8-d27b-11e9-b2a5-001a7dda7113 + x-ms-request-id: + - d00ffe7a-601e-0010-0187-665753000000 + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: ' + + MQ==Mg==' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '104' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0a37699a-d27b-11e9-bca4-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/cpk840711ad?comp=blocklist + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:d00ffe7c-601e-0010-0387-665753000000\nTime:2019-09-08T20:55:50.6340355Z" + headers: + Content-Length: + - '301' + Content-Type: + - application/xml + Date: + - Sun, 08 Sep 2019 20:55:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0a37699a-d27b-11e9-bca4-001a7dda7113 + x-ms-error-code: + - BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: + - d00ffe7c-601e-0010-0387-665753000000 + x-ms-version: + - '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. +- request: + body: ' + + MQ==Mg==' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '104' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 0a496508-d27b-11e9-92f0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:50 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/cpk840711ad?comp=blocklist + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:55:49 GMT + ETag: + - '"0x8D7349EEE867DBF"' + Last-Modified: + - Sun, 08 Sep 2019 20:55:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 0a496508-d27b-11e9-92f0-001a7dda7113 + x-ms-content-crc64: + - jBoHqXt/R3g= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - d00ffe7f-601e-0010-0687-665753000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 0a5c15d0-d27b-11e9-bce9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:55:50 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer840711ad/cpk840711ad + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8193' + Content-Range: + - bytes 0-8192/8193 + Content-Type: + - application/octet-stream + Date: + - Sun, 08 Sep 2019 20:55:49 GMT + ETag: + - '"0x8D7349EEE867DBF"' + Last-Modified: + - Sun, 08 Sep 2019 20:55:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - 0a5c15d0-d27b-11e9-bce9-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 20:55:50 GMT + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - d00ffe82-601e-0010-0987-665753000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_snapshot_blob.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_snapshot_blob.yaml new file mode 100644 index 000000000000..7152e711b864 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_snapshot_blob.yaml @@ -0,0 +1,171 @@ +interactions: +- request: + body: AAABBBCCC + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '9' + Content-Type: + - application/octet-stream + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - b671c6e8-d274-11e9-99e5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:33 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer9b3d0b19/cpk9b3d0b19 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - Yge131eW6WNBDTvEtqQhiw== + Date: + - Sun, 08 Sep 2019 20:10:33 GMT + ETag: + - '"0x8D734989AE5E2CB"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:33 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b671c6e8-d274-11e9-99e5-001a7dda7113 + x-ms-content-crc64: + - DTngHrtvLQU= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 0c331a86-e01e-0021-2981-66b640000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b6bb69f8-d274-11e9-84fb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:33 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer9b3d0b19/cpk9b3d0b19?comp=snapshot + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:0c331a96-e01e-0021-3781-66b640000000\nTime:2019-09-08T20:10:33.6744687Z" + headers: + Content-Length: + - '301' + Content-Type: + - application/xml + Date: + - Sun, 08 Sep 2019 20:10:33 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b6bb69f8-d274-11e9-84fb-001a7dda7113 + x-ms-error-code: + - BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: + - 0c331a96-e01e-0021-3781-66b640000000 + x-ms-version: + - '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b6da2270-d274-11e9-9ee3-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:33 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer9b3d0b19/cpk9b3d0b19?comp=snapshot + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:33 GMT + ETag: + - '"0x8D734989AE5E2CB"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:33 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b6da2270-d274-11e9-9ee3-001a7dda7113 + x-ms-request-id: + - 0c331aa7-e01e-0021-4881-66b640000000 + x-ms-request-server-encrypted: + - 'false' + x-ms-snapshot: + - '2019-09-08T20:10:33.7904369Z' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_update_page.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_update_page.yaml new file mode 100644 index 000000000000..7f63c8933158 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_update_page.yaml @@ -0,0 +1,2547 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '1048576' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - b73ead5a-d274-11e9-813c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:34 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer84d80a2a/cpk84d80a2a + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:10:34 GMT + ETag: + - '"0x8D734989BB91019"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:34 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b73ead5a-d274-11e9-813c-001a7dda7113 + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 146dd01b-801e-0027-4181-6685ff000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '65536' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - b78f760c-d274-11e9-8644-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:34 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-page-write: + - update + x-ms-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer84d80a2a/cpk84d80a2a?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - 9/L214bHzi5U7jmC44X83Q== + Date: + - Sun, 08 Sep 2019 20:10:34 GMT + ETag: + - '"0x8D734989BE92077"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:35 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - b78f760c-d274-11e9-8644-001a7dda7113 + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 146dd022-801e-0027-4781-6685ff000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b7be3c1c-d274-11e9-ad8c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:35 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer84d80a2a/cpk84d80a2a + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:146dd02c-801e-0027-5181-6685ff000000\nTime:2019-09-08T20:10:35.2842514Z" + headers: + Content-Length: + - '301' + Content-Type: + - application/xml + Date: + - Sun, 08 Sep 2019 20:10:34 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b7be3c1c-d274-11e9-ad8c-001a7dda7113 + x-ms-error-code: + - BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: + - 146dd02c-801e-0027-5181-6685ff000000 + x-ms-version: + - '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b7cf98ee-d274-11e9-b1dc-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:10:35 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer84d80a2a/cpk84d80a2a + response: + body: + string: !!binary | + DCiwZWfSsG8qqKaIAc1PQ9PZ0O8gSo+Jy7AX4Tk3GkzdwC55rk20hNcF7pOeKs7m6Q8S1DPdxH4o + vdi7fvmTFIcFO5qYWVDPKrJGkZNg+ZwcZNecPZxl25g8iDrr4HUDco+1+KcOENEP58e+84nRP4Gn + z7LS6sKQ2mfFmxgMAvLxpAu3SYk1Xiw2ByNHTCR7U3K7C8IsfjflB/7xMV2noAEQyJ9Gxo/IFmgP + +IXUpxQ5ukbut2AYZ2izwF+qqKFGpS8KFyWxxi8O+mQlTOLFBBJba9T+sS5SjjGaQFVkwFP78hQx + RCSWrzSJ/kPzwCJq2ZaYkgoS18au/s/KzfItdtZQEUYhhy8U+ubzn7lmR2m3kTP4NcfT+s4/SXE5 + Tc3scA3nUkZ+2nMVrkjcBokL36SEIZGlZgNo7XCddGT1Zi8P9q72FZl+NNu3Ow2Bo37y6qxkNWxb + daxA54640foVU42M8JeOPuT+bSOFCry0bjkDer29VRER+TfO+NzuTVYKdZAqQfhFOiZQZ1bUrTrh + q6+UVF1CO59L3/Un9X3XAPrYPmm89Sg5T7B6Znmqn9nHcmUtSnsgDMi8iF3N2RDEmvuTVTHtzu4n + yVe4BTedOlmHPRicpztqhb1Rh+yS+7ad42axA0rAcpRdtPxchBpPGnbtTmm47ngeNLdtdpgGFAY0 + qcGqN4DPgT8OjSP6zhIe66jJPccx9uEP4CSsVX9WJmprGrQ+zAneGfByb9ad0ICg2q+/D/cdudbO + Ny9x834u2CfgCns1shCNRElz5M14I3f4RuSaWPd1E1LZLmKd6YHRJz1hrkxzTuLj2eyRgmysTWEA + 4UBlV8iYFCW5C1Nqc1gdbFS9WXof/XuGROmteqpZAkPM9SNm2vTcl+ClmeR63qt9mScYuxI/g2aq + RWrFUkhOzBUn8Yo2oulMRmmdxlavIu/OwcXpbWNKOkqa3sJiDrzfNhZalRNglNPttJFdqAnAGprP + tGqayGNew76nV/H+HrTVkmVSSGuEt7m8mrHBj67eZKcePdUgMihXZeBRnnXNLts6QHDmMqhaMMEt + TOOnGDde4A68E3LFLvDQQeT0Pct6rZyVnKxHeAZaqIPvgnkdC4oLmeDTeDg8jWqs/Owch4LRBJ8N + dZvLUa0I+KK81NjfOlVdjG88o7wLBujHNSn+XUkNgMn3XC0uWMP1c9/LkQIjAC6ZfnPFCPqVk8p2 + GxZLdBe+JKjAr1je/O23TGDlOXN/aFWqgAfuqLni5uEhx5ttxY1v1SGGSHJwFsdZY7NhI/rvo4Br + 9IYilgyE9W7L7SOaMdb80GuFo22bSYPvoE+LzXugFiW8LqBn5ee5vwWazdrgZ808NGWmws5Lb+yb + ehkMFMFGVrC5MLUJXdk91x+NiTq04be5R4OnTZCHa9Jrg4SGILYMKeK8Yq5tCXU2kQ1KYdHsf89/ + djK/jzzUfQtuZMIsZi59+dHOHSFOLi8IziTBh1E6nEfUgx6pfh2/xLQSF7e0pPnbn42zo2HQ0HUP + GPycmFK+eOcLjM6tFppWgt02IMeGyPf1Q/0PhZ65dekRwCrx9nVnQ1T4Xa36wiRQtB5LMW14cdU1 + 4Qbp31nv03aCTZq1gN0wVCck5XBwCU92Bfn7ei5+WY1fy3/GNG0iUP4BiCzG/A90e9WuVGaGHdv9 + LBtMp7yLF+7j9s/WUPiqjY6UruOSZOus+f1ku+0+rXbMy9clUl2uKoT5MBeErwjOKoOc4Ruax+qR + DBEljzixg7PaegrrPCOiNwxAbERSywq+NMY6F+nZsIbojQV7b89BvILMrCx7/KNAFs01vBo2yxFn + q2JsG7NFXdq4oOUg3bf8yfVIXc7MVsvFl81h+4rk8af6dFnNp+f2IITRrVvMRRslhd/c2edH2cSe + YAYJfjMe8j9J8gAXb8gaL6cys1Om7jTRy4tNrUwZDlr8YiWSC4ORftrXnuHT0KnoJwdF0JWVniQo + Cd7qcTpxDQui6jSGHISWbHA6quKhEG74UC1Vvr+R/rNrgQwjJcQgcIuHt+Tr8FCrKJfRoD66Zf5V + BjsGaHEudknBQ4vg89vc0Q5B55aOsnw5T9Lth++3A0MV2BICxhJguT1P0hvuJSGjepU7Ybl0EEV9 + lulnj4PFyBHO1Ydscw5fWVcVsEkZYCzF8U+e71xQ3SMvhBqpCBC0HJBTgthrxGn3K/mAcn7NMFLt + SjSadVW9+Bk6f5OrF7R5EoFC9R2WIDeyL7EDcshhXpbGQbQxFtjuWnOqQ/FezYOy5QGv5kIWi281 + 2Ota0Fu/oq55a3ELNcrdqB6a9UDDBD9U6Mo36bpnBqHmmmwtFsAvfuS+ZdA1fbrSIXbvMfSvmfI3 + PrfP+yo0+ZuZbYyeZ3gpfTOhQWVGALspTdZ1qjL7iO0VowMqZpl+1j5IPVTyyaFd6hNehB6Y7sS4 + gcvl57qSpk2PD6eTUmNemH0qltUP2v54GGMs1I1kPZbUuhDQMudkJFQYiVkDvZhVZ0k1KYFz0OeV + ZwxXgDiPAOCx+sfX1YScGegsc0J7l9zcTlx99/1b3raiLkcCkaoETgkuSNtHe2klHuv5tiv4CefO + c6M37prpl1F6GDr6YZY35XTaeOWrD5ZQLJMqfLVIa+WnnVVaIRXA3S4MEVfZQcRrxvpyEPLdpECE + m18sQk9XyRqxfi5UiEvJU5GbB6Tc/VmD8dqLi7SGl+G3fFiKqWytCry3IKFTJdJDafbqtsAKl8EA + 0EMgMdcCmv7ndENqZovhyK+anrmuikP1NWbXVBdAfefWcG6gdr7dwJhzOm+wP/BQjMKvEK7creYS + Iccq5hxrLZGKa1tPRosmCdFpc3k2s04+w8ATKzTA2jhnHAunQGrO/sI1TjWeA7o+ve5gDYT2EV+m + 4my+VEdvGMkMa3gVIZjEdWjGiDr5z2czbgbg83J7s6saP7VjM12Hzb2vVNWCHMC7zx3I3s1XSej1 + 3tTOOMlran4HW9SzzaNZ21AxcL4iUF8GiZdqr19JlcVnYwvaBlDQnu6B7LTw962/cdjI63KOOjCs + TPZGaBO1VOXowZ9uZZU3jEb250nCdZRrmPE9OJlRL20RQ1XbJmVJCwQnX4129WNoAnfGNzomUadt + 50FFcJx8RfWhdfZsVAeH0PHzubkfRXluWSMBffKf38gGGVk2B+Ltja8cTk5buyWlpQKrHe3kpWKb + mmB1vNc9S/nMgaTvYzT6Kjiaig0P3XE98VzOQnd8nJ6RNDsyKKY4hCF+0odmMVrPnxPk98hsT5w4 + MRCMDYm6US3BoDG2EruUkJwkkPSvofEy3G+4wHnVhip531s4zi2OKoYyDFs4jYlpC5yX1kIEFOIh + pi9TwjcQKDjg3MB9Ce+lRX98fXkY7H0Z7k3VP0wWp0LCnXHnWTDqQTi9MDeky9+qPK1qGPPlJwFg + 1NMmp8X4SxH4jZGy63zKrS4nAEkbXsgHea+/isVqrwsx8654SuwO7KJRJXkTYE+ADYI9YOWwdczu + QrrrMijNbIQ4KdU/FohCoZVNtyv6Cl0HmEMxDVhakD43x8O9qg1akA3IWKoKXVe3uI0aDGstOmVT + uhksIJvIdW7t9eqTswvBfBQArmZeI3qDcD8kiiytH43CG6dQ6xMlP6ePmARRG9V6Tj6D/WfQrwn0 + yiL8qGXwrXM5TN6oGqQxL9lbu03jqZtM28ILsreBHaBD6+FPEJCyOokIcEJcNcdnX2Xot0D0/OIt + pDk/CObKJXP+xjvIfPqH9NKfFXi9cFfSGjdZdYJbRQrDNfJ1ZGvwsh9NeGK1VIi+OUXnOmsyq/my + hJ/PxPCrucT+2ZG4V3Xr0m2WM+q85vKua5kMAtoiquen5lZt8luyqDtrrMHMiP34JGslnTJhlEqW + OBpFRUicSeOVbgdbs+q0xK2Cxd8T2MYfHCdkNw3DhCawuCKNpkyD/S+JSAbEh5Jb1HR8yQ5y370t + ygBj0+J69KF0b7zuxusVtpieYp/5FxBGEv3I/tyXdE4E81JfHlcyqMtTtLCbuxET7cE0m8+JFAg0 + FFJADNUNrctWz8jbsyc+Q/zTItioMUub8HkNmNVZKQyqxL+PEycRpgy7ekmy7PLuo1pURCbtccKi + t6r+35xHbc0H0mKxmo059ji1Ys21r/3GHmOsaKVUXJoEqHmdwbTFHHRvTButIsCc1zmtpigamdir + 1f0J3pkN6rc5RGlzHnC4MgNEAbC8vOHr/CWw1ZOMJpZBMrAH4lGW9zmjlgG1R93fxMRZuwy0syhi + Bipz20/qi7pvBWIpBVW7YRVK34ITkvx4FIOkmbbKX4QYQBCqUH8AgHQEGERsSFw82J2zf6G1O5BI + njO5mWs2N62ZMzexKczBERmXcEUvTaNIiPNEeYdcDEFpik11ZHuTbtpwNW/qNE0quPDiTTP1Ff3o + Q0dkTKlMKT/SqpdelhDil6Ye4PXcDIO2Defe0AO6fow1D8IHTMsNTKuqZsmeQ+bnI/T0HyglZ97Z + ViaxYU1mudBRbmAdR3o0wRlR4aFTvyxb88UdpM535cAXjZuMLNXrHdMAmwZ5416w0Wi4I+HBoBvt + KO18zxINlHOoSRYLtHlQSQj1aHdrn1hiHxxP3pGoQN+L+/U3zZux+05JQo7At+T1RcXayChpgPZW + zzEpW1RwcGFlyBzzYl5R846M61+HGFh7BByXmPd7de+L7eT++NcUiMNsV9RwbHt9aDJJnz2X4Tbv + 0gjPbudxoBYvfyZtovYsel7bUt4ZxpywR7xsYBanC/sC4ZZbrrDnnSZA089J7WD2paOs/nLSMQ6/ + Xg34AG4oeMcXYHkMsuiTqlauTneI2LYNsbIc7LQwlHW9bsQNnZBtyklkFJJM+fgSWHwLM7MeKo6V + INrdkrghatiYAR4fZJsi7Gi86PhGZMJEozPvr2PqwX+C53YddKxnPSlei8ojGGmdQ9tgJwCKgWYp + d0nus96pGU5LYwqKdhpWWaYCe2SKCiBVVX566EC7OlPHZUc0Bb4IDxiK2xYGtbf+L0p2BE/Sf4eQ + 3aWGXyEpd9sXippQss3QxkroMVrEeW36CUBqwOXGJq7FN9ep45JF2MwtGTOG0yNq+UyBtSuBaqSW + lR8zSNdgZ0wlWG6ADEAD9F3O67yoggqf26+anilQ4RDQrqEYj8elfY59ICfXz3PR+ZyJ4cObBWKA + CphbKlxL0fVFLtW94KVh5SJW1k/MOXVzmhaNHdIxmwVsd4M5aC8yX80Lx5/ZqlCntLTpdjaZXzIA + RyJrkl+YXgS226Jw2kF5NDSMM++vnprkfg1JBRaLtwfPVl6xQG65loKtr/ZFCPK9r5vgWe/cCHug + mTKPlyxIcRg2bD6Z7/pw42tzNNYxNZ6Zgsg1L+SrhxJbLhiFegAAnfoNhf7GIWhMgxeufxfTECyn + yVnqfnXzMi2kOcldRNP9xVy9kbU5AEM65OFbVeG+7CGRTwaDw1jd4TYtocbtQYxol+UX4HEHEEqJ + XkPocfnRRkmkGLjFzdZ3MXreoQ68fShy6YOCIZt6AJV3VTqVBR4R20gh0SiUpHa2wwxXfW0KOxAI + 53uKTmqZkiJJO57cRb+U+7qZ9cMrIAajV16XUdV5rcbiOZKtq7SMtyGfZJKvPLFQniAqYCSDdePO + 98f1sLNvj3NfTBpM3TpMx0zc+ICqbMRQkH+zD26I1h2qXZbEfoEPypCw8fDUZdODIu/Q3lB00Zpk + pZFq3wAz71bDVbvoAqyeyLb5cslYivlCJ7lLuGYcV2agFV3DiwcxqANe8mIL2rUbXEoHq4rh+3oZ + vvR3eK80/NyQzOJA66yCkq84x6zqke1RVz0SCnDTutuVcMdRiDxwR+8qQazOYoQPmZ5NSxw0vb/0 + OiHhyTSNfRgG9hbuFEjG2Dl0j6zph6WNA5LhGTUpds63i4nQn1M3XsXB+QeoItnhaiITTvS+W1Kz + 8CY0qjPC2Pb6lXDaO2ZGlv6J1G+6ugnwu0KSp0ouYGjQ+/a+4k3eQYfMwopnd/08Hxsl46Xz+54W + nXbYDiOPSQclKHQeZnyakwyXdDb2Ragf1NePB6yUMXjSMIsv8bfkYQDYLIdWlM15F9C0WtompcXo + XCmK9/51emye256NvUj+1+fU+OS88Fbs/QG4TFKUR80M5/z11T4YPEFBT8I//Zus6BDRCtaQpTuK + pNpafS2eS2sE1Ju60QKLmpQxYE79vsrsM+yQdS2PvbZzLXftdx/Utz9FtIMYNRrPTmGvmwmbbxHk + uRHnnzxg7ktpKxaGzwUJumwryezkmRe9wiMpC8dTrzX461guho6EcvooSXlqZ5iTL8QiR1KLX7TV + w0FyaTAJ8vTCP7YyY6E5Cl2oPksWMcwDZZLK7HotvIy1vQhBz1eUPlHPNrPUsb4CTHJXwGhY9PYk + 1a26WL4iYo7KQ9H1xPNjQ6DlYwENj22wgNxlh/IwGYqDEeTJEyU+zE4ZjKP9QefBx+qGBPTTb3Oj + WZxCVpaVMpOytSg18XFuWSBDkqmKMLbYQ7hewrc7lZM92In9VDTO7/ruRuaRUIDNIqymHfJx97q5 + ypfU1++vPXVmbxGfxHjESXd9S6lrLFkHFGLImZuIc3BuwSEvFt9T5kWKdyYVhT5jPGRj0tVUnDQD + Fe7F7LMhWRDYpqVDeIqvULtGf6xogGOeQm57qQJA1E7nAFNS5z5GhSAjTsQbmtTK8oO2/qKYNAgh + LOOiGmARvYProMbiJm2TX+nP7viT+jXDtbTj+kYAeQWAmbYoqpQm1c4lfPoVEcJ3822z/FiLuns7 + ocRv1Zi+cVNt5NDkc1SXRJ26z2MkyGpY4Jm+LOueqSrSAJw8SwtBbThndtNShBKHKBBEvDayzq18 + 6z5csapc/PtCkwep9twBn5klNbIE2aSPpFnwQl/bGJ5Eg1IgQdbgSynqwArcaQqTwIfsyQmWVMPz + Bfg1e9tGQuP0JT4FDN3lVrl3db3ajmFpY0chYmkkZKyo6zx3hPhjz8+WgWOiQDWzdJQCMuF9hph+ + vXau4YErD5sYz30IHgm8OdyWHFlm8VfNdm6yz6pqDk41Y9kehXPjgBahu4YoAiKW28K5wLJywoo/ + G/OHvZivdMJ6gvFlVwpNWZBrxMkbYeWZ1G2lAwp4oR61FKdmBXdWXLHQYgzYl2xn9Droz5f8jb4Z + 37ODvGfhQgMtDbqxNH/1IQIIsDHaI0RakYWGUBZPQdATSCJD1WFby2UnZr+9aHB/Yc5Sd2PEZH5u + Mej6YDXDXnI5p7XvwbSWMLi99FW96kHER8Zf7P5KvzjAAtBYXro/HBjJO9K8k8lgcDS/s0IVa3iC + m5hXVgow63GZBpEpjThyoEFscGNkUN/MooFUM6uXa4ddPPJ7BVetDGMHNFoCZCO5+y+zH0qz0uAY + uYEyu1oqapHsL8nwhI9UvyXwYR3G0RSF7RGkH99S28yr8DWwd3cUNibcNstIDyRi6rWoJIBuGpWI + tzQZnIpOLoy0lb+jfSnaLNQn8Zd9HXGOtL11eVuAnk12KvskfR8qesg34MfObH4bT9esj+9/j/7U + d1hmem4lS5CQeBokcvZXjAgKPunl7UeQX2IXb/i+gDpzG2Vse5shnabT7dEKj1lpn3BSHAr2SyQs + ryYNjD5x47mDRKsJHhYidmXWSTFkLjtv30U6tsbZIXQ4tJQOvvMDpmR7gFVdG8h9W4yn1zCQrPEb + e1yb22SjJ0ENcj0wXkoJfK0/oPcSW2Xg0nkv4yWqv9RwRlJHNrdI/vEcuZPvpBG+Shvf3kwREXd/ + irDPxQfX/EdqWJ8AMIN6KG5sRlowCLoCI8M8J6j18txNHtVimmfKcH65vi5LoU1p8c1lD4l/ssCy + fXIjEiwKQFXXw43qZAkIlvi7q3pNOwI8zDGcLrJ8twReP1mMbWBdCDgh6Gl0j63JGPP1NmAdvk+5 + n7BSOVSzMA+CEaBBSNcHU7Rj82D+clE7Uq2ELtk4wq+dKoVkJL2YLALBMpFthfnkvfYWZ+zOykwi + FDZLUHImFqInvcWc70VHATTmfpieDtMCiNXbvmgTw037ZTV6C6XFfiDnMpvb2F5xAMjwZ33cRdun + 9nx7xVLfEmwe/rKMk2C4S1r+C2z870ypqrLdI2/Yn28RXqsOZQV7QWVZXF7Nqq56Byj5YBP8Uoub + spOwPUtdHRinyaKCc6Ov8ku3KSe/6ZavhCZukJgynkcjx9MyVsKYB1XA8S473F7MnRxgr6xIsGor + Vg0bS6ZQhKGQJQ42s4Yy1DflkT3dIY+/eJVfYYlxrKVg6I0AU2pmh2CpBsAq5WsES8JuqTPqEzhE + zVh4VA11k5r81zjPwzvUCO5ywlDmh9xd6flfh6PrP4DGPAZb7mP0LGOG3Asgr7pBF6z0IiBf4juN + WOX1ZR231bMh2a4X7Z+6AAcd2+uzat7i9X7tsn/maL0vgoWWk+jOwU3yuW4KwgTTWGLhp4OA7yyn + siWKnFaNW+gPc3wh24KCKJ5hLqZ/PdspnvdTakSX4y6rp+dmeRYg+RGzsPGbLm5yOGgF3cEeE2G+ + hWvODvJuWGLf5UJnHMQDmG12ZHwpO5GdGYyu6qPQpMZHuVxhpyOnUuvtF434pH46jh5Pbz5Dt1rY + VjVf6Y73qbcy2Jr2q0A11kNZSVIbo1XZ3e5khEBvYT8YLOHfmOXSHewg20dVpT7BkDJHj1kr41wB + LN/1NjdVBywj7HpdNtaflus/WwNRiSRyf/KCIGQiEyi2oN+/qWIoU+z8nN83m/d/7h99OycctrVU + 4H3fVaxcpxzsxU51mzyoHN+tqC1rsa26XrhEJ6o3PPPzoIpbQWDl3KrLHl9Wqti3KjGz2ZYZrCBG + PYw8ZuEUfJP2odOXklTA5YKpHH0mUZzCJutleM6KzdtDw2Wg22H3nbcwFw6wsRIt05V2WJoYC1Fi + ttymN2Q0LySXOh3SOa3uV45Q6VoSMzmZV8aCQSdzxQ9ebX1oNxpfTmO1zSDWUIgRCMKLVX39wsxW + V4YQch3MVGFOQh8mKXc2ABhVxs/KzKIABMPUYAXElDmFhCYt818wN5frumzSFd2rnCBa1fcXYYOZ + 2xPz/EZEjm4S+jGvg3fXtrB/ZbGmNx2X2fzUb5RtMDvhJFqusHhhdqo2zH8w0MZsSn8Z1dBS6Afm + 25mPQuldBxRfN1Dl0UuKveSEjHnxUo0hnYZAvjerpJ95u0/hOoC+auF5EWgvz9IjHnk24wAJV2l0 + IdG56kiR9eExlfpQ98C1aZ0x8VsLCJmLts4yVDnFO9dfOHKy4avAKA6lVCOK/Jy5wOx7xIKGcRX8 + OjGbRaDupFFZPzOa1sTAOepNMT2HLwPPC/XkZ4KB9sQ0fuGyLNIwycv+baKiE2RtoU7Q7Khf6KqN + sa3tGxJLB4DQMXE0/LMi3yK+YWGZPHbjn6McAWuf3ID5W5J6fWKUZhdQMR8JCF4N8Qvkmr1mJmAQ + qHq2uDG/RH1t3axaX2p09UtvGYIDQuYmGipKH+mtoh61rruGD4KrdbqObo3PtdVRO+TIoiZ6R1EJ + AsdbWSi4j5/mNg+ibFI/3Vo+bakRz1yUR1+8G5Hex1CaZrq/7knL+oktamHYztQWVArcdpfS3Iz4 + AbCCSkn93xY/goCx+4aFnnRf5pOHzwz2gsSNwcqgIz9ntlbey9gFGSdUumqGvQs1Jx6MdnYU5qoD + waIFDj+EdjD451/csHXqQSW+gx3UFL+1hNklPIuQF7N7kxBO0b+gkjJRsd1/48JNZMnDLucNQdKI + +miIcvebzvzVACzzuByHGnsbDmFa73e0nBQRs+UGgTwmMEfivlGiPz0yC5vdv2Hla9ki6I6GnFrE + P9Jkj5Rm2USSFk16XNu4l8U+T/2KrYX5Jb3x4DjPV0eYDQMGBAslMxGfyDLwXbmxoUClB0tyrFKS + 2PeAlx/ndBNxLsdGPcbtNecV+BlqKnXArsw7V0m5LDBJDm2TnexU+pd5UPmjAsmtOn6Oi+TLOUFv + 5oP1X7bcQ1WayY9BHhqepRffSItHCrhwxMW/228bayGSvINESiTXvzSrHSn+TddTuQoXe/EUo2Dd + kpaVUOM1AIjIIlcZ0F8wbH/LCyuHsWJXA4IQUT7q22gDZ+i/GQY4BlkuYeH405uQMGPLP2DoJdTY + aItE4R3I744LIrjoba566/CIX99I7wYKwElelDw2hLnMFG8nFFB9LwsQ/I7JNQbOcdCRG+gNxcT5 + UE/aBdEmHwEKyF6Hcd6ofB9xnwphe9QF6/OhihHs5eiAem7dp0MILrFUCFWCZkWUmQhcmXgXeLqu + /cHNmZPg6758pAZUwYLTKiTJuLNz7fX3kLsEAaJTtu3XPzTtUr6QEZ2Hy8Llf28LZGjc8CKtXbZZ + kM83rQ3a3mfG5L2Bgl8gKIAKc/wr6SdqUBKrS3qfwUcnd9ZBNl1pTDjhqCezV1PNVwkx7DEjEqd3 + Gj29+zoQJBo163Bg8pvhvdxbJhn8q742qxEQl6NPC0xnFI6OH6ua5tyA97wnew62iUwWmEe/LRQy + zchQpvjWxaPahCUmJYCjSjMi0xK1tKooaB2gYJZyYGFueKpAKdAeno8p1QwP82isAuWisFgnuEf1 + qFva7RUl28zRP3ethVnuHEXa8ubKl+zils8owvkFFKZRHiityjhrRjbJEXqCljRQwACyB2Cml7lZ + srFSr/ZHWRsPX7a6mcCWBz+4zL/N6ohX0JXUeCaVoXXwbjGg4ReNGsfNKmpaiFoLNruTD0+HHhdn + 3OV5IudxlkIJEcbCqGrt8xZM8mSGzbaBfbs1ErXuaeuoW82KSMrFUD7KuEm7zZg27ZKTOGflem8F + JqBE5APjvDCBEwWZLkdEA1KEa7v3tmI3d99TxhptNf3JGPOSEpGDU5Lfyv4q5T7RomMSAtwX7zmN + UKLi7B03oKVp40tEYPHoE0BOQMeuPwBw7RkBT1Nk0hdrxGHf1Yhvjvgdm57ahQfCcniKI8r0jDgT + ppkUOTo1Kjlc4iURUZOaG8HF4xoJTWT+4pI9mKoQgZar3z7pVbjCWqANR87bxv2qEuEzQFhQseva + ZZArb+B+gDti4o6uPB8vrkZMrQ6D92M2Z4rO6HfoWChy3bJcXBxmLdFDErut5Kqbjrkq2DY2Do/t + KemLE9CVnJcnn1/Ys8Y9O9DhLRXvR8dHx+9hs7y2ymh45Xc9R5mCiVFFwvN5bd3RVFhNeY/Dn621 + iz359jQxd1Zv8Vn6IOvqztTwEefkTVe4raUXg67mKNk4MbGJUdkSDLaDCIHWx52r4AKoeZCSrs6o + gtvLqlrevqt8wOu5okGRnmcl6aUhhh6mIqXMGB/vx6uyPSlrkSJiNazYI2oRWMDSK7fy3c4XqS7q + rPAf+SaKRLio+UeHXIkx6kpGAjlz4k5h1T41elfm1we5QAzk7GvhnuHYfgLhqVCW49szsRJM6ioh + O54az1K11U7q/EyqkuNVFuFjvw/EyzhzVY2V+wXBKBJiI8Nsz/m6aVGXKyGCWUmfPv1LWiZzu4x8 + bkWbxqMdIYr99cVPxc8ZdMkTZL9zlk0Szbq1+NFFLIpaNp9abB8KSaQ3QF1ImzDud8BgKyvtyPp+ + oUfG2cEUZiEHmTcJEW0IBNAq2tzm55TNXH22xZ9O7wbfo3L1N6j04YD5ECusEhQ1sUG9icD2wI2R + TerwbL2ivuwSqHnAbH7UqNoI/gwv28qoXXpy3HC9kO/6+DMWr3ThlxMMKUStODTqszVXpo+OWkzc + Doj0cnfev2+W0GUfFNqc+2B/afsk9lQzf68ICzKjF6fIiTW779NTB+erHyJxwrxp29/2aj/6RNlh + X2NEFOHPSxxre5tpnoLUNkJsFpb29v5z06uzKEMV4GRqVDECL8AOoB0pEuaVC+nib4Ric94/g6K3 + ZN8DwMyV73xnmkZz7hn3qHMjUdDCM/cvbAu6YrP3D8O/UovU/l9oJmT+b3erQTkLPvEFSQW2IkIn + h0TwuRL3CloFaCr06TmId37lIwVjqIiNV/Z/fbtNEuCPZ8KEB6UsrfGVCT5Pc0cgM0OCGOQHtqNx + Pq+zvIp0uwOyjSYTr3/dDk/l9LFXwG8CBpfmMhi0OVt29MB8ikJjctpCZkvwm0XOWMln7A73ozLS + aLVmENFwNehPS2N6KlvZMlItcFUwNko1RSeNcs/vw8bwYEIhuX3492qwwZTFyvRDbaio6WwpxEaK + EbQmiivN6c57NTtddULQxS0M4o2R/DKgThM0jjSReK927wESwxKslu/hRxE0HkKcZ1AmlL8+Fohh + /vYHXGaeEPtKKeN0j9cy3a1ChMFuv0CHpBdAtNyaFZ38zE2bP5cU+zpQ3GobY3z+kkywS/mopKOE + qpPfzrMb0lc3GjW8744e238v2zCQnRSHmDAx/B26MTBQcW373L5m5mVSxeVyE4JXIZsYlTBtJNk7 + u4lJT0NyXwVeEnFGRzn8kGtB5XA6MPlIZGH1o5UOaCOn751nkcNLmiK4lQxgpDcs4p/ZC+4vI7E5 + TMoLTh3jSh+/jbRRX4NTwmem7x5iBYNN8+Yv3fw/KtYtbA2OndUY6WUkf2VuTPIwkah23J2x5C88 + 0t1EnmDc0V46O/b4CjEOHl8xYkFERJBq8RiOW3Nu/SRPN2G5+vgIPQyHFoq2sSNT0ovUANvCGm98 + IdLJMXr8QQVCBCJYUIiSOXvUZq1hOJS3ZfNYMQgOFbe+DTTWOIhgpz3TBB/d2xyEUxyEJSdfWdvG + NjWrQMP00D+LvQG4UpWaPV2dmFUo0ErodHm30NsuHYsAudsK86pVO7P+wc+ALSjDKX+89HYwGAY6 + VCy0sw8gN6rSUcoDTWcisANaLiXn8XksujoOrQ6wTLePMT0bCPHBQGmcZNBIgofKTqAUe5mpX1Ox + rT5tCk9A/BLEp4TJjxwIhBVBkwoL92CkE6ptY0CGHLiWLXRDwpz+jeQTbrlNt87qv3svrRtO9y6X + KOWzzTY9aXxQrbi2dOhzsOeddCsnGK6bG8AmrGJoGzk7hBl2O1ldtYSJ1KxtZrZvIKUCQvtOC/w0 + m1K25xlio6aDzJXkH4xUuLWR7hUfQ0W32ojvN0YDtRnJSWO1k4BcTPuZwKr4vzXeq4RBPTwNtjCc + ZN1OSMbds82wOn8Em4AFRVjgUoB/iRfa+L9HtjyqBxXdt7ZZr48v3zFS6Ux98LsrrAaq9mMObHue + 7ZoICxtfjTMHnZFNavPhS58O7yoOEfrfB2BcOneZ1KcZ8BD9NXd8dR1QnXK2ZSkUofc3GMOlxx3e + 4D+JYkerWnlVhGixqSXsFMkTlrV86Lpzr9cXl+N+49U/c6Hog/m4tcFWlm+UKcN5c/PebeQhO3OT + eL4KwFTeLjWcaFQsSIuQWzP8rb/FC8MwmJS+kSxO70bVj10hn0X3N3oqV04QIHRNFeGWIrHvOyDj + Zx9DkrAPJljvWbn8/rI74MRP1jVfbPmvnM5rl7urVxIpIbfCIkP0G0CaJ38N93LEjLawu4x6Tn8L + hz22uq1GXUKFI0kMtCairfhbNLEaHl/ZcWWkWltW2JvomAL8M8NtJcNkLLo6dstT/Em5qQfFWm7o + eCcZazCTYdNS7oEhcxptipOlkHVSktsXHvICU6PXOmsl1spUhCCfZ/beZX6fwnCEgc/dEEIET8co + FHWz6LUexCZbuzi+sHjVYugKCfGnGwTPMUIloBqrKhGmFklTob4VB1+iSjVzxOdpIrDn0Hm3sCWQ + rFArAXw4hb6dJB6Sxtxr99xtyzJHfF5uWd4szPKUQ9Xn11SWKQr8yA3JYE3xkxFzFh+ZFzJURlAX + WKBy5+u8ciJhpj2geWLoKLVE06IoviRvoxkIg8KLpa/ErE6jZIL7t0WizmCgMEomp0WQyy4ILTf+ + A6n9TdvEZc3WW+3uHKOfQBMuQPhJdgEef9ImLtls1BoplrvoH+bMyzZBJeEyTaANlkNez3rplg/Q + I8zw6/t3Yp3vUyoMSoCAvgOxCn9fPWPvrXDsqCtbEjgs+mEhcVRk0bf8Png/Xjl2ktg/+g7JQc2a + 0puT5KncNuYp7bTTuYgyXumIiGWCVKsNbIu6aS7cA47XSx+kpO8ko9lgaR5dsQoOF+ROdi4B8rn+ + 1ckeMegLfAqipjBJBcw2tN6fjkRDLZPtEC/AMjgnKLXpprQtO5Ma0cHScYtOIRbf1L2e7b6oyW3U + tGWLI9KXbS/A+NzqoIDT7H7OtosmShnPPNmh1Ls4jPwAlEoc3U1gbLCWStplXivRZvQwbLsJwHrs + xA0ZZKbfSclNEiiCcr3s0Zu4TW2Cz1TsAnesjK/t8sOKy0iXu0R7OcU0836G37OFOWccs7fh75lg + 0mNZLlhHzN6F5fMQq+mJBT+WrzrJzo7EBxUZYFGQivEPcXfHrG4Rg/uZuydsg1B38S9hIuwxKTZn + 44EWAvE1Ow1n8IMJB/b2rt5OjH/jgi7FCiwX3JEs7tCk6NIR/qivzjlMNPWiQA0AGPt6R0kgqqv9 + pyf8p44HHxUbwC8oaFbk/VxtfhhMGb9gQk4o89igUa1PX9axax6MgoDquIudDq7n3I+2M8lgCfiQ + k+LTXWMOUoqX+iEfUr3fC2knpHP8mgNsYvnYUsIdbsnUOUC/4kFLJvNd8Mo3AYNtCxNuYHvV9kkV + OvJpZABio7zSCPECYJOR1ZwSiQeU1hVKoWhImFK9mc0OQlkhDoo4NQ4rdexmxi3sREJw/oUnkKf3 + L8YHJng8y9tIvD657ANVY8udBVPOE9M+tNEr+mqXeKASSXrgXZT4qhLR2N7CzZMpB8piB4kuXVh1 + htpL40fHDBLujQimSHJUjs/b+m+moZv1GlGmkiMLLD8lIJdo213yCxt6865IFxE/gL5uZytC2pO4 + SFk+alex1YX4d30cmBpd3MDl0I/9bALRdcT73hJcxpE9CLOX+GUuiK9cAXWxPp+t/PoH+eFLOCP9 + wsYqglXhbH38lgT3OyZi9PIwnU+onbFn5UF7qEvzNSRidPQU7QLykD8edliHJeSdEmiEHX3esVZx + rFAy25Iga9SFuI9d3kSIypBWgxRUmnzS2C1tFiT9C6I4Q7irljBQvd1aDcRo3NITdfycSoAt3v0n + 0+R8Wao//Ak9UQbAYb8Q6nEgGpThDfqWVzGXakmosNQNtZUI5ROabt9ciwwk3MARy1IUa7sFvbbV + tNFmd/iW5FMqKEpGgiMx4qRUKH1s2VD7kf20PMVR12tlB7u0W/mmvfZN5xXyRwMsWR7LiPykjV97 + GpEuRCA3nCurg65ve6nMJMTzsQJI5Zfdaj1sdjMwfZevPZKeLPFcccAUMaGY7QT5l1HNK2+8vigc + jOgaVxpGDDMtha7HsTNhOTDhbNjN+dS3q7rni5afHqu/3qQhmEF6PYLQaOizM9gfFHtXeEh5ZLST + LHsVQVgRq9HVd7AgHECVDT+YSqwDbIshe/HqP5hmI82lLqoXS2A9NkKONwR7T/JJ8WoD70uARfQ9 + mPcThpatrmV6eUZqqHxc1omqVQwJfP2p5VG241OMzVRiBEo2Aeo2EChlnrrwt2OQOxY03w9HpH5w + xTMt6PQpR4dXbZ4s6ias3Kxy3bQ9e1pK92d35zdaj6pyBroYpDo3SHNOQ7m63MG6gwwjX6Fv8Itf + sOIxk9fBx0+w274ZYtkikYMn4elv98nnBJxkEes6fpKe12ev/lDCa8AopOmlJjBH8DbshXgLua1R + 8pdN2SKdD6qGco/MYteZR3hK16muZzw0M4SZm4Sr2i2OfuhArcM5quGBgrmskuhBWGeB1Vvcawip + Yr9T33E5XhRgyDUIiWk1m8nMg5U4m6Ai0Qo9Znh6rfcid8gOVq+Ca2Mb7eMiTBiaT0MZjPITyutx + RqfGrxdwSKlbfijxybjKzKCMJIBzOOSNVJj7BKz18+pz51eIXUSP3o98182FDfTFFRVbotRffk6u + HBIDKILlpk3gUzirUzZcnPbQYn6L1TIDGw8dl65HO5OQOGcb+JMjfm+ti2YxPw7kffujSqWzQzbe + RiO3+uKB/YTcJ/ETlkzAfg4FtZAuX0UHnIoKxyuee2cHwvzIxalfFCWVuZa5TFNLVNCbbiD5su/t + GFdhkouByoqSuezW6Xw4OmWOWYpeDM3yCwmh/gCyjyWKeTBRVGmnozlvdGwzfxObthpgb7Xs5VhG + npjy4O1J2720vJEQy9w6/BoQ5eQLlReHx1/pLxDK0Cx4e0IMA4+ToNEFiErMouyHZPB0oi6jlN38 + JDFqXhXUAb04kEqlv23cwgYR1C3mS9pO4gq6Ciml50K35Ger4rTPAoTs9djPoX9k9np8pSLfyDDV + 2jrr9TQm1vfrgrrqzR2GIlf6leW+xa0mvXti8V76OJWG9TPcUF2nDgv5MnEgRzypH/sNDyZxUjSz + Jdx/IiBEAnIBFicSeVp51OTaK7WH9EENryHzd3M4GzKa3YnjgbkVSK3JekMMSkubz94Utc8c1bW5 + M/jLQoJajI/7wIvepi9cKX2UPAo6gW80Ai9YbItRhqTMFQXzxpwNSe0V/uKhYiZg7b7qs8aQseRy + 4fHKmU3vSIxZuzkvzwcNmvMjq0nkHEt0HVe0dqb0nBvKb0ElPFr6mxFDYNHhatbKa1HSDkv1sveY + Zy7hkKGW+8M1wVi7POVtEGMNdo83TuJbsg8yLhHx1nl+aUiTRAnm1o8BFopg9ACzOZd7eWtdO0dC + 3aaVeDZEjYF04f4XTa+C0QJRZY0Reckz5qtPkqcwYJLXTjto9HGeVxUWkoPUtmCnzk75yil7jcOK + SccluZVa3XYBlHgxLfn8bJfkvrYFMs+MYzjw4r8yVSpPP9xwwO0WMxcymYFZMXJsoUoFrfuFBj21 + xdJeC8AwWcl0xYXJh0oM0uJ1UrKQj0o1ggnJP9FXn41mEPP4O+odh/y5cbc21Nfoyn4yUKprp+xc + CycRZC9ywpt/Erz3xU+2Z15h62oE/hp20b6rvtvfgZByuVG8CFk12+RIhg+Kw00jcxwmJV19BiM1 + hgHG1OUso9099s3sz5xjcAzFX5bYnUd/GfOU93I6XtCDjzoB7uHt98e33sxGxl6oB3YW7zAJxEID + aX0j6gcT5UmghlepmsptJwbRB8hjNvfWzlhB7/E83MM+NOiWk+FJmVIVERm3yK9b3HJPCeN1QI7r + aofsmBBHX5/eRfO5xQl5bIQJQ1Kk1CuwLwkiWzN1Trem1x+qksUwrDux9shhE+OVtJ2LwtV+GSPk + 548ja4Qcpi5uE+lv25cCxRyA/nmSgKWrOe0vafJdkuW4kSgnxq42K1tvYvQGX0H6WROnz27T2jWU + gnTs6EILFBd+wHmAOcq9IYnG2uLmfbAklVx2MQcGnxiRwKdTqp0cuEHBW5yRwVxRiaZW6ffHDhTQ + 9G0/Sdn7RpmZhkai6eDARrSu2vFl3R/kxxG1/U19+g1D1rapAU/FrE7bOnIPG5wu6G4XCRRU6mmO + LNdwrAj+SVVdNoPruXypKMBQUsO4trqNisUTTMLPQCgH09+/9q+LlwQKOn/Pq3psL7TFQVxfvIix + 9izPC90sRHd+Sfg836IhqB/G0eawvVCrIIoV6c9VidY/+69B7wFlP2LD3B/JmeFw6s2d0U43xZrD + sVV32AkLRbuPjtTzzvNtwrOJGgRvUkEYQFbtyM/f6JiH33C1gErKCqfoOKWE8sCb57J3aAvGobHX + 6Q8KcWcedk2opggeWbEbNb/yqm7AP6cGic/SWMq4kGPKL/0CuRK/T1k576Zgv2qhwgDhU/JSlqgW + oNt5dKKjiQzXR5vz9pNlM5gnoj7gNy+rnHcJT3jfvUc9kck1Cmb4EB9xwyoD5HP7KrTNCkxz1tGf + O89Xo7ois2jY7zLLBZHnbtO3JDQZrUM9PYCLjJ4UR2c7GC7ls155h3XTQX8sZ1B4VAw0e6WvvxZs + PDZXrPNR+9gUPATqHD4PzW3aewJp+AF8Bkym/D6ugzyYFdjzPIetlyALatk7+HzaMq7hNbdgSut9 + FuL7ZnO73z8pJfTBDjxcFEia4W2WyrybGpUy9ybNXNMwwIK49uH4NkfGGarD6/E3mJ0entxfL+UR + 795Z3voPKFQl2zDChUdnZSUjn4+QW9u/SbvMs5OWurYbatPoEUO1LlVLfI8dJFT7VAzZ+zJPEYqT + bvoYrbcf9OCAh6D8xVrxUIZ9k9nfo1i1irFBPEeIYcmA9ShL+1th9j5OKnUbFVm6WgVHLNzmyheG + iKawyzzX0s7U4tFukR7R6zRgSsqz99Ym56MCbkNielTYRF+Nwch7bk5hZYVzkD+Sx/ZlcvNpuzeg + 3Zhl/D9doEGqBhswiETggD8h695tZSttbKB2n5cX+hQLsaeQrLpKgfsqr5RJObyERNStkmflMltn + MBbtj7GIhvnvFOL4dU6A97vHZtcCMnZHkr/pTfzHaqyd5DoKG8CZ3/zBk9rcZMfvULINnQyVRIEW + zvuuJN7TxDZSc5BN7EPd1KMXG2p4A/DvvM389BkbLslkEkQv08InE5dyEijO3RbYNLKgModEkXjO + NeyhKA+SnMJFj0OZZlh+BaAF2N11Xr6BaRvJ6IAaofcauMJWuk8qKc+Eea3TV1D5f6G23L8scvB8 + fjUs4T4pd7J/ap0xi6rLCXe3qkkrIPAjYUchFdPSn29gVWdivhQAp1eEAqMQvELe9X0nmdEYFxXf + nIClQKF3MCkiqthLeFBjDs/QMde3BDbi0pRphTFF0jeu1OKC+gFGxgHRtUg9EOpQ4UAeV0v3LDYo + 7uVPJKDVX4XSRgqMqHY8kZFLP6ls2PoNlgjfYgIB+npdVhe7cHKOBXaMDkCAE61sPZWrZr2SsHvz + P73LdHW2S+pfKFHAXnC+JXNYcOoZ5dyeJOo+artFTmElgl7FdskD5jw7EOojDUylPbg8ATTlqcqX + Pfip39X9JbO6M0llhZtR8zP4Au1nxQtcsQsILz9VKjK+0J1AN2yAW/t+wIu0ps5eNp9vEZKr+hJv + NumeElhf4TT6eKnTdZXxXgcUcokAa9Jtl8mncCphZeNxUDkvTtBsnA9Dn8XFp3EUAtVIPzUEPM35 + n8Y+20JVUZynpq7ICFHLGNbWwmAF6pkbs5kToRfLBrVnzJqpORNrF4XqCRq/0VKv9IIvlbLgSb6a + 6XysbqNLdlrOeQ4B8ng/5B2w/Tpq6Om7nXjvRpzGgUopLi+jVsnN1i4OyTzldlCCufoO3CtCemji + V9e6stnazFJbvOrM6pjAfjqLkCKpwhEeLwrRHMnAXsDiPTcobW/pbxmTlKzQvMEHQ6asJpuOpgNS + diK0HJgA34EQf1Qc4z17tlJEf/oi/tdsUGJR2BdjVbIp2o/yslBJgBYSUR0AU1aHc+Zib2OJ/DG1 + S3Cps+8AMNXluGHW50a7rfuFDtVVkciGa+PDV2NtWAM4oLjOAQymUfMGEu+FT0i5mO2Vee5culKr + msMpFZXo/vebU+MHSXhWouxiq81oYAbZRo4ZFwRx29+KAjB2uPiI7KPqt9wKhSeUF2QXjX5Ybpb1 + upxwc9/WgNCK+WFg7sXF36xZj/C6IkgPQAXG3E1W/OOpQ1dnON2DQEYc0aCr7WcgLyMrerq5Bczz + fMDe3x9DUqvLO1XfMaxSgrh/rHTcqbg5UJ9Snw2Y39UAsLrLkrJqBINv6Mxu5CvjyhwEtKJFXbp8 + +aTkUkP7VM4wrWeV5nYu/Yzzi7hTqAj8eKmHCJUMmQur4ivt/Iah7wKYDAPRLBaPDCJi/uBHy0wa + 4na0+8kV/OYIkSiRgdH97osLPMqEMjJMIFIiSV9hY+gtm05e8zvQDd7u4CKFmHYwn1/p7vVPXTEm + o+P+shTTle35gXHPcsWvyjzVoUEgsTQbF4aIFojnDEXcPW2pSN5Dd5jpVbXYPP2xxbE1/k/SzjNl + GUTlnFk7TKqzcLPM/GsIeZzr+6hFQgEYDaLWcM/kPfgNGq7QEHzMGxe3LkAPSEBJ6kTvM9Ykr5P8 + JtgOdnT+qVKSQyqFFBZbNvKyPIjZZBgvPDsev5HOqPmQYQY491n+g3bAlwGTF44WYLuKkJ4ZoT4C + HmT4Xb1aq5S4n61tYKRhU9yPBFQQ1irBxTpakFwjoi9rqmBtRinBK/ULrZ7jcx2tcuheZn/LZMzR + XkuLMGDhAI9CXIsSrUYmgcg+yuQjLaOeBdvCKWr7o3mXzF6IBx1B+ed5PRtUpFqDn4ECTahuDVhR + UIE4+cydYnRJT0E0Jwu4E1M8q3p39V7Lu4XyTvRAIyS7dwSTXfZb5DP8r9esmRW4uBwI5DwX1JGb + I4WF65F+uZAdKAT3bZyJ+8t/N5s6reD46WrQgl22sLwUh3XvHqKSpMcXDaPqAjUBPwwLtl2pgkIT + MBQzZSDxbmxkoVmjDwSVwtWy+sj7pqemA+lSILP0LLN89j2i+GlTfFv+TpDxX+kdZAficao7BwmZ + dFHydjmoi1Mz2W/hkooFzDBn++cgi7wPunUqIEs0eCVgLDf59krUzEshBQkL8lVO675wX5iUjtl2 + fAZwQM6hgeul+HkYGcPt5k427MyuP6E3Zvz7UpK1DtMf72GblQWHOasPpuFLuZqjuq/JfU9bzbsM + pkw1SEWj9z74/VovBi2SFuwWo9/XsL5qL62Q1YNXDZk/Z/0gUyuIWV9chnEA2PWXR3k9LGsJi7mk + IxzndDhhRI+MufUyrGe6S+FaGP36iEAYP6WXX+y57sQOWyoqixC2JFycvXLaxjkIrfGg+qb0Rnwk + Lgjnl4sGcjSSCHJLn+nkgSQzu5xh2DdC1YJa/L7k7pxiL1BTQlfVuouYmF0F2ejQsC729LZGlPiy + GE6W5v7kP3QuQmI72Rckk2ouAKU75rSd8noutfmbp/7+cQqi1t4LV1M7pL3ObKBBbGg5Z6YuzwIB + nsngcsJE73j0JUiXXUOcrgdliOxl951GyQB1NrbyQCa9eGmoGC7X9esMu8nUBLUTwHUJmgzt+aQO + gBSRKs8rnrqdMOnrXS5qLeANgNiyNkhrDY161n5K5SZyB6f2yptcL/TBJAgk1E4SF0WW2AeOQK/i + EYKMRoHrwzb12a6q+H7h4TNLi7Ong7rF04ckODFUh78/b4S8UdG1NvPDHNjkyBCVC39VshV1gAUg + 7qziKNI1vfI2Pa4XFeFaUgmq2XIZ1Z2fCAExRAmTByKwNFGRftfJVw2o7EcLZJ3bOSc5e24i5M2y + bw8eHOqYUCY56KZSvEOm5HPuQlk5MQdhR3bfvxZTZ2EX5TMReOgMAIVTMKtftWRNebQud2klNRey + 3XzN1zNG5Sczhg6YMXtmFcZOkDRf0RzeueUdJAtZscBMl8OWWp0hu+dJSASpDCZjzTgxyYI4MltQ + n8rw51OfcX11RFkEvgTOZIjv6xiw+rjV1LVMbwF7uI2dhuGh/ndfGTUZXRLX8sekI19Hv7OaMEV2 + 1wk6iEiU4UMt7bYRxAAWqcibAHvlYddh32EoawSvBGXrNH1d7nPrO5CRCa1FgQ2vutK5f+sElM41 + S/xQxHZC7UkHM74+A/Ujo7wN99ZqBr675RsoIdO99NDnDCGKpIVzd3FPEWZZeErr2AcOqz8e3hdH + Ofqn578i99jGws783O71+mLDphpMdYnoP5/m07N+6pe/6Ty01rXfhgPr4h8qXTXzVwNdNcJxcDvl + eSlqPnu0Wfw4Cwypfozubkofk+q/4nnISM2TC272f5Rzahp0V3CsQugmttJSGs92GOrdNNiG1TyF + AurDTazaN+tSYFHsjI7jKJZTS7qemLEtkzzqqFChmC7uCSDE+QZX94kmj23o8hRPU06CWIdM8YW0 + 9JKphIlJctkdDaIt2jxQpn2uHgCc47wUIds+0UsFoXWOkdpyXGga5XbQRU9Ku0xTI8Y5MQcxQJuD + XMEGu+/s4jyWYG0xDOQv5+L+S+Ds7YtJMhy3E+eFdZMNHOC8QiEucA7wsnTQo8N5Cb4guUFhPheJ + 3opqVOyyOaLhj7FyqhDpkk2zxfs7Cy3p9IPiU7aegsPNb8CYa40gABBOFC1SrKyoLJ82mwODHazU + INcSGih06R182iElYDYnxUdH553npGc1X6xLH08E3aQqGBhKjdBq86r2qYD3fgmnJVUHl3pRY/uH + z2ahMGDktG1nZX9ktX76WZbe9fd+xfX9wSt/wrPC9fDXVRS0SyvWJcYGfIYfpmqUvHBcXVhHYYAd + gnsMK7HwHBZcFKzUSUrMfirFW+9Py0UZ3nm6lpZDgCDp8bybgFx+si1bHnhIAUSZmFwS1oFSEQZU + /XdGPyut9V0LFXKiLW9adNN2EYrDSx6hEcmmK3t7I32MGaOKV01XMUSh/gukyKwTzAfkx7EX0qAW + SDrnStjlfLKPOscmuAnHmMRjwoZLhRDOA5xaXLgpqcfvDw3v68iVLv7L56ues9UJaTUEKh+1kHeQ + 3oQdCaeIbNrRvCHGX0fJGUvz3rzC4bt2U3TWb5nZ5UotsMVU6F/8Ys3kU63gwhT9nReJm1nHvBug + CTOYqGYZCx86Lpj8OCxMCm75ZqnwYaB6KN7S5Xxj7LGh+2HozjNBxf6q1ZivTQrW35N+Qh5Z6u5e + uVxHBN5LZwp5ZXzsGqEgUa74AZVWwwA5BVOHNgwoZ/Lk0lhB6v0wf8UtgyfkZJNGwCklCord3DB8 + SBYtHU0rr0bjdW8SmnqZxxWofoPPHbUSL7M6qn3HChGOGlUM+zF0MNl+pzCw8WthfFwdYFWGkXxJ + xsoeVV9nhfiWOFpYuh7tbXTgOJtCAxGKrjV/pgazWNkV4Gm1df0sSFos1c+Vz0E9n0KVZQguY08s + iSVzzGH64REaOIO7cuoIcVgDe8n78254l7oIjcoEWjdmqHb7iCAde6+qHlsVDmsDoJm6lS5Fm5Ns + +iwoEPZ5EpHu2DXruht0WHK+UnhLPMuVuWZqYfZQPY73beM84PvaqyT1bCONPXflqRCdX/YNrqGg + +KjEVJ+1c4/aOh6vbEIIwxKKIRzTEext+OxtbQffceFEEoGZeoIXoi76V1R7lxs+Wjc/t5iLz5BI + jSqzd7cQoWXRXA3NfwyxqGdul9xVBgRn+R3SjMJXyvACaqFNcUg5aAr1D8qHgnHLct/WJZ0E+zqn + wDhZpE8f8yFpHMeICt3VOqSIzIuD2jtRLefzqCmBLlgbyD9BqKDy+CVWgh92GpE95yRI59CNMJX9 + hpOlbd7ynxAfK0JVshkmbZWt9zxeZm19myZ9yz4x/jextEyL502jDHukF7f85Cr513VCUfIP8d2o + B/K7ZBuU7UDPvzONjdAazf07LZOUtL05Ijjq5/5ZopJc4LBUj1LHyRToq8eUsqbES5QYaznwvq/L + siy4OIGQjBDmnw3YYxjzO4gHRScBda0JIWD9GC4m+xusW+lxIhl1/HI3iBji5OoFjHXy8h9CSZsr + w0LRPcQC8PfcogvMhN52C3cNIDFXrDsZAhu1UITSdfqqJF9b6lnOf05ZUwnbimgFWcPlyZjprfmZ + polcNCwdAgbrw9oXIQTN4oXZUbaMuzB4PbgAQhOvaZeIrgt8SVCEzFXBEs0J4hXmZJby6ktFOgLD + jEYbtuEGKcaMh46NxePpR8HzEXdrq2fwLbpw4VLHjcWz2aHx5mdbRA8fyn9Ru0pKcmldeFra6Gfi + i1ZmkdM1LblGMC6vMp3d1BFIu1vNUSzD0kv8IjL5Tknf78FjE6bD+Ghq4JBSQHZJagdIuzx2u4HV + ETA7OAMYTnx68AJWLUJvToV1St2h4u2NhA2rLllROpc62iWHK3LqZaUNxWQVrrum2uCQKv6Nmby3 + OiqDs0NlpH52Jn4GcmARCTZCkIWDB5dgvGeePBNnuXtgD1iaaPb9kaqPdeuduJqXX3mTcccPzJsZ + LeoaZk2XuegwzrwyLVsRsFJGEubMTq8HH5XOPfKQ6KsqQ84iSW3BD3ixeWmW0vqyXqJ+wyIQLm+G + H/ShwMyg/tNJa3TThy7JJSnvMN9k6kOrrXmSNHDeoAaE+0J6F90uWuc2gmI9Pe3pO/c+RvmMiFPj + CH/F1Up5ezIPIPyKkoWfD1Gio8BrP/bEGuC2f2GRHvwheUhZ3FNddNyrINXJe46BkbOtHcBf14aw + t+ECJ8MvuLqB7CJxvQ8NXuwoapjLSCtuxFyH1leetbCGbPAu2EToHNY2PAvOvpmXbtQ0OYlZZmaF + K9J0k9GvxS2L7IMFfhfH6zRjwfifYsRNqkv1HkCsdSO9MJVS/M/FaV/HE7hBv/jKzu/MMXMaqK+r + vo9u4BiZg+hRe0HUggPF4QPsCHqgkjK78djj18yupyiRBqglaiFqKGptoV4zNUX+qIPyh5P3JFX4 + 8eUymbAGQGyQRuYGjtdwS5jJcYkDutC6oAbG9im/ZfUjgJR3Ukqrgol2qNPwb9kLKa8xTSRLOoib + klaIzyx7RZXff4z2PqMnDnMyIwzGlg/3EXj8MDOcUIfgYk+4ZCZgyM3pL2CSrzToVJfA+/wV792X + 4BFEJAIzGZ/5RgILOWW+9erO+Hq1Eh0O1hcw+S5L0ndEwWmifuqthykq+QKMGN442eyCGnV1kGzI + J377KPEKZTvIp3XufWU3bnt9oz1d5m1HmYVrZVONSq5hsK4y8XpQGf6WsBeU8k7E6jQ22mAwyDIt + MkRoi2gPn6XAIW6WcpJDCUsbDithGZSYcWwUrnkCxLLNhuRLPqWToAasJbfMpfYI4DC5xilL6QHx + 0fDm13qzBYeNF9w3kTmHjf02ahl9ZfGjbymd6mh9sTId99M/iH9z5PS4M35X4tGFV/ndq3BryiG6 + MqFh1nanGC58N059QV0C661f5Kc8LoMFU799nC+F3hdqtFqh62hVqGqKgI+2uwXFVBUs+hcK92WO + 1vPl5OgeUhQd9nLETDgng4Egqn+CHyeueLm0Vh2wrVVwp8HxaoUYOO3tLFo/2hGiEdv6FbCr1KrW + HQMH/SSERgrjixM7Cbk4VRgG8MYQIbPorD5FW2tihGRry9bTtbg2pUICUiFk8KRbR2n1C/JpsCWy + XSfgKcEe9uIKftpeKT/GZvE+eLzqshpowUk16RZpGaMVybGY1EJ+QaRMIm84r+/3SIl1AWIDzJy0 + +oZHmHOtl2ETHP0iemJGZF7X23Mp1iHKtNz7bX1uqQfin/k3R6NWtGGd6VyajXJsCgwF6QE/GqL8 + La8iAlAiP8tojpHTknfniBTUqBZdURvDk8bXWUauGQwsA8liSyKjZVRbfHC2hXUZHo7LF4IwWIgb + fdYiBqFjxrdOH6KS4BP8Kthnns3+JxjRz6XlCSAN+ZMAic+4rokqkQtySGMMVUxYeM0FlEalg4Xd + SK8uQhtnR9NHD4HGTwceTppMIUZm7T3CxSFBfH5vPg+ban0DwwbmTbUQV3no02/yPEePHCiqS6ll + eJ8hUQOs8ePJ+TYw+fT3XvUgw6sn2pxZ9eROeJVG3CC0HwriQsBZR9za0fKzYwkBcLMLEpgBS08+ + 6z4nQB9Oh/QgJz4XzC3oy35hCnAQTuQnWPStUlGMRtC4sVHVn69lpl2HVTRJ5s0DiK4fYNt5Z7F3 + k9wuK2jX0/7cjUu1KeRwNEFnz4Snu7gxJnmeLgYZVZ6LDL0HYuwlKk7fEPsGlGMdjY6zuNJi4RR1 + 3M81TmeZEE0aHrxDZiLrvBtFVEiQGb8zNyXHNA/P7/eoYFQVS1wYncSYnMJV8o4IZCqN1gJrrPJ5 + pNDxXTRWI4SH5qa/zfJkWPN6I2gEtYUtmA2qR6ZnOxg+yJ1X4EOQNJ1RU+3fpRyhRqmcUmK3+Vdz + xCe499dVBrIpFSZHvOikHXnquEu6IKO8l+RY/ewgWfcSR7OiEwNlCsKIUaxV1WoyEbETUt2jLruE + n85O0/KgtTKvkNiUgn61wd3QoidOl09Dclz+1wm3yl4I8rvlgAaFEjSgkTtuLGOeAk194ro1I2nI + mw1376tsjnDtgLy+KIyfwcghhq4uLTpQlFKepxpXdZcW2014BzjtnZcRmlkZhjbj5weftYk4HNZi + fN3s40FlhjUQup9+zCiltMnTSzovCrZGS9TGDrcn+WjzBbbRg+iXNlvLFYJXK3V7AIXCX3mTq45l + 8QI+JBcWdNkBhOHZjCZVz9/MueguG5ziyd0FlD3it22sAX7FQsvIAQBV7HFGa2ON+cP6FeVcs6x7 + WFTAq7q4Uw3srB4W8MkwewbAVl8gHa1v8JxgQo5LMCK0+HYmn0ToncteVMF2RYTXF9sucD3Ye5Rj + dzaQDD56JAlhjM7soKIslUlJHG+BsCIqQraPizJHGASEA+ojM+eIlWwnDUtaiqx1+r4ry1Mu+PGE + SKDr5PMGausYnAqq17pkpESeQ/CePaO0pTW1mHmPVxvtHcBazX+om6c6hZ0CMXG8G+qyUS3njpc1 + nzpGurXQL+IVRByizMs0cJO+2TsvtrsZ+737hvgl6jQO7ipckva0abKwtPjmOxKK5ieTfh4RFHfB + JF/dStzFHTEoaNaHEu0ZSvYfZDq2rq4glCR3PvTyOFJ6x8rZlu+mojlsFBLYNJs7ciCWZTm/NDrU + DLwu9ASiUfQRnMrm0SOwlW6YbhlBaqSfzoZ5HER0U/qZIYDFIy5udC+hFNX6RkXkPMBCbFOZV0yk + io+EkpqWcxrB82E0yz7hQ32iyPMVpkV+S6kmAgKqpjarCa8r6lbyvBiQ/Sx1jCpE4Je+2f4YbMjN + qo/Ve3LUHlM/SPhUsy/5Rw9fzbWf5TQd3bJnZbQ/WRgumPrOQAA87td2xSxY1LPJWc8SuuGBaNWm + myveXd/l9rb4XyIb7qzdSEdZKs8PbiHFS2YPK0YUes1GLrUHtdt4LNBL0CaAIuxrWhvAA0VsbfXk + CUSfmDmKXaEyGlvxftufOJiEUUAjC58IcXS+qRbQFxIZJW9PMP4Hd0mvvISj/r7YcyCn8Jx7smKp + T1IMEdWbaSGBbstPEBxa+KW6kCJgCUs/twW3XzrxN2b9Lirqyx1nmcebHQcPLZhiNujQELB4uXnn + YWQaINh308XCqgE9IZNXIbfU7saEgCLHKfyAQAPq6x+nngoLUbetYMbUQMQ4aw69DqMWtfNGu/eu + XuGynL5lvHUUNOJIFA5p0cmB86VRbPpj2cxY5L/x+29asi2N2k/S6/onrhcOEj/luEOESn8WmkgD + +Sp30++VDVcDyz6zEbAKiuStQUC0Xvu3fsbGempExkk1o9AJKERmm6AIxucwDaMLm9o9JSeZZ3/j + NknOndJu1iReXhGF7zBt3kTNeLUKh+8fAdAz439g2chMyUF+80LvnyKDuqJlBHd7gnlhh+jYpOii + TRmw/d6E5vRuh/ormfGBA9dL7pZ8T2veO7pVlD5MP5HLEKH1dnSRqYNo+ducMSc7aYL9KaDh62yq + y0V3NKlA1CypyRplYhQbgx7gpDEK/MB84FC7tEVKp9S6X6qs47/0/NVQfbLgW2fi1WfzFQMG/kf4 + QYlk0p9o3le+OymChJEObCatXoWOPAomb0QqK2Q5ROiZtur0Th+Sj7LnCUEIfAHLV3flRQtueTHb + T0X3bEobpmLto+wNQkdCYGIYiT2hUgpyWI7i4QGL3SAmmdvf9PMTDq1OjTcGHJck5wBID5mmvZ0W + 36xRL+/HloFRwykoX7aze4xK4+tfteNZpKRLSpbn9gkPBZLaKesEcDDQp4u1uSDbKHMaKoc9DMzM + QlqsFHt7Ah1F37qkdbuTKfopyZ8l6KwZ8beWCrEOOwDDNLIuYhiEY+qv0zued3iBcyo8wy046TZn + 5PHfjt+hv9sQdx87CGv464SC5ILXiyA/aFARjy/zz0pOfyVMRvOTvArY2jd+zMTPa6T4Vs/r3dxo + J/htIazCyMBudTthHQGWC4WuebHR0lu4Hjrsqh8auavgQjx1bRO5jzQVqiOd5K2Pen1G37m/oGNc + gEc5BmJt4/ocF6o1L0NGKO4P1ohLPPX5+SF/EsU5qRGdGVZNTEHPfG5AHwwYTBMTMW+bNCouL3nK + SzPDQ2CPiwxV8hIqDLFnhfyMc7GLqy6IeJlt+e+7ZC1qP6ylKNjTYM+N532bwLRqHOVGKG+AT0/S + /G6lyHR6kZy4TAFiNv5F1WC4PjMV4eNRdHnqyyplf+w3WSVNrz8xI3hghVvTZDmGil1zRENH1G0/ + m6lGF/DvXfuMv7exoFbTKnB25BDAyBzVPJ/UBGb2OJFxMfxSJ+2TGtavGLvHa11rGTmCitaSt61I + BCNpSAVNUZrtmQ6mG8Pq2hg84+F1r5yCqwrJuZUIanMMLW/s41BQN0kL9oL2HO4o8rE8mvgh2TlY + 0NG3qFBD+22J/qKuSgSDXXeNQs1KIWAdFTL8+8YDf37Kw2cJ4S+gaRg3t8sx1ik7YZrBsvLOobbe + oP7oFH/hERqpCxUODa25juVNLw/VFkqIwbaj0CKqYtBtXnBBVB1ceHXeosyEmwJOqgN/CGaQGhtx + dsls5EFqOeqBUCJ/Ecpqrxr10T0uJ3dWtN3110WnJQ2JnYi6pg4ooz36ZbZORRUCJnQqm/nTvvAR + 5iS9O7OsDb84lLizOR6f0ckjI2iX+WEErdEbmiIh0QY+2CQcvpuaDIeAGyHfGlWn3h98aSm2czKl + Xg4hVoztWoFc1t9V1POO9gfTq3ykKX98qtAGCMPoltiRZpOJ36Lwgf1o+MbPpPEtFd1tuGEzPDWL + fIOUFEME+vs4F0TsDRwQEs3VE8ADF2QI9o6hk3XWvXoVE5iYnI8hMgfp7ep6nB7XNgl7UeLoCPVg + /RP8x9GPRM3QyQE4bO8+MpBLdmd/xYK29EtJOATokWlwBLKAzXkYVtWHlfs2WMvQivU6UBL9Ny43 + KW4asBmm/Fff2ys0MPb1aTL6JB6WduZHWOrSx1/zQ7dVhfOuAZjESSK4T0oehxCZZCFUFxoXPPvc + 89CzQZMDfunTOkUsJa0mlk0SJNab3lfMcj6IFp578ZpTRSNqkeo0TonNP8VGu6kzzh6MVBaYu1lN + OKJkqjOPHkzOOKzLkhEPyL8Qpro3uWscoVO9FVWnpeZyMQewC81Fy3IQDdUMz8F44y0pSdZ0QtBW + CjpjFEPvhxlh95aLbii0hCBKHrxLEiVCkITyybUknmoCboPGa8yU1avhRcgVn8fWDETIcwhosQDk + TjrwpA2uUZO+cddX37YFVz/t4/uk0YRDJae35351ntwHh8WKTTldqyzQWz/3I5Zx5iKJNdfscF4s + ppJqpkr7LwBuk77Uyx+CLWd1TWNhOQdsWIqOZoSnm4Df0wwxKcqaECY2qyzbUSm87xptb9S5LOEA + sFviqTuHSacjiFDuOxWIH/lVNBuGRHUnSg35dBVP7sPNKfKUkGADlqYkogvSDdrfDX8mLsWGYUa/ + ZYfMcHYgeePAkTxY+1M8/UVwhyn6NuVgEATwy6Zs4FHWDXZPrMFH62vTI0JjyxeQR084UzOGqv00 + zhpcheUWz0CbvyMajMUNwrIeGbA2HiFwa9I+F4hD0W6wkFv+KSX5NITjj8rCVqQi5Ni0obHE7uff + lghenv6AsIHjkgGhqGBYMM0V6KUHEHFIIElQ+hLmRYrYwEtuCB3sv2j4zmgXXpC0d+CKslk8xMvL + jDeznL9VyvUe6+mUCLNysU1X7/vgbe54YB8/5r8ku3Jlgvl42+OydKQZ2wBpbGnfCe6fvcBLn7h5 + XStyz3HCdw+sUAOr8RZuofGzUwunsFPC4udxqQ7MxaFyD1eJmkImM/Q8Q3EeRHmuvqCuqR8XIWNJ + LJZci5Zue8P9mJIJAT8JxPsUww0ebxb2LcJ35EygH65arjZRp3++XFcJjce1Mo/YqxsMHlslebFG + Yd+RD8kfC7/OXpQHVhLCtGuql5Numg/6BDIOwkJqqezHNWxxV+OTrmr8X6FeINrfQRSDi/uTPttD + md0Cbb/EJTlxH49Wr813Y4oVnyI0ZtBGhJ2BSawP9ZE3pmKAozSfnGdgt9l0Fi2FwAhGuG3lzM7d + RZTXZ2ONF2+SrJJVSIyajBzNDtbBg1VDMXJH1higB16hkxmL9S2SvZhvNRsVW5i7lRA1jwzBB6z3 + Zp+b/uVX2AGuUKRg6zbELZp1Lza2xBBZCt8hkOb7pegcJKskbLA3YNbnw0XMvW1CYVIYwKYx2HO8 + +/mABdUZ6qvySOJ60kpZs13boFesySSIQHH205Zq0YUzn42fQ7ZJAQuyyUkqy2d0tgKRtvsdgYDp + il1jgqRwIsgbcNbpMAsVK8zOfPNzfc480VMu0Yzh0wVzQxZzrq/r4i4yW83Bw41Oe/SDiDO3uf4t + j3afK8ET6OK9NH6FZfuk0K1NzVdS3Cxs63B2uzzyRUjpMf14seVc0x3WrYX6qCwtG0HsGtNRwcwk + hnopGmI4j5oNMGCMf0j0sbkI6RVIIk15NMyiDQAjsj6VwOZGaIyR2p/4bQvFOsHPiGAR4l2Hfk9i + zzVpVxcro5Xn6Njz9tcJoUxx2lcvFl1zoBHOJGakUEKZ4Kdco/WzhSQ8jJPBvyt1APWoZOS7mLPa + 52qiobKjR0ZMBycTnnuXv40Ho5DXDVHGvX5Yb6pE9Pr6vOStCiaOchS1VA8Mh2xgZ+B3if4SMlZS + ZqzNMbsddd3eABYkDA4CcccAEKh2NvUpKCwHmf6AZ+SbYOUPPL/5LcNiLDWt6ocTikeTtQkNo7xO + b6f4edx0wDQz1UPzVMHI50NtxSQOAAAQHfEcJFe6MmQqYoU9W8yCvkJ287cyg14fYZcbXuqE1oPs + TupcgMQ7GUMne8E40AjT8LWukNdaUDHV8svr4riNOZzylueJMIp40pIBX+OXVKf2mVbelb64OfuH + w/L4q+ffbggEiysScvK+RUCiyOmAdvbVTyEEO3AYS0WUcXksujwP+FQGzPjtgtq7e+gLGyk1FJNf + xQaJPn/8e+1FuCaG4wvHo6Ngh1PJ879hHl995eXUN0W1uQgatM2S1EG3E5AMe3FR6o8C3+ChJblI + Dw10jWTL5SiTehnMkBwndoEc93foIx86Vl4hDMEz0l9aCAefmrT64YsTEPmtf43H4IC+zPkrNBYM + NG+kZXubNtmCzkENkpIyjhi19pr4bTY125UjljPZamaa6H8cLw5fZBUcrWHF00UUhClkSUyX3+X3 + Q6HAl0sxC/0dpin7kYPQrHoQoiTUonKkWhqI4ZEQBEaZ9WBTHMvf6VHJTc4T7q9BEE7Lrr1J5lA8 + gAd7OJFHh2TYCdGAi+vUkIHftJ0FGanY35KINAMHXra1I/qMnhWLt31Z3q0ltUy75zoIAwjWiot3 + 8GlokEmpcSO7nJEg8tMcac98ZuT8HvCkV2SPRr9wl32rVrmU36WOpKa+PrYNJBg07kDlREsYObM2 + tM7ULHJk2COD5/wN3MLtk77tHsgh6c9RW0PQ3sRQGrLK1/xKssQ8Fir8/vJWwwSYtmo2bbA38tIc + u0YFB8U4wM6PboUKLrPnoCwCvQFAY16YjjhD8Chr3fWQ4FJ5pLrhAto5vfZdkmNwTzWzoxpsI7Xp + S0aSu+IfWK3dZvy5e82+nqAg8uvCuEQW4JdB+UDIxfRf6gxuUEw/fAMDAtA56qZJ62TnHYogtggu + FtMGwOU39qPqpEwFrL0fRezFxmb+vly1QXv75BKnP0QvHwyzjj2k7K0JHcRt6VhzyzPumiaUcVPj + WDKwINABzi4RcUeLW0FtNKyn2sTvwijfH6CDzoGBKKQ9VJsRPyxvdKXAwnTgqvK/nQucim9Ax7pX + 0i1umUm3/EN2vlN9+3+Q15xAd3iCr9UM6z7PqgnRL6Juc7PyNtGWHtaHe1mIeDJJ7BzOk3ABZig1 + yQyGwczjoFjJxPmXdC/ty/gsA/wyjrfB848s9v59AXi/brb72tFPMArjnBF36dbMrxImT6v6FXds + 8/xRXpbdGDQhgmHaiOxXVQuStpoLx5BhE2nfHhfNpmmbI0cdou5r+8vCxXVcOE+HowVHrv0vHzye + TXPppNbapAPyw7cQAbBD4EWzr+sIXctBlXBHxb2QhVMNQsucU5Hn84duMZ91BY4q0O6oyD83T+Un + YRS1UAdp3HHE5xylqcmtBDyaPTp89HtyzmwCNkCgcCMKRtlsaIJUTEflSQ+tV9djd30qsCRHU50m + 59+mAWaVrD7ui0NvmQMUgcfkwEijM6Y7WEaLpvHUZc+wxjvZzsU2rsqN+WrDQcN8v1VmmiwsHfoP + tzP3v2vSAjoPaYUl2X3O1llAxTBo1ZeHqX51pXZq2mGjcexYHNXqm19CXTWwaxoTenPpUgrUk9Ko + 4eLDkdJ6dEc7IonH5ANxmbRdfihbyZDe6jM8kxYYnGQRKrYSEZWe8U40coxAzHCgyWy/wapp8u3H + EwAUgc513afbxTa27QNjJa7VyhBs9wafziZfXd++Fq2dN3pTSwhlzuioTkCVMKnWKaBnMociFoQD + Uye6SRdPukwrlWG6FcK2UsAZoTrUXDyXFwkq/hBcvJPRxadtKLx/3rPiVkecgQAwJcwiFQSOFGk9 + khNLMbJfBk/RVx1n9pNugkFUXJI9Yw5M72vDdhMjmNaI3y/6KYAwKe/A4H9qS3UNe8GkfcayxsfI + cYZoCdhAfhfKw4RDyRIUQXQsvTTrNijyACFakH/FoRB8PI3+YnaH9DUljX8HQq95CJwQKgLwPqyn + o+MSoof1x2vRxCbnJl7tdCDz0ogDZaqKGWd/CIW2nrpSqa4Ce3/JGhHJw/m5PxC/cNfFFR9AVD4H + RvRGHAmwv6XnASL22MSXtcY5SCWMDgmSOK/yYoClQtR/rVEDhcO+sH+M9Xy6WsjBMfzNhoK2SUc+ + p0gxuB25cBzvqmgxIYg1ftUTzozDh3KBMxTrenFm/pi44Q7r8zOGSLZgZtnk9+zrpsW0ryVMmSNj + zLK+L2JGD4psPC5kwPhQMxhoiBr00AvCENC6EKIoxrpOtMIWdBecGbPpU4iqJo+1HkpNI1dMsSVe + k2pQ6V8sGfyxREf1o+AbqbsErMx7vv51nNQvtzPoJw+3RgT3aGc/skXupeDfllxNYuLzLQs/5NRL + MXNkG2DM53ZMlDXBYASGHjSYb/ZS1T2smXALgM7QfobnRUG0rGPJIW/F2+jN9GlOn3AoxmnI1a+X + UpfFIDW1cxo82ihJv4VpdsY71auMrbVzdfOa9T5zLIJ6i9QZ9y9X4SZkDt32cXDnVRUKrAox2mCZ + IHg/AIA8mHejDu/ibMUCZOyN3JeQGtrs3I3kYKRWB3jc5AXzfy0nZmNXnsABBNFwLXvvr7uRyNtj + I0/eJyC98bSv9pGG2ddQiIaB3TIrXxpWajiIKQaGy90KOL3z5yhvaZJv9XZeay14sIgxTBYtOsfp + UxDtFgapMzieKnct7Kh1xkbIkcwNsM9bzeZjM0xf37M3SgXxawBauH9ZkkuWY2ATO3c1SL1GFrKN + w4QlPZfJ+lAN5SKJNTOb20wlnmNLXedd2pQCT8LFhpVzSfMYD8i9ghRueci6x0QdAdkYXINeuEzm + oUw6vTQTh1KARvHcNXAN6E0L4E/mt6qHFlee9yxjiIfkVAmsjBNqUD5cqqebxHKm6WO0vySOt2uH + 5YhjCVvaDXayQ9vnKwUJwZ/iwwvw569XUji+TjVYZ668lr7owPtX8mzpW+TzVDQuaeQDYbqi0ymJ + /JgQS/JFAgFetWzbHrWCY5Cs1T1XBre0BRGQf/x6pKbLFYaDifppSsfNZufSfFZ1sa5+FNZJeHsO + znIOOkKgu0j8H0XRHvMsP4hmLwqeU9vFxrLZ1vhohUhmqy2VK66+yOisNMsuvNSSa+fnfEqdaBdx + WIYEyTuYHcX3uNuP04ZukJPBkfWsEebG7Lj0YFffdAuTCP7n4RIO6ns167tylBYJNxlBuYzi2QeE + T/SoJdNKd/3HMu/78tCqLDwZ5dEkIAHes59zHVBKthc6LG4zyjB7VW6HqcCzDKL9V6AmDLEDos2/ + VmrC6wWamyAjnkbA3Kir/gn95ZfplsFqIdCvPzxBaYLJYc/EAsBnbRBoIefuZYcnHbWadfFN3+M/ + D+b4k3J1FlFVxw4JQ8MUtKivdGjBiJAI/Z3RKl2VC5/50qBPOtT4tKPHOPzUD/KUMNI7HkLOVH96 + WyqXEfs3rppq8IFSSv5BI3MNl9IHrAZuI1V8cHT3CYTJLnxUw0Yzz5/d04xlDIJuVqULnh2l2roY + H7sTLd86qzB+ou3w6/ZhMqSOpioQ0Xuv7IGCCULW3lzllIp8wr1zdAk8dDBkAQCV4FDgdzrRLD3T + NbaWGKQ0b9SNjT5MX4L9HvvV27w3/l+nYykQjSAseG78sH77iytuKMMoDNVSLbWWa9slAnUMz2l0 + T46qGk9DLEs9FEpJZu4W85NgJzv+CvNTSY6ap+W3SnY+RyhX86zv1bI4XfOppPlArgcnzoTX9uH5 + jMqGnBPEboNBkzWWJY9i5GqdiYxI19rQu7WufB8vurnwTm+UHWYjW6pzV0o/fMjiMLpzDpl1hki7 + L1bWFC/T7OvWz8DL2JpGbOO/CL+vdNrqBGIJfL/LML0gcHiXXd9eRnlcNQGPaJTFJ712JW/QBa5C + LLB0u8jKl4X2l2lbPE2TlI6jcNYgaxeus9ZH7C0wxJ8ObG4sohEf+CG5MBcI69DeZQEVQCqIpV+j + QcLhCF0aF4LL+4eyIf16wceJgTpZHLV3z4359l9ecHpudamkwjVkBN/UvkdauwlWf4JXF2H+aLyC + dL9LeeAACclg/CJaMkhhaTfKYUOAaPpkYSWhivY0QcfgFgZwdI8PWbFqGiCsEIQAkOUxY3uI2O8l + eD1yeX7p3q7eIun+w184wxfqCaE0yZQfmuVtnERAPScfqOWOpdtt01GIw2DSfHAl+0FV29Zy063M + r9OJIJMT+SplpdDn45cjoghNyJWk2y8J8T4mOSWwqGw4OPPUIY4+xBgL/mcYjtJS0gW+gR3nN/VT + CoFylz5bDANxsOG9hUhLYmw+NN5TlZ1KfOW4JneyPRsL7fpk/MOa8dWV4n+P9twn0Vu9N4+rLh/h + u5Mos0JoU7bzJfKrlVLpTXpofFzBAEAmCyBl2HpMai9AZ9yGWqBInPkHsk5NldVUF0frWLSIdSpj + eWvCfU4TBAWK4wuuhnuWcifvgJpX7QffHDVFKHriZEXDY848tME3/fLRVeoT28XNLKy2/fvBspq9 + z4gsKTSyhKTlslmuYFJYEqK3Q85GU7wiJtryBhzO4TAR3lqEJsPor1OaLdgM9/bKp31T3ZheD1p9 + Ucl5CEMRVLbIQTiKLt4AOaTB36+FJKNwCoQ8pHUnpRSndnhkSxecRFolwsr4uYJ1wW8Nq9cPnTFQ + SyuvaNxTom3qcknXtWuiQOK9iNZPnR9e8zP8lMCDb0hRPW66qDMn2552dR/V9ksvo1zvArT0Lwb0 + xBYK+O33gNE7yrZ8epl6iN0FWtJ0Mfnv05V90Ok5Su4On39mDQporBPsK5kp4yWF5vhVpxhFvT30 + npkWRt0TdqfkNxfZMoJuijoe/p/vcuvZf3EUprc7WQQlXuDqGcvtmjW0qfjD+w9+78lJmtsDsmHY + Fk4UOacwl5Ij97xR44SIfPiScXONbN6c6Oh4mJlm9FuFGxumF8c2Ik/b3e5X7M3t5nhEEWnGQdvx + gB1RQTXYKWGuM3fH1NV6U0xj1mQD5d1OI2minwHL+tWBR50+3eGi3io+fpPTKgQyvF15MS3SrWjY + W7L0Q3xXBuKZWOK4ZQqSLYe1PgUIA28gTsnsijIPsl4A/HCPIY31hD48CScYqvneuVNefSvrUnmN + OedNhKjpUoWZTV351n+RXwGyI142lSX2BktRKhYkA4yPA/6TF/dUofDhyl9if+m9O/JHWvQ0yLC2 + kfTJEObWBjUmjATwTJj4qi9VKWTaaCaRsDcluOq1+veQ6ayy/rJUDDV0LUDK4XOjKZyHvIvIyQrI + mGyczqO7CWBzbEQH7HaY5ACwQKoAo9q/cL5xz3isJs46ThweAJZO9WKqXSvm+oyvCUwCyyHdcRla + pe9uI8mprlByqkcX+1YKxv68qeqTJHZ2hEqVKjsxtRb5YAtC6gDyCyA5sMOV7k+d+t6IP2zIFDbc + sx7MJTt33a1meISNAmhWSXSTvzp9RvESboTPQIvuCkvDEsiUK5q5mdvqguOuPyogW0+3Cksg2YdC + ESxLXjV0DdLFDoBTIxd3aGhQviC3n8iWej/B2iFdc6bwyhQP40T0x9KAeiHlsZuZxW561vAO+udw + efqlYgFWk3iDuVnCE8hWXlEixSbY+7mGDjyZ56jQj6YJdCQo081+vXFZxotsZ52uHiNytMjwOy/a + DgFjdpBhKBi3bHKo1gVxFfaP4enK4E6JuvO/AOleGEVxA1iEQuuqEblrnQRFxfr2VDwkm6e3tUvD + nhDS5PgLxT2xZgIoDJ9PoZ1ssbcY6SmZOfm9Ny8CG/2FoM1eDbNaS4LSn2eUxLwuUo0Q8Fwdcoxb + SSIkq5iGwlWgQaqcBleZ0Py0ZXjptdyHFgAooeti1JAiDoPOwaL0zetuHlyl1GgMugS01VtSgF6f + xD0meafx7eGSr8YxbJXFT3n4r7UIb3gcxUHkKbZik09zNR5hJXKSs4hCEhXbCjiM8jgk3BYdOyRm + QLlDq6fnqgmHczjqSuffrFyDHvbmQZ3xvoUB8PDd/nueEFMJ83Qv/QnA+VF45tmErg4zkZuTMMHb + SYSr94XeJzqIxVIYBOPI1hKqnc42AYeqhAkmw5YOFUB6/fyV7UlmttKUwsCfAmv+zAmJN+c0aF4x + yorrbOZkPechcDzGImZhLiRxJOhKi7FscXEYOsUEthegZq53oNYrEuDccF9je5aELlVmQkWJCsbt + og5ZLLzOQcGyTNfE6VXio1vN9s0QoZMcaSVGDRY2zoFD5vIL5+TOmGJDBAUKcX8bolgWVbg619wE + +xcwIUpDze+GtOdNK1xveNjzlsoPbvI9F1qrs3ml3HHxnu9GF7hqVg4zHi2UDwznZ7M/jXyljnu8 + PAyDw46NEEnb+gzLOiQj7NP+ibMIIljWjh7AAng2YDkQFxSfba92Vj1ezYhWS5+bII+gbJEsjgjw + b/va7soPaSDka6+joLDHGOv7L7zEdWCA4JNTdAVUIS03SIQbbPkERVeuyIJhfoeuZH0JxMxTsw7f + VZawXK0/s9KKDh6zEV5rU21lrp01x7omjYbCoqJX1wJiWd+nLaZVgQYYYB64AbrJfPi6/ZF+EfRe + oOWLD5lZtGV43xYujML2xrnjrigvJIdFILg3KId5+ayi7c6VKuR4QyKhLWpjJCkAFpUxptwMgkhy + WWbQIEWghfQ1MCpovKjHWjHBhaNOFUPgzDV2fGc6nmFrMFs0ivc3LLqUNASdV3YRScvLUVHMlovX + 1SOl0s9+QqzzO7n05edsloBO3ziFPfxZcsp2TWOzdxt/BhzDVUzKk7PFtvnWoWR/yPBc2j8pvik1 + jsUvrh8Ix3NuQMinDVyFtiYsM9G6t7FlKWX6jK9Y3T9y+wc65/z8SwbpDYoMTVRjNFoStc9QzUpz + DAteiJuve5+MzTIjtHkOgnYQMmK7CVPqyOFkdMBgFw6bazERhuPD6+fyrMBRnriNidNbltM3fPj3 + vn7zy8shhHfst6OpCJTiNFNdtx0xXrpafPMu5Qm/OBg2G0y7XhRkU+WitFwnd/tpf60iGKI8mk0M + gHVZ3XdtEl2GHcE0kxkiKnMaafwZa7PpYow9NcTBtv7DuOHYUrctNWaiVycM5eIwzO3xfaNvahhv + tRe/7O11r/a9uO0if2397GnDCxeVNxhric6XznjsL0/S+5THtpM0yOCXr48NDB2RI7keSyS+8zoR + jb+q36I3yBeEXuKdwSyi2hQoozRvRcIJlHI+h6joxi7Ivr9fMtooemO0I9itktdjZq0zu8NnGCOe + 5fM9hFVfbivfrky2vUT37eNWc38NFwoOV8sposeoaXA1qciuz67tsKi0CmcP2Q3hbp51tKTivmC9 + tvMqsH4d7ZzxOl5+mCiLsDUVmvy17zZmPYfN13uTsnPs18zaKeBv4FZSu5XN76jFqiSvzsRgvhIz + Pi2RvkI2RBaURyisiZlstKa2SumnpjIrHkZq7ds+OdfW/GWRtNVzAo3o1igJuM+SsyrSKVCo0TCP + JI5LG9b7zA+ZHZ2nFkGiHNK9ndA063XHBFyk78/xJOq7AaZNGgUVu1iP7JubKGRPyQykBIRWTPMw + dmUpB1tzF8QqTwbK6GLY329+nQudGrsl9bqpf+8sCt3wcyDW1vDkAgu9ZX14szXOwmZg4eY5zHtd + RjAtDrX81yS7XfkKQ0s1u0tYIYNLw0aRc1Qk+qNz56Hj3nA+S+jVVK9YoHRmPg/Iarcn+EzOcA/l + uNh7czy60BlnT9558s6v4k/BAaGt7/CtkITrQbjaGKXPUq8o6YxvIQGzmAj2bULm/WIP6MKSbhvB + gZAYYgKqph7yJrJ1JuknOsIzt7Hh/MeAAbw4FRGmL18rwEt7cwLmEvNEllGQBPlJP3i4MY970aVG + iO+KUblvAbFDRqSUxyqxYVbHWpikvW+d/WXU5gCLSmxM0lIexRHAaVfnou9JVUCWRSJ0APNrzuFY + wS4R9nnN96nm/ZtzjJJ+3x2sen30tD+YnTPM6oF7hBYZq0Xvcq3t2BO+pTjXFIt3MHj1NWf1uwwC + YB5g+GivUIDBCPUD3Xv2WC1+oGCz2qz4pS/ajt204UfGyvfE6fJ+GyFM7wfhtUIwfIbdisFYCIgj + y11moSPR3HshApihyBmbNcY8g+T2AEWjjFIm23aYvxQdR2l7tHaUyd+Un0oZgtQZVeUb/SBWmexx + eaxzlLk0/ECUg4sAk6YSVHsMYJBFq28QJL9RHGP5PK6gV4gWCOYDU4wKS/xvzgXaujEhUwwaqfL7 + /Rr2sgfO0ovwf2P91IfHJiJ8uvkfSWohMyVeQVEr8JSGn8iDH1ikU/Ttll14cAgy61IHO/UKRlGK + D91nvS9doT48zEz0SKowl7PEfINDpoayidSyWxTu81dgo2gUMm/GX6DXJHxJnfE4eV1oh7FoQ8pA + yU2s3Dn8CZJ0Sn3cpvFm9E2/v9usprli+JpcvP39ZRPqhm6eLUWOYz2Zfg7q+EIggIz4blwcKdYk + 0QVqyupw586Fm7yH4fKqUnVLkzWYuT6TNqmhlwMraw8iUVy7/qcT8BEZHjy2gXJ4CM18M9wvIfOU + iXe1INCAaNkKnLGtBz1haNFBgOK05YjgKyJLG7uQNOM+VeJ7X1s5D3CU8Gm2bW0PARMbJFtbQuBo + x8dfL2p8wcbkF9cKzuNFkyosMqRIcJUA5Q1p1JZQ9YyqCnxR0ruGsdpCRImXPVuIgirzwbGYxHbj + 1AYauYMd2x3o4knoOT/DEV5ICiTy26Gg17iW8K3ZfeSPARvLaOFq9YFYebEMNABe5VcBSfby5hRo + HuSpEjpQOjoziAVT2oazPAu8H0AEFhq6BVsc/VuQ0Gx5n7OXktMlZYpSsRh3sgyvMNzefJ3dOOgM + dvEvB8A3jG9cO0Spipx/noQ5iY5L9WOmE8lkn1uASlkCpRulY+b6xsSZ2EZgSRoaKmM7RBdWFi7E + FuLhroRNnhh+GJ4kEEdWdnHOJouiRzG0GDTS3WG/f83VULY5OK5YXNYubqWiJj2QFKgVGZ+gGLZw + r5zOTjYBCAOwvkjom9b0WBgt9wnIjb6vW+HpsI2D3q+ry7RBO6hbmyoAm6bzLc46WMDAsN+zQuOL + wfEaiM4mwPCojFOXFYXhRYV2WMpH7FgG9wZOP4g+85str+QNA7FoCFJTNW8TaZFt6BCI3l/bNXCt + NQH+XuA/RKqwo19gTPzFNMaPEcpdskDDAe4dzBmgl4fB2O3bNXd6x+7gcJRVAN4j7qwcNFQG8qYe + g+g6IE5ysR/81alB0za+4rTnNLmO95zdFZau3jp+73kMy6v3HYmHyb8vuapnYBiVTjS3CB6ZHxMK + mQXXI20TtXKyvxTrNkB2zTd0JzeLcuRP9dbG1h3Hquy+jK2PHXn5y/k2PXW1x3T63qB5OECXwJsr + j6BUMJ/QugSSUDA1QDiOVCFhe19tmUJJwXZG8pcCHVcBkMR9yGy/qoarL7jyBrbAUE2HtGeTaIS/ + INtLGlQjnRdf4qhxGQ4pdbA2F0wpM8Ka8dd/4ON0DepBoi5/NjD10YaFw/UUP5e3ObLtngXs5Rgl + IIcWxAaJbBYoTvujycd1BKk6sk/bCTFdZ8uvL/JGgBhm61RTaSOfNYk/Dl3n2ncoPM4NmwHYRF3I + tjr+o70lHAQ3HB0WuQL4VGeZIJKZuGbExt/9j5SL8DacKmPRWciByNeYR1SV56K+9jFcPuwk1uI2 + 1yGsEngF+24CfJ3EMdfxb3tNme+wFNDz7eqKEj6xHXh3up0F/KxnBDA13IJm2VyZ6LJ4EZ4+bqHG + KiSWlkenUFrpvjrEqevGga0sG9bL/XFTjkzEsiu81KH97vh+Ho2QUOfVCN3uOgHxTprGiJtO6Ly8 + fRopObZYxaEyrIaX4orEwFAejHuw4auzN00w49ImHw1MPTw3A6kXWmFFMjPWjxRkBH8szCKvEd79 + sBOcbvSPYEa8roy09DjXW9G+5iHwUIqJwVC6yQaNTo81YXPEOOrJlGeiMrOX4e3W2EYJNa8akFdB + 6RDxsLEzC5pMK2lamMzkSdJC0QHndSbsKukdyo51CKVvzgWwPgcYEDyCxX35VzePwNAXmSU4JPEj + nRHyzff2ooWuQ1nXPvPnY48ZlyITSZWd4yariTXCPEYxZOrZ53O9lyX4eIMKpS9pcVHek4EGErE6 + QaJkU+OYUlUYnqgqb4hmtRHeAZ9+pC6cFe/XwwTCqpLcowmBA5/yqaxSgiyM1Hti1WJkonapoqzn + GV/nS7ME3+hgTxpqVoyMe7gmGzKR/ZeE5HWY7vUjp1rMlUK0rCAV2WplllmvlWmjjXM6dj+7q2c3 + 2ecsq2eZuBWwXkHQToRx9HsEsPeqnwnNT6X7YEVGs/ASm9gkgVB/a3asaiZ+DNJ3LTNlrKqr2bd7 + rlRb8jmfIUmcpkhk+JUGng16ZAXUf3lxLUtZs+U9330k71EW+pGomaTeeTkI+kAj1otppsXRU/s+ + Pj7R8FME3JOAzl8TQYaUGXMNiOl5cpNLsncBzf7kW68qWf3cBRyL6Wvpix+W5M1BPlNJu4BzzBhC + +AefOeBpEGbU3/RYaFYixQEy9dLkA7QAk+DoBuO7ZmiEmD1CjttlT5vd7Gce+0lZv0jnavwgdNgt + S7UfNYxBUpGuPw1Zd6VJPbLE2+fY5N8I9Ww1KM9FM7hDp7y0arUEzOScMATrZa+QGFz0tym2OIiq + kBYwHJdiPlN6lDmlpj7LNaY5qRdNPyejJDlSY81u+hXgBg3FSHy1NrLupbXJZsg9NJmLfCWnYkNt + jAbz+BrWMvOf9bEaANSjiTUfpa1eFrdBnGVRgez+VyaOfTSNaqn03drvX/gt0upO/Ipsu15Ld1pt + 4yhUOR9VgdYuPehG/u0pkekb0099lDnifp/CuLFQAs7Vo8K0I/UAygiIAXJBj2ByRTmfyyod/Prj + Uog7r/cwDH6UVHlX1zCkPYXsFTOJEjyRMaN+UeTpaNaYBTR2X2seKs03I2eXhpJlzY6wiTiHLdQe + Gle9AthEHH62kgidq1wD3TkxpGMiIf1s4WZoh/InWvxx2t9tOKaiPocel7mY+sHYl0uGtlxSXfRS + oD+3mWdA3+WMRjCJxHdW1Lti94XBfAQTKu5lMmLuwqUy2s7a51EC/mLcnsZjvN4f+0hKhwJB30Sj + 9YjsLnefRYyasZ8lanv1fYdiP4oHo8dsNVOCFa/rBTfUtD/Q9rQA1TN2bCHfUz27B8Vv6vlesjFB + 1vjqNqvJbUq/d4vJFv3neiA1604ltnvnOLPJzMibr5DLhOCJKXcQb/PwLxZm22y0uOQZmbjQg3L8 + XFsKlcvb8mNdp6oRGwa+PX2KZ9hlaRRjSRkaXGKA6Hbb76gXKZo5v/31QIh2kuepTJF/0YwQHylJ + MtbMoU4kVTI9OiCfEcS+4RH9TLDpCliKtS7n3hP+f8P3nZQFZU9wiJ3POD4KeOJf9JgWMrB8r2p1 + EUBfPywhn+DO+cP3ISGjpIi6QiRVkI+kv8Z4uWA7zEWkQQGpX+IfJXEmW91WXxFusYNyCwQTKC3F + fYRQc/7CcaNVo3ooC2rGpSmB/NPAwd3gjeAkyXfuX69iWbb4cE6/aaEuskHJt15nK1H7zFRvXiwd + gUu8++mNvhxx9LH3j7Ba/Q7ySZGaUTusGa8s1AmhTA93BNwILE657rnP6sVVv1KZwEc2IRQB2gaR + xI3+1cZX8BBnBVoqdFokEL+33KU8CLNFolVan1iYquwHHIBsK+nLM2rLTe49dWBTSviCSeRfeRj1 + I29xlNCV5/3NIgs5XEDtSaDRUkBlt76s8aVvBGTWR4+XEDqKbqMCJTye7Ygbi9VcDS3eA2GxiRR3 + ZzS5htlNDmzytElIdunNcQFSn1zs6lKh/Abkfm/UpQVfD5/u/QgN2k7Oyz3EpdrL8CmBc6kTfp6k + TSjtgqq6ggutIOSNh91S1nCJ/M71j4QCQgKfJ/vQ3iEwJBBeIUVMzfaspDzHVaFYt0iNxtm36TdV + 6DqtB5NgGZTHNU6Pfbahi9mioFxtXBinDfwQXSGKKDTYFpTXMN4RcIzb+oN38l0EJiKaRQlt6fPp + dgkXCqbIioes8LjjsumDNvY+KaT69W8qfow964725SsInQ0+6iUkhyHCIjMuPzaMP1y1M6s1zseI + DLKBMVTQ4q0N+aQqTmP3mIjOtZNZ7d9+OP2PxMcLqwS/2lLlRFkS4UrUbyqM+3iwWlUFdZ/HJZva + 7afRSBKmi+sSmnshPX7wbnBkUJ09DB6SO6mylDbO1N4fY7Z+5t+sMHS6f+l9IBVX70cVB6AYfKCj + RxyY+b2yJtEbSg5yeqnnJNKG4MG6RK9cL9dum7fIzlHiYJrVTAjO4EDwAfvExMBaDfLqZ1Z9poY9 + ofaLIMuMJ6ZrLQkx1KqRibekDHDEqy7MWkQ2Gwm/jd6UC4r7uux/nhPwqfWktbxxRrgQSmwZaQmW + xcIBuctu5KF6Solz2IlcglRgyIb625ACAhm/N8i9mf3+dUjdcCRkG+w7RfoMnpM1LKmk8bbM2dj8 + S14WXiN8lCgiGJ1yYBvAFSWShA4KFaLd7X3sWBqaopeh+hH+hKOBzeUdssTdsFcDtp2cdRT4bSOY + hmMPsf18yxosU/l17SBT1OctH+MZ4g9iZYUclCRql71Vz+0Tz/ATMqxsAlTA1I6VWM+e1YWNitxj + yeXX24L59B6BainfBH1gEVzNbKmQFh5e8WJwVwuKDm6mXFfW6kLJOZEgAt1acxk/+bw1Sua1Qzp7 + utHWMSsOdKMg6TfQBzVJ99p3dg62r2cTJ3LDeOZCcIvzjUHaVkqBn61/UONtgEq/7vHl40WKxsMW + UrurDf4/s8qMS/Cc1csbpliXiFaevg6TVrzOJ0un3tOcyop/dxwylBZQx6LcHboCtqLgi73x4nd0 + R1lLIYIXHj0MfRFY9SDMBIabsH7AXFSbYczwZzMACECadf0wstq/05zVr9iZ9xDmfCAGH5FMrdSW + OlRImENiP6bvu266EpyqzFazQBF4aY/e+XFa1kYk10G9sxxHjXAyrLrTW9s3JptuL4OjR8qg6XbA + jV4RBK2syyR7qM1Cv0Bwd7pWisnEI1scwY2z8r9MSw/vlxRAHUj7Rm/RfQYdizSzLMZfDNK+r/yg + uRcULYQQfGvwrfnwZYpigh5q+eu65ljIUkFZxrL11OI1mxR5kFE418HXxStbsY3knP2PTV6Tjw6T + UBZ4Mgfhj4O5YggNdrZTid+iHnxGvi3MjZ/xQOViJymK5rvhQIh1QW/Vjb8opQDKvUFEiF5WZW/w + fLyCPofypeCwWVVPiT8kh5SZ7WzX/SnR1JNXKqh9wBGgq4CbAVT9uG6zprGdfrv2Hlrg6qRaT9eJ + QSGZcKrxPykujEXtzDq3wyTrq88Qt5dhZ9R3/jX6noOxa+11SCw5vSzjptQC+mV2M2QpILbUyqId + 3kHk8VLRTfpAWTwbmvM+6HRbOP1RAFBhinSEm7jMcm01q7lEacpw7V9vhnmUrneuXCkk+IdTeh3G + sjsIkav8UxTDzUXneQc0DBmGbbbUlL27KdqDszBR+NSZeZpo62XBGdw1Zd3XtDFSCiSNAadTNQwD + ya2bB8hd7SsdvTczThIXHgYE944fq18BjoDnJ7fSP6jOO8xtKyc0DvTIw3CU57hlYLoTgzNKh99V + r3XXUN+4b8DueJyNgWrawqlI0kdeGc/eW8dhW2vXuHPeqY/21LPRULOkYfKJB4Ho+7jh+WGdxnEo + y3UXFmJlJ5GsYZr+EHDc/Kv9sMikZO4VGaiWH9ZsgHWwQmZvRTmml4Y0/b3rM4DUvVZq5Yw0TEC1 + OjdD1mJkxeVVfDt4egfyuicT3o3LjZRnPBjG6XSbKHP5WM5J+hNTussZpdCo/KGf5YtOP3Quvvn8 + IMwWKpaNBbab31W6QYd6ZYC8BQzi8+wFV8QUGtbrR+NsSSZ9hzMMBm5SvfnGku88YgixnG7s7I1X + DbLJxEw2ZVhe4JtXQvuTNYvHSl/RKlChQUxnvcQehyfOA50KlPYiPM/Tp69+U9/6aaFqup2Vi6Yn + 0snHlaSZsaJfXWCDAFGi8fucthlyFNYCote2HD1IVYZp5vRdLe0y2b7KGw4Ur33kfnxYJhit7sAP + Xxc9RAmr4Hyeq64130BA3GhDnbgcyoMCGI1vof1fTwpDGru3X3hstYhtMxo+EXyjFBSf3D3QI0rp + /DLTWjDLbQ+Dyyc7ZgycbgJNl71u2PEv5L7q3WjlJbpeNITFZpTia2E16/ItR+Z7YTAEGUaFd4wQ + pS1uSJt7RZpRMVuQX/VxIqcdMFGF/nJgAfhN5x3CH4WrtawPP1jfxD99Jc4SjxX18eYcYPVfA5wL + b5AuNseZ4GpyrNvrL7DMOAcvIceBQkr86U7uD+KWr+O/ZPHO0rLzb0Mkw0i5LXvHOaD7EifhvAAN + 2jctSBiMLLePh521I8ijFCJZ05FbvJseK9VvRgj3vkDoTM2l2u2owad8mGXxdG0m8dyfqNghyiNj + xdOKP0sLD4h8VqSE3gszWo1mrNGigC0CsDenxjNJtG4DGzNJYyr6TAb+fsM0ewiqfwltbf4NaedL + QdJVO7dQ1M9zFXIyhVC1EdURdBdNcfvewIvL8k61at38STm2hjYRuVz8MF+p27zys/g7KvFax8ww + fksL66j7QByoAl9y+Z0sQjvv8EeEGhf4h50gLrncx8BVKzIMYfCKPF78A9hWnDeBgOom5zHsQfqq + +i/2SUYaXjadBZWOOG20K8gw0IUZeNAqZBO97WuQs2AzicPQU5GfPiPt+a2LQqbQ6rvbH2tYvymo + PLar0z6TUQ4IAtyqrbsfZvg/E+e2Uk0xMz8cMAM9sVSlfVqmVAvl6VMuqr2P0Nmdt28Zey/kKmrc + 3h8LaoHnp9o+MOm91z4jhkE9q7Ka1NU3GWUZ+9C10ae0VqEBe29c2WTUivfXLmzUXPKiCsfTY6z4 + aJf7EFcpCdH7vD+mqfaNnfyTloDoESNW0yY3BxpXGkrjJ0vAUCFdVk6Ei34XhFUQCIqwsrnOfmCb + Il9hRK71XfAqlfKJpRMub864v0q4ur9Z+EVoNLnw9Lk5XccNyR2XTQ3nC1iHckvqIUyhWwENG3z+ + QPssZ+Hbmu7juhDZ6pStXkh8na/c1LjeZyVczK7mvSb0yKkKYabbwcX99ls7TgqxwTR860ZOduIc + g/4DNC3WNIl00zHmZ0nVjZsAH80tmJBCrCFOhtVOf8Y7KkaiCQm+ndHPTnkJVDwvh/5DJdr8583w + GV3N2+No/FU0EVeuKjB5TMeW4FB8BvtKplFMM9MxGe4jvCNg9eiElGU+ms8W1/ogpvXfLI3cuYil + jMwlOK29thskIGEVkaE//NHbtM4pZoVK7qkSl6IDc49XHLdtImE83ZVEZKVyrEht3Vl06kChSdWr + 5PtBtRBIjaFJbYtQm+bLlY6qI0aOtspR7PpM5QH97gV545gW3axm4d8+2bianRav/mpmZZh5oiE1 + +NlyQ93wv9bTmQ94UGTL+AdbIxvB4GkW1LyAU2HGqR7Lo9yZlzSmw5giDxl7MaHbfhE23cg4V4c3 + 13Av12FAEb/O4dTcw22fk712dlKt/H65QjNUdZLwcoC1QI3BFyxamqjbGwLt6xe8Jcmgh5lghd3f + UfcUJA5dR0+qY8TSxwNLyj4rNLd/NureIuJqB80GyqGfURQ+G316KY18t5kK7tfrP3HVPwOVTkjh + WmHWSwo8h0aF1CeMK5jxVfas97Q4NAUIi1kbApaRYZR2hym081QfYjqjB3KSca3it9ggS7MWyT2k + uCsfO7VuIaUhI7NjFpPGH1VUOkcrrSUYgHbJemqH+HPuZkoeX8vyRf3pVWFm+AcgVERF7w9ptJsg + IHTKqJk5tJnDOkQad80TWyU2mL1DiwEe61Yau+SE5WqkAr0FUfbD2uevLVbW+ofRjrpA/hwBduzR + /KDhzgAoGV74Skcylc991fAZ1V2sjkIYS24UVZCo6L6lekGRtrZL+ttBtPW9++niTfTP+GMaWZrK + uISp06wxUeniADema1hIZWmLQN+YEZdr9hsIBKloMW3qwoEmT8RUEOgfHysvDwcirJ+fX7Q+JBmM + eRYRzbSVLXBBaTbDFfmIJui9XVmi5Ro7/XJ+05bREX0mjFo1QNSotAAe8kN/xZTyuoNob4XowRpW + jJJMG6g19PvLAJI9oaXJynhRiRh+OFHWm9JYAmLl58I7JeUg32SbmaYss73ClmsgREUL/EMh3yCL + Q07pyNhDCXyYgjTkmzm5NZODLTQ/rYqMXTxmRpuRk4wvSD2TzqLmxRP3/I0n4Kdahlyqq8lDNN1Q + aCxK6cpIsSYKbgdTL+ihCjZHUcj2MH1BKw9GvZ3nq9a47+6NXtfyCxJ01pRdszThmQAUoFv81b8H + dr3TbLnvQAhfcnMSivWWNn75zVEaJBdM15DERgm+zwDSVzJ42hPl9yaAOhewVHQc+DPZFD3gV+Iw + nw+Ub3LBZIT0sbZZ0yU3A6mh674NhHsl6mf4hdTiGQOUmsO0qBAGtMzJhGa6VXhntUu1cwIOjsJh + DXhv1wf0UNAw4CthKrA2PbhuvbXuTjd6Mq4lTZD4X/2Chre7MpkZNkg0eBlNmj5EfJTx78h3g6xq + uqlHcN+ubzHziqROXdtLX92QmBIgUZdAR5ZP93DdJmCu4DWs7fsFIK+U3PwOTgeMIhSBjBrcjOg0 + pNKIvQUaJL2RaeBomAC1huwRY5+WwjKxqfWNWMTR6h2jDdAb219OF0kg6CFl7vIbW9/40274RZiz + jicCz8HOiw3UxJ/Nrngmduq96EDUwJVXkIdI9eEngmDHW+giGi9ccPGqLQEc87hzlRQmi/k5PcZ2 + C5os6iCflbd7iunFzNH+ki619oJjVOfd0xk1Q9gSaNz+o6QlfvwphwPrg9FcSeJLFUcMmAdyjym4 + /Nmukn5BWlY6V1Uh3ZqE0lA3NVU4v56QLSfPA14AcEuF+Gw17VA/1Nb5FXvqaupOdKaDXz5mygyC + rCnLQjcsY4RzTIARnyH4qs+dmayXz6NUntA8uv2rb7/lDJfjChb0+pf0VN4RQ3m+eIzc1eAP8VEY + M1PciOqkvcFZU2HLX1VGrnGCHM925Ih9dKOAoq/mX+h9tg6sEwaakzk6ba+DBRxAsUBlv0oX5Ku1 + 5A+QtHe4Q+fXpGGOi2M8wjUVqqR6Tg4gC9igTk6rlVkOTcpbcYte8SmGfFfR766lSyKkRHkoGaP3 + IDhzmSz0wJ2BVkvcUR6tk7POtVchQIKK1mLQX0E0tJu2jdgmETm9YxYYwCA12dLmIXkBoDdjSEsI + rrV7687bZQ/U8K7l196XKyXQzWs4HuRLwuaVV87kAasWTArNuLqbfJ0jBiNkWP3dvqnJXborBNg5 + +8LjksAbWNcp0jGXjYRBezRve35s8S7u4p7qShfQyfNuRKFy0TYhx6fzJrESp/u5twknXTj41qzo + T24dWsnXVkLT2nXER1EsB7k9NAI23Ov1bmaEQU8wBTWvVOfC0hOcp1IKzsaXI0Bxx1TjCrc+200P + CaydFmTfg8nq9mIGGF5INl6qNlZYuOPQg8q4WNqMsbAdR+db/QTawgbbX6E58eJeFgG/H6hIeDFZ + d2aBXzlIn+AUkmd/KmX8jGl8ipO3R0ixJp0sZgi5IDBwk2fzXdVrMKviLUMqiNLwIk9iffwZDrF0 + EG8qB1/JEbe5NKsZjFRsNarLvQvPRKMdLGLQmFiYCpX9W56MdyQLX1kRbeIdiaanlT0aVGnJBI9D + SmKu0nIFTetamqJxa75AJi7oGFanknA9A7nw6lPSbdgO0EUlXsxS9G1Zf9sQ/UCR8UFK046mjXPO + 5XCxlRFm4s4Uss7mwPWu+VRrKePLwPhw5hLaFEmrZaP2Sz0bA/LLJT2XSp0PKbxLRZ5uTftckxIV + f3NIslEnwpHTZOmNIhDjb8KCGR34tOGsbf3+Y79owDLwvuM5jRp9Ezs429JN33FSdG1cqPuXJlxW + z7LrN9xrBRMc75WJeDRzSy6KLqVnROXWA5JLBWzUPO3WJ+UjHGBi3mhrYdK2MJ0mPgKmdwgr9Lmq + zY1GAGjlhrKx3dHcnaTGnthF6/wKokx3BVeBH1VcVDtvTn1h5KVq1HzmMMIhIz/JNi+wu0Fsxz+e + DUrFGDibfSnZ+kdRMpXwPbt9Om+GxwVdG+7lTUqHzjTUym3FSa0CEm8iUx3pZpx/fKRHSvbSMDbv + vj+dztjXvnTo33M86JtLP7ztqBi9xVytaXxeD+SvlWRX54Gsqqg61F4YhZars7wMSqbtmjge7UF8 + Ou65Ktnf3El7Us/uSMIXv1z43g+e+jtXsr/XMQaAVqy81MuvlZN0gYX0KJpzGtdJPzEOv/WyRQ1R + ImjzvLXUbdQGsoVDpB0z8iRFa1pIk5BzXHWh3O3x7HsevNtam5B4tUA/4gKzjMxVd8jTj2GeqAq9 + vO37fctQyvvU2AVs/dSO9FmShSuFWxSlP1ImSFiEV/TwBMj3jWDHDOhxmJNEOGxKdZl19vP48YzK + IVdGVrTwg5REnTK8VfWx6jZxW06JiAeWDWMCgRI4FHzEEiGMiDVByFnvxPXOwqy4uvWcFUjwaXS8 + NHwdnEzzNqlXyS8Mycs960QgEcGI+ZwHasR3ydAS3er4DJ1mwgM49R+FPmF8yLw3tvP0sb7rU5BX + HsE3Fn/8SWKYwFPnTMR70pckLuzbqEoz0otpTuGi4/PT6IUSIPOJ8tkP9vm6r9kBNaqCDlMGaQfZ + i4i31zF330ge5DX2L5xMA/gJ43fowjMUyvdtc5DthSCYaUl3b6peUYn3u3w6RAqpBTaSjhHvRqV8 + vBHAZni8FxBbvHe/Tn28raCQ7d4cMqFgVOjw5Ovz03N73376I1uDLOxmigHLzqGZMlubCcvXMmT1 + 5VFQ3ovzGbW7/sqVpcAt0ePQc+OQDRzxKhgkKcACeHo+seCjpag0Albb4NRWQbXnVA+E6ymtMHUa + Cq+uOoeYXjLBOQ1sdduL7eEKJg+HzLRcA13kbr/q3rxLayQsnKZeBlsvMpCK9MJANGXgDng2tS9+ + tr7h3i2j99OdXVxu1mtApvlsLNgKC5I1f38aAvyj+Cm4vXY7j+eULScUeNhz31WcmE607io++vnO + dIVaC+R3rQq3DkdzWW1cf4sFG6wnZOU7HPOwBQbLqeFksfRql7KuqWodhyLJlHbtltRapzYsGq2g + RyyTJoafli+xq2Y9zyI+mR636wsQ5AHVJVWqqIVewgb5J9lJ2PFqSJmvkJlgAReptDeTeArR9qfC + t3A8XfW/Y6jvi3KkTCcCd/Cn12WXVIOSPW8i/lZ3GibSzMc2JPV87cmb4gAFpnYrzz+2lW6R3ORE + 5AatvBV1FOHSTD3s9knjjCtAjX4yFJP1/btIg95RO83S8hmQLXW2GRRzjkaZt+ZXXO/JvMhucfhN + iWJXQY00ASeZ1B0sn5oPVZTIqBL2Lvo3M/CBq8qC7pbcyf7GUxeIOhNLQJEfzC6BffciuIA9i5+6 + OUT8Uf2VjbGzqNrf7sjIVnG2accryS47T3kLHzfMUuAKV9bHRpa2mJHYZCwLzvrw7eqjCvFC816W + ISVT+VE4LZ21D1dEhYUMrzk44c74E1RGIFoQFtAhW+FBomXTeMPaXOvd0CxqMIhIFIDK9aSUujUw + oPinl9vGQZQPxEG3QGYr34a0Vn40CKmjeBHUPcL69h85MHwO1qd/hmbepAmWiquzZDCEGcjPZT6k + UwxC5S9VjCPAGo+xEGx0T6ets1vubvI1bz9VAlpaHvYkYUBr5XLccq/7BYh0dtjoWImFmLv6Id0z + Szhwf2LRVnJhiQ/zIU8iv03EWQ8Cv6Vtje3DogQIu1Z8JXXGBOk9A3qFLb+8cU6NEJpWYU5/mH79 + xCm96ePtOOiTCiRRI5sSK8Et4HyiQ6UxXnE5tO1hWBdQGEq5W14YK7fVRb2n2lJ+0WQqjYey7EkX + 9Q+8f53AQiCAu7Xj7of0joiiQSpnAbPGZamUp8Kw0I/ISyM/2nmP92Xrxwjp7VnEQFtmEk/avjXd + 8boRZlXeIa0uw4gK64ZJL20vfQX5+tyY2vTFArNuss4gMHcYudzWlDMGxTUIKaH+DdQQpLS1VBQg + Vy9DBn++GR5ytuiTlWEEoEuTL2ZstAxWkVr8rSUzznfpNmsUsIFlLba9SaxIEVSJCLg2fBNiqopy + /htyiNcbwjUGQVduASgoowEeUUf0F8UFeluKnckGcXxrrhBuJqfoq6zd6KigBD4broPYr/xcOpWV + urcrAbEPmWQstrsTvxDr57Mj5u3fnWJfRmvo6b1u3bJp49cZ7JFQ/P7ou4FK5vSWWGMZPHErccTA + rFQwlnuL1aZB/Gc654Pum53JgpEXXognL1E9yxm8yidzIjPBQ6Camg+ffTNAKpHgmR0FlIhEiEf0 + wPJA8Sf0ldZ9CplqbJKmC4aMjtDcVXhC7sUJv99WKUWG81YevS3wkDC4TYeT+bcZozfZhryk26Ow + tJJNffxHQFH7xRPRHnq//ElGGvLjLDGJ2annPtXhaqq9ZfC65AFEt6W77XCiz9Lfr6S9qpHtqbAp + EixES2Nd5LiCrBPiPwiDg/koG90kGRB+PyEevqp3kRUim8+9arZlQgQ0DLFf1fulcoW6Ah8VgVDB + 1OlMsQiLnwgZgsodxiklOoN9z/6IaUcwERIlWQpAwZy9MlNZi5TwrZtDkal4r5MNBEpGIBdBzFR8 + VLlfQ1dC2e1W4PH0J8ki5JcdI+fhBdumpKO+OTaVL1IYAVzLIHXds4T+gKenuqlyn4sVdgGfD6YU + f5TJN1FJK/Oic09JtQHfceANZ4elRcAuPwLKnHjqWhe9FKU93tAzEE7++mqqVTwjQwqyJd5wycxW + WttlwiZXf906YmT98lCWi+oXZiTUZSx9F0Nq6jPJB8y5WxTvwO0ZQr/76fq5Hr6y+0b7aCP3XitX + 7m84hFGoMrWvy2ZyTNgoXJ8y2ljoOBiuENpInVagvHXA6meblsJqeigXFNMatuNzSbdAAHj5TWz7 + 4t7jPvdGdxQDftQndbEAUsdnhbm9w1OpcR0keBAbj3y1EovB8R91H6x11pB5AHhfqW960IfAVFbw + zkmBTCLRsQV0iAWimqZNImep1cgQMfrvJw3Tav7mOCWpY1ukayo3Ar8/60G4E1O5khpnMPVyBRYV + THn1ZYhBhpfVDbnUZJDYITFuJWOnxvmCGWnDCoCTzDswH0mlvNYM0ZniWO+Y9Vwf9rsXFBVkLqsD + CTbC1pIJlLU6BLGkotfTV9JaoTM2EqEbAXnopZJ65ghgXPhO16LWt7IZxpz1RJAIq2PLI4l2581Y + F5HEee7eYpVgbaHlm/FvWCVAC+/rQEqL4+mITzEkrUJdK6asJrdi6vUkO+I4nozttMUqZWLGd51l + mNeGwASlDmAzJp8mNcXtuSEdchZ5l58u7XYQ/GnNrLZt9eBkWa6+J1uOhi+WN1lvcPilwrgYTngH + 07VpZ4RZW9Uac8iUMCiAvAw77draHh/jrnx6jDoGU3mNhGt+mA84qWP93fJ5PkT+LhRXAzWBZ/EW + mIwLvCHptiLgXb5WS1ppsVZf/TAl099Mir11wXkBIOKln1hNNv0ZFnArvng/AjFB1wgxiQcgZekM + zKgpnJqwOTtngpVKK8W7aNijak7vXeSGcgNKMNchu2ZbMqHnEW7ba319lnOTXK3RFh6B9eQEXA33 + 75pChzgiZLiR8/BI1F5gkAhmqCYoBkhsJlcyivX8K2d3m3U8KKvEvqMcpkCM1tGXCt+3qoN+W9mG + DSmWeUtAfV2mSpEwIvRyYeSH1J2lYENHN0Vugdf2T+3cBS9zkjcgol33YF/hxZDNc828y21eKRkk + RqcYPCdeCw5D5hhvH3YGqwgCm8ZGn7mvnea0rpc0cOHHexruAll+FHj9xthDXh88tPkHPR3QI6KL + Efnr+kQg3J+BqyxBwNZ6EFFWIiSgjVcadld/kRaDLIPW3qtIIwsFTKqYdyOdBea3v0iUGywUrIsJ + 23taFtnbwcQOy/z59bFjl1EQ2GqhKMfA/PRK2C8ZqDOXOH+bnfLyeAYWI3EyXHfVF13JWlvlcp0w + W6fhDM6XWR1HxJQsdgaeNJXErwMiiEpdeBIyP/6oxRLcS6cGGxVkyEcVadLmcRgRARdAdukOy566 + gJ4rpqM7cnPbDL1Swl9OkPHBXNjgum/KJnWkp72aezKnOmTcvjFxrc91v69TBBp5fSH5oCwRzLj1 + JpnpUx8P/UjOMacsuTccH2GQH5bAxfHW/IWt58HTpiRd9nv3dq2SPIEy/tX7FWMLwUGBhLtWEf3i + CH89gE/EW5Heq1Nw4TQt7rtxxtetTsIDWNhqhlYYMAVg8xSGs/G/uTq098Vp2Yat8ZGU+PUbUZho + qvqf83EoLVurC0H6KTPPA8rrfdnsHhglPQnY+GRE9VkhlwXugGmmeob9EkfKZqgId6p+eJiFZF5z + 5tqDNRbT4Xthq+px8ka8CjNFspQKeFT+0Mc42T+jrN+EjuueGshv5nn+a9Rp2TQWFu8zAVgPSovx + UnZ9GtwkIYXXpJA4tUH4YPPj1GQOYTw8qg5LLp9oOPE5Rnw4RVmmBR8w4jKIwacMRx1i48KFUUz+ + rKtEiquZIl5XX6hmv1aSvMk65KZMpHLTAgwElv4/S3K0AY+m6hBSTW1+6OS4zFA9uRpG/N3mVmMK + ufhp2wB24C8LEm0qlRb3pJra76e8MYqC8frJRHt6R6HJjQ21jeTsvxqus8ZjgVCr8sq80E8z7vGS + hp/Fc/LUKFSDpo+2tA1HvbIumzLKHkd/EHb2TETa+5BvmTfu9iyuo31VyPPber7iGpJjL4JCWhbd + 5T/yAKZj3ZurW+lHAKNWtUeoIGzvN2b+WX28DGLgJcsaiDLHHVmuld8uwUqcSFYIFp9woqRoclXB + TwJI56s5F/T31KAmdY+Jt5uCc7g0mCnSzDuP9Yj3BmB0Xkvz800jaL1HVv2uJlRtzOPyufSy8B2w + QOlBB4AFo5WHjyJjH1BBQiRgoYxsEjYgMiez7mJ0s7OvVd7cgNsNxBNPaWi3EW9e5NyBGDIq8KTX + TXVj+4TxuLRaJhfFaL7yg8pjqy2v3xz1onCkeL6EMmDi1P46dCfEOjJ8RlEx3L9BDiurXlw7mRrZ + UQ5cst0xrlkbjknduMJPKeRkfLy7ZhmQvckUYXzoNbnWiOKYykkdei2Kzeo4RtZo7GbpZ5bqOXLC + 11jUA/IkTH75iCYwF68SiuArzB61o29s24QPmQ89ydfMFEPNTCHQlLoX8L274SdNj/6nSCKwa2tJ + 7u21Mn7TT7xufVot+csODCNr3UCNsiSfpQ4khn+LTmOsupflfFj+FbdP2DLhsft1GKVI2VbHv/d3 + pPp6/NQTluZFdoNsyRSL7DFpX+YDl3DsyzjhUd5MvrMj1y/Jlor+k+pxquRGwSarHr0ON9qwJcqT + ma66XAeoYyXPCqjLOtIbX0uyDeUDaF69621zH1Q6lX2l5p48BSRZFnw4uT/ebDrUMHRiMbSmtAs9 + 15prbYr3JY8gMYvFcFS87UaSTnBgfDpoh/pFr8cFRxRhMAq8pAdl1sZPo6EsFo5RkhMOfjljoI7t + cQyMTzcIvuEWabQF74yH9y81oYlF84FV5JRwy0cBToQOGdhGFCQNSpEQSDs1+WiroN82ZzOyTutv + JyEZX+GgkZofH+leXiLTylwSoyg3VLwcNwfNlH5Z3Ye1bQtNUVn8bB4M3ZwJl6YVG0rJ+ctIguna + EaKe8YHqbqzpnUT7Ku35k7YnD2Xx6RMopesT1ErG6qITlW945RQoCAOrtazZs0ncJVjGsXnDCmxo + q2+so/04qiJDlzaxu5IHPZaRVPtYEpNIVx/k7dfwyy+lGDJeo7MDafmsypf7X1a9KAmuGbCryqkJ + yPMab0/R2K7H98Ko4LQKIkqydgVdf3HeoUOsBl0RIhAyffZ2b5nNwmESwWDwjYicexRHqCf+7J0S + /Zgwm9DZGQbMKoE3h/xVed4GjXVOorgO1/0VaXCotbHRd8Ls/BSNK4eCrtK57DnR8/r+NMZw2bHn + VWPJp/C/E48CmG82vwf5s2wouut4xvHPXFzei6Scpg/rcQ1niveuLmKnJWNHG1+/UToEPwohqAit + 6flxmFT39D9Jj/MueTzHS/vRkagH730gZkrmhleZF8MG2ikYRtO1MYbY5XL2IYBfkXmfFBeLMl9L + Qpdxz6yB5NCYbTjWGkBpPWM0QddaB87mNomDZ597nCI95HozF6wBN54ADDCSG2xyNuCb9EgjVcsA + GmUqX3NvXIz7sk2VZ7RzRv4awutPLfWULzwtLa9HJiNCa83t+w9fUe1O8rFpqk+0CpeSE4bASNIX + NvhVzPL9m7zjpbk2DPt46MVqDtz3zzquBrBj5A+qWX4VpNvVU2eZqgvG04pEVny74E7SwBZEXaIq + JMIrk6HJKGTG+YWmyAXO5m/0dUKHhoPOs1J68ZSCXAT6dDAjroy+4MA7ivHafLsF5eEDxn6jBwqw + fLJcOA4Heah4S3WSuQzww6hJao7zkLYRiZrW+F4T3egXfvktO14M1sQVHw74yMQaoyDzC0a01vld + U4gPjlFozikJi5JUzOWi5MPU9ZTQmSIfTkilgnAthsB+9LQ0e4W0sB5GG5d09HT8UtqQ5aCQkC6y + OfDDves+ey9fA2dZIfvdXsZLeubxXd09IiayfdO7oEKSbRNNNHn+VnHA9WFnWREof8fFAsfwmRsr + 8it2crC2SJ1H/SczIVqF9Zv6qG5iqP7jL5EF6kh+9BM2Y9lWwNK5tKTRK8h9y5o4sROvJvD2LAeo + EV65vxiEPBRg4kmlmad9khpjRYPobRk7ukBERSdmRyxgCIcmkUe0Qe/7VVcSdLgHyqRxVx/8bz6E + mDpAehC+UZHwxPj3pKE0ojbK7VptBfTAcatmz2z6hoVF9jYi7n70Tmj92MTDrwsLkBUHUvtFZDtG + SvOGLM6oIbXBIrpmw5eFgyMAYq9uMe+df86nyULp04roskAkDskvuNyOaifAe4b9UjBBhzaBvl2Y + 7x/SFNFdlXvo8NUf1KaKIT9nfr1G55HZcYezZotC+CjM7qUaE3L46enCW5x7xkb9PcFC8dj4CyOu + 7kTJrO1X9bmRsfbJWSCdSy2oypTF/vE9zBjdDvjLSacoAe8WFTXLqmdyHb5xEOSnNTYGJSnBhlgs + 9NXpFzNrnQQo/Ko/SwH6x22j2Q95SkIpAPfTy7Rd/L+a74FDUWFMIalL5dF0M7h+b/4czYIooRi9 + LRCQwicHwzxPbsWiBqo+fRKEal0klXz4WeHhRb8ShAYDhV2ruLD4Q62DNS0ipIGzTBMyw5InNhPq + UV0pKBfGQepjNOd0t+7M15p4aWS7FbH8FJofJ2WiZUtu/ouD55bnaJbkNBRxaNivVePzqw2gHPm7 + iaL7DyW3YwFOgWcDB44QCkraTUrdBIvqsx1DG7D6C1Az8/gaLIzhTNGbXSfNlxLHQc1AkLy0rMQ8 + onBWZvzfcrcruEDWt54ZjJLargDn8qsUHxkXjhxnD5BEHU/xPfGpy+ANbCZtOAswTNI8FwhSnogY + 3JsNjDgLYflP33sjzpWNO6Q9hoYclq/pScSvLqHRnCE4bbFYOYFA0dFkjEOPDapfVhEpXE2ApiBx + dU1U8qL3QoX6A5maF5zM8ijrgYgvGyHum/KFLWONoFQ8yktzyKR8kccttU3tDsoEiM0OCkkVoyr7 + 7D+pIvWpmliiC8gw3qw2fKlm2qAPsDxNs7tO6JYWq76BjPSHVJ/5yJj9OfUx7pztYpB1jpGfXYkX + 4jGAerzYQeqI2ZNV7e6tLyRBJVF4Bh6FtX2YxlzFSml8nMaS6qha0V+yswGXM0vmmDtYKk7rNQGY + gQT7u9zKRckGkgjmwo37pm6xe3dXr8kT5Y8s5C8HPxRepmyh4NzfZe+tMSLbuIq6SGtpKqFS/rJ/ + cDDQlR+kppFd7WpdMozwR4n5Dwa2FhJr8uWgE6lKIQfZ2ajxUs+CNzEGSMw5vezj5P1Iig1bF+wa + nTiND8sTjQIAGlfdnNzH+CR+7Xsyuz5s7Kps8XCK2Qv5cgGk/JEC1uX156vOZHdtunf5oh8orkDh + Ca82XMOXDSGuwCXL7VSd6+qV/TT+SweBQhqY3i582T7fTQZXhG4fEunL3dwshXz2rbrMtoIp6pGl + mAWJOW9i2L/GXpCgPTfrBqtlTM4PvvAnI0ObiEC0Lzth1LERngZnWb6GMv5LtxpAhoxxMW/sWjX2 + NUCPYWrc3dgKysq0BmeqBjxzEvBXrWbiXWttuYZF9CptOXHQoet775wN1FEJTxClpqzku9cGLNtn + sRj8VPZJpq9bCUpkXvrggPWXiFKsr1UyGu5c3eSFMZ5jIDLD3EJ1TCFLT1owoHnBe+y2Uz8P1M8g + x6Zam5dxM4RQ4+/nA9qDNW/dHPo/3mefSk8/8ElHtSg7SzZSEw2cr2oMkJYSA6mwK7Q46SIUPvc/ + cKQGDL/MulPJogV+h4DYeXEdqVjsKRGEWBcYh8LOSNKCKUSnhxMsLDUoPj+v9tr7lX+Qc81LSb8v + E/UEA/olyx94H4SMpopBmz0LoEW3VEjy3hsptS+wSkcaiIagbXos/W8j/nnPBAFNkeLxBSGz5Twq + Ej5ae0EF4VLt66nEVmiKnmSdeFcn/Bzv4VMMpFX9+9MyLlZva0JVamBTu9kocu+JCgV1V3Oe4nL3 + uuwPuYJUMe8AkN4+brleMhcravsX87qC76w1TVw7Akux2RYsews0rETGvmYO7IDoIxFhY2iPJo7q + 0pocxjO3x0mmQtEyy5MuAloW6Pe5dTuTevAndPLd+NZMk0h2F5iXcFPg1uLB620iL3Tq52NmrFom + RxHmXp5zallB3Ou9f0CgOXb0SyfvZMwm9nB/rYbYjJk4NANSy8lZovkZtpT5lEFxYFtmoavubOcV + iks7JATw+Gdt0iL3++8ezP3RN2OBa+QU8e76LB92qsLCXnKxgX/DQ/Ool43ef7BYD6+NZYQ70vD0 + zh0JqHiSNqlUzLxQbigR8cWyPLIT1B3+/XiUhcxFspGv7EbLIxeUkkPTFCfmLpMv4YbrMjwPis3+ + hswE+P1664KYbm+8EOrEkhU7AFHlpGN3cumWBkh4lG9GYCrMh9jk5rfSj0M/zL09POJQocuaMVfr + P3229T1TiFTyg/b3v0xCSaxwmcXmpSO+xn1nCqhnqioQU2B7GzzuWaSZzK7p+YOjDjKoBiLSXAVa + yo8TOWUGA0gbe0zIRmGlBvK7cmHekwoZx1kPwIEiN/5On1m/u9pkG9k/Wde2CPz28QlTx7xK4BkY + DfCXceblGzIl++CkekR0asHFs9zo1GaXLFj0GZAuoV1Y/aRCoNJapNTS5kqciS2RjjSAihxhjv35 + pEnre02iGvHVUFit67+DeohwVo0iTidWmurqlrGXqTCBvYxCPjGxU/qrMLc0US9YG92B8lgX7ayr + 2xR2OIPMOZck3A/CJ53Zp8W1AMZXNOBO35SxSlhTjSA2+IcFWe+PM8ebhohUVsAkLSpcI3nspbph + qlcb/Pzkjn6LxfV8mdCtpGB7nFr9OZekTil6xqPCMEYHHCX2oUCapwNsgJwblH0+D62TuNb3QlVb + 4PMi7lgkkPUmgK8/XLf31370E87NZdNTqeiW/Wl7MbcoV+QaFFqZ6eGW8tN03IXRx8xDGfGmcJHW + FfbTXU5fd5OeQZV3VJ+iqYHzwljXsdbN0gpZtGfNWoEZFdcWT9gPGcJjPKEkjHPwz/hZxJ1xEEV9 + aFQxppOMhDBWt6WkOQhmVOa09BRyQzo1ck79QS07yNpopAwni2iAu4I3C9g7h0PTb1EmEQw0ACyW + olVXtYoCxp2vEyl7qEiXnd0xHrupw1YiLkoL7kmeqcoaRC5tZU5yiKBuqmG/e7uAWkZoNlqgljiW + g3rHFGb8bkyNNh/sLvMmI9jc2kNtSz0SMQA7zEQ84wC7NdTIPOEkRsevTa7Sxslb7lfK4tyTFGBW + qbbsth3EikHAcM3AYEXDxsQOiUlJldqfQUziXZVjUQzokxSz29NdSi29LrE8iHpctSnac7nN/XkS + OBVpg4Cuq6mW4x3gWHLskt3sfS8DUnjX28kKtWUk8UEeFtcVAisBRSAisqGqFoCqwCZuFj7vwcem + xY3JQZ6PzUE9X5cI96bBMdfZQ9NWfStNNAOfe0a1Mlaq65sENo/W5nnlnxEjFK+uHIcK7czghvkc + YbSdbquRdBGe1m51PG4fCcP8RLu7Jof6heTPJkjB15z1qBgvEr6fRtCjIseLDEnNXsOzTwKxxvRy + LlAA96jSxDmBtp6S1ehQMeDP7jsX5K7B2V8cpgQ4F3YnPbIxc6yLyRieHO7fwoGyGR6mOzkEzQwh + ulUEFuz+aK6bv/NLz4AHE9XArwICZHfFaMo1ERMOE5m9rF7MpRfLM3Wx1nBBvkAozAnttVnOjXh7 + SL5hgshXWNuy02XEmldW5XPqYhfuY3kGBBNgvWO+CgcsoqoFt5qoc0u9P++fNoNzsjJt24tPiOs/ + FdGPVZKeh7OVLXqb2tOXjKV2oKomel90vNGqEvWqcxtSmrg49bDTKFjT6tEMkg03m1GWi7OGIMPn + VEqy0GqGBNmu1Lo4nzprStqW3ynOgD/f2x1FcujI89MXwWCBlYKevY4E1fLIDr7b70WtpATYiniW + X1sfX4Auj+4HVrNfrrSK/BOcB7ZcXIE6G6UDjlw0jp9NesCXsTunvKJYidAa2usU/XCBSHpxxqLj + qQ6krGY/1L5Fm6aXesuzW7MgenC3mYB4PsuIR/zGWD7MCGwKcOKd2pJXcHEgA7oDKgqNO1vwhMED + yrvNZg+6aJ5uCCfPK3UJ5NboLLA6gg/CIrlPXg+jvuQWGkkp+RhqIJQq+iRiCrByslZfQWxR93nJ + 92xvsJH2a4v+Gk0bbcChQDBXW81P9OzI8AlI/YYZG80xEhFccmrL44hS9vnT0o6KO9HiuPPyhOsR + oK2D43wmkCM5WQ6kl8vfrJYhRG/y8dwBgwSKB1ce1RrxvzpgSc6UeplouyLwoKY5pz31udZVKpfP + UDfirUBUlOM78CqfSGp+6igXnfryq0xxVMVXi25yRL19JRAln1sc81VuLoasLOTgfGY1LB0vXIhX + CnYBKT6JEbijFpLRIOqYfnzYzaFcV9u2bFSHQYst48PTFaaMcfHDfbJ10P3fKvtVjnPsWLaUWQ1N + i8SUIVbe1JHkx9+lSHZ9ojzBrV8CmnOwnYriPZSG/bucQKoF9q0i23QneCzk259gP0/VnH4UTke2 + tH4vFQFoJFX0hsL9tj7TinYvwQRFhOwWV0jq7BR1YeCMLn6SOc2hHkuwlu+SQ1xh6WcRXoNW8xLd + ZD1LFR/MnWt9cBSXTe5fZy3XK34hJYH3YWtZCrgfp2vc4Q3VYMkD0HkfbBYHSwdzMOtuHjYKBAaM + 4w4Z/G1WNADxxW7zATd9HbfchwtQYHKfGtlXeln1+JwPC76PNp4tBqNlsluNLCcTlT1W8lIyi7mY + nYVj7xRgycS1o1kuYF99sQZBZPfVTwXbM6z+vKUv4hHe9z8l3NfNkoJ3m/WsZpC+536IYCZvuo8e + Wbd+8wz2sFr8RFieb5LNiXE2VzPdoLPq3YXMvFPoChVrTdwlBCTcWJEG5fYjGqqqDc7Pa/ydPI+E + 8lpC23kwIFs+2+CHFGaJjaiplC5ZM+8aAo2M4oPIzXaFknacFUG2vohEi/mtuD01k/h9dfojFR8q + Mil+A4IMIxO0eVvP/i3RBCejm/lYSf032PybvPcZ55bvJOknPb3NyB8PAd83tuvxWSOfuvIFRs1f + g7mLmNStB9g1DPDICtpoDiDRQ3BvZbFiSwIYgxochtjWXGBslmjFBgsmEO7FZNm/5gdY28cQdTRI + dtQa+R+/PdH8zZshnKu8qED9ZdlWp2IcTtLL6C9qYG2JO4Z6lRCSnsWYfHngKv5TS/vYJ5XIx2TT + buvUuAigsDTCHS4Jx4QtRgJyvUc1h/CA+ymnoCjer6p4BfLK4NYWZq50GogQT0/3bWKVg5/nGNdF + 3w25r6LfWmWhcUu+2XaMw2tXnDAeopyr0MHdtmGG0hSByWZ8H6kADGw50sww5mMbfX2uwJ8jQn4y + fd/gBMrSZT2I9iVEACfhV32lLznbQ+XeA0ieRhY1mG+d6sYPECYMRvWFDbGwF1UgHhPuMW7T0Qot + lrkBtu5pV6j5YaqdpXVzmclN9m1Wxq1KO/XZUvm4fwKeEmusCMfRs0F83SId2llYHLqv70iCZpSc + 3O5gFU1gFuXKwUcMlWW9eFUW3MgIis8xw2+vC1T+dcWNZjCXpegYpna1H9P7id3png0K2pEhjsgS + 7DsodqqQdyfd2ue7rK9L1Go58dEm7BUhEcSEifK7hRQu8ac2Kg32M3VaGQXiECZ/CMsqtUJ04e8B + VL4ZIdqDW+KmXsQ6vbCfgeRzegcLyXK/5hnLjSXHnkaigOkqEKt/VGy+S7TzDMftWlbupRDdHWpc + +aKl5gqyJiSWiZ52zExbrW4eURiCX+wMxrhUMhAR3493R+CFS+hZ+yiOw7MwSl3D9llGhlGCfzqP + J/Ry1ORxticpEEMSuyybAjrwLkZCPQAIvdas8liUuf50tbMLb38lGBac/FtbDXOZslP7EmJLPRHU + fk4soS+zSzntmdDBjpX04lURrAhDGdi4RW5QR930A1wedxVlMQtxliQMUuoPUg1i3Ycszf701O+H + skxfDkuI5QrCigb83ehSNme84rZvZkH1s8HbkGhbN2FXAR4kw4NNZs/It6X0WEBifprwQ1o2QdpD + 8C7P4tc0aXblLrxC1/Z0yZ9aaT7meA/F3AOhku72YJNzX3kz0ilWMPQNwgELeFUy6Cyk7Nu3d3t8 + lmsH1pGFJlT1HlF7kmcdufksFqRdsh63v4BRWpRZN0FMomj1x+T60PI1gz8Zl+0Gbd9PcWXnYB42 + 8Kzv26aQyy21/NhtRgltpK64mhNabxj3IcRXKbFPmHFmTZp3sSVm3lIXKq6KDfO5MzCBncPcZpXl + nsE8459CYpfxLaDQ0qP+SgPD987qjpQ1JEO3eZhnIFjED4fdenfsylsQzHbI43p4fMflDWx5nUTQ + GFFBh2lCx5dHmO2JC8RMwAxxyLXsWzyBLd5EPQ93T72ivuj2s8uHCzyMrUFAahkbA8BWkWp1SMNH + 6iGBMGO5O6axM4kAXG6/hcywbz9mHT4/VokPYOpa+q8dkYBediVs6SEizeT3qontyB/nXCAdH/U1 + xXDuIgxsDpIJ3yqjfJROXeb3leRRC2K5duuf63xnz1h1gOVdewQ1IKQhizMiC6b8HdUJZws30Bzu + YS2RlQPRsWRHQPlULBUEebyxPMq/J0nhlHIzooJ2dz4t91p8DVWjat7jPxAf3pBOmeXinIZOXLx3 + P8hXRPDGe1SgULHA6WPT3/Ko6A2kfVKqq5/JzW7bb6XaJ3M++3qTDAAo/MYdx0tx6oc13b/Z3cPr + rxyPfq7g7l2Ch09iLQJwXSBo77CcT6NPHPaqttTiazYHBGm/OLUxgia+sIr3uKvIToOOb7uDUT9I + /SHhJEHEKiJAgUctT7UwnrSRxvZfim3ND3se2mk1L+0twZmo+9zXN8sj8CEY9kaU2SNKrL1GnBy1 + eLsRnbJIfMqHg1LI5uru9C+x1ysgIiqp4XeGRhOYBquNrCHgdc3lrRB0bfhH7aw4itvfGXsI3BlN + EXAUSVhwWLB9jzXaNOVa1pt/mJSwbaKNII5qyk97jOHyubWJmi+hkyT8yfB7bkdZZt1oYkK3i4NI + Ahwz7AyXN7bdAz5cyk/a5HEIYVxC9SyMf7EZSmXIyybtVRzawIaalrXq43nKfjLXHmGaDV/BPNXJ + ei4eQcnyzi9a9IZqVg6NhwHAuGfAWzWDLhegnuwaQ7SADlfepFGRDJwYBUbedkIn1OXsKLeHSr9b + o6oqblEn1eZLgxbwQshoQoFGpBHazMcdT6FSsvlkJtCsUlk3fv1RQ3GUAuEDGKYQbd7pxjv0k74y + kc2EVNW3vaFMCVUT83rl0I8K6ScsBS+1nCLg62GXaRXU9GSIhPsF2L86h4lO9DPiMeZiWElaMICa + 9PkxZT7mtg8xKc/bnklRrlK8WDD+IG2viluy+o4Hdd8PN+y8+tSZH8X7EUZ0U6i/xLpj4xPsKCmD + PoFX8vcU7rzrIUmmJCmOJTxkyvmb2gnUAJuWvd9Y3bRQQ30CdZ2uCu4uVATEbVJVCzvpn51XSqSt + 4cyiAJgvonJZiBlmUTMTKtPKbb+7B/AgrNSEDZQzFUGeZtzzOVm1dp5k79Ph6g2fQUHD5o4vEOeS + LPA28sb9npY3iwrjzxNmzJmekVgw1Ll+1DtfNj6Qqc4TuoqsNZzA/WZgPg9WcAm0WdWXJ6I/sA+A + IzRfX6M0PLQmIzn6S4nFlK7cVpf1ZQcXuSSOz4PmdB2iHP6UqQMZ7Y+pNYdtQkBAQeadgbRT3rFO + JUjEdclBNOl1c5KC1YmQ0hc+g82keySpiftXzB0NprHQ9YRwjw5htzG9+47cB5kZNcTDeDY5yeMT + mE2FmAarliGPMVqENXoyPS6sA23JYzvZ+K+nIrebv8kuFbA/VbS8X3wlt+0cZDNafvUw7VK31/oA + 2ONdP8B8pe0Z1aFC2LZJjvREx2pASw+Gv12WHDNFcTG5+Y+uqeA+FpjB2lTnqjmMIm1gUpkOVyhA + wojcQtmhE3Y1lB1lMS/0Ryd3I/QPdPUhBlov5wjsmDQQHMP62Ml7CFlym5O6tTBe+V9/ZJccKYKq + kxwbAuzTstKqoE1AWgpUGxy+vMB5kNChQupSvAsOXhNToXuCFI9L32T5hii6qmWtYRHaPG9BoXsu + yi/V8bZIQkPXmtdxX6Vqc42641LPKj1iXmVzPvXLHej4HpDrgtUA/NUQtczQFb596/ayuFXoSWXL + XFIlzWjP0z/STA5SxigmfyXwsG7Txn5ctAiowMbIG2lV5PCnmKJa1RcBZSme4o9GKjJM98H2plp/ + DxHF0nW6Oz2x1T11Q8Kr6cHN7W33xNtjGlfc0EfU7Mp3x1iWl3AgS6p3FmidDAaEbucGnAjFyYjy + wXyrZD6FKx/Hm2W/mv35F9DweN/Uy4WqkCMZCyk109tbCzL8f0oO53T+6LSzVxDFZDxkeMVypHQU + 2EM5fqsFo5wljAm2qozfwUrfdCpY3HhJvabLfyvR+wv70JRYmhw3dDK9HqDTzE51fVvj7XQVn4lo + lWRfxz0OXLSIpJHZSrU8zt1RqEPdEgEtRMkbMUx5hDhgDCGZpz0ZrYoQp5Dfk00AXktruvpYUqoO + Ojnz4RQxHSEahjfMZUv2CVVoTAO6wlFgLJ8Uj/ecFZjgp+oA5E6Sx9LgiSeG2fWYEAOdH36KOY9l + jgx2hcIZ9nPBslfGsJZEoItVyzvN3UcQFRZHynz5426hYW8Wi9N5BDK1tzgUMYhBUhOu8NAybJQA + WZ8o86M3IcJGWQbpBzfklXEsV9N0r8OD3dMxf6DxXJXrrAaA3Ng4s/JpoUn726L0D1niheqIxBzD + Gv7EkvzMRw99kAfn3RwP+moJ5ybpWApahya30l8iVoFbARSmMM3zn8z7wc96RlYBDoLj3QX0ROZu + YtHNhHi5r65QdnRP+BwjR3YVTO0TGs4jKqKQ2a3WPYX0cMIx1lqoHCHmNv29zRzyY2dr5NXk2wXf + ho/sgRQiMytk5Sx/rCFfr3o6U1zZfQGn2MvDSHQCG2o4xa03jgTTvGE6caX8XN29pJnJGeWOSCtZ + 9iAZ0xEoGyNGm1MsevR89ayDwF/5Vwarncp/j6QT5Di65XQsOwGfCk2CGLen/B2oJmYGgLkkzh/K + AF1kg9J1+SnRycXRr0mz2SQZ2FePeWxk77sP2Zk9IHBPpIIFSxJwoQrREuXVcECUCmpMPIshSDMY + lm2ZzZSO/nkaK3dUSutHPkslD6tXIVya5QhvK7EtIdaTleTRfcWjXT3vUamktaaXLd64IpI4OG4Q + Wt1qRHqZEOOUJTNem2QBVMFbgd63/Id1y271Zdl3DFBfeYVFz7c8ufNszNUxDUJJbFTz9H5YDMph + uK3vI2l2URXHOpkPP1uBlcbwzd8p/ZWTSCcqKPTHziw7pB1lXS477pnIcJudtAnHKioDhfxUSe4G + Z9ykJQa6Gaq798HIAj/sfFRVU+WOG4It8MrvnkIA3V6eMs4rvpH6yLNUyRPejTJX9XxOP8pcxKTF + YXid2fyxDnUDVJhz2E6e936CRemzW36e8TTJuFfioP08ZrCCFw5fD4tCgwh+a+V0RU+V4zBqHZQD + opYn6nsj79VlvAf9a2dWydh0wYXl4OnBd3xePvooMUwy/Lg0BfHPBPeBitp8stM4KOEPu5Kd8lmJ + LL9wvMqXZ4DbtSt4nz5Fi2wMVQNgVCU5S39/geDmoiiv1XcAoMYFzQKtk8pcEMCc+iIuSd6EyxO0 + gVh0896/+nZ3N4s8f7AcsWjU2j6d2s/fTOYZClgCQXmmZWEZQ68JJ9c2O4eOcG/bvyO6ukULE919 + CC3MQmEtgvY3SGff8ndc8xHfoYwVJ5nfoacfFJbrxzAd3QVCZ/auWKJSyHxKMHLgI0fddPpuc9+m + eFb9ScxYsxdqIPi3PhoEPQMcyXLlFtlXW14YepXJ1O4OHxmwrnt72R/imo28hkG9lA4uAmgw1i9g + Jy1jcdQeVz9VscyYeQ+JC1eR0oB/hEKy9iHRXYggvfRcY2hCmNJ1HC/66X1yR61GdjCHCGccCn+6 + 1YTt99aAdm1VDm1U7JzOTP7UDIERJSMRj4ul1D5Mnx7jgJeIFu42KzdVwlygqWxqbLgCi5q0/hZK + jCVt+5sADcCr5HIALMG/0fUMUZ3MflbQuM6CJPNBV2S2ob0JA7SGY2U81A+s1oJaIIukIrodHqy/ + nAmW1XeHeurujCoe3SD5lzOCLH0vfoSMXZ/F+dLCH5l8rlti+kY4E7N35Q54S30BEabGHBpnaPT2 + hmCcDrN1GD73aLr3lpkE2kJ40RySjNsKt4Hsb8uST5lwXG5h4ybsau6qjNeVUJ9OUQ0WrOVMSh7p + 2nUACPJKdu9TMt1edDs1+VJN1PW4nkXlVr0Ne+THscJunXuV3yg3kA50wH1WSektbxgZDlM02+j1 + 40h+sBmoyfyI8eMnohn1uNyHBBWnv9PwCLwsJIKBbZzXnk8TiqKw0kMA0JIxZSFm9Ov4CxBW3Jw8 + GPpJF2Ih/OLLWE+FICtysmQOl2WwnLvdwFbPmwsqka/VEjtveVWny+1MB2K0Y1tMvV6vNrFzemz3 + MWvetPeufGJ8B7ARpz6GsL2admxm7agTfituRribgXtymV9YCBma2XDzD/Xp8bk/Q+IeF1zbDJ93 + EEL7mJkRlv2eq0XSL0HRDU0qEUAN34yjNGlSJaUObDOLTNfjBnYv5sQfr+htSshdILEGewFjRc20 + kO8LFgBu1Sr4Dgh0uJwD0ZfJlJtfoxUlsK7Pm4bjWpwvdnxkiTtzaYUuzb32F6E8/J9jzNNeXiDt + 7Yl8fMLQPjNIhEirtqVn8317Lvp1IOqG8x+aN2bZiLwee5FEG1i5k4R9r5fBxyb6BzyXzF4rgkTX + wzp7gnuvM/G3/Z4TLgLekPuysJgA340wWdYAKgbrmphPZwD+noY3dLuh4+tUwywgeWvjUcq0sGen + 2DsTjIfdsNa8+yc8ommGlDuLkUFmHZyxWtYL5mpi2J/vPOxUelN/YVVVczRoyhQBkuxNPo/2xub9 + sH80rbrEpWsFvAkSaKfAwsEXKHTepE81fxfihCeWs5GrSdLOKN2UVnYtC5+Vaw+6Q0Tai88ZXyHX + bfpN3bxuukdPm4Y4qqM/GgU0KYgFFIHATnXKKJu/9U+4khBeSCWNLB4SFnyJJMX6RSEzLitUpT2a + OSZg0qTYtbcb3l3mb5Wn7PHeIkPDjXJXFz1f+ZZtIo8sHvd9+O1m5YON9S9ydgH8YrmeWS4XsR2r + PhGDyqm5pn4w85QKfHRaHapTf9ySJSPU7kTsIXgIEPrQEenmforvyxZVqDUVEXcgdtRzCR56JOI/ + g/p+DAoGwu52umwzBywRFU7R1rJUhO9b6Z50eTaRAju10RKKS7jVaTELYIg8gONRvmYnvIeyvXOA + fRVC6ayJ5SNLlC69j6Ke7z9uaeVJh75NweVXX5GYmZhhwPowmeDvn3JYcxydO4sc6V3coHG92hu0 + sDRDmdrHrc3z8UXeiNEUuEwNJ/Nx3JNaxQzCTunHWixvZg0zYEeqded9RiMvDw8eFh5560V8OlkD + v6N/dUU/vAnXuhdknjLLk7gttrbEH72e6Tyqj9z0GIxK+mCKr+KyPQgHiTrKyyxK5CCCwwhSM9xm + sDKv5zTOdQnMOVegmuroyHhUbEIBZ7AvAuPsajgovtHREucCStX7n8k9ImbM4msF536q8hK1GcQi + 9cCWzz9Xvjw7rI8Pn3y6axnGLZai4nDp2k6qYZ0xSFaW7FP9hL+jnfuFzXB8rQUkWABYh/fNag1g + 39GTt6kbwT4qGQ/17RJJWkSEwKLN5t9UStinpp0FW1UvIzkQzOPUJN/PEHulaS+3NOJUwvnk9Fh7 + kJWbHB0fuB8RgN/7WYT5hou57F04MNgSzuaC6xTVisQkYy+OTqbzQY32caHdcoZkdyXb6WxvtG55 + CeOWLK54qPdahjHbNEXgvVQWyK4o4dY+DhOYZfUd/T98O1w6KMep7SXqbmjrHI+x+eJFoSCkSkK+ + anR9m6MYuhaTfHPPZVmJaySt4duRORcJEQJdRgaL7Bw+KIek1GXcY4Px7wJc3BDCbbsIdxjZ+k8a + Ie6s39EuN+ujdXjxIHRS24zgJFT4Gk44FfhAhh1lRQ+rNR9RLmd+K2trEzzygOYEholpMpTPw7g4 + xQ6UcHOf6L8t4ALoQfvFp/uUGuImh4n6BdWKuK1zcv239FF/3gga3+FjuL7c/jjPrG03i7Y2BWPs + qitzWYbailUNrklyFfIcWGBv208ZN8K9+o7ZMDmrMncbIMHMgQvVawZq1CRYXpiu3LHSAwVKG2n5 + DfxECw/bn0ag7ekC1Fm9bfVXcsbi6XK9DQrX0Dsim5LhRh3uQFB8gJzsVQucvaChbOgLyVChGAoN + W236dcBeyR0OyDQwbhqSPq8Xp2kTsD9OMG8HR6krJge3P28AYcfR+AAEUDLV/C2fpXqLSgWOmu9r + XG3kHvp80EYm5KsvpgZC8p4JI7tWrxrAjIzkoKSwofmCPrN7CSxI1iyvx2q7V65uEtjah70oz3Tt + 0booTlg2MYwAABbZoChPDpPLuIf+tw27iIMApTeNd4EqbnELY7kN6PwwG8sKnEn7zuXLY1JANEKM + 59TklB1yNrf5V5D7YNFHfAqj3mPkhmYJyv0H7Lw88la7PqvJ8ftmtzxDf4MQD6BNjmErJDQyrz47 + IkicIzSN5I22XuugjOB3LePr1s26KNAkvt5rVRt6ikUmTqYw7Q2GT0KZPPh+g0A0xyVEZsbxDm8x + y4l3h91jD+CJayVjNNVIo6HmoCG3SuLEFsBpMtw9mJe9RbQykktfEH9ZXDao1q1Ci2G5zcwBVHdY + G6/fWw4sVmcDBfv4UhbScDBns16x4CJYry5Y7mrvuO8md8TnfsaI/p/FkLNGV1LRc7N2ovxjbyj+ + nYECWaplOp6fZDNNP3Md1VfYuslvZk9N8fZFuakMuusj8FKYHDPBkijABb1Lkd5SD0rzImiNo+hc + 0DkgMBol9Ehk4zKrifvPjHNhvA1JcFgBSxD7qYAhiwxk8dOMHpVO1M8skuXziusgP8r79vM3K1Om + e7bP+eW8lxrqXPh9QebW3or20D2UZi27Mja+P1egrFydXK2U1tegtkadRxBfA8sYCr3up9vg45S+ + TXPzpc4g1/hO6nekC1fwEzCGANo+Mb9wpinSHxB5ZCZ1FZo+NCiEkwkvucHgzZCARxCWByMdlyJP + oUTnhne7C+vH7gb2lbJwCnR1Fyc0S9YkJqHp87Iy18MM6/uytQXaY8JSzMPZr/WHn4ptsCEQ+Y6D + dWzTUrpFjTtGQj2NW5siS8p+tesnwQz+P7UZaLjAs8KUiWUwhp3Eqkk3sPe3aMAEvqwZNDYrC+bT + UHojTjSMXQTcCp37wPClFx9fvPqa3SZKK+PFAHSM6huD1iBSpZj1iPObJRIYH7AlUAa30w6r9dE7 + EgKJLnynSkpklBlFkFy6/Ro8dB1xCbqB8BemFlmtI0BfCV0b2FZr1G4fUODC5ywi/EzFWapayM8F + F5wcfj4w9hGefPZODgdxvAOrh33N6T6AkxkhNIRbgR8lJwT4KiwvjbHfgqeFyJ0OLYiMCICw1MI+ + xufRlL5Bx78X+6KS57YxL5m2LLKKoAx1iBP13H48w1mZ+aHvoUN8wWUhKKCZwY4WYpTW3ccV0HFf + fFY4sQnJxdU+i4GKTid2wTqdpT0SuN++VumYecJaoqz9nWNoOZ95KxliMuTyAtuKm3GicfpKA9WI + IMMqJm8b9xGwMD7odErLx4LGB0Lrcp7htNwKCxSIollC7bYlugghmUu1swD3l/aPlQLDfbKESWId + SxL+2hVQoWgAtWtWsGUNLOHWHVpe16zvUfi/AltWs4Oh5BGmwFD4SvNjpQdpNu7137hCxXUpzBHS + QRLIzxgdmrlhrbw5WklFjnRFEqz2TonnZQqAwVkqEs7DxnRTLFEQSN5PsQSKPddE5w04Av7B0FDU + JXaPWyWX5cgtgHX37vsjZUDAjjUQ0BohFP0wOY/7jixGroxENw7TT3HK+XoOepNeBIgYtJnLhPzE + YEnVfeNYixa2V/SIApvyex+O5HBs4PYvsSSQJkUxv0hQxzbO9Ad2ak5L1RtEVT4QSnr7EPwE8skd + Gu8gYI81F5QK5zuC51j8XUSRB1Y1ye0aAVLcicLN01iJivtklUVIqNDpOIuOCx8jJ1Ac7PhylH34 + tsJVXGsY7xLxQZqPP7WnuMQ7E3HhZa74wjuGGqDkqW3IrP66YO2qOq0XvSc7lQjGslTzIDReZah0 + sA2JuoD9719bujkcV1bP0mERJLNtTzGVIK/oCTZi9lZQ4nqpGzaKakMVO7odepsJ9Rn2nmfQfi1d + gN9PRJVcTN5s0xluh2rcx+KUlgPhY9YeL62yEcpBym6VtK3U3UUycKNFCL6lLvpGDkEXtNLJ1bOF + qh7S+w5MFE6iniD0CBbp4TS5luvTUR2XxBAhpW0RLwDR6WsPCGHaglWeN3QFVRXMjAKS6BLwWPgo + sWNqwkDlNnr1BR3WJUUB/sTxdmYHjEWPDBmiQ/SusA/ZJeJ/THD7JQGfKm8+TyIW1PjGMuL2u5bj + UQBdN07SGZ3KDBLO5Fol9pJ0OueC2B7e4NqHxXkssunfdb/gkiWs5lyHreBb/qjoW7an225thMNn + u3LhkXNJEUgeHu2+EULVFMMWxa+l2dgSTg9puTn8+mTkyvrtAIKAchqVwpLrFhHqwaqQacZFA+cG + GYvtsWeuvWbV+2RIKD0/OMe8APUnCq4qBa3FMSRogBxi/nmYyJ66+1gu9l9CZ3/imHcGpEl/lJJF + yS4cnldfqev+2PpuTejovoCvzX/8D9NLBsCQ3sP3r9IzayThvfIcBhwVcT37cnK5Qa+qxGZz1AIy + KkKgx8w4i9aX2PP5I3Nsz+6hwqogwDt/OHKktJAshJs9eOI6esQWpFZmbkn1krsSbcbov+GRttt7 + +Cmk1m585hlBbLc2/YUsDIePDingdJge34pBEAYsmj7Fw4DFWPWrGJ8yb03foRRZFQJZl3EdyF7W + YI7WPRQFFQmR7aSQGiXyfjrXmUsa1E5cqZYEONSY4ltMRzkF2xM0kfFw7HBHBgQtGEg9sWI5XDhE + 29y5HBCumjh0QrLvwuGnl0bvarxB/evnuaOIU/rO0/4wMBpAlnPo+y5HxInTbB3cX8QgIEf+Jy3t + +4tkEdfPXq+dSIRo7P5z+Os90bCX7xzYWPF/JW2nWGGEavzO6YDbKTcqFsIUdp3KnDsXbUJNWFQR + /ftRVKkugZjPoPyJjjMYPHHMDtyWkDfjzw/YWAaBFQvQ9nB3XXtynZXv7ppHNjmiZDBZ+ek4atVP + wzywEtIdSTNxFzEzbHraiF/C0ONqoXSE1Gnn2ladt+3ehOREbfbkKF8b5IdVFPGHKl0n1f4c2MV+ + ujyy2WfggReq7HD3CfIyFrm4Wdn0FpAuXuA2Fy8HHvS6gy11mHDpZGffr1ZrW3uGKUfCUauQbU1C + ueDel8WssGW4SOBGqFt+i7lHKD/Y2jiN89MIlbu+e6dyPJZshnE9WurV5eMfgf3OOnEO2N6GofaD + YGjnxfhc72ZoP7XqdwaPs8rGrkPHbzgCN1JvRAjznNmPpjlR5LurnMX4T7a4G+krNTzNZLjsZCmt + 1Fw0ow0AM068a2PHEVimwX9TjYZnaaVKP0nxukUpz1028/D7HiQNaVz4DkL5UZyKMqEzZOr6WvRD + grsfUANWrVNNZ1pDFkbWXxN57i3Swik7+nrCkExsD40bQtaJEZMAzDeaV2OdlfiWeiTLqaDlIJXU + sZlp8FViI2OJfzGSRLh77jKE7srOxQ+NgjMUthZEi+Z0MvdGqe7NCu+eI1zAWUMAl401DxxTvW3H + LkQdYwK/x5HI4dA8UmPXyIzc7ZKm8OhFNXiWrm6Xhi4YQIALD9zHd9MiFlWo4TpuGB/cUfich32a + Ro0rryVgcDcCMah/e8FjJNylSnm1hmLccHcU6daJZ0wStLnaLgVR0cZHR+S5AwuO5MPbueQIajza + epJIeC8IrtRbnIt7FUkpeJKpPhGw4n7lQghjOiBQras48nZb0p614Hm1RxG05FCkE/LAyTwaam2z + IxvhaV5AMnmJmxNxjtezI6a8i5DrHGOSOP3v31xkjV0JcD7WaC3eP9ztxsdT+8epeQnmors/mzG+ + LfrHUs86E5znofbbFbep6rDcLFEIyxjySDtgmO1O6nbU0cgB4WXVq5QiS1uPzC3NrTlFmhZ0j2gs + TdsyIdmSsu0MU+sEXwVJl92vfJ+PhWSTx9uJIW0VoD441lS78TOPcC278ZxUGEPY7SOaeDnZ4B8e + 3K+gVEFdctElCH5LgJROUmX996luKPVidOIiltiVhZ4ElOiyGeizlmCtDonEFtQ/F6opra7NVvMw + TXZx5w+diLuGczMc41GRwazZHAnz44N/ld94I49sgjPVv5ozAaf1rYdDioUnwKPYwwAkSYbeo7mH + hayao4aDN94MBxub7kU/9jRHcKE+g5tEwhuNWL5OdK8cBvh2t8vyB+ZRqQGpMN8HaWsqVn9c8JY3 + XBQUN9tXtlJGikDXIVpHlFdo64beA7ej4oTSEcqdUJhZ+nucqlINvJumNRd1ZY+BIvGkbsR1PDms + a1dByaykRgHy+dHqb2jCmv2QSFl2EeOPmQLCeofmkW3H44XIztwoOhgn7s1Lu9YBk2KjlntDJBpC + RE4zJw17FxZpmJ4P2lQo/Hsbqn9tIXBEEylos5txrw6WfoiDcyiJ0PrRe7ExJNXXeov748khGcj1 + M1cvZPmZjCaeNYITalrCNetnliLaEkpShiSI7RBep6L1hKimEJKCNxs4hvwarPD64mhYpDr1Jk1Q + 1iERiksSc7r3cTgFCEn4pGQASCGWG+CBwc/2G1QN4OjVZfswWHvKSJyu/ilCdk9aqbM38AjgTtrq + ASPfQ3nLJrAP2QBTrnfTfZbiSfSt7Fr+Ot4h3mKeF6wizl2Kb0ctj3XhO/0o5lOhjSsW4slIHT9c + GBuMvL5DQlbdv5Z/1toU2bqe+vxjDFXUUXuGhonume6sh59CYGEr8YearqIv+5VPTSgXjJPxDYgv + bYmOlgeUsROQx09Kb6sL5SmPGTY8uIMaXt4A+wI+yhkmR+ZCay9S70c5L3q0xWLd51y0d4VDkWhq + GgdeQuVLhI+3dVYivUhrdfLc9bQybHQ3cFyWsZvsPSjSzBPSd+H294sRHB4XgIruF10agy6GOd+5 + IyT7N179DTkhtJP4AHnRUByEQo5vabfu5RiJ4JJSpZ+ElBtME3dzbIXZ8qSkPbX2aLkQAdnTODXW + yCxh5P3fGretFCtFJuuxugjY5oS9hJNlmdbevIqD6CkEDuZOfrRVwuSJ5N7Oor/6SNN58h4EVl0z + lPlnd5COsXWJz8vgUK6EG4uhdR3qEoMM02L35xf4ZlcxRbbm0SDAA4E6328d70AMiAjBTiGeVKph + lpkgTYSHR8dnZImORBy4IotAlCXRLRfGL4Sws7ARNZ1H5p2gVtuihSu+YpbXbb9JhIvtd7Jm7zJa + Xo10qe4x2pFY8urDaTUR+aDMqnkOrYCZSJpIINnjN59SF5fr8+gwJoVUuyjQx/wY7kUTDO0ASHGP + qkN2W7DvFX1QQ96i2RxwvngUYIUfIwHXs3cGtiFr5G5S5WbQ9uzDhkvSjgik1V3s65wQ9UFpkVUE + 6L1VAYeoHmdVOZYJKyMYsjbLExJclHLskZy8KVfCZxrfexYZun0JkxlBVBU2gzVwaQIaEAp7f74W + PusyIUIsO2sHcuZ65K9DlKPnkDpgBAtf9Q9ssHi8UGpeS54YRMq5xH+Z7366IguoVtUItMH8Etaf + YsutZrMAY5+uRTWMIbuU6dVz5r5Zzm33YEjdfhsb9lwcsEBFuiRa/isQdpQ2G3btyrXPcuuy4rCU + kos2LeE/c7S9NIa3R/HxKzrdkeD+PVhtzyn3he1I+1OsDvDd4fYR8x0oDH3ahJvGTYsgnX4OPW8l + YVF76TC5c6gjbUNWnYjNvFWQNgs8ogxIDhqamZblvrb1BD8QmmCQZ+DKuB1IaGwYKlucNjxbjKTk + ajp0KR3IympIMOuYE9mxET4hUBIaJFc+hs1X2RqE2+RKwMuj/vepv1v6sSOOVC8r25yaapdyIuXK + TGylNRpHtFNLsDtSxo65XEVlfyf0lBVytn5NEsWIP2s6GMEe+h13xaw+dPjsY7na/Kigv7AkfHlU + HuCBShMxEwrjSlnqQkG9QSmGq19Vr2wdwyqBjpJGBknm0d+VT7WtZCVKV6xzgy+iKaR4INSEVWdB + 8bzSrPTbYjHjSSTzKAm9qaFzeqT989OeWGivFRRfwec+f8gA053UbTy+09KVQubIjpUXppRtQ8g7 + 4P7F3E6PUpJf+t68nFopX+ty0WIV9pcHiHQD3VyfqeyK4xq1M2Z07hIWszLraSMrI9HqBrREsqOG + ux0Zi+ALv4Kj+mdpP/DYoTqSCST5BVCEnMuoJIY2T6WYOgN1Fhxz5fBCpc7BRC5ypx8FZYl3Sdc9 + oWyyoN5nu9cpQdMQIHwuGnNk4n+pr87SWANshyYrq5+zxgp4BltX6QycBJA9hSOMCzJCq0h3Fg9p + 7Su6KAXJKqyxgspM+fyF86kJFPvUUy+q1dZMj4Ih+4axYOBpTyVlvYtjNOKgx8anqPmqgbIJzBRL + aq2Rf4PWBj2aB69ckfcyqyjyWB1LoUKDZ6fOjIOTckVdTXg2KbTGpDuTyAjpWKlEEzN1fOhD9fUB + pOtSDFitdOf3ikUI3YADuVe6dGidLN6BbDAcE5aeYO4gg7US65iSFGrk6qsRtPSkXK0NLTPwv0tm + B4Lcpop+LHDQZGOZgpv2DBm14DbQn2X9Dg80gclLbXudHx35brZek4rlkxmDmQ91RRkdeTOmzrbW + IKXCpDs7XPMLuUgrz6AXTwmi1tBnRhGwbtxJnsm15mP9/ITe8KrLTPxmVcj1WXEoMys8xddjhtAE + sqjBFzehpUNlMrCJOFYAAdeRijbV6jt1tjgMIaDsm27cmSlwwbesUtB52sFVtnmQTqgg8Q1asCMC + JhsH4dWXGnXwZG7X2EHjmjS2X9E8RVtwbOM9JtWDN1guCcfZ+T+dfwL43TzWlvIkYcGy18C9heEm + Nuv6JwOmfuf0g7y5Yk0JS3rMwqoI8ig5ApCt2IiMtkc15uPJgn/yC2GRAVpk/V+o8uUo+7ikMLDE + dlSbg6C0YqnhG0KGAvA36i3Z9SX62jG9s+LfZXOfKkvm60X8Qi83IRNN9EXMAog1iEwLiiv1arXP + hKF/i5cTe4VU2Mt0pHGfLwEdmaaR7soazwv+LvbB9UJn8uEGwmGp4MXQjvp2pt504sa2r2wYJTNR + hlnmCsPYrEu/mg9r2lxGBPfwk6EvPU0awugSwXdTA2LSB0zeMxIs3prFEKocBL66R3ERuQlPgQMq + K0iLWJOTD3faPrkCfaB8J9/7uHok+G/7EQorw2M3auIMhFm2W1KqjGvB6meUo1KoOmyHPUZ7nAZq + rVm8D1DvMhQg8Jhky8QgqYuYbiFzmy9Xe9zBY2tnxwUs7o3ryIYvQ2C+p3Fx4cQDbiMsaVOPlDWl + 4IwMQoFhbpkSqWqjEhwR90sY41Bmdek2WQBKhg39RxqG3MeOIXyR6dmj+HIebtNysipZYwDatYt2 + rXuoaZuASqiAu8w1bXiBtGADEjwMEwStDyQryUlOVjUqetw27t9oz6WDGvqYw4twl/LbqJubgSHT + IUUQomatIxH3Zh99hHhOPb1GoYnwvgjW+yXztd1Kgi1lKIwX0evPr+5joM6lR7bpqPh7TLmudo0r + oJfHaA0ry17DvdkeTZ42A3PQC8bcvV2QIKQpd2wqMKMwJtdu+OCGJgzbiml6caY0EdNafBET0VNu + z7yrXIcbAwN9+myaL00qQnrHjRTD+ZMMKfo5Op6D3Zr3SD0rc0rbUaXhObf+WiOA07N7GEh68DrT + ozlrxvH27/AS/O9/dL+HRHjnFjbygz2wIQcoEMHTIQSKaEyjKHZpuXxbJYXiO8RKylXXsHL5msEv + OCjDORrOt9b6jjUO498oHLZPL5ef4cvWE8Cme3Ni05V7faZgvcqFd3Z3BdPHtqKfstin4ryQlReN + 8BKv9bPnxfkOaPM722TfnDow9zHUcvnm68sbfrqxgrBT6o5Wv1QAqnfIhq69Kf7oyee3OcYlgyW7 + FegvoHtUY4bSQCMCHvhSoCID9YnmAhcUz6kw40RdJbJZImdkWIIESxRVQCNGI/rQEL2+6p+6J24g + FQUquDfke1BFzEBSmL3D1EFpUV08Pd2SrA2ZtAt0ISSfCtgwJsl5sf4irIGNTRVDs3zAw68LzWeu + Rf3ULciYT9Ddxp0vjioD28kQSOM8YiZ1kDTSGEkYmgPMB+kWIDs9SC1pKceBgYssfkWZE/nndniJ + GiRiVbpHJcRmEfbKgeuS7kTpRwJW9pRBE/rbBBh1HO7hrhc5lTo4eTicpVyy26v0HonQkoy1Vz3R + r9TXMhPktBgNaPVbWedIfZou9qBXpde/X8Xob1UQ2Z1SpG9izEp0D/D2sHtqVwjC1VsmyfibFmgw + w23vcfibSA2vU2CoIdy3sY6XA5YWMHiUkcBBO0pMQisoNywsYvqlQ/P593RCRu9iyPc43tYsM8XF + h1zYl7A0zddzMfZz4+iU1+fQ/Zw2x17acZOy25MtyVIH6wAseYqr83McFXF9+etR1DLX3Z97SAFY + LmVka/gh2oZ4bNpizqLDrHlXXJg/TW13ljKsWmpT5XGJfU9ZE4GXQs5t5G5fqtO3QTRHBd0rKu7v + YIAqnhvFXS+/YsqVhivlYM/wKzljAAyckR/cMrI1ipw/PiPzfUdaOTp8ei3vKGZGPijZYUd9sria + dun6BMp+SZ3Eo+13JOm5VhzPo5wBafw9l++bWvCb8s7mxtA0/EAQtE7bPGrPhrQnPzre+EFW+ZsS + hdQ/yGhLrJ4TrGlpfG6nNLLw0qaToDH9oxJGVOt5mR6eEJED1HEVx7TtX2m5mXkkckf2T315yd3j + 1zjNyVOwH1gPd+SljzKzQsUrDSu346YFp10cweMnuH63SmegbclNfKBB0kikVGRuob5RKd11I69a + RBK08ln0pkz9oQKryE3jab/voVYLE9WbvqslZAFYUXuCd8+HsRB6qAkJb5xBg9Z6UomkwibNOacQ + vrTAkA0XxVWLk7ioVvUquyzNixRh1ofoIkllVO2MPEWjW1FV0zBCLlT90BDXRwiRbYL+eYsQYAMr + lLD3KhZzQ74cDnv3WhQca3ArJfViBFbZK/X4GfUPzt4s+GxUqrz8PMLTGVW/GMRURhhkyNnmHmx1 + qVa2q8Rn4Y+j/m7Nan+zPxGVRcLTXKeEWpifUDpVN5FV2YpcSAMo1wF78XjkbHgKTbIjU3Wzx3i1 + Wdx3V1hZGeYd+Uzj/vGSI3AG7QB7ugnP4D4iN7cXpiiaRRKUCUFEqG9roSLDxxD8TIn8VsDj68Of + 4wQA8smQXvqfX1odSDjS9cpycg8LgcafKwqpY2EAWUWpQhnC8YIbYfiyaMQXeTfoKJnuK3NYta0c + dCkiukFdQNswlfKQWZz82hFmmHzNSEoYFZdOxn4TRSMQ4rET2hCnlDLZXy3Y4jPjJa2vIyCzQGcw + fcd/NE2J7C0P0vOoVXhD+SSY+yeYS6WwrzalfVmfFxtZjQ15uCxZIuozxDbGKuXxChxVEFDxXH8+ + v5oW6NYRIIG0E5uDtqoUWvlocNKXOcX37nbEn4g51fPQPS5N3aoudvvUhYfPTZ1wJV5rrX2eEBTe + CpOJtdrdJPBoiZ7KVahRSuycHtTgkaZ4v2HdOM/eyk3NakUjCc1NTkScdU2LOLHhVehvpg++TJC8 + iOQ+JhzmP4mHvClgpHzIlCKmwm7BI4iMblbExvkEK1ELffBJjArmBDPSY57L7Jk5nSfNHHxzwkrf + XypBz0+JvBFeTg+VGO7FR3PjWWhc+9oLSpvKvmfESg5d2oSWDjyp0unABtwSLjBXAaDsu6OcZYzi + aElWugqsF3ESakew044GA6LkzcIRjZBAq0kQG6V0UubkpwHWgjbuAqo1v6jcsW+rqYlc4rbCbwl6 + IBMgEhOYa38ulP6ScZHsyJIOYf1mF/PvJKOeijJFrTpG3Tt6Ol1vUFbj8TXER1q/9jnhtfEG9ScY + dDD+VBvH8QkkoN02BRhIuzF1cVS6LWxK+zO0Ah4oZl1JjW0yxsLjUW22lM5SmZm0c4BCG/tfLZDz + nzqWhpzt0DlopopQz3jCKVBV61oS5mL22C9mYwgt9Xqm4qIE7hgCVvvKuj8ZNTnSs9Xu+80phMSR + K6BEmTM0cPBi4Lwgj4WafBqnErnqRhELgSdIYzl81TjMYDDXsLrg9Ese3raIWAMaG55n8fT5avft + e6DUrViJw8WUb7QR2c4pNObWDFciLsIhxDYU/l70jljOSuaC7dsUV0OEX8NKSetuaGPMuTMq2DMB + HtxsdB7R1bmdmNpzjEo3609xL4fNPLQb/YhVkxdcIF9i1hHI5+qchYS3UtAQ6ccHOkTjmfV6rz0h + 0c/QL+H0aTKboxQfxb9BBwLXOHYRssDTF1zUW9huUMVyrL+bc9sqfLw1xwSFXi3XnpEl4Mlk39/b + PTvd3cw0hTEcX4PUCABgllS37Jmv36r1PdGfAA0j/iHkpgCY7xyOEKfwq85Wn2Pt7h3jZqYTk+6N + U1uzirp+ZC90RlD+QFTHVORX2MjWQC0qBeSICJ58C2u6pwonxICdgVX0k4FpgDgq0EVH7ysdbII1 + l/C6iCUQiKCfzeIrJNaIg7FEm9CaCd6I5QkVKlFD3nZoBCUUGxWh2bkcAq89D0nsKtnzhT52rWFb + mCZUMj98aZ102n589PPEeIFbKBRQQ/KTXTbU7OshWip/qoHYCtoN2gR4kBzaEaKiXEGarbfOqaQa + yg6sWnbvdYzBEkWqHqHfvswljiqEdNz77CPqIe2xMY91DL4g1xujoOaZUTB8YNXkaU/zZLKcD9IH + IGtGtb/B6rWj6GqAm3b6bP3NlXtrsiXbZoEU++PzM1Ti3YtWummQs7KGcR4Lr8RJb7r7mfTXJ2vF + sQ2LY5i/oeloZ89BoUmfJWL6yPvni0OjhpPq6cdMOsRN7evzrzW277cJznKEP79SNYDDUkFeJ+KT + nbMTsYJK+V5D19T0p9WIcgqZ4VYungTz9l4dx9/lJbahk4EEPLjGepCesLn7kdpgbNhICGPEMqZu + 7y462R53eZ8+0MB6lYX2N+zrlJZXdcV7NpNw2+OzB2PvqUvYC46pkqPLJPvhyXW9GuRONHC8/g9G + st9dHxLCf24XV6vpxnUPjke6kb8nknJLjSyTG4SN/evhSBjCqErDbTF7fRK4GcXIHiqp11ALEbcE + AKtbSNGxBcqLR0aWfdIBhh7LFZ/Gv6V9W0JzXOEONp0mAEWqRW/AIHsEXiEIUl6hWMjdownaNOLM + PfpAMh30MnCvv9ln43DoOvpw7Mf4n9UHGnXs2PyNJQ9Dx6/mvhNk+9rhrkEbi1hBMyMq4MdcCDQU + 7tmqVmTn3HVsPVkhIYHYAyikR/lIem0t5Cl4lEHaZ61yhXNNKfQtehu6cM/QzfpDFHnIBFYlS4TG + zCUpbuq/EjhTt2NK5cWN1XNzhGAieVhw9FIkYLDaPIqmtKKvZxjM2SWpl/10wbrgTXsHR5xvsh/h + zhnjkLpv1Rjx9Zvvhin7bQuZCwqctmBz9TgBEsBwuffuZxrOLZF7oLaAO8QmAlaYQtzj8JQ4Fqrg + g7g0G6LUVs2dO8FYUjyzZuUQmz8acMkpNln5s4eYO/OiRu4Dbwt/AjSAisdXvK3R0080GG6KIzmJ + LcSYnnBwRw6e+Tsw9qd5eIwYQWKW99kF9DPqijyno718Dt/KrI6rmUazsYwbD5JuGF/AtXqsZ9IE + TFKroNRfYLXMagcHYYgAjMVJecCv8MOPKFAKXCX6Ew7o80gSDwQSb07BFl7pXvyWyENdHFFXb7Tt + SGPoU/KV2xowpoZAd1miFD+hFSO7XIpa4jyCCk8P5+sv5QRIdmA024TG3qS/B57IAKaA2Lf+26+f + +V8BtIWHDtOgNKotJ3xeV+529QIDemvLHBNlq6MUB9g83YkriqOcYXmrf4YC8XeE3FUjccZBjxzd + 3VbyGp7v1bTqOiQv+URt/LuEN/ZnLUGfGSnh6rd2D99PEc/67fZeJZ9zErk5oD+BqtxAsQLyTWQB + EiU5HcFZSLQfTz/b9g0E93zryZMF82myl/uZNE4nNwufa9+cSYh10HlxgV2EcjIIjdPoRNiZa6xW + FobzoslNzJignXnQWayOL/KCEhKr/Po8R76F3Bv+VEGCRZJfoWHjzs4SEw7+F3MkFR/bRaWw8vPQ + bQUvDAxz6j2WnY5NjL0aMEg3mGK4Fgb77K3NenL90BwVoEJvscuGW3xrTH+t8OPrTFTCnVufVrj8 + QvnVCHAZtMEZl+9e5pEYScAAJYZyWwH8D7VFcaYBrd13MTbVDS7D/pfh0oustBuHxqDi03fRSG5K + 5FLqMT7UUnBzajzKTeVzjNMIT04gJiQIZ24DyQW9JT0r8Z47FV66tKvS3q5s76ZMZzy56gfKd0+g + 24da0e0wEFa7AxGMfbzU5wF9nwdot4HSwJX+39GqLWaFUKPgk0pCPrgMhbZ1Yg5b4G2B+zQopcuo + 6Piq2sFwTTTjYVxGoNPP/Y4/eEfxF/kxjwjGQBRoRJWpQU3HF9mqHfD5ZQSsDwZ6n38ioAvJkfO3 + QOqUHmxiZIrMl9YRlqclsIQtaGYFSSLrtekPAuOTCFY1TjWIJX2y5TjfY8LFbFdwj/2/ky8r8hrx + 5oybDG4jSCYegWlldWlLVGBI1/2OU3Z1eiow4gxV1TKVv0AEWV9pN9OghskE3m2P7h9HkM2FQUMm + VMrVpxbhbicPZLR4QquqLGo4o7plHuNV15NmUrRaT9vT2PQsHadpUvXbpZWuPuJqPDZcu6Hrp0N3 + 5hGNd2j5oKJ5DEBqA7W52+a0e1rG5ffOC88aI8umnfZQB+5jKyep3eULiBJ/ZUXnt6Hg+5kLBb9K + dzigkN9Nz6egT0oxMBVIqZu/+f5buDIk+HEaTG40vlYjcuj+MKDeQgY1z76jU3fJsC/1kOTER0z8 + lUUA4u43YK93Edi1jvBz8DxmwD/IA6OHGG855qGXRYIOtoat25lAW/SMUDuHCYKApdujShOrqoZH + LCuFUt1OSYoUmLjvAjhZcKW1B4+vSZustY91d+PtJMq7dRRRKazicc9onKyorjdH4rU01Vz9GHTC + AlsTvWPLizdKVBQRk6oUQ0FheIZMHKIDHw7nVJzQJ31bDuIG9ywTJ8uxH2Q1WajMZpOYupHOwEc1 + hEB9SctdZ2AulIrNV+ZO5znX+W/INn9IW6oANukNM0JVI1CR4ZkwupqnW5xYno4BEN4jKQZzqb8U + w4vb5Baw+PaWUqAwH5lnooteNEQbE/gf8REv5cPXh148e+hBMAiidOOrAPcyJQchTWgvmvEzPjZI + x5auQWWXjhQqrpw1U+gXKenYvRQrhwtyVNhW0sdRHTumiGhcaDXNrKvjN4MhqNS76TpqWICom2XG + nj3x6y9/LD1cwSStW9/UJ/24+RNjF+OMY9zFs7KB5sXZP063Uuxdwbz4hXGXe8zrT83gewdpZwaa + ljmybIAwmvR53RSxf8ODqM9I1JTMBPXhbf5kC8xg4DW5McoXFTY1mdkG05jlXGQOOhB8iP5cFctq + dGGxdcWeEQBcw1wfwCU9jkzWfYC7tJaNlvWG46vbKl8tSTHP9LGffX0daBLiBTMPbnFV48LbEyqJ + 8rKvZCJcr/MJ6HwqeY5y3JxJeK/UTzW2aPWRK2GQPs9Yepgr4AxESoqb3W63qSkEXiZGG8ILuoD8 + su1PtR/bXUFbcz5FPDyKY7lZ+GKU1ZKWvyEWN3xM2dO4Mu43DButFcD9bd7gwZmgb2sA3aFOpqgv + 7VBYkKfwFVlGnzzKjdUCg1BAKZ14nQ7WT77HdG8FLkgmRVd/sqBp9Ih7MYt7hHsDsfcRdPObYRfM + TsNVRYOrzfco/Sx8cCh/wUU87CMRZruOBvoSUBLrpxrsVtx8lznLYFocFwiwYlavf32a7HXfCHrB + ycBIciW3nJmKl5udxpyRb8R/jTVICd+yUK++OjaRVKvotXOSQarpPl+AYAhDGLHpIcZbggLXkYum + kdgMeZfmoTqtX+7Q29+p0SzfmTUSIUzLGD2mg0R0gwDeaMY6clqID9mCIgvg+TgTxfOR2Dok9kWy + MbYw8GlthsDepchZOZ/92ZFcWSNhW45bt5XwfNsSczVauf4hO/t1hZDJHCuYozgSj5fyxorrCDc+ + Y23Pyu84rV86z042Q/aP33+5jgKPdfjlr8OGaPhVdHMCuF0e/Ns0xzpr5S0YFTpSaOmDymQ61o3c + fEyfskEMg/JT0UK/8rZIcV3d6LvF9Nd3RqPXu/k8OGbVYwWkj3LmhAp41mmp+KNbZhPLhjNVc8D6 + Nq5ymLAhfzbA1uCVQmhqz0B+SSq6HRwCkbHsDQViFJx6p+pqKMhDL6+2YgXcsvqrhol9LUD0cB3P + 04wLZ5V51ahdRe3Mcju21u57jRa2G2KfxqKb2KgSQOTYGp37GJfHxWHUR8KSanp4ZlqrJ2ZPrbya + AXTk7Ze/rZg0Pk1iI18Jv19kiz8eoY6CZlgynI+25ydkia22fSY0vp6C487RDXdvfy0aNCJ7Q0+j + 5BSTDGVn+rglFDvg1JKnV+N2rz5QH+jxlAgU4sKvaNchFRVCjz2LV+Pay4NppnhWumGmxmQtvIb8 + 2TPixuBWAFYBOWjKszCHicJwxSmohKf2rmipeG2Hz4ViPG8IsdmpiZKnhWTEpbiODw069+C87Axc + EsrT1Sg3vBivPqpG60tCaEuo1Cu7CSh3ynwwEk2AuG5HhtEQW+Ov1tpTiaqnBpYhNnkZuY4nTfm1 + +3dVZElV4YmeJwtNYFqX0c2ApDCpKwcaDusw3VpVrIIq4dAPI48xmbBaOHDX2dq5dXp/vH47E4rP + IY+tnBCsvlYx6dHAOSu1vpS+qQd+PNcsnyv1Y54yzAJB42bdsNv3NnDeoVWHMoEJAcA203ZSQBj0 + bfe8OWtDkuFRQIBwZqH+bU91A9m1kKQTiCDKT+i5AZj3lGD9JqXWYZhwVLvJDURUAl3m42vVk3jC + GQOuqdoWuxmnQEaGim20yeSDKYf2Y15RHO5tq0oTeDm+QiFc0lFOfCV0Ifs+Er40uQ3gxbO6x5FL + JfJsKYNQm/fmjpwUl+FsU0WXRoQE9YkQOcx/bDBhraXi1fzI2LU1AOeUhCELp3cX8OcjY6yo03hk + lvhuiAgDtV02cwWdYE6zaLEEI1ewxy6A8wK27P5Eh/SjK74Ar2iEjI7JuHSuaE95A8II/e4gvS3N + T9I3nKQ/0CphZY7kL0hXmJ+uetM2CaeZ0S4j4wC9lntlOQmHb7StZmQH8IUOO3b22zmQM2kBHSEK + vC/82zvrrGvqU67BzqA7GndFPbEilRmatSWAF82iMfLNtNUyZR4omHG/0MqZwMirBfsQgRjuSqE6 + CgRE4C/2VBqJY8/Gf59neXSD90UDl+ZmaHTthT7TdrmyXts473DjuB7clOCP7wzWfoZkrIFu7Abn + wLaV4/eAzGNroR/UKjopZb80UqERK+jSSPghjSBzyX9MmkryJ48jnZNm9tTWLheF96hQUzqjwhNm + ysna7Hvv6KYPROsAtwVrREeGOQLTV/O4prkTdzNntPq3YD5YCG0lBohpK+ud328wAjHHAHEpY7ir + 8i26uN6HKRSmrTDEJNJTdGVIMlFH+V2jBcEJdGpR0q44JGmf/LJUZVm588l7494+z+wFYore1uXz + XFnyCdCMBzEUYyb7tpHMO4wSJriyyUr6ztpNCk4sMcdabSopqsjsPeLNVXqS2thbtGri9OGlOkyq + OJ6WIq4VpIKH33kvtopU8KmLd7aqnJWtSWEMHtK7PVhRKaSrE3j9UtJdVfjZNKlMDrNYQc7vcUih + 282LjOAfbhhf5ei0pBvUk5YPZkaHlWaT02MEAsEdkJ0QZZvctJ8p23jJupuFEcKsPJZ3FDijLfjO + lj1MR5q0fbomw+LhZPk5M2R9s777WAUD8AUAh0CcfJuLaLaQkvgUOLiSiSsNvH8sLjXBt7sWCtRY + UieB/syysfwSGSjL+njej/c5i8E2ZIaJhvfxiZRW0jNUFUD6+wr+fz9FD1kbfkhdK6OLKZ1WAlzu + qrD6C50IpnqmprANRgrnQS9U7Zds6iG0spfHLDj8iAvXQ35sygVotCl3j87EbCOh/KDy1Y5rLCJr + cnbQrKrVHfY/k5TlFp+FFo9t8qNiNuMzKousLMpY40iLvwocfsHMx6bdsOGWfrqJNjUZTKTlmAJh + oGU/vK2OzX7Xt5hmNJgu2BLwLGIYdADLybZVpspJ08FXM+JW3sbLbGStOvR+edvVhJayzgACzqdW + Xx6k/tNM8Q5vBBlZQ2oARFvrGyzmIkVxBs85YWUx/jgTplfNbg33JzavMDIvmcux3oKafr+hvlL6 + LhbUlaDsIkedmHfieYAPRCsHKp01Mrl5wM1arh/LW7Fv8RV0LJu+oQcoB5FyTdptQtz2FXq81KkQ + yG0cRg0CQSG+vg8ug/g40JkBmZJrVkYC5/6D5gE9IIZo0OmE06iGadZRApDXdxlgDXasGUPiAZ2n + arC7/BRF4NhyUVyzVLbk6IlF7fUyVkUOMO1hiOeYZF8pGzFzz8U99WZ+JjAhJ8rlnQDJfzsGKoj8 + jkPU2Tupma0c7nqjO5kGiicWGFdTSXfHpQogpLxKTv4sdAuA0xFrm6zdiRStgP2y1M5SxzI60JnN + GenIaa55MYk9WSgCUo5w9AS+J2HdxaRbqBcWasmLFPScFA/tcjqWU6KXtl1IeYOoSVdEns9zL8Gk + W4PtPkDb9yoiW/L9F6eY3blyuH1oTU7azMBMQmiX4fu7gr3e30Al2GiRH5q5yLsfITDYjo7URI5D + Fe0dmXXV8xzWzq0G/GCp20YDPPJzGn/7qSflE7qjz2sKpSVXdZ9NQ754lHRFOx6A+6PCyRjP2Lmg + rw41gG5i5AgMwPD3hCoMWSglbg9vYN8JBWag5sgPUeHui8m5JNdOTZOZCnjHJTqwUth12/KRdK2u + xUppGKRau6ogfm8C/CLxqpnRajy0GjLP6hgpGxIc7l3lb4U4QPT2sBhMzqIwyI+jqO1E1XbIp3me + fPbamoKHDUhe7GxC7LkFERPuHxAyLFZIfciLWr8HuuEVIk8RHaYaJkVDRiR64xQpodwKnaUGTyk2 + j8RqSbPclbu5IIfTl67zeZyCe5ilv0B3g2Fw/Ilajwcup1bkENlhfUAz+zzTy8+7g4R7yQuDFywi + H+A+cIA/JfuBHnjfWzaKGRl/jKk+NY8tY9jgeNb18h2sbTQx3We40zmLHyPFOSoVJ0aNp2eeBHAR + D8EM6TEm+DX8oJ+jT2Lzc/k5C4LB418fWCKel0B5mmOW6nj524H679My9HOhF2CRg6f+i2DUeiXq + XVzFoBx4exKuBhA4mWmZx8ru8LA1ihwpVvxG162TTIGEzmdFoyIBDXu87425XeFHyjWq/OEu1q7j + sqS4enJv1/7iqio2njy2pgjH9xRhfCvGQ5unN4b0rKuZJxSpEUn6UtWjzPw3dZypsl+bwj822KUY + IjpFaplkeVuci1MhtyrHRHx6ZHm/vsjHPve3PANYYg98/RKUFkCAJbChcXrUiY7IkTHoZzEjG3e8 + IYjPu3DGwe4e6kblJdmOxCU91K7aAsf0ItDf6YmLgkVCQe63x6RFCZdD44xqUXfVNwDohboLGCRe + Ts3NSso1s8rCFr5Tayblzss3XBcAp9p34PWa/MpQojDNZCTnl7iKTlDaHgdcM1S0EsspbaESrHlg + rt/58prefgisLIqrmOZiH/qtEB0M9pOxQSVpCQuk05xXgvKFzRL1qYXLY6vzf2O1ZAhrHocDD7iP + 0BytyvKeazg3zwYfbDdNk95IAKVZ3h0zKKJPbpcb4MMKMqRVd7mLG2JHR16y7rkXgrk6fqJbb8Di + T2W+uHOCcMXu+NZZHRqvH4/Dwc6x4Dq+AFpD/GAywlVOzN/6AcAKByuepmoMfLE1oRNMADGfTY0y + pNEytPKu8NMSDTJmVw1Z4yF3aM8jQ+8kXN1ITeM5UUvtBJTWYHhPg6Lw/kp7+3xYocVWCa2DZBvB + Cwob9KsVxp7M4Ha0+6eeYOTqmqxaF9Na93T18A6sMvrCAbMJsxZfLHyfhIgDDAAiJw1PosroL8Hz + bRIkB9zpGiHF0rPvKu66YVPrz1OUYweQOqN5oJgdgU6agOAAZ9lygm+voThswxlVirPipU6M9XcR + /ZKZ7waeLfMXtAZ7p1NLwHr3JrBr1nVNLH6N4sy1xZ2gY1QHudPdgN+CCtACq/RbfGst3ZH1Px2R + YhSH3YGJHFNlI47G/XyxY2DhWrrl2VJECb8Ujzrn8Sbby6BPqHVvcFu65hkl2H7OxQkhNml/14RA + nXqwC7l+93Qg6wTMQxeUqot713oFaaJIZmGugwKVKYk4EqQEiAnphmWd5Aj0weVR7w8cVTMGdQxM + t3BslPg28Np/i+dWQAjQVe69dgzjDPl1d8+d5AR5eUbNvxQE1cXVLmE65N1nHRRX1olDHr8QrTFu + p+8RYhexwMPqgyS8r3sBLPG/q6wzVufPGgHu8OlD3POWeAvEoBBDV+Oz/p46ow+g1nO7Fa2OMePF + zqMvRhm6HVM5rWs4Mz8fACvzE0dcbuF60WQ0nDU1foYwZxwdydaohsZ3Eq6RLH+kDB+GGkkfpUFx + sXOcdpJC9z+y1PGf+8GPR595tWVjNuwGRBy3xUUTTUue2TbK1E0c11OaGEMkKgIG1Y345ozeT+Vr + LEtjwBrHlvalqWN/9srYNqyr03H2Xdh4X/HZdIKSIDLFwWU0GaL5nkFlb6MJC4L6cqr7PuI2bexa + b7VUJQvlyI7oO7ur2vTujSNiTouH8Xc2gA9jUjqgiazxWH+qFyL6jCL3uAPUrjXtV8wPuTozL6aq + 3ZTpnkq+No5EH+JaJ77Zho8D5tGw6vGER2gjcBzYWkUcpOrkIBa4roi/mj3Kh7eJX51Ve1op2jxE + sE40mUtDsIV3iQXqe5ISj64f9OZNn62/Yj+OPtENmgNYHU/aPz/NaSTpFznCtfM8ZWCWmNQyCGG1 + wxs4a9nWS8RnjUgeqaaaK/2fwV885juYXwv4iP0dCqxMr31HF/Bi7NNPVYB3Z2JVDV3Ot/dYClDN + fuzCu0A33CXfG+7Fms0XDojRbkD7n2pJ+X24iNXxd4BqBifNcNNB/BsMuK7ToHUE23jWhKeQbsUU + LePZLb9mtahUqh9b260wZwmZQAeKHiSOAHx9Ckckorty6XYazFdbE9mmuNduEslConHGdMeljPLa + ORmEA90oxleiPvH4GXbqzXf0oS+/UVOZjj3hVB+H16TqL+6P60VziUYodGBN6iNxda0HzcAhcOpo + lPrp0LYJW2dIqzONCVsZy6IDoebh8NuVi/NiJWFTBbFZn+53qXKIFktVLEcJGKu0ju97NnDOoPtZ + l683G1g0rqKK6bsXJu81f24TOvzADkfSvhNi+R3BQFb421e5FT59bkwafW5Zqzjem2/v0EazQ3zu + J5x5oDCwCqTTH+04l43IyQPx51UsP78rmRdlUngg7FgLP60oRBpHYg+kxkEfbRNTLm1N1Miza6nX + 51AGhUd4T6xOdrTlDNuWVz0J9nRdXtQWxS3bMBJRa+KW8pMjgNg6NndH7RuJvyHSrf4U04DcwpH6 + BQWyFx2MAWukD4pWA28R8plKnhCPFJQg28YlqZh8quM4fF6yGp3AU06ljzOiQEQ2smEXEtvnz0su + G+7P+pDL1jCKajI1dGn+EhwfV7GlJ+fPkMICAAwBgCxe7bByH7htPMj6amZgBfBJN6RFxHYsMbs6 + snXf9M5JT19k1CIi+KoO2/FzYAGY6IpKC6WFL38UihPoGUMjSzpfuAIZaUYqz67RqemYUnBrLMQj + s3/Dojfe1ss+KKZLPKIsabF4q+edhDZPNTu/JsZnQOsvNzJXYJzSGjosCw== + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/1048576 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sun, 08 Sep 2019 20:10:35 GMT + ETag: + - '"0x8D734989BE92077"' + Last-Modified: + - Sun, 08 Sep 2019 20:10:35 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - b7cf98ee-d274-11e9-b1dc-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 20:10:34 GMT + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 146dd02e-801e-0027-5281-6685ff000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_update_page_from_url.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_update_page_from_url.yaml new file mode 100644 index 000000000000..9f5c091b4212 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk.test_update_page_from_url.yaml @@ -0,0 +1,5551 @@ +interactions: +- request: + body: !!binary | + 1xpq1zSHFVCGUokfQznoLPzIHOW1eZ0RUFt1BGX6qPrfGSMNxLiDrNFreCG20TcQyWN8tXVpJuxZ + 55ZMgfR7qRvPy6QLEOG54D0WABK6i4xQCvTxA2OWnfQDGaO3wUwpUItgGI+S1w2SVfqa37eAYlAN + BECuv1OOL6AgOF2/eHrSzxblMTdgla3oWC+r3bHgu+Yi1lHaJSLEWY7I6jaEj8+dqLjEp+ACPgB7 + U3bw10Bja+Z3a1Zw/If9wTF0GD2A0i5EQXG/uKMjFxj9DTEtq0qs4Whw4RRtw+39HfFjkVaTZHxh + Wmrhqfpkn/zyoXlP50ZK2qKaKkZd9adEuuSUBvioNP3u1BeuGvgBSVPwKNXhZKQMbOlHU96SodL6 + bdUtR9Jfb8bYGRGj1ieNDD43NlvJuX+R6fbeLA7yV6LNZsUi86KXEH6RsJBuyh7Q358mM0hhXcrY + HCY+pb287kIn7IyYR/af3qKWmkEsDqiR5DFvBPkv7Tz7s5Q1lmRKznq++4wqyKjDfZ3gbYzZfW0M + W1EA8G92DebWbHWUinp7TAYYWpsEHMxNBLREsjY+JuSS1EbMB2Z7HvUaMjoNaYKFJRIlZzDYkGn+ + yHUVGdwlZvhh0G9NZLgjZC4wjZr7bPrDnXp7UWpftNBcPkYIDH+51iO7CMQrpwlXTLIFfgn0OtC4 + AKhFyLpJF4gD2F6+EJTllcyyew+9yYZ37DRt5C1yxjiilRmWKoY9j8643fKGfd/pvKV7mYCMiQvq + Y9nvlVy6lBsjuE5X5dlQxDiClTV9bFo6r7N1BVh8aPaXeQcDxP6M1dMY7ZodfkYfrKG/OqN80YYn + uTk2AC3Lgqhdw+O+jqE7V9PcjpbFr2LX4J1uWllOzZkkjwDJXRe98tzazZ+muOVUKOrxsK9IaDWP + 1CET6wTG8cJnqCWx9+hES0MdzYCVjgNc70NrqbKNQkH6+mONE4bRZoQumBN61GBANNWtK4jYEDdf + ecmQgjUPPvJ7CwxM438bzBkrmeCjyxohfdI+fAG0QMoscQm5RbEBSo1GJuqaiBWKtpWFkWx2sW18 + eR7BldPjlMj5qlCt6+hGwFpuhb9mzTxGowhwt+lJSO19oKaFXJF5v3BannWRpbxBRxWfOux8fBXo + BwhEQvpV0fSe++7SLhrq/IYLrg+BnaSTt/FLylYiUioHQzFOfdSvnbcEPUwVTFNqpqoBL3yl4gJb + pL9FhWTHcWoru+7Cbg+B0wSAfiXdmCjT1Bp8htS0O8AtD08QIwpfO4bJzKvjmzj7K/AtGfe4m1LY + M0wO3MQSggHCDjw3CyRV0cDgElNc9L6JP2k92uuO13AC+Nhn8rRcGb8tj4DNDzS6UqYprTNvOg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 5350d26e-d27a-11e9-9789-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 5350d26e-d27a-11e9-9789-001a7dda7113 + x-ms-content-crc64: + - 1MktTpB7U8k= + x-ms-request-id: + - 6cbd92eb-c01e-0019-7b87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + skM7sKmT78x3FINhwqOOFCJOizrYlBjeX54w7bNP66WcMQeRKm8NUfVPvVpFSIfOxvDyVF1C8LCo + So6I1UnNXBa/u9/Z1hdw7Uas6lYyUTVtj+alzZMYaddHjP0tn1MxX1klMp+VXqCa7ilIvc2gQx5/ + dWhH4dw0b7oFk6BZeLlkupLd8KYJITo+k6DQBnJ8GFpahIfpFw7zeyzes/WrbKQ5e1QOWYxT2Y1P + aOGpTT1jiZNF4u+wAtiN2SEDUrGJPWgMsMHFYj7W99Tzv2h7w38lHy+0MNBnDd84ub2oBq8ij2Q8 + nj8eGRAKoND6vKbnC9skrx6HEgCrMXconEWTtbAUsfFuIYGOIHdGX6VkUT6dl8ijCtumdo/aAyGG + xlRO+s7ypEBfUgM5AuEAcaBkjyYrI7VJBUkZ1JI7N7hpBqt6CXQyU72B1bvBTuFuafHWDXQllEQi + B5h4ajbquK/T4qL0a1wz1zUymFKqGaJ24hZIvSdTj82KXnsYqzFiYFWoFsEmP+1NiNBWR1lpDi1T + 1bq93YEVNv6TjPIVhZ5Yj6zS5223QKlaffyL7+kX3cwHAXKatiUyEB49sc83tCQ+5y2M/jOJSxfm + eHbyBjq7gXCGokZPBRjTJ+FH2Ara1ao91mQn9uOQ9agSconq9cqpSYcQgcss1LNMJt9NUVcVOrNE + pJUdOOhAdJMVIaW++1PwBSGoBYOs2FTj6r7Fwa/VcSesCSh6LdiwMnPoIKTsRhfAF5PGCxXLhz5B + db37T65ptynltJj6QW3vhZPJ5H1Mu3tcHEwCiz6ZQtt7NAfTCgcgRJN0SS6zof5qLNP8q2mbxQOl + qKngUdyckdx14wzptaeAmSBfA92my0ErGUdJJgNYX1IgnjIZ5f0pPU0vO80xflZyIxKNKebDi6qV + wjOwjh/lrxgOtzrPhObooTnyy5fwRbNbVqzcVGeKp7Rg8YRkmA63qCSUeApsBltcSL5LA2VWCOQz + LBBn+HSbvuA2ADRhApw8NNvs5bx9iejW81phc9tf4CQ6kG3pR6AzsBEJHjHfGmedCeyiX/p7Vjlu + Ts1sBhbCPPeFrBfORYDZ8+uYdXa5qBsK9LTxuZmhJB4KWq8IdykdyEdyvMSItvUWwEZ4rERouVs9 + k4TH/ibw8QaZG2uWenacdO5Dk/AXrW/97LWZoauVRZG1ds2yd+YwOzYiVTdxcQkKmIDXeKWEKUCP + b/NroIC4Gci3XpkEHNTY7D98gAu5D+Bkvx2xh8PiLY/XTEm8aoh6c7SBVMw5RAaygxHcbkPKab5U + js1IeZcBHSBxT0pKhJU9bETm9gC3YsSTk2qIGZ5JCrQRue2EJ+B1NtOP4JnF5viK3VdIt2v99Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 5395e0c2-d27a-11e9-8ce9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 5395e0c2-d27a-11e9-8ce9-001a7dda7113 + x-ms-content-crc64: + - 7/DMmO3TGL4= + x-ms-request-id: + - 6cbd92f1-c01e-0019-7f87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + cZzld29G7YZj4g+DYRLpBCBSbLyQ+ckq7ESpuiRYBjdbExzW4uDDv44LCaI9dhOKv162MECf023i + GK+qO97pBYD32hMik5qOMrIitxfHUYN7in0FgqprusUhfUnCd83cYwmVChdgIBKu+o3rO3Bl7jG/ + l8x7eyOTSawSlXF9KOZNXa/rHBIVuNrl5E0kbetmsod3KuyrP4JPfPonSmEWwqtUbMhLlPmXwZy4 + aJvpQo/Y9cP0PLhngmIn/pfQKWzZVuqAZIyWBlRy3LqK550xq/sTWPTxUAHAs8yf7oPnhWSpdUYW + MOPzkxORXwVBYu4FWACCreTL+ATCla12ma37Y3OdHk2knUIvrqEvuKkwrYc87yA+w5aN8KBeoYAr + IrL7qLP7rJWzD5C3nycYfHCayAzGSzqHlhQIY3FOnVBg87/D2qEoCVB0wy4J2hPoWIUwadb8FwNh + LglA8c1GiBZva0qxf4rQlqiorgxlx8JlNBHG0bnbcznewUEZKspiU6KtoqV/RRR1prhL6RPSgALe + ns/vucbn6LO0MrZhE7rA43N3PlJF71uSw7whm72kGsM7tF8ZKRnsTYrf26yoVyste3JC1tTKENpz + /Ikh+KmaZVer/krpOnj3c2QvlQfMRWXFGWh6rFMeU2gGG9P3JOkB+MKhGeeNqNYSMkBaniLZ2R3E + 7fGvG6Evb+cPfhGJMpAmMPUPjtsrPmf71hpea03iBg2PnUr62DIPvEDvRCjuSLFVAq74sny67brl + 8vRQ3ESvrruehmqhxGWXds9wkDbG0eTGS3mOH2jbsvPj62qp1NmvLaPC9AeLUOonFedB9mEYQrGD + nkIDJ67yUmUzqJnqVyqySMy9i7yWXGbO16/+WpDnQ7YYNYT1bfhCmRu6b97x2Und2/d22BQtFeVW + NbKOUmW6SFbnyvM2Wm2bMx0uVgCBlfPbGKkU4oO1CMa9WGd4VRtXfb7rXXy8P5Coy83epBL8Oxt9 + c+oK3/ZKpezAtRSS7ni8M+NKUhZ7UdGKRQT8B5wk6KVVZEb5FGn9YQa9GWejAC9Rka6zt1BLkmHB + A7Hd5E3eF+1mRjCCxyblZcDcXEbQuWYHQikFC2V+EAdqP1ji6ZdAYOVT+LAPMTQ6MoxyvckPZMBk + 5rnLC7Hcgox0dkUH6dp9u9VHyrjX9wJqZfi77q5bETLUjTHV274bVcE9F9qb1N/XsmyWxMtX9Gdv + bxOTfda0Pke/gMzCirS1f3tzcpnpoU3R6jGquxjHg9LIJdab8idb3catmrljDVgZnwVg9ZprAXZh + 0dD25rrd5ijb5PGpP+VlQBE/uyqgQ/UH9wp1XgXMp3X4ObFKLxpTiRuU74VFtB6k4bB+mG1Z9g== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 53ad960c-d27a-11e9-b48f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 53ad960c-d27a-11e9-b48f-001a7dda7113 + x-ms-content-crc64: + - GYp915rYFkI= + x-ms-request-id: + - 6cbd92f3-c01e-0019-8087-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + eE9bS5DRa/NUUThblghtX6NEbETqjhs2TQpXi8cD1Vws07aUpaweheYO+xwZ3e/pPJWHO+t+6sdF + PdDXcZD26hGVy3s81ikvicN8RXa19XHPsf37XIQ4t6DztbmVBxIeqoJ9XvzyTT3mj0WJgLxVLPd7 + f2hKN25tlmkVSHQ4d46CujSSO0PcSVezBXlyncLegGKIQvH+Tx+ydUvM/gmJVyCq1kSzw0nN+meQ + B5yYy0MtG7XSA712bCsQeGZDSzrayVcg3pQ/kx16JfhINXCZzpmXZzDHnLs/AGdeprxXosghfK/z + c+ihI39Xmdafad/jm+BQuFXRBDLfAQmdYZoL0WZPIBW7VRdMkysY+lUWtJWr5AtlXCLL32WdnNPD + srBWDLuutr9ODOmKSST3JZXmC0rOhhonwXz3BIS96q2LrAW/vPfyt9GKZpMhL/x4huGkYgzP4QB7 + eSpJhUF6Dl3NmnkLCNi/euXNprkEUolce44Xq1DJc63dd7nFVZSeKyvJrf4f137Gj3zTtoQFpwQX + f9aeyenV7tQvcf0sZ5i3PeKpExVQ1eDIrLdXaKkFpx6WmTJ5VuUkTxyo54jwRKydLnbIiMrmvuvs + vU5pq2l/IFhGJN8C5XcJwGTMXK0QpwGI8fOO5y3T4XJkgTIs/JBSkUUHLgL3bFNrKxQRBPf1F/pv + GJUBREprnve0Ds+preYUB1Gb1FwKhQ3AMCfRh2+mJR2co6PSeCy7BoH+T+UeRud4D6brDE9jB2MK + BkN88BUDsL9+mBHGhhjw0w5wrjiYZOZOREtgFfSO+gBcfaMh/MeW1g2ilZui64mgzOxDwndFU0lg + bGQ9IxvmJ9PAmurUt70bdmbogBm3J9cb01U5b3rdDsDU1TtlZzA0XP6SSQP9/AHG24pjf8jitohh + uWfugNR34pBAIRaEOZ8sXCNaa3QePhzNKR6LiE0Q+sSA9WOJgo1sP9gTyZlLvUzBKPbyhnFWVTTl + unEDSJ6BIvr8a++TifWeI/cTpXO0H3m1OPszYJuO/tJnA/1/z2lyMfLdrjBXubhtf20W8uqd15ej + Gwm9k8xQ0TIFk+zFJ8H2tWRUeDPLlN+kTz1G7d41UeNpNyhCF2+8Qijg3NrOV5muJrzoUJ9eKPfI + hjI6Kf12CGJ/uUzTDRQmZ/NctVkuRIBNiHgiX7co4yavjgA/p9fCiEYl/M9NWc7wP67jZoyzHkLO + tIgzU2ujAFbzVNZ9d2pU+as75SaFPq0IJSyaP/IcN5TvQ6P38Mw9a1zlBpw6sp4sb/uREWTbGUdt + emegXXcNhShXXNVNsWlFs8znKOlQbNCDUM9knXLVwm6rHkALH/6iPc9CsXaoEJyEacMdSWKFVg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 53c66ca8-d27a-11e9-99c1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 53c66ca8-d27a-11e9-99c1-001a7dda7113 + x-ms-content-crc64: + - bKN9/jwif/Q= + x-ms-request-id: + - 6cbd92f4-c01e-0019-0187-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + huzBdEH65zp61yrwUGxrB8eBfe0+PC3uxnzVEmAlpqrRtTfLtRdEltuDlBy2rLOkmqwaDOzHPZBv + 2kfkveThocTCO2k34bjR3JGDu5+GfimVqRu0VvJxJAxDzs7YnR3vPJ4AZDipZ94q+KANBXrjqh/3 + 2b5mXV672Jq3hb0J27v2TuJnEdYyxwvWzO8+tLjSEAZqzU5TEe9kQHKOn2E8Di1uz0dQ0sPoDAzN + g5Hhc2Wa74DCsvC2fxp2dsqeBT5QeMGjJtbxcrSURj2Gv1AhhQDlx9b7Vch2LgkqaPbiPGabyj79 + x+PcJ3XFp6uIsuEOdA1cV8Et2kZtuR43fkf+FVSt7PUDOUpZWOvI4Rv8qkJCmOfU3vTGOMSG8sHS + rUvJ2q+61XY0I6LNXoBDFip6ZacZ5GJnXyubzOpEaSYpYPpBSo1qoeNwIPQXqaKdvQTP2rLmhYhV + PqfrfGqQUvsC4GcX1VYgEgkoYqWlXujWyjBhK+R5+la3W7ecrOqrsDCtjQtE9W4hLeMJnGIG74xb + UtFrxxsN5s450VN8aXDCQwK0lQxHtC/Rnu24p98KgqFyKCoxFquvnsLtLxBZJK1S7z/uvG8v5wn8 + NsEENdikb3WqbWUSLjEB4nHJ0QScEi9vv5t5kWnKaj71Wt9aAuhruLTdjkJeAjmzInx1016M7D0H + 02Kt6k4glK/9hww/ldz75rocY7bIpwuzepxCf32V6ErFVcCdF+7pGmsbVQUMlzKavEUj42RQLizx + Z9QS60znB2Kq1lOewzZaGvSm/o9yINoNODOph8qH+FmIOeyPayIlegdaCqCv42PVxTI1EUdB3w8c + t4gVqyqwaLs5Qcv+nDIr/Ds6OMHtEizG/mwzRRCavcFtV9wU831O7PYsH8wmkYS7UYjCrmqKdpDn + jZT8Rqf2tyVENdLMAE5gEDOkdhaB7RhwH2tWHVrSNAWkymGAAND7GK/PLglS8aePBd5kVApiOYaw + hYCNVL9uQkcvZ34SjBy6XEzHdR4wauIRI1fb9vTstrJA2Ecxvm1lFMTkl6MvTz4G5a8ohRFAZR3I + rsXuFNdAO19qMKrk+NvjFpnoeQ2povBDfVPZTfe1UawFbqP0OEndwOBr9OXnpFWcr4A1wAOVQc72 + vjr2uDRFgKB+fzpnytbDchk+CkUuAbdNZrgmaxWANwNu2BYMj5XQx4KarcMd5CeYVaGHFHx1AjJK + bI1uxtCQriIFyLBbDIaaec6sJ2PNCxllwsk6vX15n8U8Z5vGHDA9xwyKfecJRpj768P4oAs8DI9/ + L/a/osDVGeio0tJJPIGKDTolMUaNgUwR9coSDCAdp0ViDGT5kC01i00KO3OFBXJDU2cNk4Ydsw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 53d813a8-d27a-11e9-86ad-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 53d813a8-d27a-11e9-86ad-001a7dda7113 + x-ms-content-crc64: + - PI7e3SVuKPE= + x-ms-request-id: + - 6cbd92f5-c01e-0019-0287-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + tmAdGXaviytVaw+stUu2UhuD7wphTtUh1BzXsOoztHGWAUShsA3GFlLEcoYXGFhcrg2HXD64/YX1 + CqWplbpdWo7YMTTX3bDTAA+I9gozrKfAjKG0WABdj2rbyoc+a2gH8BcGQEc8309Z3xF+08Foglxr + p2vUQiG20+ACupOWl0g8+LfPpnyrFy584XCLb3MpXNy+IOA2xoNvvSU4nmDAQ4HAHPOKpPOqdrFp + rGgB3KaePsSFtNRVkMhc+M4Mbr0/yCFkkO/ihzKqCLJcQG0dxN43kq42ksun4s2Ik9K92zIdVFQb + NGa1yJgP3H7wMtNUU9u+gc/5VIe1gepRYdG8sMj61Ou56U7TSV7yKdzwpl/B1qIsHKhmKYz3W9PX + DGxbnngWrNgNi8+jBFPUL+bjureWQKfzFuaCXFalC6C0WdmBKryjS4cI2FIJSlVQzMa0vMQRVgcD + s+5gBNFEtezaOhB15r9rCOc/rL9xF94xxlcOT246o+e0lLfS9UnDT6E0xg/nnJA5Ctsk+N/BCpzx + PKuEJGxeABq/fxf+ySMzGTlij+yidtIwCeqEYe5GfseENPOlJFRyhyvw3Uas8M9L8TlpIHd2U/oB + odGPA3defzccq8ib+gN6MWr2ucofL3bAJgcg5CuFCWM0Q81dY9wBVX7yDwYD0FfH3mOGeqWaGAO/ + 04Kelsv7VyCBAkbkZ0/bzwri9WWIGpjhLVzamXay/uFc+YPIbKsaQqIirL/hQ3Dwr1JatuTJ3xEh + LLuVyp6QqPNBb7dEjccnDdy8BGaQEuKjUFL0c6Eo2I8ZFghiRCJ/s75YnfJJoBjhrYNIp5lc0gLB + 2U4v19kFKlULbvl1fVkW8RMSqFXGBnLeJ7ztE5MZ7/4gE5XpGnG2NNLySQsp+mtbQ9hh54ZrQdn+ + mGp7hLCUwRdYVysxxXY7tU6aXeYdvRioJHA5jAhATOF+m90qjd5Pnh3sbmDULVEyu1K4Ntlck74K + eC8hrFP1sa+oiin72+1yxOpJXOawZRQuX1YAyX/RBopnrkwFs636KMHIppNI/lpFeK8AnOI6SxyU + N46ObDstRELdDkpylmp8g6O6b4C9KkjwulzUouxE/kOT+VNZzJkfGxeaOvnMFir+r+aBVsVt1YHF + iF6hIqBRVCDab+2MsYw7kWElcuEmaSHMdzTAYLczkKU/dGT9gF6VG9KFWWQrej6H3cD5TjaUkGhg + UaOwI45CUyuRnaKqShWZ2w3u4JfvQhRT2Sixy8i7qCY7q7wMiSS9uskHFH1YZH37VKzD7yOsOMir + m00NybUnmBqm5l2I3tyuG0FcJKgwnElFoF2UfVl95z5aotNhPjgUUvpM/V/YIY/kNwpWIulQaQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 53f0cbec-d27a-11e9-bddc-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 53f0cbec-d27a-11e9-bddc-001a7dda7113 + x-ms-content-crc64: + - g2lY6tZcmJk= + x-ms-request-id: + - 6cbd92fc-c01e-0019-0987-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + kHz0DaBOVws8e3o8Xks/0ZEcqic2wpbyCpFPHyFFQsvhLOwbK7uKJjQvmiaRMdzMLghrgrE26UdG + lrF+7+PcHcITK7NKCGVbS/32YjQqwsLJkprCWkcEI8kTCkM28VAuoBnuxWfLvvrVsDe99odakCKQ + 5dKr0ekeB+oAXv7BIGazwEDqcNX94ahe9bCWJuIk1QIKhrjc2R/7heVGd9/OVLuor5WK956h+qr1 + y17EnUbO5ha6CX8astlB+y2iFrlgcwjZmGEi7DCKotDiaDLXgSx/QtQcTN0aVshC5acL8zGwy0DV + 2oEemc1ANz92KSD2v1rRsh+em3vDU73iJpogP6/Snr5QPxpSK+dstY1OkehigGQBVLE/1121n3sA + +rYphFmgc4yInYFv0u05TzMQFUPlQNpG6091a/I6qklh1221wrw5pp+Uns6C4Nsc7r0aT6uTjiCE + 4uws+RU5gIz2CePg5iHKjJlICocxFujaeDOyxGlrcsfjXH0PIloDwRAsjFxkJ2HSI/TiHx5HklIk + hKWCZIaEhw7TQVPxfkJI22D44ulNAjbHv8DVdaBdL1UNVwkIxs1UrBgcbOc8N0HKKGSjRNVBK8UU + 4KO1n6qYX49RdcQrz5DDpgIVL2LjHmIgkdOtM4gJEo837CnU9BjnS2cq2vDCdfJACX+m0HXcMeLF + wqJxTI7mZF/Uyagbw2I/Mr2p5L2xwbXt/CMVSzkJ8gCJDgSTANdkSYTU7dvMp5GV362oUtmhnXrm + qAOuTPm80OKqLJ4YHZi+dz7gyoqTf+xp1iuF+d5fnEkeKm0vKoBx7TVYnBmTW1hDQ+E6WVvNCLBa + M+VvEh0mqp0lfXSJSI5iSgaYDSaCRIKjR1YBNySDaJgL7qRDYnDsspQGt44aWFiyQ/Z44QkgJb6R + oGzy6yPGKudXqIlc53rTKDTP/XETdIDerHgcy13WeEeoa/IqEQOls6D5fx8Cnwp2bun5hCjNrI/8 + gPJW+zm5zUGIDGgbIAMG0wMeQWssqpbT5orZsAkG512vM0RhJEac6HIVH66cixnqzFIvLXKePplV + It3qFIbCAHqvuHWUyMIim+emG0U9idf8WeC8TmMoOGVH8R9yxtnsc0QvivrobShqxxJv7b2fWP2H + zFFCd/gMmRRb+k4j4rxctOQ4TpK/UwjnFmkt3rwSxHTyDak3rdUSK2fdkKtUvkWruoHzKbtTzX8g + XPqiHe6H5NU6JqaYxPkLtOvAQhNVf8gPSlUQTdD7lx80slnegKGx76tvFvov7MpIYjwA2j3I+fRV + gqVi5OWS7OwZmqG/BCMWH4SDRA43OhyXtE1OonUzWPIRsoymmfo4FGIKuYnpHtFxwhUgRC7P5Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 5414289c-d27a-11e9-a5fc-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 5414289c-d27a-11e9-a5fc-001a7dda7113 + x-ms-content-crc64: + - EOJS2kT2SzQ= + x-ms-request-id: + - 6cbd9300-c01e-0019-0b87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + vmv98Kv4zBDbjik12MAR6n7Fpds7Hx4wysYFo5qYUgP7RJtnoica5gSj8TlfkRaz7lRsC8GBqz9X + jgUX3tZic0qo+Y77f9FTgRjK+Yovk6e4KhjutynmLnUEq/Lmnyy/SiV0V5+LwKAqkL8wiowVoCpY + Craxo3/4A5w0l+8Bg4RuaH0c9cr94dn8vxzTDvPKiWnouhNR5M8HxOIjIgS2R0SA2OSezuLC+Kfe + 41sTASUm+Vaq/IL1kS80tfgTL822X9B7RoT593vepg3XPFegZh6nRQ7aCOblVtjir8i9/hnsGOdr + z2gCnCtxRE+iGdDGkAbrO2sAy52DP51pyGQYKlUOGUNhdcUsItyr+QMFFF5jJCNMTjFfXAGG0qEw + OwaiglV6UB7J2Gqd/MxUkDvpLS/libbfGV/n7O9hmcOhjODkQeY8uJ8Fg7evDH+O9KgQ/KHtR6WP + RXIi9BuoRi9Ddh6kDoZXgL72IlsIZ/A/dDvnAMKsMJyQuXtIN8BCDtjGquUW+hCUMHf6Ihgpwxhw + NEAo9uLMLH4qVUlMzDYPOGyKz7/WQIc1qfEmGhnpkBFY0k6xGMd9CHo3dS29W3qjAXFCGLxanoxq + H8ft63kt34Eu59W4NJ0MnQ5EO1mB0kikMO00lzJbLEf4d65H2kXXFonssp07AeTayG0+uz5Wz3qt + +0I5xDn3qA4g1wO5i/lysV+Sr5VzPkkJUCEnQJO4GnwhPU1ldYKMm0oV9ij4ygQfDDHhlwKz9jm3 + gy46XuW7/PDkGUVOoggdB7e2vJWnThRpNEEHZUg+ILuhHuNjOEtdPQdCw8GgBECboaltWzMM6ZGa + AdfW3dciyHbuW0dBmB+XUwVlscqWkvu6tLrRk5zf9xj+x0WQcp5btmszokUQ72fC1rCvoROOIoXx + 8qA7BhT+b0mE2zwbCAocTgCKaExue8ICJdaJpd6BBYfHGjxWU13kmpyHqcXQK4AQ9Hwa73fjjACG + aeGcKEQPry9tV39S70UFaGh7uG1EuI62J8GRiOtZXYhAFpu6xFuopT+EwmW1t/mFMWblCR21TA0r + Maxb64SN6f5XPLNPHKUCPEGC4XEuFxZcQiTeQ14MpwAxSTUrkujJLzHS81T7ewDeVFi9wVc8noSX + vYc3sbt0H1ppiC1LTlo/FI0B6GN6uoMfR/S5+fm3otQCNZC+IZnW4Qn4Vob3Bh5W3X5o0BG9N5PS + bDUK9jwxzHbkTFQLTIS7WIMyDXsZHKEmuxgt1ESy3cPy/j51tm0IEaKGwuslvKeDdtO+ga/nSP0e + 5gfwhkMfMmHu6UxEMM5Ohu5qxi967vvWZlZyIzP4ZBVkjqsE38NjFdhc3cFnU/HwEou+lxYgCg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 542c9394-d27a-11e9-b984-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 542c9394-d27a-11e9-b984-001a7dda7113 + x-ms-content-crc64: + - MP0lcBI8VOM= + x-ms-request-id: + - 6cbd9303-c01e-0019-0e87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + UzkXWZ3dmHzNcx6rwLyZQ4Ff0HemfckDvt/rJiht5ViDM1GWARPRjVHxr4NeTlAPHgpfKO9BSV8I + nJA/Uzc7qw3lZLKLhYZRYjCvrBC0VMC8iohb96+xIqjvP2WgSlErpXDBy8xt7Z0ovPP5w1ESVqe2 + cnt9lcNIt4fjZzb6y5xZV4CY+0Qvsbw+6elbQvI9woLET4OHsSLAziyxHiLPyNcDe8gk91maos5h + bBaIfy1WAb+nG5E2fB8WX6MhRsAi3K5Z0o4IkdyMMWXmdXYV6OQvQNQtB2cp3KdVwkV6IPZDfXGv + ygGTqdUk14Kss3/cKKIgFXo6uJjWShHolXNaoRIt/h8ATijqpTtDDL/dVG2/+bgv17wRNPJI6lB+ + kRa1vrA+bN1h24VOQ44Lo3kVLtoLK1yQEuxg/WxiIdhRProo7Cwvfdx65DabM9CpA5lD/ouYZylP + JFLFzBTpblX7MMmgqmhH91NzLx09RI/XxjbWqfXgxGR+8WdokBIBaWi3nnDCjQKa42ykaw+gyOso + nfp3IeIehGOSIKaVvbGDWrOLM/1w4MW+h9sWKZtwDxbjaGLBsZ+CoWQ5c5XGD/YdWrlj1lfDauYJ + X7Sc9ymbQoptv3hDligWD7dZ1uIgBePKSyARYIkvS0SDdioCpEkAa2PW5ycytKvbLua67XHAdnSX + HIHi6O1sbXq3Sr2fh5t/TC3UDi+vJFkhP97QR48SwubO3fT4XKRCbt4mJ1wikko3dCezlFyJcXRR + izD2kxtTEo2L1gnMMQmaz3GLdn0URLKxYZziphDXbmiMxcDs7so9LrpI1tYZfu6l0WqEKjI3f96M + 6UMmr2hDTx/NAn1YfLypKMsnqfPJge2kklE/9Pnev8M4d7Mtvid+ChHvGELomcegyI29Sl1i167u + ITHKmoiZ4Hx3K4ltC7lypa4yhxdGcyLGYTr6v9RwBGJZFJcada/1J8kIeYcV3L9q7dXU2hbX9o5x + 9VQoMM7Lg0tug6B9brrfRJQnVsyMjTZzzxNUufr0hBl0PKbdkkiL3rZ54L7LLGFxlfE4kcb53qR8 + bdq2T/0VJnKXT6SsLqbZPGn0UtdfFoVfnGxdYyIQ4+apnoXq+O7JRu/EJ0+z44Td+Wc//KO0UMvk + JdJvPHieKgubIuo2oGipNH4ZisDmRIWuMw+uYI4zvLS1EXJtwu5mQXgvjGEC6wWliaJAEy922fH9 + HbkWpwS9Ig54nE9GQXvMyX2v1w+qH/guPcme+JLpV0AvWfYuHreVeBzQLeGXGQ3h3dIlb6pWuKWr + 8grmnW5HSv0MiGnXYB9zq6kQbj8YKccVIWqZoeLzb+w1IQkP3DJMDLKkHuaWs2fk+IX8Eja0QQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 54415464-d27a-11e9-a737-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 54415464-d27a-11e9-a737-001a7dda7113 + x-ms-content-crc64: + - KJLuRsGG+C8= + x-ms-request-id: + - 6cbd930d-c01e-0019-1687-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 1xFRnhnygdDlm8Xg2FuSVK/kQRhreyEu5EOdxKqm1TPvj0yGdpPuTNfF/aWm9K4O5s/GjDLCDrcX + 0YcUgYSbbCPBuMGyy/vBo7J6kdkm9qonb6C/Ad/Oe55MkRhvZLt/0wJyTelUAQxBOKSWbokMT8dd + wj6ggrl4WiMK7QDU0Y7HJ42ATx8EtbOEYlm6kZz2cOB2mD7t5B1t+2+wr5Wbg2u9QgUAtXU7nOI9 + o8uSVKTFuKV+0m7IYAP0HuGIzRkTwrAc6fR996r7HGfibQrFbSo26OtFxKuXSnqaVrPs+KY2ISWd + 4CMvZOG34WwJde/vcWmaQJniCdHWcn8kO3XpnIok09e39Z4y4xAvkA0p7fgiTAdA4ZSJlAlrWbON + DzMhxQfff0SDE1+iXfkP8N9QASRbdYCMiGBztfX0TcKelu7ZDlkn04W/qJz52rPa0GP3jcsRwWQl + eIaeQpXfM8fFmUeS7r2dGwbc/kZVn4oI9te7bBQlsu+xsnxoXG/KEa28yZONpXXTcSGsbNN1g0bw + pSUPLkEKu3h0v13hvWZyRO06OVCauzSAhOIAloZJurqFtvg2nOirXbFAzPsyhXsTXsad4CmDzLVc + 83z5mBcnbAPpHdfGc+GCqCA/QNIsgimzxh0Agtqv2GEkffmhai6bHfv6mBeVVLOlIGkEfijlcv2n + X53E2dfBsL5gn8vIINpznVnuYPEoJCtTHi5WpamhWbzHNfDzEQqjDSHpfWSxD7bO9np9fqznFKvC + 7GkLMVcoZPmgemXGwN7mouSmOzu1qt6L26TSS6JKk9gYud4uWR6WsUiQtjJU2IJ+dVmI50NZAEC6 + 9uVnWCk4ItEkSdw3JyGtpyrBjLyP3sTlFQrM5OjeS5Z3BDhFXLqmLxVPr631Xp2TDNKkQnzT1N5W + G6FKjyW2F6GacCKG/SDvkwrMzCIFce4ZV3IMqqAyql4CV/xUwcPO5gKwmBwUxqXj5Zvh7SUJHCBN + y0vil+i+BXfcRBgkr0HNQpkejyAyxHl+k2/7ZRK5aNJ6oY1mkLnqNjsBL0QvFs5cX8Nr/m4zVndq + vJOgXI9g5SphTI9obAX3kJYnuLJogJv2cMr1ker+ArYzEXjrWqVc3sR1aSlhsFbPtOuUrovXNcbD + 1jpoflll9tOoKllg2ERohPmCTlLbotreZuQioHimfq7xA3tgWpw8kl7pizaUL+UpRHn6vPt9LuSR + 8o1MruluFC4ApM0oNAT0DFKfqkOzdaJp7DQiABORjpB+AQE4I1sBGRYKcaAS+k8xUq3b+QRkOIZG + jdnSwpxViDWQVHmZIn9KwWX+wANX848PyeYL22uY5sgIvXDFSyqkZQ28SW1XKDoxdQ0L6hxogA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 5452b3c6-d27a-11e9-839b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 5452b3c6-d27a-11e9-839b-001a7dda7113 + x-ms-content-crc64: + - UNtBlfGuGfI= + x-ms-request-id: + - 6cbd930f-c01e-0019-1887-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + uTSsRTpgsApUk5pA8+vDaeaTKC1CcJFpAhaPjIalSOTfEU9W+AjO1Tk8I2a1hJ25gSyQOMJkPMy0 + NNoulrYVFkWpuFahM7cv3dxNlBYdAsnL9GR6ryj+ve0Zkt1xZvbi1KDPloFEu6VmjdcsYexflQSu + wpre3403lUs2/QIDMr2JPUfmjlB98CrJkth1HDYRm3P4WTu/o2co2LwbgPZyO4wXIbor/SEX/eLp + WRcdij77gLFG533WORSNJlKWMD4i0seLpI2rf/wvRdV2oa/nIexfHlyJLwW6DtE9np532hHz3A97 + qMPNdH6cvB2GLpD3P6IodGWVa6PSw4BuncVm3dmOjFXdMahXJ4sGSZ/zJK0sX1FsNkEotXrDVtYX + MoRobWH0HA9yEdJgIjoBg1+fFqYpVW9WlzPQGVTxT54HAhRoimcTaF6ZBMq9fXh7gfZNRn4ZdKQU + fUJMnFmxnOrXJpQeISgQmHOHungJ/vyRYNoEwt8jj2qfbAwpcyJF+HFlfoSpTqg8HXSIPp3iOahB + inB+bFt6gGErJsJ7YghfQQkovP5MIU3G/bpZI5yDh1aXIIGJEzUWtGmp8HKR2OST1nhF8aBRgjTF + BydUNJduSogpF7Es71C28FvVvLPpZ+YT5hz151ZLXuqrqcIPCYMvOgfEM3a5HfxpiQ3yEc6ODrgx + hOK3zfkBGmcn8NQkRphyRV8Gow218gUOKi8m+I6Fq/GVGFNL9Ta0NRbKEfoS3dPbruHOOHh5j19r + +WXiqBAHi7LfO0Cwvev2DkZKHZIzMSkFilxl/sMPMPZkFwCBCVWj743sdF/2vJrQ7sE/hTRnp/Ob + MekwcJGHcXIllIzcGyUQswvLeK4QVKi59R6RztByS8OUhbFZ2/n9kYLgaFXvsi6VDyRds5HEKhbF + 4vGdm9B2t2T6hAM/f9fjgMikDhgE+T2MdfxH8qLm/jac5EExukVuznBJoPsrfQXB7Gba1TvEqTNC + jyIVplX5MgC1kCoLgZOh+e+0rVigUz3S3jZRwRkJC73OEvMqsuznQWdr63yd8Wyr2o4m9k2pOAtj + WlnRZT1tABdxu5eR+ijCk1caKWq4YhnwOLl1h0WdS1vMzuMx993s3L3MsC2Ozx0zkxxpcxdxatzB + L3h7U960nLZss0aYS36/gbRfRQyyLvSdkjhkhiktbzBFShC89z4hePuYhWVRvU65seMYjt/a/iyi + DnbJX3eF/J63GccpG8YkyswWCo1xNEG7LAYGIUfAs6qZqsmny8oDmeYKO7zH1hFmU+mqZYqjfsFq + MZKEpsiAMYJrxRXoB5cC9MEWtq4pVBqtmQp+u9TO+7KG3CGP18ph7IUdFeBSo03aAXzJhI+0BQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 546470c6-d27a-11e9-82d2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 546470c6-d27a-11e9-82d2-001a7dda7113 + x-ms-content-crc64: + - nBEr48UDNGI= + x-ms-request-id: + - 6cbd9310-c01e-0019-1987-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + r3N/2ezAnF3NuXftRKJ6OZJQBQk565ZciriYSNy87o2JdOCa9NpXY87ENQ8RD4XJ3gaE6KwUY2UJ + lDWRYnZMXCC762kCyZxYCRxODmFG9CzcgeFBHXurEYy+f2tTGUQSvsM4o+Yn66PxnF7dcJvXU98g + wr3+zW/+pJeDnAX5JIYmgOnkoQ3ZWart+pITiJpKGFxhGDci+A4Yq69XcB/WztT24MJALvU3BKUo + MSn4Jn0zcN1sIUeRpWMhrf1vihnHmAtq3duTVjYVSV5PXuT5FKNaleYw80YylstI8vHP4GXDmVBs + 6LezfvvLRPEJg6Y91Go/Py8H+LkLjOpBe1f2mXsZgAGLX4zQzHy+jZGfaM2KLEOcnNI1kv0bZHAy + 4uEpdWqx01vEWcAXYMmCXfGIZswLb8qs+4wF2EOvu2F/sKvbx8PNm6WEHL9cBGuevbArTmB11kcc + +dFlGhmehV1udzO1Me0Pk3wNOXh5+z1siU7r8lVIQSIO3ZwrqYY3pw9r7q1yWpd+ls1hjw3RzdNk + LW9Qp49AzlrN7QU7P56LWDoIga8Llgb8IFJBH69yo6RvpgiZl8om4bh5lZLHJpIki2PN5ccoqXVd + 6jLYZi+oRBdat4IMH250j34XtFKC5wz8tuOojf0z64aU9LBrqdcqLvxCD8G7qqFyI6NpgZtRafgV + CwEbj8Dwb0BUPReUHg5VUw3z+WrjjLcBDxuDcGvRbMlPwtC3ydrBjtlkCkIk8YDOaTN+D/sRimNQ + lG0ea4mBhvW9vdmEowpz+cHPIxGOJTlf73zYntBmF5kQcZWFYnkBBl06vTz7kwYplGURcle8T9s2 + FmmSeRVOEl0/da5HBk/c9FutDfs8QFIisZVHgGlSwZPr5+0X0Xztbhtt0KtdFi7LEnNJLowhho8+ + 37uQh09eM74j/v2AfFA+6vDp/lPTAifPtfVs85t3iBQ42u1zB60GFRQ4gMUTa/Pg2dAwgHhm9ULU + iy/ZAkomvnq8eazK7llrQ/g2iGjt5Y535S9wMnJ9hltob7MFaqZC+XpRs1dQLmBBwdpTlThOoWQN + KBTN+JMafW0Hi7Epd6P0bPcxH+0y88v6tTZzPbMl7mapTT2wx+bY+tKWI8UmE/meVrBE1pBK0kyg + 6j9vsZq1GX6ryHAMEwR0NbdN6qrpyEBqyYzCE7BdzOCJ2BZfUc+5k9IjG/a41uE6PIhDxLCj5IbY + c3izvm75Ko/SPo7MajInaMRH0wpvbHKPoyIdHD0lLJlHba37F7P8il/754oqdTh4htP36mkvWiGz + D7fUXKFaabaCPvG0WHimHkeJOWszLSOvpaWji9iLAlNg6iqVdj8JqriqqhAE4Opg3sv3X/Fu7w== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 5476f0de-d27a-11e9-b846-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 5476f0de-d27a-11e9-b846-001a7dda7113 + x-ms-content-crc64: + - /mJOW+bGdXI= + x-ms-request-id: + - 6cbd9316-c01e-0019-1d87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + WA7z9FID9NO5HjnELZ4u7A/ioSafyBSGbydw6xNose8YGEfdplbBNl+3uHkXg8sTf3NEtgnF2k+O + tvifTQ56cCMGJQ9I3zgYy9u3+oRwhLGQyaJ6bW/fXQ+OpR8lHFv2CgVkGV2th7HrB3vGDumU+W8Z + NBMww14D62A3XR5RE3MHo07qXUusGq+fibpTaN11t3voAvknVDId+o7+7lAVj6GFKdn0mV/XyA88 + qXZh2fTHbkuteqCMMOv1YdzAJkiNMpbVqWpUeRQ7G6oj1148E6wxoHej0xYgJFJ2BFR5gSDnRSSi + bsrvVPJK4kvEpzV52KqpysqTMjapbWvUNOHjdNM7b7z+PTCk7Gi5kDg4WaS32XOm3xwxC+zyv8wA + /No78Z37tnBZQbrrpbR469VH8+DihE62zdougc29bnyQogPhrcLaD2/OugADHeYT92OFi4ug06yy + 67um7Nqzx5uvt96JwW5y1mb2+8i7/LZww9SzvPelDbe9PvwVWBBXnaRPHout48cCMim2dSk9svQj + s9MFMR/EpYLA6WgtvbeeO1pXdz5J0zenCnS+Y5aOQarW/RbBtPgdGAxIKU06HexO+Ok6+vazI1r5 + WdeH7vyzBwZ/8QFbYJG2FDRThyDezt1oqWWw4ygCOaVbp+q3hJjRHKA7aM/CQ0lrAKR0xs5AxyR4 + CQM1BOWX3Qs1a4GW0f1zL2TTV87CuiTQiSROq+CBPqHwKi0KcEio3LEEXQUcBymqIXmRydyOEhvy + f5DwLzD5UKDtchQA19bXkMxFdDaYnF1/GUGNFQc5a3pMnitPo0fx7O69hD8nUF/OVS8B+8g/88ta + dNt2RsWOx66+bqIrpCnAf2zRLKkNSygdyUCDHHEHS3coy7GVHYX4x7ACdqzZECMRjmttghmhWOLS + O0ozlhiq7o8z9XTPSG693WXZjNFNyXS6IR6aeUsa3HEzULFBOlAwa0eJ1RTelODeZLGaKxaziWci + yRa27+4NtitVXN+IxbD6PzCRDY0x3lxsfPN31ytE8PBiMNyDGzoVnCO3Sxy6wdMqNRZkbKst349D + 5Na2WC03oe1T6/QP6IhZqlHAk9621aObm0u2joQw3dyay/pisQwx+jfl+tsKGmu9M4mePm9UAHp4 + XEgolJVihRAYimQ8d5XIFezQKCa6sgOhtakbiNJV+1iTF7ZtmXb9hwXkzCPYXQb2Jzxo/ClLxEXU + 82rF9H6y2HBTdkf24KzMb/jxTibF4nqIg0VlDKoFyKuH8DJ2V3Q/lu0NEOh6+W/A8Q3a9D9k4vFa + F9Yv3lcw62e40OABOEmuDtpd0z2xEDPndyD9rQB91w+I0NF/SjyV5MUNj0SAeNaOpdwS9bTQ5A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 548eb978-d27a-11e9-8b8c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 548eb978-d27a-11e9-8b8c-001a7dda7113 + x-ms-content-crc64: + - Rl1jg6nofwg= + x-ms-request-id: + - 6cbd931a-c01e-0019-2187-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + OkgG7hR1z7bL6Q0G+vZr0e7MnkQaVU8dtz1IRSRISbQin73m5KGfyYkCLb+ba/o/oymwAFA8JQeN + odeuHnA8R6s9Ox00PQ8b0ubi0pqlucZNZ99/So/cKC7G/JeTLsZrTS+wEjzBOR8KM3xcC+gts5U7 + KzExZN7hsVZ3tBEElaIrhENRFNZJrOHVn6pVczGJBJtOF74pzwDEbkNTEttIty9XezjqQHd4WU+J + aB5CeR3bZRBkuq5AinwBJbjN0JOU2iUR65wQqUyvsG0Ln9hYhpgqLj58r7P8MvqYDRLiCOOWKRZ4 + S4VCe/PuZMeyYiVoH5MIGOM8U9ZwlGfOjLGSHtb8zPCzwdKljdg79xEwffOtzQXflTBaqYrwhbzF + cpMl5krLknZaZMCkjtC6MbkcGSdLqY5n1cf46w0D/pqzJgUDgu3L7U46NZgXb8EjPoDHZ4/Nq/4W + twUTjMZHL7Cyb2zWJI2fWW+jdOUcn04j8QDJZSLAL6b30nz4R4lRWj6p8CrVe6NXqza8vq2hNYL6 + lFruBDKbJQqSBsCWLCHYdDym6cKtS3kjDVF3dC3jyif5+FNaYsVt3UO2aRBgjjBXigNC09WvMh/P + jO2G2hIwkCkC3KtZbBz2+EjOPIuJPD0p7lZwS/ZqnT39G8Mk1r5Vkq2jCYGec9BPBeNL8/DeK98d + 6FVq8YuuQPw88bg5/H/lsiK8swiBh/NCVtn4MBHLh+Rz0mEUQKoXpano8NZaMG8qr0qy+6qAScmb + MHL3b3gBcYZdUjo5ghWVQ6B2F4F16DCFQKzRVXnwyfqYqQcRmq/Ht3GynULV9+PFRo6qZXWf/Xw7 + QgUx0lYuBzt3fqiMMDi581tlik1ZDRlYA22Qt+LOcrMILnA3VGCc9V9b9DM3MRxRXhvUIxP7JhsZ + FVRCKwcoUqHULULYwzWcMMPup1t82Irzm1DovQTbskg9IEmdaqU+8QUdgmu8wJNagBxqwC1qSOV6 + GUv1GVofQGWFdX55K81v0qIWjYQksIdkx663Ofh7w6dCK902+lVTW0vAUwYphibIlP4HPYAWTiDB + 1z68Af1MgTRRgzWwUsocvmEKk6GRg4nYEyTCA6qA6g3ogiBT2Q0GT9fYjmQiR9VTFCh8wBPXnJtu + rZh96AAp2+7GfVdycnQdu+3r8zL5pkJtaogSJs5u2433f13t9KsjUH1AXVQW0S05PRxwn7K7X2XX + UoMl9Y+NjtWybgOr++QRYZhfFQMCtJBVbA+8LUHT5lDCgyjXTYnmS2DEvWY43zuyKcJKo5NNnEF1 + Z3T5RJhNp6+0iAJOwfNZivYgy43Rf3RdbXmfSLgofojNrvpvLu6T3kLTKDRc0YuHzoeReMhTXw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 54a02ac6-d27a-11e9-846d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 54a02ac6-d27a-11e9-846d-001a7dda7113 + x-ms-content-crc64: + - yTngmySvyzM= + x-ms-request-id: + - 6cbd931e-c01e-0019-2587-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 8q7JMc0ft+ipyKGQ0Rl7oAKo4W/rJYbRHf07SRs/FhHxXy0xvDMD3NyrzkcUaQ9LA7+kkTWqis44 + SL+X/a/VLLX1nsrVkCWp+F2Qn9OaJwaw1mIiWMZ4IloEGEZeaWWTA+NaXwBMLPzfIFGW/uzUi1Pj + 4GZFd/uBnOOQZtOYdLvzOML9LdJSl7TpW1x7sDgFFWXkQTTHiW4d0Jo5QbYj5hBjkI6LlDpu2lTG + RlvtHGFQHqkOgOXprsuXM6VG4Cfa6DYrVW3CN90pBW1q66Y91TCA8c5wTL5e2Bix619sa7ip6GC/ + rmJDre2vXO+3aom+zhwANl0/2i6wxTKNtNtTMJU+FhL6lpxHtL0SQaBaM7FEM45zi0w+L+WvQB66 + PhtD68tq0FLjq8Eb+0LSsoDOI5RyrqWj8CsGkdzt66od4OlnlpImXYeBzne6Qbv8VOz+AQbqnGOF + OR5iYfqDRGek2gv7N3CllASqBXns55QLJDEuhlLBsHf6vWBNyE07FxJmYz3KJXLIJuNiaLJbZ9Tu + J0snZEnTwuQItQTWdi7GStjE0IUvEEYK5TClLY3RuL+eD7AnMsYsH9HGyuuMoWO5zA3VLFX7SBoA + XcsC6zyeGx/4X+aztyWldSYvNvrxgCeWYLO0qNcfwEcxMRBwxv7uR396OkboNiClna3EHeW0k1kK + u7tnZYFnKSguteEwjTR6xQwTo/M7VU8BwPdWs6DAHHyTgvLQ8PDpuxbNMvY/Xsi9XVSa6RIGoHp6 + E3Z4FgKLW5dz9agXro30T7KQs7xhJ+tXg4Fp5xV+ku0p3kv8r9S4gmXODk4eXBOjjDtkttaXWXh2 + EAisUIa36XPXMBGJF1rarH4NOE004fJ8TskbpuhCLzPMy1N6cVxfmYATZhPi9F62PHZu3cOyDzL7 + gY9/tXUW32jwdusmqApd1aLBbc1aZlWDROCoLcIzF9Ph5SQUAwYEVpzfjv4a2PfEK2H1YYgtBWsa + l5VS31EXUgMweU2Wj1hIPbKfwZ0FXpgOttub4/e8xWBdO+lVwJ5V/BdU4MowxO5qjVvI0AVP3A27 + r9rztyeUZSoUTLmsweUbl8/Swc4MMp171aU1HFJ9YAGVuivVno0K4wVctBvqBgOAWWFB5P5vy11X + G0Q1An2Wa7+kkaLDhDiza1a5IHJXz4v6e0LhE1IqFlN3BWm3ldh78/TM2T32wVIWpqoiPZlIUzkI + 3gOa+7/dACwpEe25dIw4rpYk6OzsfSx79ZK+DkSmQ7t71S+redtW1uvF+IIfDcPQt9LyYXZkTR7Z + 9ET5oULSSh/XDo7Ynt1lI22JXtuQBe5qvaRmnY9s20uV3Bey42pD3ZbT8wAnY8MCIBHzcz+CTw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 54b52382-d27a-11e9-8dc5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 54b52382-d27a-11e9-8dc5-001a7dda7113 + x-ms-content-crc64: + - JYOluU+xvTM= + x-ms-request-id: + - 6cbd9322-c01e-0019-2987-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + bDfZ4daAjvJWpKg2hw0/tMAP5SG2xmLMRdB3FfTezmoUiGtB0MPPeDoIDsyHyBpPGvLtFl1rkQWl + /Bpoh/6BthC9EQgdMjZtC39XRwX8jG6cTDV1deeJSXGXA0Bl8yraghPM7XOL6xgPAjPWNkIqmJj1 + wga4ODPserrFN+B15g3gze/c63hy0ZyxlgTpVjpRahLj0v4L2rR2Me+MjzDgBC981MiB3fosAVXU + YimK2+zjkaxngSr9KJtqYxd7CBetzU2ls74M5iw3GIhnrXPgGp8zVWV41LymdUts2JIMQXEBdA+i + Jz0fDxsLm+9bxjh6u4CgzmcYlspk5AZq2xdz1kSePqyAjUnQLdZyldzoZUiBDliRt/FVczPoSoOd + HCVmQrZWOxhFpCk24xI5LyYRdBAr+BWElLl1Vg/2XMg5zGniZ03rOALknvDH/lwkW8rpC1g3NteL + AHWzR9BeJiyXLZwdcqBaE+x6l3C5+Zj8DSyDTl3Fy72NwpcxI0lmMOOdDUcyNUuUIQIFGUSD4wuL + G7dO72qHt65AE8Qw3z3L9woo4Ymzf3j3X76vL8RJEi0JXruaLHffZfOj9gUCCufnC7oyIXbdH39N + vHK5HOk0fmRxIPgaPApY48NsX43fJ0SZoPse1CIwcrsYxjHiiHw/DRlPRh1Y3QQLn9Zdb8JRRYr+ + 4bJwk8W0klO05tgY+JYwDoCdVLQZMeSjx8E7yu4yb27ttg3jVe4GzFt3S9Kdq2rb+bCd+T/12Ltl + egycCA+cWoxKxe7re7LXWGWhFBE7yhgoljRm+8wcb2uB/EL3Q72WNBbZG2XAObSVIVdAyKtVCWEX + 86Zdo5G1a+gp1tRzindQIAtXZOyXITS9L3Rnti4NUtqCCrySNDbDcWc29WTLF4fbFboyTiv90Yfx + 3GjqgLuRBIRDwHRJBWB6nhpUCMNQrq3EVgroevOR/Vt+UQeI32YjZ8uAKl8V2Ct8o47Je7Cfe1bA + q9GwP6wTYQhDpAja07ziy9TYDcO9ETjxwIwLG/ja744FjbSIwavUvDooKJiL4sJfZeWChqQ5wu6j + dT4I5S70ikitJDR0ZH/2LQbXXzDDrMOfWL3aXVWx/nN3eJI8ppBVJ8AC85Cal0XkHq/ddjKaL75N + i8TSuidAhzkMbrgSCqIGfbhMJOfgskFIEDBG1bO3qPpmzyyNpigq9tvfrsK203b0gapdcN42DBO1 + ZElqaIHKLHBBN/aMgq4NL8DBkiLxB88BUHyyrAfTyMqTPlcGRnyWuL+bQzAcQHQZUZeOTfrgAySi + nyvaWsY81lY1IGNSmoy6GtyqILTwzVNu/JUZx1ucRi3q3PciWGQ6XYJLaf7iyylkir+cyRJlzQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 54c696d2-d27a-11e9-a450-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 54c696d2-d27a-11e9-a450-001a7dda7113 + x-ms-content-crc64: + - YOaGdeRHmV0= + x-ms-request-id: + - 6cbd9326-c01e-0019-2d87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + fKgdOUjmxx+juSx0UgdB3rQk4y8Afv18ImtV1Elx/ZGNwGqMwzcPGN8KZxz9bBFpouopwrmEIgmC + PvJGvebkNasqbqm7pfPRQY2p3GYHcKBvHcTjHSOP95HWQ2m23x03Ugu3Jo3try780yvy7L302qJx + koZQSKb4MIwjuE5CeX/ufhrK7iJPbjq5Wzi9rSYQmvxjAgzuvFP3XSlsfeWQJ/DnGlFNhntesOen + bH6lgUraP/0d8MSJd610hej11Ki3g2A61yRlL7heWrtwkKgXKtcmiquzArsIYavqVjF95ooBiy3G + gebpwzedl5BIramh70np4NMlVR0kDA22FmZMA13Aw0mIQ0j32V+I3Vh3rl+oE+sydXHFdi2fjHH8 + QpzVxY0WUSLM/jCLtH8bzyW6yuDDx9DDOfr1vLDh0aa5Cvb4UfqtnwdQbq1RvhzZ75g5JgYjDU3W + r99R4o6fQbVWqP30tGBtpri9cUp+7aPBtMtNAFxWR+Db7u2JKm/WA83VgvvBjtEko3yuK+7oaZyy + L75YFrVUMp5HmnbRRT0/UwXz/cKLgdQKNZLH7Ve2F8jqWl96HfUeB+6PkRKp0CSlR+dau4xNpTm7 + 5pT6yMkRa9bUlYT3KEgfL3nxrfFpcCiK43ns8jKm5qoahwvRgFgXZ5GLt3CBDDmFaBwzR5nchWhE + XaCxLs+VxxbyH4g1i64maq6HT+ZNA96jgbdl6mH209ektvAv2Zm1MoTNRC0PwEJFmpRVTk6tNCXt + ANA4Q26lqkus18VjKRf6F0pNTRPlIWMyoe4srRcIBsvE4g1Heus6mHGqoeASFvtn71uWwSMUH52L + H2DivH4RAazFMZ0WNQilT9KHD6N2fYYS/E5vq88ScoiKSA16FIwb3TbO3Qn5dn0gf1UfW7Wxd4xP + wyZhQ6jfWBVH1jVBHLZETXftAGsUFshptEK87otbC9vPuQFsrrH5IHrzV+fvgcuKeRleYL2/UuTD + G3qKZ7YFlN0PFj0byY3DJn72lc93wSckIoGU1N9TR6DKrPZUOwOPLDeQHzz+CJlGIEltcGcrf0sG + mSv1nJoBBqPaNKhXbRcsWcWUm3aQnyOXdxwcYa8d4MRq4O5YJPUpEHQiuyYNF90M5iQx9pFNjwxN + 60AVzhEzBm40T7ePE2s25OGk37U3z04QZ5va6zUWS8TWtQDJRxa1sraOTvg/2TMQm5umTe8c57i+ + oSLQxcQnbgA6YTboww/k4I/9rlveUFw3/OeMQWyHC/tDsKA0Ri8WKZY45u0jlxRbBOf672v5sJKt + wKkHN6b0mn2DfYaBZ7WIcd9TCz0Ixa2GI2cq6UuZW+RL1ZE7UZLxu+xH5Bz3NymCFDoHnFXldA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 54dd96e4-d27a-11e9-8308-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 54dd96e4-d27a-11e9-8308-001a7dda7113 + x-ms-content-crc64: + - J1c3x0rqxIA= + x-ms-request-id: + - 6cbd9328-c01e-0019-2f87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + SRAHRYHW88S0sJCSADR7DtbkmAQEPm6i34ielK/Mfu9me8dcTymBRdKR9PBoiWVMqr3sfxNCd1ic + zJqPxBrljvJDlTlfESJD4aE4dkj3SOd1dTrXw8II0OJZcxDqNKkql41vzEPCtmhj/ED8zhlbaF4u + NFreNWAugxbVfGYhBw5EKO37sujkc8sv+w2bTbGqyfCRiGwrt8IZvLFVSG5XY6J+p1mC2agEs3sO + B6ELAqQbCtMIptQ+Oup27o0mjnLUU5QIFcI4S6R4mWkl9l8Vw1kx3BZyVYLBAeih65zBfeVY7MLi + E3A10m2CbEohhRSr0TabZr4ZMHAAFbHlr8zjW3cluQDVhRDDU35rzvxdGrl/iXlEniN2KL8Rfmym + DZhO+kmUs+R1oYpxGn4WKi9+LooMMj4wNaDC8/PAZuyRzSaLwLRdlk1mV/WMIHVAJI7awW0GFtnT + nMBVT4xaGBOj38CD7g9gO0SD1rUDGP43h3+mBraSW7U8OuinkdaKXP54E4/EI+5T/nOZzgX6UT4J + pY7HWWThPw5AXbpvWXM2dNTOGN40fcyKzUP0EUriin1oclML59CcZ64Rp6m2iTOYwYN1R9K02bl0 + r6+MCdEidGCMpgah54tbNwUsJE6RxOLK4O4Z5wzQzlif4YeRgrxsv7o6nkRqctNhxPy+4pbeMgJZ + FDn6KcMalx3FnfNFcbAZmKX1I8cSdL5t41VM2dVS5Kpz0U3s5KM01rgrazLzWh5DkXkSRB09QDz0 + JL+bc5ySTseFMIoVnw6BYKZoxqlUPcT8r05HdCSXIPP1X38X6b5MJG9XqdcEHnkQzRpO2nla9pHZ + op1O4QPFWdzjMBU+2NPd/CGrl3c6bHRyIYq8EfTB7i2wAhnBYYrcWFa0GnkchFnZfC3yWn/NW78g + ZZDmOguGQDLtHp38BX9hZFg8yn2GgjBLsI8GOqX+AE2P0Dq3cEkPPEWxUoizQWgP/IRkKmqyCKDg + Gk/qWo0lIkBqtCLt7xAc/MHfcPvNfxcGR+bflFBgjAMvw/jXkEEKJch0qlR00nRDBIEh9xOKXqMD + P04WTuLyqOcltyRT5cz1RvjhVaPVY571vJLt6tUUQb+s9vtd2pxEtPzIm5LCddtp3mmGVsmDpljF + mMXbQ5najdmPiXZgB4Q0hOL13kDhnDFL0x/VoZ+hQkBaoAYeOm4BL/XzPHR0vs6T1h6/385Jy2kw + HEWQr8GEjl5SY0Te3TrUghnuP5ChI/Xbn01Zr+enQ9mDrK2716s8sboyePG9aW4sguzbln+/e25T + 5S20rC5SB/wqkWzwyz9VxZHN9WihvRHt48575woVgARx6hJiL0PATb9mYPipmQflJMSO5NS+qw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 54ef6978-d27a-11e9-a8d3-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 54ef6978-d27a-11e9-a8d3-001a7dda7113 + x-ms-content-crc64: + - agP+LPKdkhs= + x-ms-request-id: + - 6cbd932a-c01e-0019-3187-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + +Fd/o/Ft0yfD2ZAlGzCpCMI7das7630MICUHF3m2sqBLM9byPbfFma2iErzNMqcZxpu9KR4zhbts + /tzrT0P8/MdxfQdrklc1AArDeQxMLOAuHJWfALUdmqheXI5nJsyoJmqBdcI7sNQlept6sZEyB9Fi + z8Fo7c6jgY4zjF6SD/XVjxYkmVrWAwu3vJLK/qT8cZTB7XdpwYgBIgG3fLRQlG9fi3SuXfl3/Kf7 + tY/ewRP8RmpfgDAINBNtNgpgfNAWxjhFn156lLf5yJ2CksKw7Ktg2FVdKDlMIu2z18/gM19jx/i5 + ie9MUqiE3ycGougD32zE+kEsPRKITOHoPDkuV+PQkJ4ZN9zrhPfxXdMF2siehbbOxrd3tjhMaPV0 + dfKe+ffkwwHEzVknNFRfnidI+5ouT86QGv7E0Eq8eZKferZdDdPQ+JRr4BH5kdfWPW5e+9Gz6nUF + xVQJLbCLKktY/kP7iHL3e0qJFnvI9+o2QDNscRbANb/f+hPkm5SWHW7yjhVoFC52wEDFsbSBU/dM + ArTtFL/kiIBO1CnstgPrypZrjrs1vHuH0k5ELgj2LjhIRHcDyWnODEjr2g2i0UhJVr1h23M9kN5t + 53OUyFIGpKadiqanq2qJuDkuKs4Pes2aRQmwdAUJ0TXsaya5YzU64Rd+9PlUrP3M6jefTfzxpDjP + nO6U9pMJPCEMlfeRtRt64WFhT8ymFMroos0UCs7Hy4XfgzhXVwn8Yg7hHyyJ+RPksaw0DDWMydUK + VkdAP6nexH2gc3fXNKmbuRho2o4oPr6eB9W7QpFSHRf+czcZ0VSKSvJAgsPYSwQwF0EYaMAEaGDO + 21GErE4yLHkWH0LOuBm12SmhNl79TMeteM0Y1ODVgJY2EzhbKJiwinhYq0z10ZsBsRH+hsSxaWUI + m1lHKN7WLDJBUDnTc6rT7z2quGTQDit+vZMCLJD46FBJ+SnI0LIfLiB7eXJdDk5fSIPXCCl0sPmn + IEFb7tnohdgppPQd/AN/zMlMEd7DWqd1LpI4jeJn5nDCbopCYcKo11IjlTF3bb3py4qgds3dlU9R + 7H9gGUHcg8CjvLGo5gb4i9UDMqqjXiNiLeSXAdaebx5QLzZR6vZ7dWFQjL2M4mWeNI7yWL9doX4V + 01zxvVVKOdC7aUbFZM4Ygu75sy67qikDxDbbCqE6VCoq9Sxlx5RaGXe3t0h/9dHvYt9GgxX9qJJ6 + 9rXIoIWxXJLTE15ESR2LWrqFkPhL6S1qc3I+88mZpud4RmTLGUMli6uLOWO7FrYohZ/2NjcZ1eQy + GeYKrA5n1tzaooYoY9/W0477Yihdq3kNH/tVxNPD6hk8OmIxJmPECAAM+uMUTNwOep4lymmlbQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 5500c202-d27a-11e9-be5f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:45 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 5500c202-d27a-11e9-be5f-001a7dda7113 + x-ms-content-crc64: + - QvaKOPMKPDI= + x-ms-request-id: + - 6cbd932c-c01e-0019-3387-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + chOdltkoghZUDpCqnksDrBb198T8uzR51IBFBetLy+dkhF9JJ2RNSESIGQDITG1AWidytuHE8lsq + 40zKctN/MSMMYpso2F+sMGRJxistmStamFAe1lab5oc4g3jyvR7HIgUtFkAC2G25lCTs6py7FaUf + Gsof0uuQl0+GhzDzcGQi5bHUgXXNFVyj/d8RAWevgKr6L8uw6ZHp5hiPEfok6d9FG8Zi4gK17gNK + jL4GybQyr/Nh3p96LXhvPdWS+p888GFsFdG3RSBFIu9GrDt+ySrh7CvH+Tc2Gnn9YQIEvikh6evC + 3iBXlUwbpHouOG3P3xEII8pM8F9qK6dRSUpbJ97PIBerZj7i1aYcKn35jaWGbMYkOQHmM9RWQLpL + Mg1C1tOtrdjVUAuzw2gBzbYXHbNpmPVNoHJ2Otbfu6twivJMK1OCjXQgHUZizppLvHTKnNIf5g+J + ndtACoyCREQGVhw7taYsOKrZ+vWH+BwqKt5GskaLSXprBUon+5ggcqDh6YS8T2zPwzvoXc+jK6Ff + CL0LGzs7Ta8hY9NBh+7rtfYYb7cSDq1iBxHjt5iA3WIqcgI+KZZDJbkTsDpeT7UbsI0QRvqlApJZ + qvouBWW7voJA1ag1GWmQWeyIDaBD8tt2Bel6YqvQpfGqMGLtRGfo1TNh3niJRz4BGkjbB6o+hrIL + ytBgeiPrGqrOq3yepKIio/Vl1te894hSwFZV9iv3XjO71xqnz8/AgFb23c/ju3t8rKsR2U6z2BvM + fQv8Q2bYzYhaR00SXBIVRsd3H2FDCQm/cedhjgMxbQe/qqkLDmp2zoaIJk38gMVbsRTbAPWwFkTY + dnb0vRvAZPU6CqzMxqRqsBwza4opWKmCxEXHQg0JJpgXynYAsA9SZrNxgPBJ9BeXw1mxBQnl7Qko + Jk0U79R1J1CuPJh2zT9Xrq76fHuSM8taK/RforwQcaAx+5uWKtcIw1HNZQ5MtvtQRLFU408VJ/10 + tcgZsYiw1V14W0nuk/ftIvAhMD/AtUZArEcCxc3RBAYvJShMwrQhYIKDslvswbRXwOtZWKRYCxXU + 7OOhanzqfYHuLLlIBlg+qHHfjSL22mM54Yu+GKTJTd+9+mSKDMSIL43n/jw9Kd8ruftelqoW71C7 + GeQPEWny934IJt862MpDr7pEs+mN4PpXoKSMg0IhLVZklFLvVTSfpRIz0OmeVeOWRwM6bHUbHGfJ + QWC3i2egTyRSkGrG+G+94sGoIr5Ke6AbHRTd7k/XwvQncsWbCdc7Uja+XiKw3CRDGLqrF9ivVWQn + 0sqGxfTbygQAzHWrXEq92k4+Ojrv5t9BiNUUNJ8oWRc2PUq101xNPnEOmTvQQAIHkMCFigFbCg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 55127836-d27a-11e9-b22d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 55127836-d27a-11e9-b22d-001a7dda7113 + x-ms-content-crc64: + - OXjav93x0FQ= + x-ms-request-id: + - 6cbd932d-c01e-0019-3487-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Xh0vzqP2y0KwrmsljErDjZN85Gp/ZjEYkbCDac4/c9yzPzb5D+OTs4gHD1BH7C0Ciq2UPTA7vCb8 + HIkN8BISgh5EQmtD4BvPMYuBpB7KgDrQGNOV6+YQXUgQ/fMaZTNNI9E+8Ib7akCgp/7ZgAOLq7d/ + 54wnGGxuyVuBetkeZ6+TNseHxOuVs1CUVx++OI0TMDpABILEaRm3oy3DE5aLLnaRRWnx3y0Xr2b+ + ghgQxKIBVFQuQNt4grcKPl4twOBZGaMOzBbWBsiW3pkPi0KyzCUuX+VuQvoxtCdIyl4r4R3yN9EF + Ba6sZLsQ5EVIh1XzX/LitL5j/hDhy4w4KecJiVx6xR4Y9A+2uikP6T+FcIxLBYm/T7pCUcOAULGE + n8Otf1nf97Yn0yLYwQsm80IPuoEmOCq4fU78ZbhHSvp39EUcidq4uI4r6IUkpY6O/doXVXpupsy0 + T/ocCnX6/Z4QAsxeYh3Sn+KCEheMvIdLf+dF5dhTUkSGyd0hSeLynXkbglG1DYEraK5jaFvhA39s + MgcboxyaiIinCJ3YPsY3spJzw2GaXQdYYb8FA9XhSDARprXb3dRKFjt9WUZMqDaA2IDFsawzEep1 + NAVNBx6BbW9o0zoIGUdWw8o844PBIzgFxnx6qXKZJSjyEMwmmDkzXyMkMM4mx12E8tW/oy+1FtpZ + ECIReRY1GDhphbIAndjhgQc+7Tb5ETLBJHMaqWalfV8WLEsQ3vAhwiINg4t4W296IHohnFcjy0fm + 5/Ngw4Mp1JnXLTgnkeVIy5AOezGYdhCKBpuW1URXXpXLwlQORZJPQHMvobH9MLGiK2UnoQwFBT4c + WwqzuuJfkVFYCzUWwle6XeUzTDmw1K/RzgItpzrp1w/HHbvwA/5G2Tp+ZFHFzWUQy0RQP2khcPiO + qVlrWYnWXN0jHYsjTSRR63Wz9RzF9PNtxCPPtX3FwM7uMwxQlr6YB3Y9byUE7JpnXSKSDBH4KbQy + TnTssQ71l7YtUSq/Zr4HzPfnTkC6JJe/2iaPN5Xk1xkpVEr7V368+/ZryQydx5aPNV6Fmhm+rt6F + PoDNunu2vA+GI5eXBQU/19N53LsjNJztCjUmjk1YT+hcWzvURYY7zSzdeQBi/lZxd2/UoPlR/fgu + bmvm5W+yZ4q+jucJeYwrJoyFcjbyPeTB3bHrWfvCA43LYx/wzuJ7vHj1GJlys0bRSE9i3vNgHlpp + JDwU9srb8Nw4dWBEKm2ngLOe96GBApAb8fcHQqppfzTxjG5FMqHJugkhx036BskQKsPFJ8B07K9L + 6N8rnd8zAjrggKhq5BYaSROEHrk5BewygSefdAxF6x25qTOmf7yiSDRwHzJH5qRRs4oKODZugQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 552414f8-d27a-11e9-8b6c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 552414f8-d27a-11e9-8b6c-001a7dda7113 + x-ms-content-crc64: + - Sph1SI04yQE= + x-ms-request-id: + - 6cbd932e-c01e-0019-3587-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + kx6QFyaBbSsW3IzbTFpAraH8ZbNyn021gLgm4WvCIjXnJEvDtNpUL/c7PJb33WmMAJgLmg+w+aIv + 7LIpTsTby/QSQEwpzQHQsP3tCDjH7qeosTnY0+QcJ3cjOO9f2QcOP8gFk2FGteiG9EsfkJUEQMz6 + kdGoMIekKSjpawp/5rzbP9T4WvlPwNddBEpgNx9t/oHKd/PaC4kxK93qHjxFXv76UrVv/LKMos7j + aRxVjmHj237Bv1VskKaS1+FMqFa+lGpBSTGcOmK4YqtI6tIoUPXL6mT3egJ62OPAGMQ2CL64F5+z + abH3Yqr1Stt6QRUbfhgKtzPAUumFYJjvPu7HwLfu8cHYbL8b00VzLDI11x1MfuT2Js4dgaMMAZwL + DOIl1DoHaFgQpClrtK4Js6+sjZOa5qeUrVaI6CuoiEIDqtdGHjykZBjdK+QBewIPBEsKafVjgKp1 + G5QaILpw7s0qw5D5KOVd4tthPygmInvnuUNojv7lS+5vKspI8+GLHMMOMGZEcTzRXpr53jtyBeid + /ZdPkkpVsEulw0xCVYQgZAF5K7qNom5w+HN1oJF6DScsSBLjRHJ3g6HqJjkpW+LnxAR160L0Fh9u + xIDaL7ETgyW0e6NWO/Mi107cTjdv4xiNXuPX9h49L4j2lLwOTmqnHpV2gsv0A4k1q7n+IBU/OfLr + GUJ/ZFJCsVm4zPEN2nFGO0XcOre7CY1uZ6fIMGl1A0cHo8HIXUigfFvhjs97JqjmNR9gTLmiT+XG + SHNISxY4X1yWGLEDK7fQW+rSKbQ2xNxbDSOxveHM4RVgFhZdjvz4spvsoEccs1C0knmTRB4udRTZ + qrtyN4tyt2GXkDP7QOQucQ8NzuRKjWt4OKNJWz/qnZJoZ+CjFTxwvVxyCFgak3MwOaA/juZ7ys7b + klNzD+laFHS0vNevtiFotyJw5be49pZ85JANXNjol7Aft9ATaWgnn9Egdjd/ZnOzrj06axuXPltu + p3HuiVznjIUfC9i2+8mjngX7x7WQdGQBNTw1snM5Ch0wlhXZm7K7ASOUGAnkXAJZCPfrahEDdKJX + 4PNluxPgqIXqCWeMW7aQT7Taj0cWtb6/jZuSZwxLe83iVuDC+kdNm168BtnyMMyIBsxsHFhgwEGx + qXLcO9sy6vMQxpcKh2sq16eMHTPcszGE/jNgdhnhvE1CWGqgT0nxUAePOLG8WdKbdCSiFvnjOGE+ + CSkkh5utnZj7tp6zUFPaabnI/FwhavSnakGxbz1yRZbQnVWKz7PS8tSVBeqFrrXvH8uqKWW5PguM + kJDI38lZYMVuLgocCsFbEQpyfWWOAVPrVfEwyeZOGh/3A3OmDIG33hE0yifyABQmzLcSSjr4iA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 55365714-d27a-11e9-b580-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 55365714-d27a-11e9-b580-001a7dda7113 + x-ms-content-crc64: + - GUpvIjyNVks= + x-ms-request-id: + - 6cbd9331-c01e-0019-3887-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + nuzl7noiROx13kLAEkgyWCsQgz5bA0ErSqvARdz0Vx1BoKX6CpZdNGCcoHOj/tQfvbcX1LMWS9Dj + kiSNyOat6pLEaCXLhMbhnYbO5IuhSIh8ZD/8iziOT88o3NNa5MQhZaF8K6L9SgrynJojhc5tpTx1 + a8eQ0tDL+Z9wSBeTCAn3iSQoYrwwSIkqRMvNmlTwD/b0QMm91HyTjdZIlUVehGLcKMs8MXu3JgnV + A6Ywr9sMmQ4cOm0ks4yBb9A6pIQi9+aFcC0KTTZ3Ke5mDCWeyzpV2UrHjZYMiUbCX1/rle43y4+H + I38/PPmmuKgbjB4jWjepaLWkExyhnROzxh9bT7GbUaek8U1eONyIQDMccZC9y5mukphX9jnaddC1 + iTZ3vnNl5nmCdfamYCVRI0kIVyDm0snY64VddnNGR0dzkCFnCuWwuJ6MTe39J16R4yW6anZM4mTn + 8/0jsiE+sSLPvU20jBi3r1nFdPLLIgex3SwF7D9zhU47jS5CDzGWeuPIm36hkCoR4MdbNI8bVJQF + ld/8zc5VVJyQtyJ2TfQPCp38fhj5CC/o03GwCtQCTkUHV+G4wvuGlr847BuStvgwuWOCEKMyc2bk + YItDd9oCYjOxjheL2ertXbV+hJluCVi/MMpWantK3tTTJpfFyGLsko49qmNTER14X33l714UyWV5 + 2/NVpAX3uT9bIrrYTBksNvMQc2K8NSv9boRxOM0D8UpgYN3I+V9mDCBQ3nwPWRU5iC21ZetOOt7Z + qMl6qegKHcjuZ0I8ROab41lDtEujGEgA6IrRb4A5x9e/FI7cII5GrMdpnZ8jS8cxJ4M48hBMqbWj + eiuAAGKkmgm2abk9VszKnyiZgEwSVS3nDn8hn6ewFo7rhDi5oP2gvd0HwZPAx7I847ZGokcEYPGb + FxLAvfI1ZqkjLKJN0kvtyC1HDhLGtNMzXuN4QizqIt18Suh974To1iIoDjoka8jMkjTe+k3m4Umx + i5TGxq9MFE2VAmqJUVUEYh6OzwPnj55/KhHz9e/4Am3gD5u3Zw46bvuY3hZSBQJsWKWbxYIlXqqG + COmBIql9IR3lFehGQXyi4MpmvBKVcYiG0HCOBFCJfgA2dW4qJq7JAVPCwSQlAdNBajfux9WDnoYw + NCRYdBIu6X6bp7a974mMKznGJzweKdaquqvPAHlibxtgWVIuxjtRFD/oedQYEKGyVA2RaD0kKpfQ + k0scvwy6B+TQBBlKJxH8URbBfpdk8BA5SnDrl3F47r36+XsQaVX3zCBLihJvDqFTzou3jPTVeVXo + m96wOzBjT1OFiK8OAysEGSqynPige/mQTQDM29wV9Lyfs1rpolRKjdc9rMfppq5dMweX92E9Ew== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 554c9cc0-d27a-11e9-b15a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 554c9cc0-d27a-11e9-b15a-001a7dda7113 + x-ms-content-crc64: + - t9Ve7/LCPvg= + x-ms-request-id: + - 6cbd9333-c01e-0019-3a87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + cGU5Z6MVFJqLE0+25kSVPyQLkPRYSPupHGImBalcHPNWvea3H9+2V4UiElrdNHN/56N8S6RIa2Yu + uUTjJIoaoybjJkRV01IGJjSFIfnHjVB+rM7WFOOTR+fYqOv61PzMEUZxDhs/Y6xUHuUh1teKuPZS + 5dd/fiFbOvt1JtME7YbH3nagCyroYYH26FIuXZZU9koavOGXTAGK3idrMWMXV5adYIzXEmUepqLm + n2HRIDBTsfNxmKke92oSQiMWqpwTTW5GZDcgCJv+zJj+hMq/hq+ZjvIHfWFVs7lsdl/49COhDHKg + E3yOGZDGRS0eX6YkYXPUFeO+SCGfbYBrfQNNXv3y9pA5HhLoARI/tU6iEET71xDBqDwaBDVztiri + y8YZx9sPyonKTvdlKsp3qLG1DENIkWNY+d6mLly5jZFhPmOMn1txvprsawMdGGLfGXHNzjjkML6j + q/daGgGrjkarZ3meI6tL6HpmXfzwi4gNazfdw5aKbHmshC7VW3LK7Cunx5JhVidUxiBRaebNfGXu + N+4fBJViQLqd8tcyMcJ1A0cOwvczrh5GQhy+faTgaKh0X3Cfm6FfbUVLDbroClpd/KAjpvXJltNK + HOxp1OKuf4oFNzqUTQMlYwoJrGWo5xQ4JJwOx44P5yi3i7hd6O/TFCqSTHERYPCrThO7saaaaiPH + KEmmsgHD6XmYjo/ZMRa8IKbLj6l4sBRINvg3B23FU/Tzrcg1RJE8b5NHsi/YevmTNCGn4x7p0ITT + GeWg35IwXYuxfvLfE8WZM707da+cVhgQWrTii1oWdjg1EzQBsoqC5x5chp23c6vUStRsOV73PJ1l + N+m6TgzO6VSQUM56dRHVGx7uh3TivW+3Uk7m65usBEkAK84bctFCIJaZOz/ZqjXRfRCfew+C25Pu + QDWFTApsPORiCuwS3pLSGf4ssWORiA/T+c0SQQ1HZ78AUCNZ0pCm5taoIHbexE2hrW3HoV/nGtG9 + rzGj5I/c1MiIOS0Otykjij4whkKxKb9aUolqIlzcZeUzhSxx4cojX5jbrCWelKrmxHGTnWNdrxjF + 2hBsevgarPgbIm6aTZ4+37VKt++ipbxsdARmv9dIT5tAVXowP0nUAV+kEin3Hh8V94HNNFzrHFnT + HqhUww/47CLdJVArjYQ/VDH92bxbPGTao5no7xF9HVvYMUhjOc7tYlTBGWwebG/PVwusZ+yFiTmY + z9hxtDKUI7F+gWmbcqVCoHppOBu9d3u1wqAGMQAvpBxK5IRZQW7b1E8fMiyn4i0nWfOns6CviXZj + jsaTjq3Y2BHdtKOcq3F7kE3Fn0ieVwIRHiQTN7GOItVNWynVW95FsWcidGPhmwRQnuWxJejjQw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 556229f4-d27a-11e9-b8e9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 556229f4-d27a-11e9-b8e9-001a7dda7113 + x-ms-content-crc64: + - LKe1gqlfZ9s= + x-ms-request-id: + - 6cbd9336-c01e-0019-3c87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 4c17GoFgatRDdbyvMKDzBv3dGVN0a/F+a1OpggHEB2ETM8Oec1SYdDf7fQR94SkzvSbVMniZLu1+ + p1kKGyxBc7FPaUBUmS6QKzPs5E8Qsx/hkVbmctZXD/O1uJnGb8weDaKGcFJtWBMhJf3aZ6pa/pgg + ebZN8boe95D6rcLQVQwDM5RwjKGAumBh2NAxkCiLVmtCSZxALJJuFcREET2zOF0bMFLjzwr0e9ie + Ym+0YFqVl+bo4wDbifJjcThNndzZvxQZ6ehssD/4f84gSlASDMKeY9n+zze/Qh112YzYw/cEbz+4 + Wc/UvWiKs+OPYnqSnwj+u/bwGx8WPcm++Jle2/BdaA37dncptQgqTJ701qdrphJTmySZ0y3xm9D1 + kUMiYfqtA+GG+Myo4/j35fiurfsLK+3nJfIZAt55at5W0MqMRxFIHjO7cSijt9jZhICPn1yoRW50 + dK3OYAWgrTgjT3IU9y0DqOX3PigyQDA63+7SnYvqHK14yH3TKSct+k35eUCISUmIvX4XF0yJdUzu + v3BJvjm5eu4uec4FqJ+usImLXZGYI1wyQjb0M+lpCJCK1Q/qAuxzyuBMBPCCSI026CVewXuUfk6a + BkjhySG7apJOHVzZt0uZRDMyCQnBRHZOuC4uogo8TQISJzp7h6WDwWdotRUc1n6vMApcaChXi19Z + DxrzJtpWLi8vh7lVpLZ5yw8WZCbCRheSw44G2Aipr86dJb4WfwPwm1MuAY6ObMgJa1/xrYqzfKyx + EmbTp5seJTdWX/km0eGnfeeSOuaDVPhE97CXcuMfCXkLfmtnSlRP77j8chG43XKSFUGZjraAJYTo + A0LJT5hwEOnifYgJTAFAvl4QVg4d+gSLLIoc65XZVFJCt0v6uZBLlMR+pTjcjEx179qD6pKun2VO + 7ElPh8Aji2JqztEOyFKvlOPXB0o9wWW8hXwaBvmjAC1+lNIw7PZXpfswXM969hdkMqtQG2nxYqOJ + IrRDgzw2ROHLimmo3j+wgwS0vvTpRRGuXq/7Zkk5haYUDnmZ1pMrrA2ns0yLofPs8ubZwbLKnc8y + tIpzFD+pwGJu7etRRBQP8x2wG2Bh3QzETln8POQO2lNyIz2vx/MLPMzcVKYTUxQQ8eUF+l+wMmz8 + YGDNeoC5xuAdMZbzqConsV5mLhJKfq0FCJHlbAjHD5gsRZI98gQ4QV7d6IOlBHS8qR08WekUzXxk + ObofUr5/2hi0ZcwbdKeIGdZKUd/dzlW3YOIfo98ufPwQ3/fr8HR+P+i5ZjJfcfA0IVSIraiXi1QV + falyR7wZwzvTFElupJOtvcgAQ2wAyAWTxQVdeu2bR2LIXdDE6rctjjFAOIYXu0sEYEdZ/ZmjsA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 55782eba-d27a-11e9-8412-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 55782eba-d27a-11e9-8412-001a7dda7113 + x-ms-content-crc64: + - 3NuDbFVGw+o= + x-ms-request-id: + - 6cbd933a-c01e-0019-4087-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + dEpbdA0lQrghwt4eXfIDGXx32ckGA6EvgndW1BiKXwzkPzLtNzhxYqLhbQdgLnXirTAtH2m79Ive + 2GhuA30k+8855YFRly6IUEM+uQKpu+hFq/zB+Fqz8o6mn3vI+MBXksptuzAJkq/LyaePasmeDDRp + cw4OteM3gnMtlLemGXTHjFvWj7oXsVh4RRz42VkZX8b8nLmk62MbaOG4l5AdG5qEtTSGsHi3VXy3 + aUx1eod51pSPl6HoO98WWxnoSgoMqth1dAw3GSijmo9tzRz8X0lpXUUIIYvmrwBR/ZkR0XN0XRrT + 8y2YM+Z909GBQ86BL7zwSM9sP9b7lCKWSaJi9SnRykDcAmMfiFHURpB0bP5zqaeg16ijBmP5JZw4 + wWPrD8obX8h8lYi1T0VVDxwRn0hiaGa4BBGgPUkKJsZAWSzNIJ9UvkbjpQdCXk+qIoU2eAt2W7CO + 64oba9t70QUrQR6v6vPZwMbYLG0aOdRYKjflZi8IZG3fvmFJ8UUGPEHb+NJ7DFqgfmCa+R5B3qts + GL4SjnJCoS7vTlX2A4v0boZy4f0cdf4Y0SIRwt5np844hbzfHZAS41LTagb9pnD1lbpSXwwC7Dey + ChiNhzNfKXska1yB7n9hEJzCHrodJitnCQE2pCS8LUShk9hd8dXOo8U1c4+6bcd6d2hlxd9MS5lO + 7MqE/LrSBmTsqU1e13DSxVap3Pa5FhZNJUaHKzCTOw2/acYguwfCht8T++GniCawHvGsyxhiWk1Q + OMTeaICGK2wes9DTKSwP7XGDZbve/Q/mvLNgN5Sh1A4Xqt+ZDt6+4JKSjcNPD6hMmETasMKfrwfZ + 8j2J6k59r6LKcBPGcI+M1QD5jpLpoF75ryz6iQoMh468S0yhTxxedOmwnaFKGlM5y8n9plCA435u + AnHqoncnOJN8Q/46YsPSVgoaHVoD22Se5u0oz2UPaGGmj/0Q1wiAYrt0SoPUisNbqmVtnGy5J4iB + NX4v0N136yrlzdb2flpfIDhXwqovEnKGjebaalaYuxPetW1ySUqioPyMzeaIZ3cnOtKtYRG6HEf+ + zdT50e6+arWrqSxBZKq7j8fL0N5xoh/Ggbx5T7BkMLxWwM9AP/fXB+ZRsFL0mg98fCyowAr6DK5n + AbyMGOmKm5UriJsvb2qUaevuQb+emvNoYya/C9If5sLck8WbBHzMWCk2DHywJogYat2h93lYrNpR + sJaph4hxqBEpOg14RnkLlZAwWUi0d05TWeyN7E6ukpzqm2sbjgQWeuGG+GwzB54iSgh9ngHTd1Pn + w+/6RmeNpS6Z7DTxRX9gXraQVtJsyCvohMpu6AyQ4SrpqjA9Qe88HmaN1u2gs+cj5QxaZ2jx6w== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 558ce5b6-d27a-11e9-9614-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 558ce5b6-d27a-11e9-9614-001a7dda7113 + x-ms-content-crc64: + - MyU5GlPs+sk= + x-ms-request-id: + - 6cbd9343-c01e-0019-4887-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 2VkZVwqSzf0W3O7cP9WxRsfNNCmnPJ730i8AnVeP8MJtaEW2T3rndK6opKI4iJWIuezKfikg9Scg + Ix014KlGnBquYbkOXhk2y6e1yInUqm4u9EEznM0rW4R6a0KLNG/uWaUX6B+f1SGJaeSP4P5SMn6E + RRHzK9huyOb6+WUP/L4O61Ox7aCzTtgZsuKoDZoHKJzMfHgpIRPzQ9U+0klTapg0Moj3bHRYyE23 + ZUWQ98jWU5NuZW3nqIXEZj9zx0ZJzu7mIepXyoIZuGIzY0FU7PZwWzHnn24rx2OwgpOmCRq/1eXY + uUs68yMOQr2ed9BdhJf9TIFAfjBB1fmPZW9WhRQPG3T36j1qj5h9hfXFLGEZrlve87WlM8HiwT5m + 9pJgC/FrlSJtI9cYVAESKb74SyGoXOq61fm9jpBKvcWnHuRJiTRvB8g8MsgHeOi/Wt0IYjFbWjGV + gMBAeNUhqE59qXLwmZs1Mg0570g/QQdM5KCO9UaL6X3axeWh8oQXTkDMWgJvZnS1UF0fb+7NJmmc + K61DQ5LNlnwlU1+pgNnRRTqHyk+KUYtV4FrAvTVNvOko3BvvZJJtf/SkUUJusdQvRANvRkAdd1WD + P7v7BahXOf6X2iVA8tLPh2xypPnBhb6Gkvt3JaxSVJHY5r6PpTLR0hP+rejdeEYGhPGEnGAvwWgU + bpOu6fEOJVu4rzv4Xi0AzTI47Fned23Mr6Yb5IAU4M9eraM/+5X65yZs4D5CV1IwYjhS2BKcuxcB + i0aq4gjwX75q+BS4wVT4/UsBbCv0rVZNRgTWmhQYXHImSD4GQSs5Vz0ot/wi9Z8OYK0eZFDSfRft + 308+zSy47Qju0HDZjsgIxguzD/lpeLZm+GJjMc6k/e15dI0j/KjT41JICRZVsnbJLoiSgG3DxycX + vw8APoO5oy7FRDeo4UILhea7cH4tDt6aIAFkC6A+JQEPjsLcgyUlPaH1pAcDJicEJpDFDz4zEqqM + JyZjjadqqq0igjUbivEtAbYGbFT0PnyCDpXOnpvKBdZMP9MUNCaY5HxR6NERfdW8arnwS8yCAq4f + DwiybIYKGb9ca4ox37/8h7slutk1uX7EvdIOh+QlrR2yj03eIMUWuKI/q1FDfTAzr/CwGbh7YRb+ + yFCfOouIHwbI/pCDRl191CIwaS5Rp+Macxj4EkUhYZKZVniAW16aqZYiamHRdMXWKoUWPhWLrKak + 5LkTd0MUVcK3dynLpzN7tZprnJf4Q1XdNJ6y/D829XlmMIloJMM+LQYRI+xtixS0OnWU9ZXjLjEO + HeYK9BWNxrympFYFOGTvbXJGvLQC9gA/V75/5TA0IqFRneIUysbGmRHzIlBeyxLt9xnHVjinJQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 55a264ae-d27a-11e9-bac4-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:46 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 55a264ae-d27a-11e9-bac4-001a7dda7113 + x-ms-content-crc64: + - EWxHrR7WXmI= + x-ms-request-id: + - 6cbd9347-c01e-0019-4c87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + xfWjHdsba5nbA2xSRgZp0wM8dqD2I4cm7jfxoIzf5uaxjIh/WEbxyY8PhawE67K0+Yyz8Deuu+Be + qN8WJ/xA7xbfgqqdAPRduUSKaOtdVWfiaGnyAHjLN5OxJCuPSuN67hsCv8d2cRX+KTMqMc9Ys7V6 + CSM7KBdTkeoYFZxLh2EXw7oLYB5meJCGa1amQNps+86+L0sDBCfgI5ii7BS4KdU1+dNLAOEtDJ2e + +z/1ns9j0OJvcu1fVCEWLwylfu4YNIpcu9ywSTBmivzAMohwD+SKXDiQFKFyJgzhSRR5CORgx8jA + QNAsQ7Zv8Ntdset686APPrHwPa7PzU0dPd5hW7e/0YH76VVQqYc/t9MIAazD+DrjFoyOHQosLt9k + aX4P9TXR+XFQ+A5orpAFKOqzlkjBnoXOv1iSgpzc+DeCuqV1sJvf+Jk8vYaatABC52k7L0s/ne8m + mHKvJfhUnlKDMKz5SUclojHoObge4Nj4qT1zyNLpryoGsAG4SeZYMklH72Sx2vyJpq2BbrdICdH2 + nCOV5hmF0ps/oVpR0Hd005YCGsT8zBUQBRDwXehUEk1kWO9mTKKIhAsKLwEofzSZcooq1lnAklV7 + K/mawzKmyYc2G93GeRaW5mE0FYaPSB14dGa9yw2oG3oz3H3MpuHbrZ2xqjthXjvbDHcyg2k+Ne7q + ElcqRTUUfm7cz4DPe/ugbYGrRzruUiO9IJesEy9K0v53EDsN5g2Now+5fz2BxRnyxlt5XYIlRhY7 + F8gWG2A7g8TgMLQ4sbls379bW6/SUkyXYqYHz4xeFkB4l3Sc5nIH4ZhYJJvah2OgTOoP3ocBj8d/ + VuOUNW0RVT7WkkKMi7Pqc54YLJo1W7A0txKTMsSpDxsmgjoJd06g5x9JyiV4RUAl5fhYR2yBtWQJ + XcLZprPfg96hluJdxVUVUIjpqYCWcqbQVU56tpJgZthUUNIc3dHItPbYHaVjMZ1pinkMM4WXiwEu + 6jWitTV+tFgwKw2MU6Ocbp05JMBoniGFcC+N+eI11t4Sh/0zETpps+PqLgpUk1YjDeI6QlQRKHJt + iPCfhbJVcY2IYSy3qQphIz2pwQyJUuEvGkyDsx5cCYYxBA6DZuFKBCdKg8jGo6jTp2Arnb6K4kSW + 9HkS3hGG9X0P/o/c12QY/fURqMO8rSeF6B7vry6ts02EivWp5N/zASZpZe+2nh0DHB+EqVkhoCN4 + YkLONfg7psvbC0tRUUMKqbjflquPk+uj6u+xHtstKWygR1sHFJ6uhVf8dXvrPBPeExfcNzLl2crS + 2BvjldLS+6feyVNSFz2fqeA3vPSxZYexF+58XgEeABkckxAibrjv37xmZM0RpBG7Gj8/OcUVFQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 55b8b8c6-d27a-11e9-84c3-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 55b8b8c6-d27a-11e9-84c3-001a7dda7113 + x-ms-content-crc64: + - 7JY0Pt6Cov0= + x-ms-request-id: + - 6cbd9348-c01e-0019-4d87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 7thKMJ7dsy5OiSv22Y5dc2+EeQkVLqrV3mVt9cEOtlJ9d7VzK9f3B66lYiihL1X8TI5MODfdfnVf + +8CN1Ibf201RdmkJwEnc0lRIMpdwYE892BmJPE7bPI1hpteukyFHqTntR8ERcE6iD7DWmCKf7BBF + Pfb0UHK3v5oH7978J9J/vIM1rje8NyoT3GvuVmiE3LF0tVhEz9+olerkj/mlJ6gZJXxdLkcGJaIv + dRrsl/Kh4Uehja2ymtW8W5vDsAYtO/bpCU7Xbc/LkYjGtbw3iwjt3cqlopW0iIDe0s/b0i9KQqAk + 68k4N3AB1ZOgkgHrbyZe8iN126K9ELhgSFnWpm1ovCn6HY/sdyDIQPTvE0VuCzlkPec66Hr8rqHm + pvAeaJ/IS+AZekttFWGxFp5QhAeSPt9PCSPCgjvMEba/f29rNfhccJ0rDA5+H7X7PISek/YDKO1p + 7/NH0IYAW0ZrYfuXj2ikM3T5PS6FxVblqt2EUf5EIcjMS6Udrky/sus7Kx0rCvgcxk6PJQR4QVBl + FKxSnE8ypCgxeekSeML03He+qumoBcnsuaVMp+3ydsLWQnzQqqJzty9Y3GjlbDl82gcXuFqQOyYr + obtj1AIaHvXaejSmyW1DsI6xonCwNYndhoa5uPcFDnsap3F1B8ydL+b8gW2NizgCYGsK3YgzKKji + BSDxmh/3vDkODgw9KSApNuS2eYK8UEdfWY5VPlRaooJa+F8moogNVOWpV1GTWX+Mzjd72br4mrmO + ikasRjsvYNtrCd88PoxSVyQ/qHjINr5drSfazH/gtDnjAhCRxv5vOCkDvHySxyBYuVl+y4qhv1Y7 + qKdQdnnlhQbXmosX4iL91bgvdPdFC3ADAKW9N1aQ+GU2GNbtCdSz+js1TkquLdgnFgDn+z969ruM + sSkUNxkSZaWFk4D4pj23+aHetAklSBhctpU0y88aj38VcXhGeuD+rlXGCP5lLRP8ymtseoyf+uoa + jjVLkIQhwVKu63Lq4AJ8fhDtXJ3mqemn0KfB3tQy4t9SrGfYnAJAFNzUg8c5nQ3B39QYucqZTHjd + MBPntBII+fv+HHJXsNuORL6bOIOSOxQhpy7H74nEmHpNd47ZRdhGpRg7THEkGpWLGMFJcVHZ0zAu + hPGOgkMHzENquzFua+0G1Ia5xCXo5jy58EZSlj6d64d1FZtMiE64qrf5vajWyEBYI6LMZxZSC15U + p1MzkeId1CoWUzZrXMTltm63wz0x7kFmyGbQ0ai5P5loZ4W3y7gI+wWhqer1cICmVxQOZtr3T2WY + d2kTLmg3wsouu+rrtV4LlorpVBwcS7RWFdKPEwMPqDNTQTJVT/RAoivLxEjvNKErJBOXHtfCtg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 55ce21b0-d27a-11e9-970e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 55ce21b0-d27a-11e9-970e-001a7dda7113 + x-ms-content-crc64: + - zjzsrmQeL/s= + x-ms-request-id: + - 6cbd9349-c01e-0019-4e87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + kZd5+6AzMO2op1vcvwHZbMzzAsePGKt+k9kFwX7jBP3in50eBtwGl22rj9HuKsbcPSSnSC+DBg19 + 0OLLVzqgfD9Lnn65MGh9YipOazRibQzMNAsz9TYPOledJQJxggqu+f7HTXdJF02myRbXV1igPZqa + 2o3tDRh5lqt3xjawiJFOEEVC0bY0ASAgDtkB1CEvy7qrq3wekdGxO6K+j/1zPnb4UabWY2ZcLkKU + AfZCGNiDhQ+xYfZY3zQHE3BIVnKHchF0a61dLmnvJeZEfTgKOQkwA6sZ2ZrR098layfgZybcJzR0 + Wh3+XCycH1dIrkafiDMall59SsZ37TUz5DkWQ4NrJf6EtVYIXx+gNb0S/X59ycT6QZkqGYjblgP2 + aY6EoYrXw0CvEZmvlzVGW0XexaNQ/JK/LZU9AhrGwuUK7xnzPQjJLoSxQY8c7JqlZGDYhxGlR3cM + aUORRvaftx7SJcPcY/xKgXEC+ooDXVLikvH7/i7jeJ1iFvNph0tZne1Ck3Em0EgA+eCh3VCZptTV + 62Fyd1CkGI8Se6yIr0vwDex5Y0F9fJYnFZsqiMQKuqeEM8ovFzJ6GlhrdXVoFJVFrajj4CXrfPNT + noVDKwUiH/YtbaWPKmWruYfMrved/VlJoksUvnTDOClRTWUBfakyEE9pXgcbf8Exmr6rq+0Njk6V + UK6FQcqWFpeMv4UkjlvF50uWJq0YG85XvnnTLkNR/YaweAXOiXU3PY38WrufMHDDPHyRSyUshGuZ + u3yP6svikxdkVlt2fuMZp75LB62oz+s2CHLdWOOL2+0DhjMA8o6yEwHq6vz+n50ClOLlll0uiTSW + LhsPHwsUwgcY1AtrPnEi+bI/3ZFl/Bm/zICqGourmjk+YRJHdcyLJwsHZ7fulxVbhfSI1FvR8EiH + jQJeypHR4UXz1I8hCdD90DtPNVSpp/ER66u6Hkf0EdsTadlXJvP5Xhs73HZMajiijZizKXfbdcVG + HrLjHMiVHisxQgHRyvwrrOdrc2KkuoJy5jmS9cHCo6p1lXlkVTr7II/LX/tutVkTfNzP4TVDYJZs + dgG1INZoNfKBkPCP8SEy3HGar+Om717wbNiuIaYxIbwqO9e6RwAtWMvIvPCAyLbk5+Z8d7ChAJ52 + nW02ShlIHKHL1RmQRTeq7tYJRPy71wrY8RbhKrsFdvHzwiuqAlXxrvUNGAyZnOCEU3YTUiwi5JeB + 2sFA0bo1jI5Rx1HpMHNbjL3+EXUXXqom29GdVl8ZaEQ64NW3qxUrDcbNdw0ADVW9jdhTEBNNQ58+ + R0Xi3tYPnedPVIYc58z2Q/HxBPx5zsoynVb1xkUSpA6TuN3Ih9CC2rBAW6cic2aFgrazqnhP6w== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 55e5e8c6-d27a-11e9-bced-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 55e5e8c6-d27a-11e9-bced-001a7dda7113 + x-ms-content-crc64: + - TaXdghPJzmk= + x-ms-request-id: + - 6cbd934c-c01e-0019-5187-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + yo3K8bUrSofEuPGIi9Exv2i5nNEYKmY4uRZkVphgzJYp0Ot/kVG+iYVvv4JNNRxIk3iVxF+tVEMd + ogmQPNxuJw9TBuzqVlZnjzs3F/eWaEuFUDMjPVRr6M6Ie6K/v+XqqCE6QCZYc0HCbAYZVCC1ED2Y + uh32XaVl4qEbaDYfU3lTNPQLX2L9bUP0S2iva5N6d/Cdu474ft75YFKb2IKUMPnrhnH2u0mcIbiw + hpx4nrJzHhByAqhg32cxBvtLT1eP4Mb5B+JK6iXtugxHal/dHR14Xr7U4DdZ4B8xFqtLrmQP0M8a + A+xHGHAngEXBP5EYr4hzT/uWyR2DBWb2jrE91b6U9IJzmcCMRI5qnLc7ArkIrwGFY29644kTmzLO + tytY/BojjhUaXSZ24LnQjydi7e5vGcADwQesXjtpdBXDwIQYrtQtXuorlrgtFz2HozPCe9O6/kHR + H9Dezih3266Q4ZpyVszLCVMblE21IDJC02gjwg1bgbC4uq1egSWw/LbrTqaVHDtVFPGN1kuUk3B5 + Npn+f+t1PSRIn/WuOc9FgQHvIG3oTj0vN/uso/h8Gb5+0inrRDhRpodIMsAnlmkv0U3whLsuGZcL + iV7JKBVT6M+kZpzFgcDhv+Hou6l44j9cLrWIguh/mzo4c/pyZMkhauQkfjFoAwW7PaVYm2uCO1Ux + nKjsHfLJKNp4rgBm2qmxrL4rXhDHtWBmeBYDlsi8y+Qr+FeOEjlbDreis6J46+k05+S6o4WBTzdk + 7236hJAwKnQZolBhwZxPE6o6OPuDO5PZXgbyC6Gk2iOpwPJv869+c+Xy3fodpceGXtK3vCZvbRq+ + hMZr/VqOXsYwETQXSsgPV5SijRbdX0WzNEsQQ1Dt8KO1rJKOYJEw+LWJQJyqlRqYtY9WJe7JNwx2 + JNv9tlkvLg9X3Q9YlSlaMHGSSnInmB7eHILfywV9W6SOuNZUGWj5QDHiOYKnPAvpUZeBK9fTpqAO + jtw3nRc/O+Mnz0YoAIBEAUv953h+aJFZOJJR1Ls6CSxdBCY7dnPvKHaoPbGs2jQ+KcDZQwI/ehAq + mEGQpTN3yA8ndC2bH5Ur6a6Z6KfyYKgOLW+Plb5oC1FE5LOrBDMv9eu3Kd5egZDGhzxqQnDAjI32 + Hlyab5SmJ8E1Rd7y7ucfdbRqpMqPSWfZtcExbvWjQAPrY3IOQ39K53TmTD30ZHs0ls4eAui2JCr2 + QDIrL3Dwh3EBlcyCsK2wVa6Z0RKN5gSij4ioHpAVF3ClHTCGjpSkiNCCytYBG4j6RmgUG+0VplZt + MGJ0qyM6Wj69NTQatuSoTAwusvVNOxz4H0t0ew1Rd+X4ApwaBVLuHBdg60BAyPskmlnNFrhn7A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 56035064-d27a-11e9-be39-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 56035064-d27a-11e9-be39-001a7dda7113 + x-ms-content-crc64: + - fk/e7Cw5k3A= + x-ms-request-id: + - 6cbd934f-c01e-0019-5487-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + rT6Isc8Ac2Q2fu9Bh06tXpn8magk1CKnx+/aBA79caBczjnyKQGx7trLBh6/pOr8XHAl0XwYJzrQ + dCIEf1GHChIQGvwf6Xn1JSPz804Gh5mqr38eyAIq5a+zk/kEVUFnmsqLnJQKT+INRnaRe9/adVkh + 4mL2iWO34YrtcMSz6/4//Rp6xvkkoIu/8U4XAeQO4cYQ3AmNN4fEhpzEwm4L6T1Jrb0rsbguJUho + kqnuGwGv3+1rZVs+IA578Wkowm8yqM+39vNWvzHWkQ6jk4/c/kVRNzITKRN+tEg388XBm080W7A5 + WwgAaUtb/JZ9lbMKmglS6MAQPz4Bxmbfoznf/tVK9Ggb1HDbQrd+ECeZw0C5hf7d9xscHwbVelvA + LUuFzjYODdbSJQFeDkH6P8s0de9ClKmyDe/SHuogk7bYV5mb7Z6CeTtp2vHC6WzqQEIuc90mCUBD + YI6ns1DlVLO62J1D909hm5VDNPgfCCGR43rndem5wnxGLq7XGMdD1Ziy4AbhxuZvg9TJ4vd+BfYe + zVQFVsCD9u0AUIlNxrgXoZIk+VqlMDUt4nkN8XFbbS8Wgj2HSDmhv6Tt1OCTWJ2eCV2DhR+jZEcY + 8Vsi2j05Zi46TnZAfmOHtQUtWBXb8cM1LDYIo4IoWJj2klJ6rL0tkc9IJNzPli2EqfE4jUBLjBTf + y6V0kgGJWqhwJUJbiJoWfBW+ksxeQi7YM+E5pFjVxdtfx3ZisHiO869g9nSWZKO6MlJf+Ll+mctW + 2WlZfTYeAxtYKo4lAtJQOqlvaAikLEkxaL7HsDdSJv7AtkGdjKbb4MVYYngGTZdcpazUGIb2tK3V + +KOuCUoYfvEkqlcLegGvqaUTM6QQ8srwQ3KuItnUgD5vYjk8zkf9OraBMpkUXW0M3APiT78tulgD + 7dP7TPcM5JE04M0TV3Bcpxq/y4DmyLGhBFQPJX+bD9boh508cZL4CAJBg8gEbcv6ESFsouSoJcXU + NOa5aRnAM7v0hP7lKrkDS8bJ22Mp22xib7576g8+P7XlVu9NUoaOM5YxS9x+bVf99M0u9plAFSTy + GP6BC8dID16BnJ1O2vSsJkFTIONuyb3majGX1gAVNcZwt0EzZdaQqQAg556Q45ptb+LvuWDeE24I + 9WlA20Yu8LLyzjDu6M2111h5vl9BAV57gihTgHopNOiz+GvoWyOAfVia/LktyDCWBa3uUwJLExqr + 3iW3e+NsOboY9+bFRifxsphWbfaML7yrjwo4SWTwTlGWHSqIOboVtW1GuRNAaT0gSmR0IIfz0vVI + 4FKwuxNxzRWOhPTmGbT9X0wq2gjMtYrL520Ti7cByajQniy4DM3O4xL1K1BoYjUjNO+Q/ff75w== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 5621547a-d27a-11e9-8143-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 5621547a-d27a-11e9-8143-001a7dda7113 + x-ms-content-crc64: + - Rq4WRjYPCys= + x-ms-request-id: + - 6cbd9353-c01e-0019-5787-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + huqJdE0CZE3TD7mLnYqVGTtsqU9/xNB7tvezBbvDoXD7A0iRWA50c6QS6zKhZjRhNrbuDwDk7MEQ + YM0KulEBclElVMbXCgJs24cQw2wd1WPRglegu8g80Uw3yYN12Bg2nyf4VmhGAp/lyGXc+rOZIMVZ + zPRgQhONJAPVZGkVvggcFr0wzvh1oUHTmZoPCVY84bnrlsTpfeIGNsmLvtNkRcrCnaUsqRr22Mau + LCq4hT3F7gsXmXpkGotriOVAW4zB+VsrcWziVvO1+amc0g0pmP6Lw6d+oCRDwnMowAqs8SLOrxIF + 8blIrDIZGHsrL2ukLC6bGcz36TMN8zyjpAUGGcP2/B7Vd5mii5eZLuuTVjkgvwr4io65AUW3jPhE + Qiibcy5bGmNyTkjke4J69ADztWyLZR1kQIFfeAmoJ7uaQEiV0+7a1AejMzEfDDyUVDN2xcKn+KvW + j24dVQSUkcHYPF0OogWr0fy1lw1xBDUh8rqM8EhvlZx+392AQvvBRslNG0VgZ702Q4HccvfC+z0B + Ko0DbzJAtPVu6NA48WR0kM58C9dSphMk3G5449V52zF8Kh/9yvUz47tcmaLCA7vda0lmrHJp+5Ul + 2hSOHvWZd8E9QtOkQxILJ+hkoXN2k2gfh6Vwh/e2aJ21ki7BnktJXyvJRwQW83Ki0ld61BZPiuxp + 8ePxOmGJntHs9QsfRjFVarCS+IvOjIFYzDQOz3DRR3z6UEKZwBr+DDPb3wfBbPeIC9evHyDtUu1l + GHdpc46G3orep2QIBIDlRNvGTc7O4HWjOn+Kawc4CJYIQckpuP2dpYvx9qaw4Ny+8IuFTODhvGCu + DrheyxvQMm1YQgJlWe2jf0EmpC5LSyBqRtWkQOQSur0kv1RFHNDZx20qwwSwfcioGVdTc0KaS/CW + 5i/COftporFPSv42EIOkKFkgajly8AuLeNvNnCxrqvAdamFDnrIycMDGAUjcgCAJHOeeSBMmL9Uz + D9cUsy0c/nr6RYDp8Rdeuteu5/UaUxkmuDhKV0Oj0YU0awEz5HEWuYony/qRptQmNR1LGGkmJj8Z + 9eY6YK+blg2IwCeQVyODICIXDrUbe4SLq92F3arxVOWfLSDatTSc6y28LX8yPTF3i/0JE4HKRwX6 + u/isb9lxrW67GHVYvHbHT3jOK6fHjHeTmiNE6SotrsGlbjeEKMn4eJ4EQ/IblOzn4Zk+sUIqXhwS + UiMRLBnOm44Hf4HNpQrkwvT6KwJa+QeNDHuxctBuvXedw/q8gG1Xq/ekcYRiQvhIrRnQ3DA154/i + e1Vpp+IP4h4KGSF53Ga2w+KgdZm5TFzqhTBfGGNZpUYH9Qta7s9osPEu3lyiZJC2kDtkmrudKQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 5635f558-d27a-11e9-8b7e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 5635f558-d27a-11e9-8b7e-001a7dda7113 + x-ms-content-crc64: + - paJ6sKZB5L0= + x-ms-request-id: + - 6cbd9357-c01e-0019-5b87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 7J4U9NVgOiuuBgQ5QcAw9repeTdDSKByqPt/Dr/5iMtFlkS7g2dxjhM0wJUXLdP8GMITumIzZgTS + rJYyfOeI1+Yp8845MCFbD7D6efdn3tFEAvgSHb1SdIg20ugtj1mTYVwYrFgs6rySwX0kvZdqUADQ + 3T5K3+GvNTK6gmEytlPPMJYydLsJeJJPg+gopCR3n7Z8T2k918jhf3kQrH2hOKdyOqBngfvwL+7r + pvI5sGRwI1VS/KN44hmw54+7/s5Etiq7JqKfNZyxHEGpe0HJ0Kbat8Xym4UNejZ8uCUk7nGXlikY + LhyNE2B1tzy8R7leHr+CxF91CjrlGCKTebXk7EU0EnVShY2HHNkydux3g7JBS6PmklVZmrKAYki3 + lvbyZuSZZ3T4YnhdrNyKEF5H1cP4whlKcaovOJ4v4dZBshAhWQxO2Zv+tEqgc3PCiCYE4Qn9k2u7 + 0Oqv6P4cgISN+4xpAdyXYQVoGy8t0H57DsrcgHWbYEW3n5pjIikNtixZdL+C9KAAdHJV0JiAf9yJ + cSpvKWEggPYvRu7ONo8WANHaSdZblUCPFpwMC+YZp3u5v09pER5A1qq03efbs9sp0D7WN8bGTj7Z + JJMJYUCyyAXLcIjD55qOrCelsNMyjZggz+wXnJ6jhmzRFzO+ojaRktSoTJ5UDWMsORYpSWqSyW+S + UWECDGK3FJdamcuadLiGp91XXNqvXL+Q+0nOoIxYwH2zCc2NnHG7mtzUFXR4cUGkUxUdE6d6OLLX + 2YYSpfvWbDlVObBDAkxehMnCSyAyh73747RfKh0b9Vuzpzgaks5ENwMqRFf4TYv+CvhDxBMnx6kF + 7mT3h+yF7ZFIYNi9uhRjYh8UlTGI6ENe0W8TjSJvvUv59XLJfet9Fn9p6hIhPkU3gwW7ZZQn9ltF + QSNTT453MIZHlnaiCIMdWVjnGK1FbuWdScnt/gW40DTPcbZPOBizyXWaiIjyo0QW0dYe0UY0SKNs + j/ilumGso+iH1CjgusJZ3R5lFeNpZD1oJmaFUQvaCaSxwK4vP+M5mjeodH2DbZK7YycaL2e+ulEV + 4l87xF3qGR1/Zhh3ym+8n/2DztMC8tLhElj5taWhA01ZmWRIKnJtB1OTY8G8HpWctOKAoN6WhRyW + B6WjWPOQjb21p8gVKMCby30LMfdl2EtC60y72106bgsBYbcSTmWB6slVh47w4KuRYdHNOKOjsklP + tlLHtto5p7xHkJsQfnGp7kLnV2Thqz5QmQX623Zq4BO9iOmTsMQk5N3E72/d3A4kSwI1blPgjjV/ + aNea7cuVYSL4rg8NN3VBt/PkK3kOaTMZj0ijJloNgR5oLQDPIBS0ykCoZnWrYeYpv0B6KfMAbQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 564b98ee-d27a-11e9-a629-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 564b98ee-d27a-11e9-a629-001a7dda7113 + x-ms-content-crc64: + - wYVqSbEPoJ0= + x-ms-request-id: + - 6cbd9359-c01e-0019-5d87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + CCMp7jKSovodHTvNcOCV0upk4SygV96jkIn41snihDvkh4cnby4yR8YpDZcJS6ZGC3qNQv33TxNJ + CJUbLk/EgXTPuFsX8oEYlx2Pc0s3YOazGrTzbyyfRQAWgIq00Vc/6m5ENx0uM/QrMfYRRGY2LV4M + vd4qpb7O99X7dTEKkFrpcPHfkdeQVaHlheHF7j2qD3IpZ28UuknHnXvZ6clNVCjFy6m+AsroYoLK + 4cTyowU1WakbyBGXHNT6qHlxH6vuH5O/fimWPXRmF0WWrMrk+h5M2lOjcthFZ2Z8hpw990svILes + 0diyq6xOX4M0YA1lZ1/eJvGQ0TKqLIq7JFrsi5TSN40ihVANvhXOgDJNzbW1NB01Q+I9jew/cc+F + 3UC5vL5JAhsIPFfTdnHw87XBt5Kw3C3hBr/VzUglHWpU1Mm8w2xWU4V6tZn0qIxTTEZr6qRUj6Mu + oW+VbysoPxSiTpaNljN7wiCwfq2ztNzzlmFhe64g+YfKIHnPV0LxPu8XuG+u29dB5OC3A/iDiviM + FiZGmCghs02CEl/35wWR6ozSP1vALeNd++TnrFEArmkFUtui+zWMRjK2SJGVNHEFo7Pt3I/IJ4wy + EfQo6ZZRQMaptznd50/5EXVBb9tZTKapJXM8ptFoYKnw0sjMUa0h1fTNsrq4r91dxauSCMn3+Amx + ciDwe+CMIloM+K+cOFYvKflHJemYq/svenHLvlmkN8DGiGE/mqRfl3MYbhunlADsZEoO8gGTbmUm + alDAwtiOXnBIvps5W3BUZ8OMvu+xOhv1KsgjDi0R60mYkIawhcCulaG7FGiM9G+vLVoNYNEQOXJT + TUSzlVIoJV669Cs6eUHcO92lN+8BRVLwDl4fai4mT0iuI+H4uRw75R6o/gbhqmSgNOmlWZKxErmR + 45cgUMgsbjg9YJ/+o/VGpT/vDMbXR7cj19nwzTdHpFKLYohryycKfaBNNdkP2Avm8Q9B/If4+LN1 + RT2L5H+zX5kMga1VAQIxo4KI3eMPtCQpaMGtLpzZejoy0zghMrSX0aqsWlILbMMl1It3A8gVzr14 + 0fcFZGb4tqPvqEY4rQcyyvjJmLaw2fv7QbEwgXS3YM5AnTfNE2l47m+5+tdnILU1EoYQS02HJu/N + m1QK+O8FGWnJz+fRswcWk6yGCYT2SFd7ISmWQX+llkvmmDCXjcSvo1NczkT1Li7Vf6sDWArCfywi + jBTat9IG914TW8D4c/JQZPh/sVI8Pb/N4j+dwBU15Ou6uWMO0yol8KdziE57ySRwd6D13CdgTGaI + aPBro4D2/S4YHvyu8rAqL16oLw4Xcy5hVrU6u46iusHWf3bLwDyD7NoVEaOBw/vleYvNYHdnPA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 565d2634-d27a-11e9-a8c1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 565d2634-d27a-11e9-a8c1-001a7dda7113 + x-ms-content-crc64: + - LhyG1qa6q9U= + x-ms-request-id: + - 6cbd935a-c01e-0019-5e87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 4CNquE4XzPVxYDPdvEYaSSEEjXa64zPrWajW4cB2DTztE+PSx9HsbHBYLs/7OduuPtHD9pKUYgN3 + XlkBeYmOs66GLY8hLwIsSD7PoR9zZMBJMLho2eljFSeTmBq+tmlvNSfkdVtcTM8d+J8NzPJ1nCBb + QshCcT9MDID4hA/Wp+HDv6yHAWM6rkcWc7WIeLIPjU0clg0wo+QQc6EEyEikzawDKH1sfooMydk9 + du76Thn5JklWcLWG6qWfinw5W7nv60C38oUAq3CHD7U9Wz18mTz3JzEqrZ5V2H0kdxXc9iFCnHeY + 1s8T+Mk/qrPDqkGl6gac1MNw2Dk3soC8P+Ymk2Fc4Y1/x+H9gFHIkCnrAcqKmNYo+KmXzTFyFaCY + S16ZUwfAZ5Zb9luWbW5PuRp/espmfv0b66IDsYbPyPgHd43BX7Dea526awN2ESDdEOTjP8oY6qT5 + 38p+fHUZ5QPsMfqbJH+2OHVFANy8UUKlKWwaa7McHaUBZ5wbuyqimmy0XgMXOun1AdNtPh6yNG31 + b4NXQwQl2CzNvmHnm88rdT7oRwXgQE1KVXeOVCxYw5lNw1xZCgZrcGpVyRQO3JnDXK4Th9BHqszH + yVcob/uDF3WGcSuOWCKjJCciiV9bg16Z4iAkekq7ONzXXBlDJFJpaSqKlKSKT6yIK7mlEkw1apuL + jmq1YRJW8nw4OuKJoH5K9beD+vPNlKxnjKPEK9vY4ZNvfC1UgeR9DpEyK9YPlL33zeHGGQFWvagn + DEJlBrSaxPEJasRcwIKjt1litGWN8xmmlYMw+/XP6MdLj4GIinrxi3+fXr6FAFE4s0hVDTyNmShn + c4xGyrxxuwkSeZabjSR73atPFIvzIgAAXB4lJUYk2dDGloTxFxZy4hWwxdoEc3/pY8PhlVTxiSpp + IvTPNjJMqACtT4pyiidHArApWW2A9r09p4h6hF9eqYBvcYGjstThAApfF5ZW3dd5qBjza1hWlQvu + LkC/+LPSTdiHEQlH3rg7oRHWo/bO2uT6igTlxEQWyTbVqcz2fC5dC0cAAMIwRcRYVWj81tIvXQF9 + gIyzl+aZ/Ebt6EorTpPZUuJmH8xBPWSJz0oGMYyl2/ucEv1njzr3xLOJEQUWs5kclYifUr19Epwm + kIrMZmzNBPm7e8T4hnbdqV2fD5YtHYY9+bYCSnS86asWQDXY4X9OO4zGXxtpf2GD6733bdAsmot1 + Q7RyMx+cDnnFrQvFMPNy9im0eUToS4MRrv3eYk4XRrwm2MNKLth9LmVSMu4jEdr6RuBn1vEmwSb2 + TgM13q79Z1hRe7mAI+zS9XL6pOOS9yug46fIAqvK9PeSOEvo+EJUW24RaADgRhZwpC7w0GNQqw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 566fbf0c-d27a-11e9-bc1e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 566fbf0c-d27a-11e9-bc1e-001a7dda7113 + x-ms-content-crc64: + - G0+WFxjVBl4= + x-ms-request-id: + - 6cbd935e-c01e-0019-6287-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + b48eCsKiLatKO7ZIyx7fZOAog0VSDYIde4DWg21s4cZjzVkPgt2hw+Su1k2/+67E+21xxqbA+6/r + dFPYduJZGnfL5tAqwEGVDo5HKltYKOm5vKWF3Q3RhIaY5XrEBKea9S8vrV1ZxZ8kv4ywh+ka3ihx + e1qyuzFSVPyUZ6i/nWq1hHuIwgxlk7sv6LwS0Sav5QTQLnS0ICwu1OzrTFsTuZ28CDZgdaK4olTo + 2QCSjYdyc4APe9kYmqupVLGdh9gOQPhBFVfNP4gepaMrrPNwxEQTJbhBXM7wo3IPyt39S9rGalnf + T1yMdwBGSoqnrjpkFdcTmzcSr+mFcgfPq8O6vPnzKCxL7yftlBvEN4b7o9hHJRgsNN9Htl68RXhM + f/UamTWEaEvp+yuKT/6gjM4KF4NoB2b6RgwjAPI+mocYNr/7WQ5agImL+cxboXSVaahn3a6qwRoK + r6eZXIzmJZvANG72TYqmidKa8XHqKITbUrVRcG0vBQp4Z299aYwM8BpJiGNmy7y3KN9npv1X3WCz + eLOs1CXcHzpUSMmIGR6+rSbUxMh0jCSyNL9faMajFx4ztA4QmQq/GPn9aAqVL64WpMCdQkqulInm + 42DDBhDkHZ+CMbijOLmP9KWtnBVjdc5+FlLb7Cslm03k1WDhvgaRRG74TvcZYdFZ9Z2WbRpxC9t+ + TYp8vsRpQpxvPXgS+IEgAWxWAyERjsChr26C6FmN4kql96PwrUZWfWsDfgEZ/EuCtR+iT2V+ZYNE + PShJ+Fao5OTQKwfpuV1HS4cJCpvft0Kv9wjS9I9Scw15hTITiwT06RtH7hckWFl26JS1nRz100CF + v6y2L76JPt1+wXtUbrV8lCUTRsBFjwLTkXYv9MeZqJDGa+8nSkkrpdmNjxUxEI+ATnX83nfXaJpu + SRffYyVNq1zdmmXEdx3TBItT2M6Q027sOtzHhuD1wHweU4kkeFyrMSGTLAc8Ao+7NiPUuoDliBUM + g5p9Sm8BWJOTuezzfVZR31xXTLYzZexzzTGNF416Cebj2DZVnsJE9Ar97YPN93wd8XswElTYaHCC + Bb7S6qSOss6wEssmGiiYXoafYA1vJewrcb6XYEwHWOBmmDR5o9A87Gbb33Pj3NaFb0N+2tjaWQVL + ZuMVKFvnu6070Twp4KkTA/Pyq6CKYwmp3ga2Cl4Tq+5VLmUZmMZXco6QUCzRkxL67S7N8SohglJn + pcGQvnYWwTE8bb6H3CXcuGOtmT+hFmgQChHJrpthJaGOmH8N+s7yf1HQ8/IwzHnoz0NadgdmH9WV + PmiCiaiIIqPiQ4GGInanCorA+dgy/FRpl7he5ElAsZg97b3g2zUK7pM7wqDe3h7fLnbiATNsoA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 568c1810-d27a-11e9-bf0b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 568c1810-d27a-11e9-bf0b-001a7dda7113 + x-ms-content-crc64: + - 1e8r+E0ywdk= + x-ms-request-id: + - 6cbd9360-c01e-0019-6487-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + w+Hx3KeTyVvwLLQ2ylEsgzwlbyjN1JFuAHx4XKlzsT/WgTANgwNoUQ8/tJLuwZCGOCfCUFZ2AXBZ + 3Wa9J/LjpiuReFKu6Qm5J7SofVby0X157r54j77yORF72YFaGIq51Tx2OGJj3tXT8y3ExBM5XPf6 + Ryw02M4JN+3T07aSNILRmw3co2l2mOcRktXMCiPvOlI6Nx/9Oj1YrHShZgoCxh2gmbvacC3n8KuU + W6AJgiZcjDMqangxNrySOF9MxOxR9pYIVEy46raZMwohD1W9SL38IQnLEhaSBsMYTK4CdCveoc34 + 1ezYnnV1ESZiD88oL3H9HhN4cTyGTLG1S3CEC2/lc8I91FAMlAKGHLguza51mjhlUhanTm66qBDp + uZWrlPZPGM9tn8PYLb2HHZRYVHkMVDgO2dhYJVIt+qAhePgFkYPit2At04dc6Gd1cMrzewZw+a2K + YqiSY8t83fIqOr/FvNu7PaRJCFwMraewXF+mnwCW+P1VZk20czFloR0qvb5q+ILsnYj2vnl5NLBi + fTnkHob0B2iZCJFVuXfa9oJvwnWEaNG/ACoNBIhtEA26nqEvlOKCP2AgOhjdQ4H41umAubEcGmbw + jMwK1SJTny4GDELcdnF3282/vwzao5lUMMiMN1nMAYmWaHK4X0jEwDgwWNmC/b9QGCLSmqzHBNLo + HlFyOzhfnHnmDgLOyuSiaiI0jlF1KtZkn1W/gYdQ6QMEEs+lLfQdDIohLVcfLTp1og69NGO6+IYc + C63c77q3VIEssUQol8fmaD0WY26h+PjxoGIK12DVqjVFrhSZKnSbJ9ycQMvqTYD6t6r7hKfHF2Ts + AlULQ7i5G17T1ShCnuKkJOp7sewS4QPr+FHvF+d2IxFZJ4G31agDeRCJb2uEgx0hKTPl20B0ijKR + y7DNR51aU8K4+fR5754fw3vhGXopxX9w1KkOi2rx0XhFyIRis8+q7tizGsB/FLgWoYKXfqoPpoYQ + 0PBv2Zrjv+KjHEWwX1vL2DOODJeCgTZ3VhWMGVSwuH8KuAcaiXW09v19JFoTKNEQj8kBbXhe3Liq + Xv0z9Wbg8nE1J/VSMousQOiQnXd2zqPBBko/zAh19+IoCbT3yua7lLuXq8kxOJyxBZOt2h1Uqrgy + HMI5uJcpPQJlfxGadJsqWJfvqXWXYGifvbrEyIQn4qZLznX21bgJqwnScgOtxk3DpsY8Ec+/lFOj + HZ0MJ39PyTCRzOFjFmco9IV3lVV78DglDFcKbJJPcYEKz8CwulAzMXVPGHKXn+F4bQyUz5UNaRd1 + GMH949RmOBOWBLFmKH8vzjo/lI5geBGbMzX1JLsKi3Kyko1jlSxGjsykvUVg3YqKE24C2j5vTg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 56a05966-d27a-11e9-9650-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 56a05966-d27a-11e9-9650-001a7dda7113 + x-ms-content-crc64: + - NAqFzasfgDI= + x-ms-request-id: + - 6cbd9362-c01e-0019-6687-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + ShiGoKZWT/Rnf/3Zz6jz0xIRcoELnsaWv0lUAXcfgUepMcX+gTv1BVHUmF+iUcnjb+Nv085X2dQ4 + Hz0oEjk+5kOCn8xY3R9RgqntfeEoWGKKuLGe3joK8wbFvNnuKOP0GzHX2kbpH7mCzZSVBDt8PciU + 1H7rnZPDDgDE4PiyVChIqY5JUfqIpkyPbKezpbiWX53tx2SYH0w/RUYdE9Rj12Xjm9g/WfRKCfXU + 2voeEoPdb3I4ZFiXtJpP0POcRAcdgingoOCX7+P0+6CBoyu1fFSLaers4HruLixeVHp5zbGhDj47 + 0WxZ+u6zMlanmPEPl6V1D2IxMm42MMQLqDz29Le1tiWVtaKqvFCC6ez6Y0Ju7dR6gkXZg7PNOsdA + y1KOitiHkYF9MOVd7ROyBDQnf6PGi6Whw1SR8h/fBhfVtJJue+mCy8Bw4RZvSjqX+H+yYKcdocIw + l5+FUXWv4He7/mRkZr3HTpUwMLeEjG5ruCPjrErv7dcgucQxJO6/NvuqtfTvTELlftkUr8PztF8H + n65qtf6ePmjSzv0xHCBw3qOqWOPKtHu33h1rmMMZKW2NWk1FQxtCXObpk2p2Z2SDHoAuxmxcdhIA + qCBl2NAE8Fhuwx5/viVPNixX1sqTUWxqtzgDGwMLvbKY/J8Q0uhICI0fSdgP5icFWfq6c4ityVby + lZ7g7JSNHFPEXJ1ygDXxtMat5QdvdwfpSnhOpCt9RXTvJ2OqpQdgFC3n+r+IUyLSyWbLXtSIBLj0 + +E86RG9RDsZpkBRHmcTO1g4urnWDCVmBhOcpDuxxVUpNsuNpMQV+JtUX6u1jEQBi4xUkLwf0JWVF + VRLY8mQU3C4BK51/eSs9aJeI9uwfCM4ApPuxezxD5svLSoPg7QbDUYqU9dmlyibBu5M7hdxgpnXu + O2sKxUbYiDdTko8zEYTQe0XoLSowLR7hK+WZra+PPlI0DxEqtlWlWuJCUY46cSgGYTe5aiuorM++ + htZJ8VBa0NxHORHykv6WcAalp0migxw7C9fNS35gxyLUij+Sso/zeZsGCrMq+cWVxdAnBlFCqStk + Vr/sK6+7tMQmfBGdaNS+3LTB2nVcmTnCa6ZoXLTaAWLugJo/mTg5jWs/gU1Ms0Zcq+/GeextRdm+ + YnM/kNRyUGLsHE2KlfSTX63DfrEtM5eaHLdqMz80I+VXNsYKSVPEhTFIaVvfoqqY14cq6uY5lRnF + CEeTFjUkGuR/05J0DiKbj/Ct4ifZACUV6McvbYhipQqLsHo0Ujw6pWvsol9rHfOWyEBEpbRrM0KN + So42d2x7TvUxM+8wqUGcq0LFaPSGE2HfpTbSDkTd3XvBfDrvLRNjrzwCS/hDBbmhrCgIfi7YKg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 56b7a874-d27a-11e9-8c54-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 56b7a874-d27a-11e9-8c54-001a7dda7113 + x-ms-content-crc64: + - jWpem/xIoJU= + x-ms-request-id: + - 6cbd9363-c01e-0019-6787-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + m8Ozg5rCAHGZi/WCq4IxOQLBNl0J2fziY8qO+l58Bjy06/QMl99XHiCONsb6yq9+fJBuQ41VtPw0 + tbkE7QqcdnQodcqjHZPJAg9isczlGCzhnZKK94nGsw+BVcF0S5T2FYLECD1QXCmipXSD0ui9LKBB + MK4sz0zqmIojBvz7nkny4l0V1xumJPp6/j7WfS+bznsfLgnnoBqj7owtnB9haOuQl3yLJ/HLScxv + B558SycUQ3ABnrx1PERVgV2rnngqvr/emss9Vv717oq27+axUdFVvT170Tyz0Wi6tchMT0Y3b8UX + o3VSbLj+B7QlVwFIDqhZ5IRUzDNJe4F6b9griWnmnkUASnO2BE41ohkWmVVKdWm7kpiLLZUNCs+a + pUPNrqgZk9BjeoWgyBMmHECwSUTqM6QvGyTiaZSm1qmkEGjK/L39EsayrShu8iKigj8R+PZaHIb6 + RihPZlny9x7lr6+9jOZeEnDuj2dCiSWQOGNeJ86t2Ba1U4FvR+ML4DFfssaVQXRwU+DMSDbiq4NA + EhukA+ITuz+tONmcV/pl5kAWGTUlELEcMYoNhqN9xye3jKMYrFRa7foSfeKrzyTPBKuzq7HuLRge + mWA/lTd7qIGbK7c48KyineoHhQ9gBz+dpNc6D+cJd37Pbs4yZ85/S6wTbP248cruovYbZreUK6s2 + hBBHhVeXoY0iQZAdyeP2prxvPm/0mTPhJg1r6PEwTuxOAEGtmg4BIbbUvU7aIekXFwLeJeq4xPcm + 4++5Dj2Mx23EzGwE1j3rYp/iE13PERZaadnph/S3DYc3mdAXSkDMbYDsX8BEPmwiQN8bY4IaL+F6 + FsMDERpmr9WUsrp9Oi91RR+6Sont9tcP0JhJmt1H3RVvY4X2V7DHwRPQrZfjrQzggr3lE4EmL+qT + OWnyzoUb4WVMmQnf6lVGTcKzN8uz6jL2ume0I2rLTlwykvmFfIJWC73LcmcOq76r1mmp3teIKTaP + 1e0J3/vJdMo5oYPE6SYkjW88070EUbk4ZSbwWigO6mfftRH4+cICDyYitbucRM7N9q9KmMCICffw + woF8LrxzH6hw1yzBqqx1kqZ9uTLvQym3O4E27PCXhpGIjytPYO7DnDGE4YIajIv40Ld5N/rl/Ynf + M5OQiiiy6y1U6d0GSoTrcX+IY7OvCgdvfEt8wdmp5ysermFDMoSHjwbWygbudO0YZBTI2dXQypwp + jS6ykDyPk8AvvcajL/VofFps448k2W3U2H6ntCWG97/TOa1sq2XQ22wLAVP0P2YZKNpiKd12M/Qp + yY7TBNvv8qrnSCIg4W/HnWfNy3f1/to17pZDui3Sc0PDsspZXPjbbRCSrA47qnPduWlyE2ej4g== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 56cb443a-d27a-11e9-a8cd-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 56cb443a-d27a-11e9-a8cd-001a7dda7113 + x-ms-content-crc64: + - q1AiOOKM0zQ= + x-ms-request-id: + - 6cbd9365-c01e-0019-6987-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + wUJn0pOVUFlaJs9HoQPKVR/LHMWC+oPzP9TdjiAFX+lDc0mPla2pxgk72KcWAq+EQj7BiGOtL+oB + AxHYiTrO1nsElkmps3Lah31ggeIfw1kL17LgwxVg/uGSeX1lWjAerDFK5mK5MIftnB7q6f3Qz24j + /HWd7/IWaBklbjY1UTQv7VVXLHrSnuAQ+gf06ICTwhTVNlMT6jbbXEdJH0/SL5O/2y0fjETLNG/X + NRGvM4M9M0ro/T2M3Oi0w1XRmZf5uycruzPj66JYXgQxKHLqavM/2h2VCZnp6MNqMhn2C0HSp2Jv + czfk5AJIKuGRXI7kXY1tiJsb0PdXusoORwfNVRI3o5gV3JgNCqAEsOXYRKyJbRHORd3zPaW81ebh + w1HLZW+DnWbGgHvKXUbcS80onTJxlhksUaSBnbPsUUetRRLryAFcsusCR1uLExmWm3O0vSjIIVvR + 7LVkLs5p3SO/VPzB4MEHktvdiC63bAvFd0q8pW/RyVzpm+SXFdvHQYrY7IuQIs178evMu45IDNma + 7YZ0qSk6rjRG4yPHMXiC0yq7X6Tc52F+m27eTf50Ek4hJFmGpTtbs9aTOpzX2YSOYQYuMMUaWAN1 + rp0uGOB5lRA5Vu1q3zECiVjNZ3MoQnt+eM0vsAeCljl6245KRzAt0VXaJZV6Q8SOdj4fApJc3cHw + z3VCaBAQVA5fgw75gaWXu8MraJgxibTNFh7l7jlSnkh9ODz+zy+63fG9u6Pe3SFXqA1Lld1jU6EI + RM5hRNmVHYJVDExMwVXw3Szi48xASLNR081R/Ee3z9B2VCtm7rBvr+WeVp5dYqDebWQ1itHKliY0 + BygdUGbXBFxsFNKE1wRTdicVMafo7we1PuL5DmjvehEjGPO6kMi3ipoqYse21elcrZDoanIJkdio + VX5cpdPF0H1u/q+AUYAk+HFnaOjzcKrMzYVIwPZIE0HKP3Pil8sqdtzZ4wC/K+s073Oqd3Th7d+2 + TYqQ/BvPTCGoqVBwgUEB+uVpXV0pi+d74xw3au5fBIL9p4hjhPjH70ZKUSaP42XV3cv2Q1aPUDRw + nNhWz71GhzDLQmPbuSfSOSKkvfJoTgCW+efQuugTcRfUcmpTOyGzMPcpyYY9qi8Vc19Bq9gZxZm3 + Dan7mdzaUh0t1mAdh0vC4icpEWY2gZbSY2B5Y/UYRuNLRG+P88RYU3K49pys2wuu/hT9uRKScmvF + GNonZFXn7FicZluSGGumFu1c7qUlrzQgfFE1x1l07qwPeVrT4Yk+/HOJcstTqv6ROXtTeYlAvGFG + feol0tWOQy7R1R/q4FUGsBJzMuteBDhkBEw1OhNBeRCsOa4Tn7xCQUQgdwcVWr173iWxRkIGLg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 56ddda98-d27a-11e9-a519-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 56ddda98-d27a-11e9-a519-001a7dda7113 + x-ms-content-crc64: + - fGVAJR60w1E= + x-ms-request-id: + - 6cbd9366-c01e-0019-6a87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + GDvH/fxPzULaMYYwCkMKdRAaZDy4CBlq1CJ45ZK3Eg9AE5zxcj1Le90/sdOh056m/S44iiW/4MRk + LVo0rJ3nld7LErIOqREHTvzq/ncA1OPbPkN3eYq6VnSIagTqVC/QEXlu0lEHzn4bLKRl+asP7BCr + 6PRwWpoDK7VJHLQwq41vrSJFbIsgvIydu7R8k6aXUvWwOtYgD97InLqyAUtXptB3pGDdxxJTcsur + bMNmiI/0XxWBCgKt6b8lY8i6YSpbtRYG6kVYvOfDZ2KtwG66WECfzrKEM+NFxxhwHVrlWFjqHpG6 + R33QYOfdqSxwwiGjgG1NuW4YqFkZgIWBGBJ76MrFR0KU34Z0IpG0fnyGyrMaUmnw87PmDA/eZmTh + alTpligUg7HPkPV9/PePKjT78BUCuBbDo9cwBaKyu+82jm1R0p9zf+rGYFuag7brCIOTxrQ36QKl + VA89tE7mwelrW3jOPWXMdtyrGh8pU1uX1GaE3VzDPUg+H4QT0sy5mvUhhQgm0O8UKgV6G1uBoPHc + yCIJFkLvfwPh4NlqnldAuz+PeqeBDy8ZPCnFJiqy6sIvYCCoViCw31OXWir0AMu5Cn1AL8bnplZM + QvwOzE/fnXJA9D8tT5+KrCRf2SA7PhpD+S7MYII37HfFgtVVb0CR++oizwtT1q8Zgou/WYGeFfZL + Ks3rlhf84iAgxiNzJPo0Pjb2zcfsemwEn6rqNeBRGUTcJ6QlObCTEsNw8+iMFOfG1cei5viKg7lm + p+jBs93ReThpQJTInCLClwqm0TiGD5zQXHy2/mbIAiqkowA1nXX+ASfVhwr7VhOu11+IdH3bhi4o + Tu9+zIN7UagOBLqaWnEBcIOZKF19+y/6jEHc55uLRoRAOwoa4VE5xdbYReZSSoQgoXrKxKWMBkY4 + 7jNZeD+Zzvg+7i5yexRI4dKCzt+LQ6dbVcVTNat0zJIQ4087hl/ugD2Rr0o6+FtlyW6HF0MWr2ce + 990MuykVSvfUeCJNUezPX30QvhEgQbq2WcRqg9oXF5fSZiy9wMW4GvyNan+gJ2BuO/c4BJtGAdnY + 1Lkn0nvog7bLwNEKtE6iXOavkXbkufT8Befa6/qlDVGUenp7yPR0L66Ylp1sPXyY5zbTFiufKS7k + 2vRTYH1j5HYVdxthdwXtcnjGXWXT7Q9wDmXiAIUtWuGGpmzoafHKYZNShZTc3yqXuVzYqbBvOS9h + fWjvkTcdnxObgsoZyQwZvRDmrHSZ89NKPzyxEkxZ6iLn7bZO9mB17cdOVl95QT5cRqgHeYra5Mib + rW+voiiRejlN3RoRzOno3ZYEJ68DbGk00KbS3jK0735OHs7ZnD3hpm+HVNRbCONWDvJ0BrM4YA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 56f57e30-d27a-11e9-a7c1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 56f57e30-d27a-11e9-a7c1-001a7dda7113 + x-ms-content-crc64: + - Xo32VDsTLg0= + x-ms-request-id: + - 6cbd9369-c01e-0019-6d87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 6aObKFSZlzIFjoE4sGdXtxz31QtVWuA34MohGaheMTDKU31dgugBK1BJvBj8S+b5BTedyPFeWeny + lZgwdWX0ImXdp6TtJnljyLwcEHnkxsozKJkjIAa8MN6Q4ZHBasB+3P2ZmKfYh0UryGa8cD4Mp7ba + wjBGM93p3WRiD7eEFin5Kqcj6gXxcgV7/M5AMi1on7PNBA8mNO1d5j/HREIYx7gKvAEyK7pnQswu + ik6xQtxgWnETWv6ZbbqOXqzimBDEAoPL9kUoB/DLJTjYYEzlGgTZZ0Fy9IrAxjRteqBQi3MYNr8N + rHsKkMctdD6ObNMo6/gkzz4u0eCtJHK9kJkg1wTN0tLTx4tYdtlAtvlTwntt7QBfSICIBABMKtPO + MW9LoHzxfXGg44QMaFaYmKpyEHAEHhMXIIwmx8YgZnfdfkZ3uFueWtW/ctA7pGrllmUZgi2n7TNb + EnlPvgdv9eXNIvFCdJp3fuVKqiaw2cQ2VPKtQIF4RAgp5bu1AR6V8mL1DIdIiAyeSzca3vUkBrCr + Pbpsu/WZGH9fzB5j+6BUo/Lwmmn0j6W5IjDJeV/YTSJruYtG0IjnHCznrGo3Sqj7XRf7gNU9mri7 + FAJD4uBCGUidhsiN2rVgqSlUQbKi93ql84Vy9TXxkDK5T2iMSMc5IEPsHL2k10V2WJeP4MJpsF/E + koeCgW6bCFzst5uvDhlP4RnTwvYjVEiXsFFW4E/6jW1dg5jn1mbS0oQ20IgUEo0DA7gn5nbk5bJn + Rup6Yd/CLGo/iqlF2Rb92/S60ZjDoXOEivvas9sbt6oob/5034yzN6JNz4KkuAuSB0L7B3zfYJye + GBc1dTzKZ/lCXT7AfpiI/k4ovwWob4eLwEW8F+lG/FJ7s92KMk+wdlKk30Udc6AP1sTL99jsORcD + kHG3PtoOytT9vJxj60c9nLVZaknj3FmAuKwLPZP37e8kC44RB6HwPyUMYzdcDj6f7SzsJCtIfx4Q + DH2JnXJet6l//R891BF/7K263I8TaF215AHOF9vY8SUpa0sawaAOCrOdSxTNAiJBhUbSw4XcFPoz + nFPckp2gQW1YmIH0nUJ5KkSveFkxs87Am3d6/HDnW+1t0FRB9aWlFZNUL2prghoIYWEs/NUE/ck7 + OxE0U70QXTv1HfceUE/gkmIc6cuVCA0TcldpbYKslE3gpbTdKA+G4JAKia9R488barV/xGWFm+IU + dLFL7zMzqO1SXXuHVmfgAmo14rZOJONBb6P2VGYUEeTCiqeMFdXawvNgdGbfmBMDA9dlnP3PruDv + KGEsPUP+3vy0HNmggrkHQ06FK78VctaKXboN0keEylAdzC7ETuT4FVOEbuYnb03fncdb0NIMtQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 571233b4-d27a-11e9-835d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 571233b4-d27a-11e9-835d-001a7dda7113 + x-ms-content-crc64: + - HeR5vEs0UyQ= + x-ms-request-id: + - 6cbd936b-c01e-0019-6e87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 2Ycfkd8l4vu6ASMBNfOHFO+l/S7Xod98fjdWMb603q1BCIp88HfFMnB6vo97G1IKqW3jwa6I7kyC + OQsVsWJReaqSxY/53BZOQ6cix0U14XdwW7mnvrWAiJs+Jqj4c8bZJU3nv+7aOOvnQ40+p6SvFlHI + 0XwA56PdXzT5f4amI7FOkU7Ne9aRf0KGBu8dfuMYMWnITgTBSMztQ4Npq7dbcY6gW+qrIhOA4CSJ + p7Iv0ugbShvhUwd7+Ta+aUSpicJrXI4Vqkqv3z4PSnLamws1AFGlz7QkGQHchM/Qs53VbFB6g362 + 1fy71o6GfVm/lhNgE30VBg0Jwr5ytp70Va30fng2wgwi2TcxKDAa4+K+Fi7yjZamzao3La5zzA03 + ocZePvoaKCx+UpEzMrmHl87IpCIwd0SoQuwXAFzzYaGFft5MPWkPEcPSSyEaVjVo4+1ulUk/CL/9 + jFc/tkqWwfypToXPrL2yL7ahWyK1az8ogndcNvRyw/ePjfilS4R+2SlOqO+qp5/bGylhMbQe12Nh + C3Mw0k46+Lk34XtgS1qsWXaDXujjsjyyeSYnA+4FiWBVGtcOm7E3qWUsgvh8u2Vv9n1vZEtyWUsg + B6nnxd60fwHe58B3Xt5JpvpL1t+gbhWOUUWx9tGbSgYwn0XtIa/QqvM3Bl9g0ZFrph9tATlPUFk1 + 3paQhXpkMpI+7DaO6oD9skf5ko+2UCMTqG4wnAuALPEDd73lUeMrWYmGHG7tiT0zaTsxxeceMZFi + WWfl/ATVrBVOl725L4Mz4RdvqLe6ymlBtUtpoWx9/QOkCDKERSbaVevyVM7h5tYtlvtizUxwazMa + qVGD1cHeD4/X2IbWERBJn40+ReoL+R/kXngaEWLHZEMDV71LJXkEdYmUEdH7P+GZKJ4BksjQ6U84 + /PHoke0cRpw/VVF6O8gHZSCvuGxXbKzjZnBQzN2U+BuZXVsztdC4j2JljweabS3+mqmT010to+gh + DsVjzxZ3J0euacRsNLnl9YvRxk3CPB4dZVdeipo8gqJ0krMu02cVTkJzJg4PxlH4pw+fn1J91KsU + b54zNbpCAmqK/Glba2DWsPeAeJe/8bbLOpBxOaNt2gongPI6y77x8ltn1UaY4/Aup3pNwmbxJBdU + c86G4MFKEPr9xAJU8qXBHiroOMD1TDorrXTV7WMPRyOIBrK+2RS5/dFV92JGiEOxzWJpo1ptn5Lc + iE+ut7c14lCT6yz26fKkFuU05P4RSPUZpOFHk5iqCgY9fWsV00kL5j8CaI0ZarUmujlZ3U5k2Wu/ + en2PTick32s2brDYiFxGX3XDIrWY16rm6YQps4+Q7GqSd1Nu97HlBJXdJT6Ee4Boy5fRZglFng== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 57270da8-d27a-11e9-a262-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 57270da8-d27a-11e9-a262-001a7dda7113 + x-ms-content-crc64: + - UFn4VkSpBdw= + x-ms-request-id: + - 6cbd936e-c01e-0019-7187-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + ngzAAwkklqAeAMLLToSBqI9iDKNTSimZAR1Nbg0JPIzi3yYpgK1YkfUPfs6XP090VkpgLWVrLePO + ki3Y0BZtZQw/awU3uTDjs9aIaKnDrP2CAb6LV+tCVvJrUCmJGFFs2u5oDH7h63y7lsI3x8pv4mVj + 5RMeexDo8w40WJGR2vQ38GWleLHn+AUi2ljCxscseFUqK6OqwA5HC52fjphsI3VHVQR5mi6z2aYL + A4w2YV52/XpKj9FVbNLgXajRA/e4g4SDjXZUMdpEtNzLyKWQ1TZ7zvh1yb0KHRyuyg8QHKcejaxN + 6jlrLS40Lrt3xrS0rZZgNRePwHcGAQn5r82c8ngdTCd5kciB78LT+xnwn95MZCqADr8fxczU+zlQ + wc+5qoRcevktlpLtY1St4/l80CHQo4AUP3LIiG97l4x01MLIDXvs2cVeWPDvddkVp1Wma+X8rfkf + AV8Ud/pCGPC/ZWIe6FEK8t9qGgjpc6Yf0vZ+ziomKWh/AHYF6rekLnV7mQq8aWqvVLi6SnZ4BjV4 + IafW01T+ES6VVmXT4ISb6Gn6jhzsV1Hw6Ru7m8TtUVHMT1bXiaHWytq7GUUuP8AP2fb52Gn4gi02 + fNXxrDfVFjYQR7YHKzu/31T3lcNhf7sJwJ9Ot72CywJslZbPxgBlapYyzDOAj2Uxiaia/GwkrbT7 + e9RBF8+8TINHoqeuR2tcyx0sk8hArDWjHLo6TayTAqzAdFihiGTJzIYy5+94Wy1PZhNgV6D+FusV + SspAyI45GVNQrrQ+DJFOLLB0QwiIHm1W7gYK9hF8/GEwx7hlcOZbpg4I72Korlm5Qgpcv9FErUIZ + 7vISiX04oLDrhy+0G4GLsPNAVAC6dnI1qqXnH+yLT4uxEV/oFIZxieI9p3KuI8nJz95xEJ+z2n0G + XKltWF6zIJxYQxY5MvhNukIEE3jK1cBcV1eyIbRsgTsVccOe6xdagkbzdcoOjVzspWlDiD8XW4kJ + DD2B6/Pvn/VSLTCRy3TNatqlIxgofQk8mr5HfISP73HMlfHrAGGw1G4CRwuBuMFKxrxD9+MZTOhU + aX3zIEfpgL5Sn5fM3iwA6tX1HCKnzB/wtOxdKNd7UyCW06SgxHDhDwqSRIDIK0pqyJNFpUnEfZLy + fIzzBOFHl6KbDzaV3G2s5X4TcavEWg73lSd2WFX5fVH9PA2EjqZGNMgeW2xnhbSVvObqmQm+LMsF + pvKSH8XcQER723PY5lpDnPk3aunsXx6NMlYc6GsE/B2Jw6k3tgL+vKtN8/fjrNhDs9o9yScAjx34 + XTnKcYhbBot/NwNGfqZoHt1JOSzlNAipEA/2zDIqkB54SShxahoR2MSTIwME9JOe2cKQVkuGyg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 573c8b80-d27a-11e9-bf57-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 573c8b80-d27a-11e9-bf57-001a7dda7113 + x-ms-content-crc64: + - oaN/3mHZwZ8= + x-ms-request-id: + - 6cbd936f-c01e-0019-7287-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + XU+o871zKDfkY9RXjvTEAPDl0RdYYBx4AlcCU1WYm/svm/utiSteJ/AfeJV3P6+qghy2VbwOhbjv + 5da+cHTerr6b44ICuEhDLkPl3ixtHYH0fW/ZbG44Ncxd+zTSTck68z9BoAyIJtQoNrmoXVTC5V8I + vCwEW2LjK/DMcg6piW3ahXopr798LIdhKmj5XsSsq5+bJ6G8c03sS2PME7o4GTOKZKxT5UiPKpzr + wTyEjEOmlQH9zwR0KoBQuZRuDyg+wztXtZMqQ3UanMDYvre5HpbYSee9BBwyXQOGWmI/PxT0y9vc + I83UqpGM6R1ydycNmol6MRfI0YqSk3zJfliU9Nr3pGtBK9q6M+74wIyjogaoQGbTczVQmCGR1gl9 + QslsqRY4X/4D+Az3oyziSJ+vSU/1ysJ3S4OCnOVZNRvUcRAmCV47xQwcNFJSzD4VL4R5LxP8LS6i + zJQNYDAGn+Y1gLCR+bLC1kL0bAC8CkyMFVHVQ01lxjRDbWnmZz5oWmP5FvJaZdOOkTp33sjJS9Bm + sVPTZKZn9lnL1ZY2sviK1t1eWKkLwKnUyOJehhRM8kld2bHLIrZnHnG+fmLIIe/G7SAekBbDcyel + fcTVYCzDWniDDfys1WczmXDNP95NfKFDY7Lv5tvcE9Wp8doyTyjPZVj2GeUXSUMLf6mfbsqdwGOX + qBwIlfyD0K+mkknQI+tKSWbuotKkahtanj8rWEedcnpFE6z14i0Wb3T6zABMVaoS09ednAnBHWms + 5dwD9bmAik9zRRHXlmyeh2MgXklDd5piqkZmwYsXm7QlJyI7ayFGvvtDWc0qO8ThiP2oWLd0uJK4 + Au+CE25UAVg+JuM6aIaDrSx7wuwsNMRAsO9uYflTeGh+EqnJe8wQldnUiX0MajhecyxCCP413L7B + BjQMkvbtC83Z+VRMxlq0PRaOdUoJEbkmWE4GPo7lIPHrzAAHL7iXToxVtiIiUK80oDtjg8Y9yJ5p + LYgeYi8RP3U53UwZujalbGstPNUIJ1ns+HgsyLjcRtzzvb1M9V2XC1S8vCKJf8TD2msscABMfFwL + VAHK9SHvg0Hx8t/tPBQw9F1j/DK47W73K6ZIxpbJ/mZBAOd77uKPaHmYdf1+5xGySiyqyGZyLIso + FTasJR1U3oBSphgd/KUQ/gw7gpVRdQ0G9KDKkhtd27LDcJD0n4XlFdctgOwyDRmMIWUAT3HGGzTg + Xv1RzK+HQAXMPiC1+PzA/jGN1tNwi7kosNtH0PPW7zcsJlSpTnyMHnMA2w77fE5hB3cvcf1b8KWo + 7pUoAtg/S9iUZYVjBg83CftUeNabbgPv/PEIASkKLnC8iNw6jTrsNFuKcfhVCCREc2x5E3iO1A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 574ec7f0-d27a-11e9-b858-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 574ec7f0-d27a-11e9-b858-001a7dda7113 + x-ms-content-crc64: + - 5Q5h/DnAF8I= + x-ms-request-id: + - 6cbd9371-c01e-0019-7487-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + hWwIPD0YFooez0WBLcywmvfvtZVb5NPee2g1XYPRjx8fN7dqGBJSgyNwV2ACztxiLVEeoVNWpHCq + jltPXVuw4/uO4pU8lJtQCjqJk67bf3g4A7v31O+Fnyk4otr1P+Q5oL8ryS0kiZbJgJ9BwaIEYyjq + /AD8PQq+ugD9vrq5bZl2xaTrj49n3ccVxxym2vfJP2uSsjLG0kBZI+b6IeV5H+3PDNKj9v1E6dM3 + DlOtnGVRmV4GKiXJSQHwMVJYH24mVklJIe4rM/5GufAWbBh3qODD4u8EMx1sjAIzGuGs3b8d2oqv + j8qwyBbKN+77owvGpFEw+e4eRNYkqkTde7CpOMQ5cBWP42h5hzyBDZiAt3+DjB3oZN+o8mwQMdjd + NPqS6R7pmCU7cz85DcVnRrXLpcRNB5h7PIK66UPGMC67w0/EhESVm5QOKvc0xKeXkXuN8VfPTCVG + pn8PmB5Ql7rEjJTQimn3VFz4v4GCz8AN+BjTP9Mi+QvrZPlfC5RaE+k9xHaWP2TCDQFBC2sMxLDZ + ooHcA8JNQd6VM30odNDNiw9NgGtgp5Wrprtb/VYd5XeBlawsIzZeECcdJzDeTkUp2LT1i5KBemmc + TpdsTOVjuHZIubE9JMbHRX2v1Q3ZKqkn1sA79JkxHk74ilJQWaKRn7QtQJf4kR4uGfokapqplTYf + L5SOAtu+BP56poGTumJQFHntz1wCUhhXt1aCicDMutiAqWGDew8NE950Mm+jvulskODtk5To57VZ + eUUgk8dQrC+uu+TbxBi5EBJTLQPCMRsBJgKQeRRMIc900W/MwQ63MpYaieM+fmk1T79xkmGskQzW + pXNtrmr4YbnC8M+yT5KIk8WUacvdc+a0idVwZ8gk0QualOL0ThxAhsnr+z7NeyYJEbdxX6YebDkG + MkSo1ey/oKYsHsk0IJ3Ag2uS/iRhpmD69w3fsn86D2R1lvfe802kg+fsljBFSJvB7F1SgDBx7o7k + 7poARFc/SIT3aDh73yHxbruahZIcxzr71ZWPpY7ctMp5c8zJxLGjO8OncKkoR/H23ovkgeVRbiMQ + Ns6+wqd12Vvg2nzRXz5pHRnpsD4hCj92ZUesAreuYygp1flUofga46SitFIiJ/Ntf5sfO31gmIKY + QHJAPbkNO5fkOZ+Im1m8YWgXvtKaMzXzn6JprGrOi9z1SJIxthfPo1no0NVbdWB+/nH82Q8lUI3C + 0/X8dIZL8eyCmYCkRQuZifwuttVdhS0K2XwWFKZ4tzQA3lSfNCWfjZokfppmjKVagfQDrNHYRBRW + 7qcto0kMBg19G7C1iBP+eAHQo3MkTxHzvN2tQX4uapdNsGqTDhaER1WuwSeLzXKb+tz4O/SQYA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 5766b9f4-d27a-11e9-a3c3-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 5766b9f4-d27a-11e9-a3c3-001a7dda7113 + x-ms-content-crc64: + - TMDw4pApy8E= + x-ms-request-id: + - 6cbd9372-c01e-0019-7587-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + plcR2PTlM9etRKeEcDoTNiMvyA1Uj/oyLfWxpxvR1vgqtoGxSXiUwnoThc1MaiVSdFp4fIQYIL0H + TCOURyEiJDXcOmRbJIcozAH7Ux+hTzrfm/SPg76dmnpz6voYA7IJCRz503p0Z7ejkp0DP2J161Fu + Y2MHIXz5eAwzVLGhXDQSLRrxtOejLn/8dNJAocmgDrpYG7TUQi8qpfsKdzDd/EgiOncb/sDQjzYh + aYNxkfHxftXKeV9nCWhKXNUCmsNfE2Re6pBBqZaQLmy328jR3wMN3SiaGiYEM1enYLDNkOCEysF6 + ecaITzdPL/JcYewet3tPAbKhfNGwoO/Pmz0o7Nu9AsqmNPOunmTNnsQyHNSzEBUZzsMdzHgI1VK/ + 2DaBwdBNEDMQWV/VkyvFDNTUCg33gSPOp4GI5jyxyU3lc9hs/pjS0GnHAT8pddRP2RIhKJsRI7Kn + Cfx0UikjbY2bhOlYSo7n0Qa76waRHP3QKcMc+JiEhmw7nLwNZspO4g8xHbG0aq4IHofPSKkN8ZCi + mxJ/Wq9uVpZUwKji1Ig56BvnVVyOif6CNszN9VbJgUF5o7LXJoZQlJojtfKq/t4UGWqnzsQcoyPq + 7lKX+G2sl9tuo6x6u0BiOxZafFyuirrpJ5sb7jhtceD8BntUtunYFCH9soqyXIHhLbEt5er3nymB + 2gxfwCoO9TdFRXIRq+mU+WjibyrlazuOICZ5dE8qCq2M8Cq/0zIx5iDvxTtmrBuADg29IHMklSUD + 9pC5n2etjehoX1sF3tGfH0UGTnlg6/5Ji57Hriq526xllsbuvLNUEJwbdC/91++1MxPr71dk4GA6 + PVK8+F9lSn1upjaT8FT5LWawG7FI+GuZHFdQy3qHj37YHB4x9MNyKWvl29ka+1ocqvBW3wf0OQtf + 8Y09uHO1McQjTgDFMm54ZLm2gD/D3mZ3xgsUyZbYiPjrNt3PXa/4XjB8PGlkLHvhNmOAko4O/l8K + GpDCwDV2mV1JjqX76dqYgUpjiCvPkza4iAbgPWGO7G9gD/gxU70U93gFarfuo+wMPcO2sPAirXZO + 1At+z2ECr/ZE9Yk9pkLkjgvd8Tni0+ulL1emv9+RjfO5cBumYZpT+R21MmZf0YGflpHsLEbXSYSG + V+R9M9eB00AJXaSoaHLSQJgf3DOLR7HA+5UY4KTm5almbcCJfRJmgRYCEHCaAyBl3y0CB5ch0XRW + NVEoY6SJ0o5hYlaB7u5NBfaOTFiCIyH+WQEKSJLETIXTY3YvrzxqthTgu3y0XaQk/ebzf46Bwjpe + +9SQD5sjlCdqXp4KBe0DVlDIbh+rxSZvEjrx4e9WKwosWEg+EebZq6LuASrOpcufXYhiYPOkcw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 57792de8-d27a-11e9-8abf-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 57792de8-d27a-11e9-8abf-001a7dda7113 + x-ms-content-crc64: + - UpXo5MKZLUg= + x-ms-request-id: + - 6cbd9377-c01e-0019-7787-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + MGM8PnY9WI3Dhr0WAevoMTKXhQQN5aXrE2ZXWoK2snx/7o/C5uRp5f2Eh2egRq0oaob9KxmLZlch + bPv1+WNWPljTRQt6v8LC4K8akH2l4v7pTBLhV4Iux7xpXpe0S1BFghZrulewTKj4IaC69Cu8ynPw + PcBXpEKkdc9nSS2mVqCKKFBv16uGwdNGGmTtOWz6K/XYDgRfq2Hw/ZBm6+oabWGyk3R/g9uPlTQe + zhrqNUIPF8oBbqoYH0MJfxQ4P8IlZArcoOM7k9bahmvCYlxSChSXNduQKJlZMnOcNxFCnnKxSP6y + 0SQzwVNdjkRQgtnC6TNSwd5K2vLmEzpMuDKmaTPs0rDfj9Gwj0GLJ32SupNyMqary7V3yqvElp7w + pzBkOV3ylA+ezT6j62vbkM4fAXpOJSApMtXSFMibjBDxaehqQUHfwHLH3rdia67hX+5ZZO6BvYRa + 9Z8uQBmmkr6OYHeqeKcTmd8dT09+KrJEDRTEdXyuHaVCj5Q7SGMo0owmX6O+TglkEjBfIM2Sipwx + xrEl2AdP4ubcvd8HvybwYEFZcUNFGzZXeSJWyuftXDRiG/lEv4whcQXdOuOLbvqGl2jSxoh96hIp + iPEm2tKVZX1ceusZK+Tgn3XAwoG74uOYMTEVPpzFzuCd+ul9jRL3xfLr4M4sUHmpK7R4SWYrGNQx + WTvpOF+KOyBG0NIK1ExAj5QFdgNgBO69OBQTMBPRUxKKJRXG0Asb5VJBu1p1fPLLHC4A0OmOY5ZT + 8s/NrDCZ/VdwoA6qbe9YxRC/McS7MP28s2tmcZOjpJDqTgFK5cF0AXtgsZejZTeTs/W8NumUIP2B + Iz5WStsutbMEJwccYjvL/O8AfgVpG1uhsLSZHEDM+CEh+2RGf1pNtwXhBaH1S9Z/AZBgRqxHm9Gg + 258vXSUOWTBQ6O80ARyYgZgjgN66rdYlUZoJnENq36m6jul7mUjOwhX72NvRu6v4v5Vo4VxGIKJ8 + k0+s9IpGO0lJGq+eqEOkLNTFtayOx0yNAduXqmUPdR6rhUd8j/r2l7oWVhBV2ywJcMjI74OJ77jP + jwqAwR7iDoOf7ArfncazwLuhtHWIFrN/YzmG7N6w5ZYLSykc5c6hHPRCFgraqSUBteYqGoTphxrT + cA6TacpXb/XUlwicWI7NGJ2ttjCLuyP+5pLQ+0CbC7frTsajGmvmgLgV6vrEkvKcGi2Ggf5KXRRd + w76G0etX7V/JzR8fKEKBNdFuUGf7B27wIY5RSW3eubz65Y8VjbQ6cU/32HzTkHuQEH2LfQ3InLwD + kgpLTFxEirto983qb/mES16qLOuDoNKEoT3IChtMkmilS+jihHrGTBmZJDM4Byf8Zh7CpLUhYw== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 578b2a0a-d27a-11e9-a45e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 578b2a0a-d27a-11e9-a45e-001a7dda7113 + x-ms-content-crc64: + - 9WSs7v21RPI= + x-ms-request-id: + - 6cbd937f-c01e-0019-7d87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + x3nzZAacuIxWmQoICCfa8UhkEqVmeNMA0XYlDqc8ix1VOYwl78ReZwuFFlQrGlyLNsrELgTFrtdT + OibTnCaabgaUcd7VOB6/6YFEMNX1NQr51Gnxg83CR6JHZQeJppOKrEu/1qPHxowHoZnHzNvFq/D4 + 7utbt+nMuforuBEnDkFJ78sh5qUEni48tM1Iw1efCKWMzgADc4pyLD4k7e8Yg9kyqyzCTat+gXFR + peYw0S7gsHx6MB9F2735qSYylFc1UApaV7Frc9ppm9pEh2t9L5UQ+6wMu6pa9c0GyFzpJbNd0fgE + NHCvLhXficMjAGSigBrZIjtIzNRKafKxpSJRJ6UiLlMRtxVs99MuEStCpZCqquAU5M/RmAGWUafa + nCVLX2aRxJqK0Ys7mM7GqpwwbEBZrZD3Lp6T5stB91niuDGH07AOtRUMHgr2+M9xlFnH3gqR+HNj + CAIP4YDN007zrrbTIa3YNmIONZc0kK0hiY/PIX6Qi4LwuaY3cvlG5k/Ey77258/JC+n5G0AMiKDY + QED1Iza4v5NQ2uPBGvnoCCqLkEhqSn10Dg4oGiRayD1gL7ZV9fa38b6bbxwldKq2dcNEZPK7Or1p + ea11q2UG0OoNnIZ2RZlhxGdBYn8N3rUmOMLjlvaHK11VyH4YeWZ7uyuBlHfC1UWVAaroE3Eq4LFC + iTn2BUfBC5kOHl/wrEp3C9WRlFuCdB4kWIaZoJF2PWI6aE+OpZaqmUBktrEsShQguGf+pvvmObXz + mFDloGN+1A9kFiD7uzIK0iqAJHMJWVDLyALkbkFJ8hz5oZV6i+Sd91Enrlmfo6tDlwIBbWJAFndu + 4Q5TsGBM6FtQI32NcJnyZ+LoGGfCR/o9WefQoWOJFw8WVE509VyKKnU96ny85gQ/bwiRZnW2RpRh + fQzNy80vyrac5F5PwKZXcVDcUfwBl3xIC9s+byQYrtjm5gBX4xdIb5OvWnfUOJhOZ2E0CJkuKt0v + 42EuTxe1MRW6yOXGqGBsg5o/4sHNFqsfb02nL1w5Tdpmmr0FwmbZHG7eoOaHuzYbn2r5RpTobk8F + R/6dX9aWGSSr3/adXFEQJ+PwYV+zhhtiKMGca8KJnybE9tG4nA8XzPDq4wSCYWqD8fxoDqkefRda + 5EtlxghxO7p3Bea2v7oH0w4MgOE9h2c3X3JPsuHpR6aARLX3RbC3pZuenOiO5F4tBtCwFbIDawd1 + JytDO85mwbbZJnmlsRY7FgS9T3s3dAqrQM1fvDLEBytuQOBa56fVNU2RVYNhlY9RrpWuRGQ27z/B + W7zEfmF4vf4r5rP3slz2MB3pzn2CPaAoGfOkwCvCPEN8gPYUkuFLh76/X9zVSmlmHgBSGOc6DQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 57a05f42-d27a-11e9-aa30-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 57a05f42-d27a-11e9-aa30-001a7dda7113 + x-ms-content-crc64: + - JgIwXWYVLhc= + x-ms-request-id: + - 6cbd9380-c01e-0019-7e87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 7SmsKD355D+iq9zYZ2QyfdcyLIZggRJ82mnm9ZwvfCa8ww+ErSXxWQK2Ew0EBUZY9jG1qy4pkL/b + rMZaZh6hizSgN0l6W32T9eK+Q0NUNvld9QCc8A1ilVsxwGg3qHaIYOgjVlMWxjXaWllsc0ajNsXG + fwvMpLY4usDwZjQ8lYk5mbDvzXXl3tpHjvg3N/XbuRenMDxtDxRgtOkWXtBTZy/YK4Se15OVZuPu + PwrzdUrfyimJEx0xzhdu9UUC7mgH7TmDZBb9faVDcgM/UKQdKfdAR+rvA1megxu4e4Rv9zsh3EIq + d/Dq2E2MhS+TxHFv7EeK8Twal5bQDOCWPOgf6zcdERQXSG7fJdyPpkCP2rLdzZ3tiesO+rqUJ+Gm + NbN7+6dHyJHRwTPO69KVGg9rftgq4r6ZWygMHO75MCuKfYuBfR9h+07meAYQjEqwjlOmnNEKgzA7 + 05lHAcgStRCrLLKjlW8PRbkBvm7axriUi5Sb4O+xKOWcMwO/pgqUEu3u/M7iL9DMKTeWNPY06fm0 + i28IUaNSayYIP8NHhK3HFR6maYwNbV9NEEGIZ5Lo5XEcoCMIkRqwwimhYshrqeIoWVLlyzJpdrES + OFsM0Kd+zog/slKl5gq4X4ewRL0xNbfGWbldU1KKRx860USHTIfqRpKT77PoMzwJfPKE7qyVQmq2 + a/KjxjF/vCU7KbsvYpiPLQCQ02d5gp4i26jjf0ZPcFbsdil0w+5jraFULZIJ06uwTjkczDFL3dUz + bJkHcqfTveO/0Klxgp2l9DU+PX1SSRsDQ5xO+6ZCAKTidq0HZD34B60aleLqC7559tzCBa4nf5mm + yKAsy82ENbAvy4vQ8AdbTT26ePhJ6dJZPND3p7MhyAzz5xJsPjJXuOWqmaP9D5Wi30CPUWZbAfdt + nc8E9sSAxYWRUeajbmOARl9w25GiBKEOTEcljrmI5NujvW7mlr2ya/BMXtd0NqB68EkVKEtZXYBx + H0j91fLjLDlhEBdaOjElIuwdYOr9WKKAMNw7QTti8yaflQTYuHc2aQ85qOPIfxSlws2lmoYibCKg + qqWHdFp3P9kpBWbbPzVlWbo7+hOvN911VyHtJcPBpK894FEmaKalEGanO3m8bbu0CYKuGfzHPnnY + tWfjJjXeXzrtFDDjDE4WliNEmOvhkUbX0V8Lkm8PgeDAzehjJfynhyuireyLNcrQqvONrVU5z7YI + +OX77t43zpE9sAqvHylkcS1r6+h9ljN3DNeJykTBvGgRqnAMqDESK/VqSbLH3EWvY72pQXBl/PxV + OrAa31k89WXHCQpGUIVmRYsv+lS7wS7KZEBKBHFcyV8kUMX32ZU4QHFN1i6gWVyjiW1yiAPFGg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 57b2f29e-d27a-11e9-a4d5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 57b2f29e-d27a-11e9-a4d5-001a7dda7113 + x-ms-content-crc64: + - ozxWnA5Yjnk= + x-ms-request-id: + - 6cbd9381-c01e-0019-7f87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 9cuBjaxAfLJDjt+1dTtyn1qUwB+QZtvmka5SJ1zAFFZD4u23V3ETH1IMsbfBxCOaii7r5ZoaJyc9 + yeR1uifKqourHRPaHX1CPb/Y8CroU93oi56hhr/4pdQQtiU74kiijPPq7yInY7NNhmFS+xDEXH5q + T2+I5a7VR/1jdbRJu+pe49TtEkBMyJAXqCR7oz3DFVtORpTCDPj+E2Nkbvpa+nxNJTBEbWVtLuRt + RhtZ/rU814bxEQycIoBgy1CF5jwUL5lKE4Paual54WHkoOzducdVf/XoRlTgrAxqo+Z7zEqkeKq1 + KBy1HWcjpIRe8NVJQC5QDosbRdswKd8Loq1okHp7UYSSWVnkSK4n8+kGh5M1jnHFZItKfrlsz0Fr + TKoOEhoFYefX5WQ/+NJJIANCdy3CXJpKqyMcsrjBV6t3+LraZ5DzYqtqZjcDdmeHqfQAE7xY4a0C + UfYWAisehnvgiBkEY7/yX/WSd51gLvwkibNZwkpD5ULKl3jJYVEL+xyW9tq24tEgTGhuGzjGdCr+ + HupcMgODxRH1JSmkG6G1ty9FP7O9adcNuiehv/WEHoE6RWLwxSCmp72pVezvlXV1oupZmyiZyG/u + cucMmQVxt+PHuWY6lOKNW1s86P1bKZWPfoPys7osuX87sweDKQhNak594B7qpJA0VOwM3ep/sOWr + OtWwXHRPo7l5x+Y5IoH3k79kE3RrKllvkuWtGUBFWb4UOFFg1CcHeu/EVLhx7prn4qCtgpZjGnkb + KtrMxOI8z/MHWkoRA3DfAurpUrVakFXEUuYTR95QYjF8oIVFie5m27fLLuSnQbjQZQs14oHBxUso + 3R0CdIbdQznSiZpFdBN1gR/rBQpbyA995jKBdmideq5xKsoIvm15Xan07lSqDfomFtkMxulE2n+z + Nzn8ESi/kuc3gWLAL5LadLG0IOaN9kD3fe0ZtMW7ejGro+ftffvRfvgf4/TePdQHlU4LHTzZlE7Z + JboNmHhLeudddDwPx8ykHLqiO/cyaCn4+ZwHqYtt7FSKG0NXZw8NNQZqXCShgn1Qpnw3xrPWgPYr + JTDfwp0MoZRHRFhNPC5EudOStfAi93nm1AdMpAF5W+eub0lJ5y+bmfwunsrr3IdKoL47TKPmRMzp + Jdw0wR45dPijil8YU4/r7F21qzIPIlzJ7BKmMtwUx1jTbhY6T/091kv3go1APTIiZcEtkrFKPadU + Hm/Z3xlcWMKTn+uVHI5CD8O8OSHLwv3a+o7LiG9rRN0x9wTs54DtFIkrqIgGHoh7y6967rNeC1KO + 6OIsL+ZtT2zHQWYBG2twtVj74PvZXCRHX+zRTM6mzzkPiKkM1uHT34uhlKRZ+YdVNRleOnjZ4g== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 57ca8588-d27a-11e9-a9a6-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 57ca8588-d27a-11e9-a9a6-001a7dda7113 + x-ms-content-crc64: + - qk7gV8RSP+s= + x-ms-request-id: + - 6cbd9382-c01e-0019-8087-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 3aPYd6X65F4q3KYvUxStqRg3zZm5gfLmepqbwRpdCsJPPIntIhG8oVwzcG7Tq8iSc82nlpJRUfD1 + LQmQrLe2cy6mvi7G29O6BZ3rCqBXvBiX8Z9r8kTfpPGKPiUaUineXEbFFzSykS6lBgsgqfEgyngd + 7PvsFGFmlEkl3YBUnT4R+HAlSUGrYtwyyVfqZbSel01IXnBkUy0reAAbzro734njg25nUM8Z5c2n + G+oGZNp6zw6Aeqks/Kf3x5Tm+aWlPKl9p63RyUC3ogtkJsmT9owh2ERKDvt08R28dWyG8YpvJxqr + /jemde7TF3E0Ibrvx9gKq+7t9C9iBKislM8c0ZC0v0CJbp65gjgn2IulO9VLlAcnp+QBssneDFfQ + IH0h71BHlON3sUclZLTl5tKL4N69mhcxBrgQ8x74irPHA+VH7rnoXpvjD16QSnP0Op4C5/kagUM2 + ypuzxxRlaI9YkkUA/T/9Qp85m3LjIvUxbhX2iWFaN8YLMzxJj1ovJ5meRxTIL9ts8b49199B56Xl + Di6Ip/fyelOddN1GnFgdh8YHD+ThDc0lII7SoiM0+qDFGO+q2vfMWE0YoruGNvxZaKdQ2iw0D12B + 5F3LykO+ZXqbYtjYE/HsDwUT2k7CUfmC0Eo4XlIY0PZ6mGyrOW8/O5vB0D1SW6LZMVgKrDHnj1n2 + Iqa/0L+dBFYHSvO0goSeYmEb29ESOwDCPjno1704+cBPQQEVceHnfAhtnuEcxPnQVzeUTQCJdkV2 + eckSCARFiiGYhP0nA2gW/BBvu8dbASu8MMEVACZyrv3xzXQ5NhDoOrrOlXCuu2zBiLPxfqbBVAzE + 94o7I4FVBsUaHrBYORB/x76Tll5S54bXD4T3CmZOhhGIxIuFcwKKVRrUg8ecwSmopcUZDWJ6JTAC + 1Rvhole/XgY7NYluw8Dml97p/MJXgy91AqL6S9dz712edpG5kJ8huLd6EX0u8liDkNIawBfXbRMh + qyctuBRlpWn9MYwBrNj+AydWGSRpdpIMoB8MdUyUJvqKzyVRi1u6dVk4IoNHPzphp4SOrqt8rh4y + rwkthGKgaZJxqfhXAho3f5ERN9wNeCQOSn+wn0Qzg0gtnaWa8TSB9YL6x5SgFZ4rSayhaUBhn/vw + xaULdAPakyq7FQfnLazqS74kRIjFbgBXr2DwCFM9CxumFZJZpdDQGr4qfjIEEYOtjFXkTsovwaRO + Rz38BCBfNBmB6Cx3n4kEy+TObs2Dc5HR1M2X4jd9m9r0aoHI3LFX88H2/VIS8E8jYbiUGHs3CmHI + I4KiC4DVLuhvveYOm+0OB3osLVPBaVt2QeC0pKKFvYNii5qi8iS1ucL0jCQfudre5kcC/RPYFQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 57e29422-d27a-11e9-b5f5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 57e29422-d27a-11e9-b5f5-001a7dda7113 + x-ms-content-crc64: + - Yhgb5EmCeq8= + x-ms-request-id: + - 6cbd9383-c01e-0019-0187-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + hQ2I8ePa3AbfyOpQaqf8f51olYZgSoxTIVKDpnLhgDr0J3UaQtOmnB/B3ceYG6lKtIpupmXdB9DB + WXFR/bhgyItvaQz9Le3hJKlvgj/CWGYltJlJ0sQtU1JxgaKIr1i0Y/t/H1GuiTAwtlg+2osxKxOJ + clEb5rB6aISMfCrIxBZXhn54NZ9g5VQJNgK6fCPDtccwQgsSn4HOqY2/jAK3iDpgjrCxoFefmWjU + Dr0B/cB3yUN6Lz5uOKGNM2UInBP6kwcaEn2IKKo6EVoeInmrJZxaANdGWKbEpxNfRtp86H/w3plY + 9VKXFirSIcifeQDH1mbFIsDK8w1sg18jkNFycHd7ClogWQkhNbBPqGnSPZzQ/tRXxi/c29YrcVR4 + EnYawArT2nM4E/WUKw0MRCaVgHnZ2xl5thR7DIdp4QY0jQ2oWKBFQ+BaSmchSbTBBH+dEhwwj1KD + 2MaY+2RJqaQxp5G8B5YJYIhPIQiFFe89mB0vj7Q5dpqUGmwIzAGi/AJNp0Jh1jhVRhBSjTSvZOn+ + RuFd0gmUqMTVR27Urt7vsAKW/Hlt8/QI1gaYy/R8rUzzO4GeqECipND2Sao5ViQxX6MZgXFzGb28 + 2wSLBJVdkfLu1/sgszfR9h8ols1oaY/5bCh7Rdg+RppHSaLEL274oGtL5pgpNnYkggYTcbVf4Ekn + 8y41ike+6LziwluT/EZNGDYpUXEMNmpW5XRv0vvo7EW8mNC2yQ9MMojGxWSi4R2+cfJkgqliISpA + bpnn+dgDSf4of47PfD1Uh+N3c34bDdabW+8r4wVsiWGHvHiGT0Dcp1JAtTLg3k9dPrHatwXT4YPE + EIzjHqnyuzMX1NRMIKzLKDPOM7k/Gr2cY7NaIyrTD1qbjuYLjEJ8L+LWVDU4tva9MClLyd2kTngv + HHTFe5A7YIOG9bcvx+Hqr/PyWSr0J5xP6Gowb7Ff96OMLX+0qxrHRMPA7PGDcGDISdn4vNH1W4et + 5dYDNh3Q1hcnrUmk2ZkuwvqCvxQQsoLYQgooN8UfTGv3hGPGgKfbontSy83EwEXhZbhGKSyzxmMa + KAf4eYkYflHk6EnOtgtnhPjOU4Oyk1zSp1Hw7i6tUMKRUp75rHo7ZVfEKyYUSZRgkfQfZsYMczLM + abSNO6q6INDYmoPt1TwhuG5VB02vC83FZr/4MDMCS1pk/JvL2WjaVysuosbMqBR/VMu7o9AT/ESX + AnjMwLItLOBswyehH1dHxI1u9U0km1zPTgFmw67O3wwiPlYsR/DnzNp5NNUcl43CD9MNrUIlsZW6 + /ivtjeinOGsXrqatGyQUQ7QXlNaXoDYhw7VicNkekijpeDqmUDpsBqOKNLrV0/TrCmFg8kkJ6w== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 57f5e4fe-d27a-11e9-8dec-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 57f5e4fe-d27a-11e9-8dec-001a7dda7113 + x-ms-content-crc64: + - OmnF6s9PvW0= + x-ms-request-id: + - 6cbd9385-c01e-0019-0387-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + BZPjr+/zi5I0jl75hDyrSq9WDCNFcNhEhSqhTucsYFrabwvu43f0JoS4WlNqfB5cNUtIK600srdN + R6uqt28aj8EpmVFr9OZg7scHuNsapC9bk7ZpbBOXM9BgsPSXM8jbR/AjyiEUGlWyyk5/bkKzJyGI + uzzwHHIXSgjmDzGkRnMIRYiItDvkEyph3e7Mbu7IkDIuZF/6TvFwiXKoE7CvJgUgX/Zg7XHt1Dbo + QhDXT+mZ9nJ0l2HK5cpk9bss1Cq3dosFxddy0+vgtdt0EsxFvoOZhNFr+Y/sg4YDW0uM05FIlaD2 + 1VNYHdSMQijQVPjCGHhj/NOKh1Orx2CEyh0T7uOxBQOxkCkIBYfI125k0skAQQFiRkmDNqT0NmKv + MXH0NMdwxpj6TbtVl/Qdnj7Zl0f38/wb+NLv/bZnbLF8GYftDaNbFCxSfQ9Q5u/QplIVopmHLu8w + 2Hs778X4Ea0t+mIIQgbvTqzxbZ6RmWK5OtyZOml7Gd+pLSg/AcMUk+m8xvegwYkA2bb0Ak24Sd8P + V8zNCKJHrcZmisC4jfLQdDCLT2meHLnA7ZUCAn3KJY8Nw/OnbxzUuCCOghXRTUKO58FKmPSv0Syp + 8gkcyd58N1PGqBSX404z45YDAjcz3O74LhoeoOHI9JaGE4n39BN6+l57VZ96OvESLFq7/oOelbHS + 3erbPuReZK3sgL6LPb8g7g3yhT5B5OvQtg8jnpOlJG9AXwl/Wx8+aLPWQ9uLQ4eMJAseEbhAU/ma + cFC5990ZKUHcDM1E9BkQABBWjmTgms1gvZtaEFG62Rk6xQizz4SkPAJ+x/rECn3Wnblh9TTOXsid + cAITboGdrr/XezaLShrRS2ErTkg8+BvLAUL9mzaQE5zyuCeHB7vrOdQl9GSl9xlTbbcv2m4St+Db + KYepnwrSTYzJuQBtUHDCtfjLEaqAa/6bMEnYv4zP46WqZDqDjA13BuV0A/gsxefnfxrSGY2sH06L + AGIUqWPx1zKwTtvJw2NwhWDI1hsKAKGxTqrBM0G4b9zWHyN2S29lRNuvFBITzL7zcrp/3zfDXCn8 + Ke5C516vyV9E49FEtsTOeRkd4ucKOjtEea5RMXnFccNM8V+lx05FDsDgT+gIYprixwNBGOd1evyI + eqdRHAE2KDSKqewMR4yencHMWJP1f7AwSDm3DguhWm9NCcrMZP4VK7MB4NIkUUg8b1Sf3ZD0abtI + rpJgbyNiLDxrHJ44dsnjL67dBIsKLkJJpRnHOX+6IDifLuY19aMXb/zb2aLDEOysVMsH7ya3d3D4 + O9HYPd0ncnd8pQqmM1mudIPkXDfTjcKKGnPESprEUsfVPHPSERMGgWrzJMOhujtRmfOIbLvJ+Q== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 58082ade-d27a-11e9-928f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:50 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 58082ade-d27a-11e9-928f-001a7dda7113 + x-ms-content-crc64: + - /WH1evxVRvQ= + x-ms-request-id: + - 6cbd9386-c01e-0019-0487-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + ff2QVVkU9pjTDniz+bKXzMUkRnCKOcUTz9bD4RzveWCaxqGEIgnXbvYzdQ5UhaUHTp1YAdyVpgV5 + jwZeNBTLemrbbdm8FZm5hIlaCvikyfX1GqCjua2uXTo8RqBt5SfXkUyHRk8febAyFqmCMV6ySauN + MB26UeqnmuHC5asL9GFq3gGihDkcRhBuYcpPmYyEQJqitZei9VRuPhNpsidvhW3J917FTi2CTMEn + CYa9jzyKTCpOxD3TjxwWqxbPNJ9y4Mp6toypS737AkIuaxAWjvpV96dZg7sV9miVs7G06CC9PXlc + FPEvl5CEnHRmndENXUuwyFx8Czbo/Spl3kO/QE0JxWQkxbATAhQFdkLHZ/Jqc34/P5kGproo2coU + SVU+SXujeUicJl9l2aMDC9YSJUXk+IFUWPE1TGKGjA47G73yU4AQ3n62m2Z9mNeUdVbGsNb8pxAC + 3f12NZviyCOz7mQLSmhvqRQc2KEF3ydqT2C3y8r8x9IFS+C09LkriJYtxST+XbJQPNPX8/EWPRBk + oRyjX/Qb0OOLIY2acTaQ300LezP3Lm3vafdjXIFmLPM52NnXG71RMkZvZzuMK08ZCs9O1Bp/4a/s + LT8vdG8OFyTvT/KxG6S5aOATDuoCon6BmilH0HkX5brc7b4RIeK1N+m4raEI75j62UcE1oV5D1bF + Jk70bJ8a06Rp3lEMJnjVvwsvN48S7PL6Oj+yvfncgb1MuwDjtKrPoZeplcH3z5MM9kHqyjQmx291 + 8FP9Y2sEbZcUSFwlaMyzfuPqgK/Sk3I69LVmCJorXBU+HS/BYF2G+PEozKQuH8V1XH+R1oSvsgMk + jpbrdqp3XWyZ5+MotXsvF6C2QODJzpIfbS1lY79p6ws5f+fFYCEPgGt30HMjBTs8dqIwXglBxe7D + bb1DQlFv+aSfOUuCvFglsRKu+gBeY/jjuX9UCChkn6VvCwK/vHne9HVwQvNxVeV7ljCD8eKuBQUn + wcOdgLZ8cRGBKPcEBA9pBk8iHsLcOAUS2YvVnpnxNMovjSrO0GlgAiMzNRZ+iKC3tJfnnJMQP2jS + sOk8Bt/sL92IymCN4yw7qdZXBRfOE6pnOy1HUr8Q9XL4Ge0xggzGvLZIZRxUzdWcNP47KfI7IpEY + 8TfHz8wPnfSEcssgaPt8ST5sDhrhxfYWFLsLvVcbIXtaHBxI6iprousglCFQJGW1gbV+vW7Nmq1K + RWqJh6XB9qaGv1AQzKATmmLiPU8RNcou4KzFOXa3ppRLxseTHReC21jdghymNlBWQSnLjIMKyLZL + 1tdwer08+s+vJ6pCDDbpHPJt5tGjJvEidy5IrJXH9ypAeXI7s0bDYYidtVLCuHJkhe/RAiC7LQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 5819ebb8-d27a-11e9-b373-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 5819ebb8-d27a-11e9-b373-001a7dda7113 + x-ms-content-crc64: + - XfBV42NnZ58= + x-ms-request-id: + - 6cbd9387-c01e-0019-0587-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Ibnw1MvvZPy1M5CRRkZXflqwhG1l3q/ygXjlFJ4wQ7rxSUnONhnpmTM4+adZZvc+eqOAMyR9vPp/ + RGH9jWLSPgjZO6tm4B08NHwg4dirQSOeTPsUvGT3arcPms0FX/Cewu5k/DA4tu77+Vh/XZHHOxrA + LCChrMow8gNEL95UzdOVFgYgJjvw3TMi3SXpFPLx0q6PirKMvw9Z+VlQiAmlQtaUg2mcCuDgG1Fj + e3EsteBtGNklrOwiHimRAZ7GjvIRD3ojtRIbEJXkzOLi8IahopmslvkzgNOt71jOJaqr3X84NtQD + LV8/hjDNYKxSrEBtzshgqQE/e2DBl8UMoDi/qtjqv7VhPqf3JRqdVMUF1cA9TRC//DNsd88Z4ZNX + k9UotX4pgVMD9DK1Jdnp0vt8cBuzOY6+/RfaIzlrGhDGubOpzJBdgzehAgXEqG6V/RCgjYAQsjaU + pzKi6hKp63REw7QFL/mJyq94hPdOGosLB8CUurUwt2WG1SRCgTn1IAK6Z/nSxq4wd8aiSC2EOtEA + UNFVwQenB2JOT23bwC6+9sfGsesFsD6gmIJLA3N9oSAxvyVS6/4sWFjyLrMGopuewWnfyCHpcCY9 + uaPqYtYQjhjj2X4gBX5XLae9hB+i1EkUM6yom2o1rwzKyPvgR8DPCC2jk774H9yxYun211icZ/d8 + gY2Kl5R7aOuozSTW8RXz9EH99Cmfnkwgr80+m25AGcOIUAKHno977SC3Rx16UVpcqDERi3AiJYkS + alW+FH0IkBuJEvJFg220DkuxRlvrIII6JiqAMbpeDn2t7+UnI0Ur2gObJRSVtzkwnphGQhMq1hdH + leo7T8Cxtj2l8uy3pxil8njXDv084Am4nFAkHUld4j+cJ8hhH5P7TAOH6wqyTFKtfchceOo9iIMd + YlbXOeBoK6RJ+9hbTjX4MkEsg63Wl4RFlqWcfb1/di7c+Y9oCwIcV1dAZHKw3mvscT9kdBVZH153 + yWVVt1PMp7G0VQLQJ/NGMLZY3kaNAzahXUF9tCqyqnSoafy4dds5sfdWRC5AlD6somJtYuWMUwot + BWfiWs6pFQMcxboxE/PHpLXR3ciSF/X7eD0D0fVtcPeQ04svwFMvj+TCJSA78iXiv4QcyoSxBZOg + 51XZK5gaxQeqPcFSLq8U34X+h9EtUh2jGgns5L7L3SdnU2GumWKlSVrU33yEGJugNDzIsL8+KxQT + gSRfLpo1nls2GhQJVJPgHdq7cm4uhAYlxgahYaWxergVVfiR4dnMXmUYN/gM0m0AOgsXzzGjiT+t + A7wKjtqJw2OrLq3Wb7lgq9MCP0ZX4YwOhfreABYZEre2MyTSzFGZfaN95d9B2VOVCCcqPBd3TQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 582bf002-d27a-11e9-826f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 582bf002-d27a-11e9-826f-001a7dda7113 + x-ms-content-crc64: + - znEoZpQUiHs= + x-ms-request-id: + - 6cbd9388-c01e-0019-0687-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + buI0ni0rdUU4/cXHsfB30atI7uZ4ocu9t0ndJLEYKw9Ct2gTqaiKMPkafnDOAF3l0SFVx5H0p21c + QUZAhdXJVeJwv50wyxUNu0jbtfHgigaW4ZLWfioa7HDT8/6w17trqekX7zlzcC+TYn5Oon9752F/ + cz6rni7HbjReOovRNOJm3QQg4NQQT2Gtmz9OC2TNqBbqQmT3h4yOYyExxi2VV+adlpmIA0d3HMb6 + /PHpJuioesZ1M4tGW2no3r9P6cBndeKX7DQ4NeJuj/znm/4NATYRToQ56YUBBPq5J3TZdQ1wCF9I + vbBoMcQyi81P+61aHJBW87EzNghECGRNzZYrFEnc4/TGOFdJaUnZd3kzQs8dkH+mOWNd6na5HX+1 + kSrHGIqZcfLZWLo9PbnowmQh1GAnOgnt7KLXxAzVKiwRR9TPk/0zY7mhgzvg+VPgWS0tAGM8xi3i + +Ai+OoeUgOWjyQJIa1OTmgfdun0+dcslugwtqF/H2Don5hpRbEqonhZRc/e5TMLJ7RWMGm+PFaly + 2KYDbKk5F+yYkVA9pN+U91Cs7fVvh+NTaW80gxMe9gFsmHV5iy1QRsan3U2j5xWuHdXyEWLIeEdB + L+aEAGPX/EgkO+rsRClaahIMvy1eTPGe05pp2Za+Z1gK+vYD2f071tJHDdRuI231cU/sGEsJ13d9 + 1Tf50aTNe8eBPn0AEd9ElIZv9MZwTz8IYnDEGKTbOQrTBxXxtCyCen8LCBOwP7MoGcZsWWOWtcrV + 4weWXBfTa1Ftgx4AIuAO7Yw4iKMZ+CIC1w6xMaOS8AZ6cZqPt9DcaKOJCIA8wdo2VJEkWdrZQPLi + 6sVYBfqXasU50kARPkuZnoPcHlK/bADxzwBdgVMvjVbhNCHgR+58ITcUdjMBpWJ7JlG2VZY1YyAj + ADgXM5ckg9EgTOyDZQR1MYNImK5SFeiwWbfK0lv4pzmsRt4ZanMnoQlpyLWHWLCLuRf+f0B5tDGg + pPVqzBVsx32vcp+L6lMbYStTEYhQ4PbmlIsbL2psA1pOeEKRC5p3yBS73DjKnnuB7KTHCajYdsvp + azdiJxF9nnJ4eeQZFEcHrPdOr8kiLukBqceGnVMZ5+m4Y+zgMUpCirmpH8ezNZGZVgTrbsaMJtB4 + PEdTG8PU4L+bYbb60ygUY3/z/Ff0kXoDwz/9Vd9Ggznconzr1NSicrnK2tlbINvPDFLWujIcpabk + a6pGXKR0nQWBp4ZsGtCxjyG8sspu8Ca7DFBGn2SpTrIFtUplOf4h6BqPLUtttjtE8oWs5shfj+RW + KaqVbrd1uwaas54oVdlhlniNWH1oCnuxD1mtRUiN3oCTrrqvZLDFgEPiQnkv0UxeBldRefOGWQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 583e35f8-d27a-11e9-9e48-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 583e35f8-d27a-11e9-9e48-001a7dda7113 + x-ms-content-crc64: + - PCcXwM1Yx8M= + x-ms-request-id: + - 6cbd9393-c01e-0019-0a87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + Nas2SBSJZNYp+N5s689ovUaTZumfAM3OFGRNVHtM9fu74p8OslvdQR0QwGicnuOKREHG5CinTgmQ + WlPX8Daz4cY6Omy9GNNpyGfAh23fVWE4t46XICgGu3NPQuDZDjBoCPFLuXW5bGnhnnyaFcSOw9dT + jPqR7B65zQfO7Kh0IbCYo4o7LevJy3eC9fd3s1TTV+x/LIzOqekxcD19UHiAiwRT/i9flHZn4vCJ + iif2uGUCwTVAJq5Od8dz7q91tOKfsVrX9dKbLWd3t1mjI+SDkyumDDfbtr/4gEGLdZCVXtkezsVa + qpDiUNb7ddddLH7KNTTSOXDIKZz9L/dXCrn+BWD0HRd5udAQ2VbIRJpvpOBCooYP5gqA4huR3kwX + S3Toc0tXaYamAwtr/YWbAPyyvzjyrR1lokKguGFtx/KDmKzE8mJCYX6irZiEw8rKPGAhMnSLizYc + LvY/5MKL/EBn1sYngJ3HGEjg0Z3rIH3qvpiDYxtGAkszSemw85/TinCiol+HT7PJKeNNuNNE7zgO + CFGbDMERJzNMHc8tf0jv2MPimjVYAwJDvhu3ZywTMd6VtN3pR7hI+p4QXfDH535sq1M6E16M3sZS + /Tqbliv3wQ2maASF32dgENSJbxTFbQa3gfWo9ecrq3R15Y7dGtE/uHBJmJZRPJooMlwIClk+B6lM + XBY0Ge9hhZrq75uiiN73kRaV9dsepz2cCp/hxySKlMFLnSLB0JgPkRJhxwahNFbqg5fJGf0UuCt7 + s7qxvwAszgI+yV4FhIi4B89dNnsrHTKxOzGch9+Zhkcf/FSh8SotYNY3r3WWRstI0PD0kr3wDmC0 + PEFBvJwKeJlVya7Fs9f99Ru/7++VrPty3e6SlTRqb95lLa7cscKOqBxn1pZGng+EMkacj7uGO+Cl + DMVwVGLh+NPe2awinQbngJU442oq6/jF3PyMvSvgNxxfJmf+Zf3uCGdDuWUW6gzYQMEi6/2WAj9Y + Ai6f3T9ssUpV4XT8twICJnJBEvmuCbYLnxNNdBftubO317e+ivVt8pje+tjut4fCntl9TpA/kcIT + m/m64wFjhfZOM8csiQaoO/BTYgiVDZZ4Hry9OxHgE96bjK4ii42jtQKZOG1kggGY4vlwSfCmAMrv + mai9TZmkpXTN9ouy2QWtvKy9g2hSmEgksurfpY4uTgoVnbB1fYjeBPixvuNk1zHItZ2L7ZKZo167 + IU8RQ7jLg3g7VBPjWUjQog5X3B95DHTALty6hxGj3OP7fcRIFLTbkCk/OD2eAfFgV9hONrQo04gJ + TC/peAcIPxtGjM2DMVoKSayFswYm8aGc5Y4ciB+Am29gy+i6MUwZ2A8CACkfdKAUY89PY+Rg2A== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 58565e62-d27a-11e9-9f7d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 58565e62-d27a-11e9-9f7d-001a7dda7113 + x-ms-content-crc64: + - jiffnyTOy0Q= + x-ms-request-id: + - 6cbd9394-c01e-0019-0b87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + NxEsurKMBzlIMiS31u0xu3XWEBg+wzSrb8vxT4Izj/GBQJRQmApzyZ88im6DCqDEdbsbJNZyx+m4 + +d8HUNrUkhEnhPrJTeFVhs5Wt4FFEOPLKCqsSZ3hs0BDHedaw2Cbnbi9OlF0cYtExpoaZfTZn097 + CBxAca69Xa0xN80Nl1i2kVqVHG5nUaPTeUWWRG8cL42jwZVuMoaVTtweo07lX7Vf17FBt4rqKce7 + zSFQeCA7R4RDYmfGdax8hEe2hRxwoUiwxKdRQrrHxjm51kkHIlpHDJtWMQSsaWGRUAqodwlToU1O + yJNfKG0yEuGECGUj+NwXSa0K/HOvPg12z3yK+fzJsQOhzFvx1VZ1BpxP9xjKkTQ7pfa/Xdl5znG3 + eirkI8BZPcsnOJuFN29otL3A9J9DbHWXn+C9ZX0IQJcPjsER1rwXPeDG7m7uvKOAOjG1ac95icIc + mJ6i28d1psUiLSVehcyZxp3gR2gIkk4SB0EMrYOLBL66gQs4fYJMKGrxINI+8Q4Pp4wBGR09txqQ + L4eIhJ2DxEzTMEi99GtFYCcWC3WanmSuMxM8Yw51v9zzD/cfPg+w8VKr+8eymn7l1Q0K8ARkQa9U + 8QTqL+zm6ecvsgZcTmO782/8MeLskghdgICjN5JuWYLFMpLxl8IK6lqZm2Op7qbBcNoHJCQk9KYb + CPTZ5CdzE8h+4IQVRUiOqh97RIsbCnhZmiZNh4LP6fHFdkevDlOukkslWZF/YZWU9nmrL/CSSCnc + IWAEUbnF0br9sLlnFSEjU9x43dp+3Pi6UO4+ZGfDOeDwa8Ldbv3zcMAMRgYa/WGB0KX8MyQ8R7XV + fmxj2oMZYVcQAjwUYMrB4sLtYOrqKlLGjih+nwayZJm1SZ2EcNG1CNJ4uCOu6PYjYUaXWcW8Diwk + dkTTPlpi9DveyxhbAb/ue+O5vPsDnXqhYGjzJbFrDa3aj+d20Us9vb+GXKyTzgueaSp0/ZOLtSjN + 40pOk72u9RQfDHhFz1ICKx8JlYLzDqIVkjQbJqtlZHMz8nLMgXYhDG7Uh5afQWJlwYQOA2/NK50P + tx7A27CMKQbJa2NmkatOjAWKER6MjC7poWmKgTX2v38q00e7ogSII9NZLDjg4pSrY78V4ii4Tr29 + UY0T2LFlaypZ02OQlRwqRObT2NkkeO36ayu/WTC/TmkBFaL56mM5d/gcG4NE5GUDdBKX3SCT00BO + XEoIw5Tt7MjTO0lcBPOg9oeIbEeUTpSbN4DirVRIU48wxmIhzett/ttgIrmFVw31kdYlJmaZobu4 + DxBcWxWI5Mzr+VKjfc+lOGGX+wOGuBpyBC6eYSKCGrPVI6EW4DgpDSnO865hrVP2QJ6eOov8VA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 586d3f52-d27a-11e9-9328-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 586d3f52-d27a-11e9-9328-001a7dda7113 + x-ms-content-crc64: + - tCd/hLcj+Po= + x-ms-request-id: + - 6cbd9397-c01e-0019-0e87-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + MrggXVRYp0s2ykpJOChaQRBOMRcvb/KRXE260G2gXlrriUjVDfMEzYV1iC+QURdbyLUp669njETd + IGdHYbIx4LROLBwKKSQ2V6KDG/fQwL8VYxltks/vV70qykL+ke8K9gjzPrMu04iL1NMozXoQhJus + +ZsoKs+6pg6dliZgbPpZLniCjKBYrESGHXKFUS7oibmXjKltKtpvy1dPENESH19azYLdZg6hH8Uq + 5v3cz3zqmIsSEvniKne0iojPL11vfA8vngt4YYtq2kMZPqTJytnPB4S/EIl6ISxXP0UJrfHAtlHU + lOVRbnEYcOLrVQQbhwN/vKC3TMGB65Qi9LaLwVu8hzxxrh5Hz7rNcBEmAQGh8vRFtW8+5wIQf3bz + Ns2J1tbtn9fRTyC1bV/zIY1MypUR9n9QDmn02CPdL6YnDj11Py0esmlZ+JmY9TY8vo76NcZJvoCS + qErfIrG2wSB8g6nd0OU1qoQlzlI7X+JagfAR36edsala/vytCWv3fUCXugd0rJDi0+JrP6UKbTAT + CrcDbDeZ94BEcD0tsj/y1fW93E1EIunlQYD2B8yaa97QnECNyucEgpynv1G3TKf7nx8eJmug8Hss + Ivk6Er6nIiXlI6TAvSZpFpIxTdWs+kxEm4I+GGw1xpHiun8XV14bTq62cbcm4+NV8wHWhJdimdcZ + edNkPdx4XJUfXuN6I8411238I7Zc6NdKnRpPn3PBhR1yubq17PboTVrXDEEeAz0opdqpHq9ZTjgY + CUYc4BmPvf1zj2Ko8btDkHyfY8A3i56mEWDInTpL0uiypvRIXm45OYDwGsRMbzf2qVzvpNtdRWO5 + C/1qWVDq4JDHQY9snuJ7lGqg8ZRTOijZ3jMgKQhIRI1AZ57K3r236rkeUg2AQ2DSOLuHzAPEYCZX + 6GpqmCwOUREYSCbrwjU84h1qAiYPQSxoUK4ddLEb8/rqsPJiwSosTUfPQ3VMr9QUEM34+RvrpP2K + unsFA5l7eIcly5CP6HvficL4qDtNajIL/D94tDuZp3r17+R/9T3omXCuKEJWanlQkLp5CIOPMp+a + 64pb1EG8W0yU/n5Dp6MwIVKIqMdvi8BFV5WD5LVBlCEe3/p+Xs78euY4HxvxnYhAvvi5tnRlxrLF + nc5h8p/mMewRu5qOqyZtDowJgeHXmqhAjrTqHVd/HVg1aJm+da9wgLUv0U9Ey+k0XSSJWCNJnxhK + svGNzshUybVxs96x8RhhHw9aVsMxDhb0AWUp2JFDzSX9Mv4hbavanKG4Q7qKXuTDEfNjz/iVIHiB + iWG2d9VOmzB6z10K4kbgCIomlD4lFC5zC8z8qqwPuYWFBfRHkeB0l5YSo8/eocKvT2McVZrVXQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 5885e924-d27a-11e9-aa5a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 5885e924-d27a-11e9-aa5a-001a7dda7113 + x-ms-content-crc64: + - pFowxzh7PXY= + x-ms-request-id: + - 6cbd939c-c01e-0019-1087-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + XedYW2rD304jaqIyPSYOLI33r24Xkd/FV0VBBUXHp2lQ7V6iAH+U3vstoOwEbn0tyq8Um7o/PMkK + vs5u5ynsvcNoO5+itkfLlONZEuu+V9QaTXL+zyfnqmqtHUYT3SUboEy5Vc1YBT08Lresk2U1OjXO + HrqpfzcxOiDpzvipsPwdIvB9bRlZKGiR1K7nCADKx8m/NpOO/uNAOUIs69eCwaYdlwsuv3/BCPiV + iWZwIqxqwMu34lES5XpkNf3VVsLOrzFmiomW4sTaW1c+zxoYnGY/zKLMOrqauMqps2DzksNTreIU + w6USEjEZhs+hLkeH+oagGbgPXjd9u6RTEAtEuJNqaw7zxS3TkA/PzCleKi5Xy3lIJul0CZxoX1dZ + v4fVE/Z+uBIcH3xRmgGqWlDdsLgMT+M6B4tywbBQuLqiBWTKvjIR2i8S7iwM2FDqt093Yh5SNb/O + DMdqM6aI/FX8N4DQJDWq2qlcj7NKvqO7ZseKjcEfl18mFMFlcBRCsp6gfe+R1/kPSYHefbfxfkqT + peNjWzE94XQ15/cz9ckvNgCrBaogZK4sM1Zu3sH2muvypqDz/Ykf3za7iuvimm0N51bKuevxaJp4 + MG7V7wItklligBYuAcZkmjQwku3gpfbCi9cAJKdLoE/FJ34Fdm6YDAE/7O1BC2lPIvVSU0OPfZRT + At7Uo/wnMmjFxxb4gKiTGFYNyE5JqXERyiv8oxPIf4cCtG+xwGlJ9RxYqUAZYLETrCOAUHr4PyfM + YBkeA0mGHQ8GuDKluGlWNXyCIpgc46zrEkiwcxOTVbTHuq9yR73B9ViqmaqxiVMVkp4mlFATA6ea + ppPdB8mauKCjCQ+6S5Csaz1GsJPWWP6A9uB7G8znZhFrxZhByff2yCNp4Sp3ABUKHuXKOEmQTX+C + PE1OPZQRdnDlkfp6YUkJNl6WEudjl6Vt9SWKflHEjyuBLG42s5cEmcd5wmPJ8I7XF7iLtH+9h7XH + 4AMlyc3Sbaqsuz20SshSpfwFi5dlUVfAVGCIjubuMtAB5NhLIJZAFp0c664bKUxr3ekDtTHoYfez + lNnYBqKffZhMANgvXa03jJKLwDbEUBuRRRXL8eja9Nez18ypsn4tUE61IpulQUBSBFbrvj2PDgzb + Ly5ejkFqavqqbFxHXylTvLsVbpaTUJWNjz7YlCB2Vo1WsfRViFMTsoFhhG3V16n3LIpdByF+uk2m + kkNrZvJyjHBTa3DlomzHsqyAzeLh6qoI0LzMXmmvPs4MGj7OvGYmDqsIr2kqwyWMRxmX7AdG+WI/ + jL7ofeOzVJX8VvoQVz/0g9gj1N2rEJ7dlIImjrDuC7Dv5PqVlfFxYyBGrl623VLRR3sHvdfIZg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 58a8845e-d27a-11e9-9f27-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:51 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 58a8845e-d27a-11e9-9f27-001a7dda7113 + x-ms-content-crc64: + - jn9F0qd/oDw= + x-ms-request-id: + - 6cbd939e-c01e-0019-1287-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 6O4Lb2kI/hTgMHbHtcauGuTEuMo66DKA/mHrxwlINbjDncXMjAlfpfayj8RW3M8ZmC3bGOse+7Ky + qojCKXVMMdCHLSx0PSsOEyGoGCkB+lX3uWnUR+MOmZAYZYjmJ8YId1QBDUnbUB/ZSSHaa25T7Hzd + zSyuHM/RWqw6QE1FBi86GPmhojx1NbZ4zJJdXtFDMVonOLvdsRdAg1bcYKyFxUbw9LdOCqFGH+Jx + xwfrpR6KkHtlsi/3wK8KrnsVdBqyVfQZ+pM76ViRraN0GAmw6EzwVcNESOmvbFL1y0YBQulsqYrT + hc2cUe6vhD+35NoiC1uW3hqTeX6FK5fE/MelUuPDYCGyqNR+8OtbaMgj8cMszRYTy0wiQm05BDBq + TtMuqBotAzwu4SgBVhp3GqW9NnI6DBTEM0LU3hzN0H4ZE268VE8Xl1ilh2h6S+gFE5oJuTznUn1R + aPRGoPa4+KI30eKchAlviX59DvXF7hxB6fUyjCG2lr84K5oy8VVX4YGtrxLvJyOSZL1GWz7qyZHM + lF2REbPch+t4IRvmrU/xBTm1z0iXUyKMlOdNanVY79JbkiDpQtLHuC1E7ccCHDnfKujuHSGnijxh + FMX1BEyz0cqeMJ6QI2Xw18vJ7KBrOYxb5i9aNYdhOul7BKIXxXFim9DKuysbuSwRCWvKGrWbsu2Z + YGTZdwoswAiLATnbaV2kE9Q80D0L8MarrCjpw1fLeONm+n6r+pFLQ2T1YpDtQzfsrwcSyeDn+1HH + wMeDbnYmYL1YTfiqvmp5X+sZvvc2iUB6NePpbEJodfEjAclBhH8VTGH0GljbdJlOUI1ZqoUfK4uh + yQrUFnj8Ox6rPW6hYlKgbMg28cHadjrdsuVVWaD25wRJtJaSYqPCXcSuXGlF7Og8YuC0yNQyaBOG + 5DbAbjklwnRwjRbGePAYdwIld2GmVyvnQ4Co3Kq8wrjPARkdo4nwwvocvjgVpzpVQUpJirJ6eOeJ + Gt4W94hqDJIVIUGFt4tmBLlROE48lU1QC1WmzamhQSsoDjr9gf3NiOXoH9YaUUXxQDBbhCnnFBKe + OxNYmRZcCiZDTfN+LuO2m1QsvGMinmjthxh6ACvxQ2hvBTt/nDm7pJs8+Qtqaiczve4hKewF1nQR + skuwc3DzrOyJY9v3fDghwDnH/IPetbudn113a96ZjoCjQYMfr6c1Vl0Jn4/Vyk01NJOuY0nmPXag + d3QbNA3rSLckfEb6F7VSmvf20KIYbL3phN0nYcX0vYQgsarAw0u8WhAG8K7PbEgplSNqs8S9i1T5 + HMimqoYnl1SWJqdDIru9y32/f/JpdQXsdWDmvYKNbj0KoidrUujO8Bw7oxjckimzUmCSsMNIrQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 58bf9b30-d27a-11e9-816f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:52 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 58bf9b30-d27a-11e9-816f-001a7dda7113 + x-ms-content-crc64: + - GZdQCBHvJWo= + x-ms-request-id: + - 6cbd939f-c01e-0019-1387-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + bu7tC0yNhkuhmM5J+4FBC1XrBbybecfbdVCSQCCskBVYYBAIdUzy4uTQuyCLG8lqr47gx5Yj+NMG + HyefcMiperjc4EvRGg6mMuNljni5pgHDcbAlBKe1XFQu8X28CnPn1HTcQWQoQ7C3E+CpoV+IscZc + Bxs7g85vdQRRSrM+pchdFPLe0UgCJgRGvTVAT4SJbWbdvfGjbdd6gioMLK6irY0KGx+6iDmKV3L0 + 6+p8fv3D0BfuA55qa8kIngBX5TmPfURUcID6L3cBcNn3qERpsOYq3jd0ckPtC3fazBUYh2RHeJ3w + wixnIk3tbwbhOCoop43jwW5YWf619mg3QOYXop89cXoy+lNdK82XZF0E8r/mW4j7Ki2TTA3DzS6r + l4pswjou+VpwdaWllfYaA7+JMmsAmaJuRnP8+iZMnoEzfIgK9BGIcj3Q3rBxxZ2LTBfL99m6Do5P + y4bcr6MRQL25Cqb04tCamuQn54yMOBlN0MAMH+MOupR9AR+L/QHUErZnqMTlIztEDp7uhWrcCwoN + VFEoiPHLIzsqaLcntXOTPWzlbhFvwgiOvTzWi79SvSVkNPQmnyqqiChXeDdA8F7V+Hwedes0jQz7 + enxaAIHWPnYTzsfyrTVYNXwGFeyY/MeBltRkTQS/8ztnhtYCx2KLGmkzVBG8iV2dw3bwISSNBh4I + 9DvvC2+pfUT1Yw1loPxM9OP6+kI10YdbeDdq4RRWDulAcv61F/3ps8+Y2K1NYCQ2fCJbA1XH7OTb + gIQ6QrNy51dJ00antcpzNOn2sMNM9p8Qj38bFlxdPw1YjxUl9moJa1pNnSxZ4peBAziXCQ9yKKyL + RqPKWgFLuOjaUYifofPZAtHzVAgBx8u/OddfgFZ7XegnFuM2gUg8Qp2OI1tZzFLB8yVkjhse7co6 + lgjfQSPCR2AJjFQKs9PKT1ebRFPzpj4WNC7d3EuO3SJOBXXr+efbUDDcrISbfmEb5wKcVax5yKis + UUN2ZYOSFXNPAVOkaFsxc/FSUlGXCi6Uwr/0oK8hvlbito1NP9xkEaPmO2N/Wzl9cXDD9WVFv0l3 + 0Q0Hhkp+E9YnZc6A34cXhc4PouKNhiMeQE88cxnMGSLiyidCDMvo0QVBFid7hT9ZhacnDO2CDXXw + MPNe1/32vzaKumzARwXKBMic1AP0KT2vMIKMoIczbzs/pZqrCS40L1ALPS5o849qdrO6cZaHbKU6 + di9w5SJbtcDGrV5CqHAywfiwDo+dRCHfT9eNIpMb0YhYE9006kcYCrnydHgkmyDrMb5SQdBjYgmq + tZscqB4ZpH62Zw9V6m1YZ4v0VDyDH/7gn2PuF/rOd3Y3eKxekEjL9z9FI4LbLVF2ey16wvHcdQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 58d19e48-d27a-11e9-82d8-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:52 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 58d19e48-d27a-11e9-82d8-001a7dda7113 + x-ms-content-crc64: + - a6nt0qmJQbQ= + x-ms-request-id: + - 6cbd93a0-c01e-0019-1487-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: ' + + TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA==' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '5246' + Content-Type: + - application/xml; charset=utf-8 + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 58e3f000-d27a-11e9-90c1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:53 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?comp=blocklist + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:52 GMT + ETag: + - '"0x8D7349E3D23DB32"' + Last-Modified: + - Sun, 08 Sep 2019 20:50:53 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 58e3f000-d27a-11e9-90c1-001a7dda7113 + x-ms-content-crc64: + - vR2LUEKunLU= + x-ms-request-id: + - 6cbd93a1-c01e-0019-1587-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '1048576' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 58fa384a-d27a-11e9-baa0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:53 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/cpkf2dd0def + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Sun, 08 Sep 2019 20:50:52 GMT + ETag: + - '"0x8D7349E3D384D72"' + Last-Modified: + - Sun, 08 Sep 2019 20:50:53 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 58fa384a-d27a-11e9-baa0-001a7dda7113 + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 6cbd93a2-c01e-0019-1687-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 590ea286-d27a-11e9-8f8b-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainerf2dd0def/sourceblobf2dd0def?se=2019-09-08T21%3A50%3A53Z&sp=r&sv=2019-02-02&sr=b&sig=V5l2sUYgmrUSNXwuXDa9s7j%2BEN58uzef1LcJSkCZgVk%3D + x-ms-date: + - Sun, 08 Sep 2019 20:50:53 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-page-write: + - update + x-ms-range: + - bytes=0-65535 + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/cpkf2dd0def?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - Q6ytyYJ3/UmPlCGgqWCMIw== + Date: + - Sun, 08 Sep 2019 20:50:52 GMT + ETag: + - '"0x8D7349E3D579583"' + Last-Modified: + - Sun, 08 Sep 2019 20:50:53 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - 590ea286-d27a-11e9-8f8b-001a7dda7113 + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: + - 6cbd93a3-c01e-0019-1787-661280000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 592e2440-d27a-11e9-867d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:53 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/cpkf2dd0def + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:6cbd93a6-c01e-0019-1987-661280000000\nTime:2019-09-08T20:50:53.6534345Z" + headers: + Content-Length: + - '301' + Content-Type: + - application/xml + Date: + - Sun, 08 Sep 2019 20:50:52 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 592e2440-d27a-11e9-867d-001a7dda7113 + x-ms-error-code: + - BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: + - 6cbd93a6-c01e-0019-1987-661280000000 + x-ms-version: + - '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 5945d446-d27a-11e9-abe7-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 20:50:53 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerf2dd0def/cpkf2dd0def + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '65536' + Content-Range: + - bytes 0-65535/1048576 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Sun, 08 Sep 2019 20:50:52 GMT + ETag: + - '"0x8D7349E3D579583"' + Last-Modified: + - Sun, 08 Sep 2019 20:50:53 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 5945d446-d27a-11e9-abe7-001a7dda7113 + x-ms-creation-time: + - Sun, 08 Sep 2019 20:50:53 GMT + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 6cbd93a7-c01e-0019-1a87-661280000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_append_block_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_append_block_async.yaml new file mode 100644 index 000000000000..82437b1e1cbd --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_append_block_async.yaml @@ -0,0 +1,372 @@ +interactions: +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 7b7352f4-d282-11e9-8b7f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:07 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer2f4f0f87/cpk2f4f0f87 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:06 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A65FABF3A0"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:07 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7b7352f4-d282-11e9-8b7f-001a7dda7113 + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: f3cabd64-201e-003e-1a8f-660544000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer2f4f0f87/cpk2f4f0f87 + - '' + - '' +- request: + body: AAA + headers: + Content-Length: + - '3' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7b831582-d282-11e9-b081-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:07 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer2f4f0f87/cpk2f4f0f87?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:06 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A65FBB35C2"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:07 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 7b831582-d282-11e9-b081-001a7dda7113 + x-ms-content-crc64: Cc/2Kr4DuKg= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: f3cabd69-201e-003e-1f8f-660544000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer2f4f0f87/cpk2f4f0f87 + - comp=appendblock + - '' +- request: + body: BBB + headers: + Content-Length: + - '3' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7b91ad9e-d282-11e9-b449-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:07 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer2f4f0f87/cpk2f4f0f87?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:06 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A65FC940FE"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:07 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '3' + x-ms-blob-committed-block-count: '2' + x-ms-client-request-id: 7b91ad9e-d282-11e9-b449-001a7dda7113 + x-ms-content-crc64: +3yuPEA7IqE= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: f3cabd6f-201e-003e-258f-660544000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer2f4f0f87/cpk2f4f0f87 + - comp=appendblock + - '' +- request: + body: CCC + headers: + Content-Length: + - '3' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7b9fdb78-d282-11e9-922c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:07 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer2f4f0f87/cpk2f4f0f87?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:06 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A65FD79782"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:07 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '6' + x-ms-blob-committed-block-count: '3' + x-ms-client-request-id: 7b9fdb78-d282-11e9-922c-001a7dda7113 + x-ms-content-crc64: VRJmMeosVKY= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: f3cabd79-201e-003e-2e8f-660544000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer2f4f0f87/cpk2f4f0f87 + - comp=appendblock + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7bae0c1e-d282-11e9-afa1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:07 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer2f4f0f87/cpk2f4f0f87 + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:f3cabd7e-201e-003e-338f-660544000000\nTime:2019-09-08T21:49:07.4340414Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '301' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:06 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7bae0c1e-d282-11e9-afa1-001a7dda7113 + x-ms-error-code: BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: f3cabd7e-201e-003e-338f-660544000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer2f4f0f87/cpk2f4f0f87 + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7bbb96fe-d282-11e9-9f8e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:07 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer2f4f0f87/cpk2f4f0f87 + response: + body: + string: AAABBBCCC + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '9' + ? !!python/object/new:multidict._istr.istr + - Content-Range + : bytes 0-8/9 + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:06 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A65FD79782"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:07 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-committed-block-count: '3' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 7bbb96fe-d282-11e9-9f8e-001a7dda7113 + x-ms-creation-time: Sun, 08 Sep 2019 21:49:07 GMT + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: f3cabd81-201e-003e-358f-660544000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 206 + message: Partial Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer2f4f0f87/cpk2f4f0f87 + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_append_block_from_url_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_append_block_from_url_async.yaml new file mode 100644 index 000000000000..9d98d503dba2 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_append_block_from_url_async.yaml @@ -0,0 +1,4480 @@ +interactions: +- request: + body: !!binary | + at1yy8xxBxBChG09b2FEY9MaW/KOVECwHWhlkgI00kmq46B9I9Bn7bHWLIUP5KYnaq23vQnCDVwy + UGg+jLNUbX6cLjE0GQbu16x08serhCrgC14dX+CEuFqpct20dnt6pAU3awVDIVrBKgUVk103t9lR + XbVUtk4J2N+O04+iA5jsbtdujYELgyuhWj/EUsHka/l4AfSJwdg8X7aJK4hRAvEETBNk6Qk296fE + KokPqpjDutl0gLr1PQUgmjk5Bm9emHrbSvQIK2AiQUejtKeVITf31Z6MycupSaqTwFet2Xyi9ZI5 + v7g2yBeHerR4icAnYUb0koDDWn9FfkwiwRJFtLHTt+G69zer5Ntkq5C1mzx713W47HBGdIWA2dKv + x7qp1uVecfdzUZybEgJJaLks2t7KxS9xi6VWZlOQZ7he+RvWE6EBnPqpYl4+m+Zy9+5UBns2w79+ + SJTSf7SOO2Q5DPE+KZEwixrAehmEjRbB3qdkMyrwohvUaPHwhs0DuojDf/oHeTJ0G6/GKZLK3alC + 7wFFpVrfecsB+pvRAA3+GDX1Ei1kx8A971GpGg/57QfsTmpVVvs1vauaWZMrAyVKeDvr2TDQOIE4 + aRl9oooaRiPoLEub/lf6t9Jl3qbI1itmazVtkJIvkBMGZulwbBDbRoWcuSL24tvKbsEhfNALKHM2 + F8D7Z3U7SJ9aKFmlchDp5TN7BpIT66tLTHRXIxxbPZCqmBZu4Fs0K89DtNU5MPpY9+jmgn2K7tox + TQLXeQRPFCcuKKgSvHGtRes6CzWy2Wn9gnjhC6gUs1YdLhy40SDqYJngbduWpEprvsBDgbSFF/2t + L4OjjR+hVo3qPTCNz1mVnPd8b332RnGw8Xw7IvRAde9NWhJM9z9chxLa5esXGthmLJct+qhfV79N + j9PbYGDzPI6utlXy7xj0akzua0HqoBIOebBj+4NTWnc1mt+UPnFLnjJCv2CwCiV3zE6BiStZzs+v + STohpgEB1hvnBQoeBrTiBRAkoeM0OVaoV94+nJfPACgoAJ/Vj8TJYXKxtKDwJ6t+bM2KY/H0oipU + PFcQeMe18ZAESI8kTjaBduQAUhYqUtWXC9VZILw+SuwJBi/8jbHe0BhUIo/KP+pQISfNnFtUmpES + Q/yV510BBHtWMhYJWbafKOdMbNYzpXMXciWlCLy96P0Ry95I+0bz5r5aeUxjK66LjiVbjU9NwM0L + GHdXlgK5MGoyL5iNMYyD9t+JiZCPwucCATIuJX4wjlRpqGIgBvvOt3kDo8FQJ4XmNqSKUR3ogtcy + b/YQr1M/ejVn5YqHUrKZYHhz7+3AHb1nRBLFpdmynBkFnjRCQNeuqZ0brLBDmT5V654fr+lJag== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7c2e9b4a-d282-11e9-a4a1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:08 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:07 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7c2e9b4a-d282-11e9-a4a1-001a7dda7113 + x-ms-content-crc64: pGgnG0L1O0A= + x-ms-request-id: d3cda3e7-901e-002b-688f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + ZCB65UPRnTptbZ8XhDMotzNO9g2HZ9jGz6Ban89IPPDCGcBQCKouDBJsFSSaC5IUVYlGgf3TJ3E1 + rBZSixGn/JTKh9LnAGB5d3ACUJaXyg6wWJ3qGcvgGuGhQ/kCcSREDiwUSR56kwkVIiAe/GkM8ECg + 9j0GGwF8mjIqBPECVfzVHORaxc/kZqUK4CjEuc+4TVNcAjc9MWV5zGunw6wcUrdGUecKdAf8cCbt + C356Enfm00n3Ueub+dApzWPBjuNelfgXaVEAXveJajmcjOE1fzzeKWJpWtUW6XXfXSM0zYEG+7B7 + TEaEvemcnpH6gXDLr/FlWRzI8IScvKn19LP3HjZDaolHH68DxK1xVyDSRcBlCLB50bxKpYTTEHdn + WJemaIEUa15zQLbs0xvdoD2TKo9uwxMplb+CsmRO1kF34I6ayDLJ4mBnfiOxtrGZnZrwDZM3heky + SSUHOI3ifoF4Sm7dh589xzw8pLVIGM7d2JW8dS7wAt74vFGBOjE7iRphXM/GQVzhqiozx5Uf5r6R + ay8z9GkeQppd9OzCX0dF0X6RNT6JbrFA6bsRfy17j9KLw1roXFwCaOZMLgrvgSlLEPBX3b3UtVY3 + YgG5mB5o/cZwvr3SVEGkq+Olo7slL5RQMludv9W+7RD1g5P9M0MKHC9CW1yMTQZUhTia6q9TGNvx + QOU+uHN9+OjPv5ULhUdrl55QvYsVnwlVUVVZvbEnvragZlJbdpVRMOkhUak/a0QnXQwEhdnaIK2d + 7JLuUJDAEo4LZZXZKPE3PwTR8B72H7F8Y7lDmynkh2r9QXrG8e7Fk4F3NQtI3XF/ppxPsRhGEBqp + MBzgNS+/87YnSlc1z1qM2t+jt7aPDAIKfSxonP142rqZB1ttXIeM1o+lZEqrvUPD7+dbEzxUgwza + p8m/sRbP4XSjlN42jb36Tkn9VV3s2JzG/vsh2M8ML40QwxIQCfXW3VY2E7lFBGh1so4d8T8I4iIq + 86MnNnZDw2b0ORpUQhi6DMBqVko6G4pqUD7mPMN5y2t08cle8vOrjG5hbWwOOlkykNHEbm7Kcxu9 + p8vScX/MhQTrmrgL2D8X7jc0z1t9GpX9bNZHCwia0fA6Gxs9zjL4uzYvitESOe58pSO+lEHhNSGY + UzvgnEu6BK+La+0d600Mv4A/uAzN9snHfY1MbEmGg8kLRpPU/WJ4OWShhvj1CbiA9miIwyzuBFED + HnZjbkJ0fNPHDqCYh5hACrRKOCCV1au5bAC1fFTuaULMFhvvZjbm+gz4etFuQ9NOzmeas/UcyjZS + IFHf7garkqDiy03DSjzVBYyGjZhHalzonXWuj7XdPQZzXs+axFGBUk9tHUSsDqHCcoNUV71KRw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7c3c52ca-d282-11e9-9a74-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:08 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7c3c52ca-d282-11e9-9a74-001a7dda7113 + x-ms-content-crc64: 0ZQWfd3APc0= + x-ms-request-id: d3cda3e8-901e-002b-698f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + Cg9y954KMlGBbO7K3v4e9AHiWiZdGtFsdkoZ6pwrrUZCdFciIZhQCBX5I1X0zmCYgrJZuU5xib1r + 9P0joRYrJZA0ommS227RHyoot88X1arfTxeYsob7r3fsW7/ERXMaU+Vdz70Q4JHCuffFqRkMvVcR + V64p3MqUuX7YchDDeqbo5fUP8dhbVie60FHTcl3CnC6bew27SmEpwlWeeA1IrSLx8GbBcku8d2oB + jFPMr0lpacYkSlOY/T5ARZOflpIXiHIE70P6gI1vJWepeL6GpVNQNZzt3vCXDOkV07B5vV6GK6cO + dL8rAqSI/Dw7EfCXy5oi7yj3fm4+O9bI1YNwSX/WqY4wQOZ4CU104WjKmKuSKibdZsIHq0w5JXA4 + qubNnswOaw6sG7cY5O73GgVYVyFODTxsRSJGSl7g4pK9LcgJjW9sHCnoyxGnRHa6A1pJZbcQzRR9 + AksQ3HOfET+lbVf+DK4f1+LEn12hzlpdwI+HvSdZGIskhU4Vnd7CXPdGWT40XYm3w3WfoTrZGZPf + iz4YNScad/UWC8vVPow0gkb3UH5SB6za9rVfKZW9BOnPuWRnY426L5ULWPQzOBLCT0xSAB2pn09j + OP6aMH7v3ts43/FVG8ZnLsRXW5jjJ85ns25ZsTXeSNZ6gDHCnUcI60tCdyvtjI1yV4AP4V+buwrH + z5gMz3c6OIJ0K+ytouuZjWoRhS6PN/ml7Zi6tvA7bHE5Bb2IF3uiXSWMLJ++iNtjwb2GxAQjIuF4 + 7cpIz3KN+OLeLGDtXYIRXsfjnetD60uSmDkCO0ed4yHCQtMV6FX0J6e8IACQvGzmred8JKot72PD + jBdxVgVfBFZiCjfBuALuywnaCu9vv+dr2GP1RsSk/KOTwW3nBshYHjoFiQYFAgTDBN0NcS6GIjJr + JlL8RqTyeNXZlWUTiKXH6qibp0kyiT75KfomynOT6jrSAx/R7PJhVDNHCHXfT6qfYt67tsuKrA8z + 4dLYuStKn0OgwLCnqYYuIuR/Om1qMkPhbrB/IO1cbKaRKMbikIAu18P0cqxCv0oe9z6mbdNnsNYq + w6MbnVa90Nu64q/6Z1iFPQPQ6MJQKPGA3YVLB1zwqQl77hFXo1JajHKbZ0CWkXWjAj4FZopIZjKP + n5GebBHIhyhM5evpPa5/f0s/65y9xjiLTGyOGu8drxqDSXUpTXS/JhUiL0i/JAom97Ef6kE4gNMB + 2sGDw43AuO80DlXEnWgbAHmvHUSwwwtPHmH12QDVfgYohz9/y9ZgbwnbrCdca0HidAKMtn9zes6x + 3g+TlTo13epezEnUSPcaQ6aP8ylx5UpuGda76Ksc5jDcnVGydk1BPzIR6vuu01gEVxyFoDPHnQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7c4a2718-d282-11e9-964d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:08 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7c4a2718-d282-11e9-964d-001a7dda7113 + x-ms-content-crc64: 0btv7NuOCvc= + x-ms-request-id: d3cda3e9-901e-002b-6a8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + lai6zIlWXYIa+ojKw/gEtJrCsBXCtV1p9WtkqMKKu2PuoieDbSw93AuDPXzSPbxvs7nIV0GSRVhY + Nmi0wk1Uq35219cbTJ0DbKtLKO5XhvbZLyTqQ8719DdOPQEGhtK4zMIvYX7AYo/7BgSW6gkSn2yQ + qgHYrNBH+h0Hkt1G35ef2aIeeg+FfGPwFa3ukv7FG3oOPgul7/RYfcgr6ynQy1Rc7rltdw/Jk31r + 73k+P2zwOqDk+pahYril+gaTzCmtKS0/tfCCjJWoJphsu/jOsRIkP31fht7+EXW+Bt2duG2K55zF + DTIyWrMrRfQ9BXW65fyHLT9/ego0ndpQ2F7jKo4XXgAjEn9pgyzJi1zZpS0+DdUgGkmXJLMpB1a/ + WzAQFV54nvcUaZnsanFj1XVwMovdrSRLvYUizWCbB0yn5ntjaSMFy8ZY7iCoh7Xnq2W9gSeESMTT + nqc4YRMeXiyj5hXXdSegqAqCETnR4tTsDXIPQqUYgJsXsKnCSgI5vvXqutGlK+ezJgLSIu4JLMW2 + X2IJtOiSs+8KsCdj2+YQ5TY9WdUUR0zT+bcUOtWVTaq1cKw7wvjfRQqq+MaD9TC4h7NbpCoGFCew + DHo4LNjeb0D4s0aPjyaoYMbCMpGRWhj0/fF5gO534+JiOQI7FwGcKCM6WtbWhA3F3JU3t0cz73nz + j2DBRSd6axQbf6bLTJ+iJ01c3Ti/FGP31e8Khh0VZBzT/dJbluKvg14WFTH09YX6m1eS6TfAAWTZ + hoVvI4LeU7+AlGnBZs3IlyqX0bQn/M1ZTf7lTW0p5cLefwEKpUaV7jdS0L/FI7h4IUdqtlQGfCbs + H18mRwSOnvShNa+jEWq6mplX0jpthGWIsZm/YnJ5N96+++GycIs/7fx1EFocSbrcJ+2yzBj9ROih + UfmP77YkewMBETsFv3bv3ls/y796z+t2q4ekDahs8SCWWw4p5T9TLA0erDxfaz9cl4fsCB1pHNIa + BhHA627k7TrvQF+ikib5CdtAC/eEN4z5NRHSQmMqA53grFqNL17PusQjwsrLKYLtsQtMCvFdk8VG + c4U79nP15L43wfLcCTPLqCLe3KIh9Kgm6x4ozexWkEdI6vbCr1QmYWmrJ7VResgpnH88xvhNg3nH + mSsJL9SUIUPn8F+7oPRkHR0hpfAqi3XAUYvlRqUA9aomxjbZhZDOJ3u74RgqqiybykefNwqP7naQ + kmW4VPeFoztJH+VLGUzxnNYTHj/xVh6cW2LpOAGy8VZDgsPsnGUzBFF6jCr1cWgGjBi1H+L1uKxh + SQX+cLfili8dJXqTukO63lyIdNXZelOtb2NCepQxHdAopIUI7sjiMvF/JFV6nfqMenjRPOxgyA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7c5f2862-d282-11e9-aa4e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:08 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7c5f2862-d282-11e9-aa4e-001a7dda7113 + x-ms-content-crc64: XetD67/4w3Q= + x-ms-request-id: d3cda3ea-901e-002b-6b8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + kOZIKngWUqwSE6hrdvUhP+DKK0SReiUXsMP+XlgeQrVd+b1gNdWwlog8Jsy+cKoOfi94NYsDLjUk + pcOwtaOhl1lZccwh6e378VXwMDOluyX+R/Svi71lPtCOU29LJg3pqOID0sdYrIXaFf1GSbukaXI9 + 90oXIScDrGhU7NSj+/vJxCEiG0h3Sc6aZKsUsGeykBITQSy4Lj3aohfXfQeUBFlWWjSYs+pDF4DK + kAC2joDTLPyUphmE8DklkAdMUa6lMjnAixQhwGx49QrAT6y4ymSopLBMXoW/t/DAV30nUtPGLxmT + fjMTYgDafqaiFfig7Rc+eWeuGkGbAmWuie0miubC7adIGgbAR3SMCTYmhd68Xen18Y3LsnHw9B+I + 7DaSxxYL7PNfX7ApDAxk04Vb41F9Bsa9vOCOuoRtWrdNqdv9xycFy8DDAQbJwcskIutZf7rRt5Wk + CTnQJRvRoXxmKS+BaPiIzZWzrj0D8O2FBF5n/iM8tIIRhx3mAX7lTp9EJNAuHvaWDa0+T6LAlRC4 + b7patqK5WJ95pix9b4n27CZ8OAKpX4mXkEsag3urf2DVP8+WaOeZY4TDY+nD14EWoEnEu07035xt + 1MsihX5DAHnxphOtqZtyKs+j1C2ActNH4PYEa/McvqVGo9LYpw9Jx+aJXONcg03G2jaFoiQxMisQ + kaqxBvnh20HpBNjBt+FIcwMKrexVwUeIxwg9+MehZib7OW8E95Z1Te9EbpGtjlIWmB9EAg2QZxLV + nYMsds7xyHElRUrwCCrhc5LOKV0Mc8AzlZIEojRVcZSKIZIqAOuzD9dT/JKLB3UTiVl1AJlh60DV + qFZhHgogo1o8BQVuOnIuAsklYSgHeTYdzlUtdxgvJ00Ag4DH9wuHFbbt3jQhVdoM2MlEtvMvfM2M + CZmVW9Y50xDk2a3P10VmsmWYGg/duyOROpx5Gla7PsYOhGgOsvgXV0yw/W8wXlb0kXmOWUXnXwg0 + jFAr5JtsVLILvYICwN5gXwr5FNZEJCeAgxqizf4hPS6P+JXI512gCZArRKcDK9qwkQAyyiXDZtM8 + NTsMNTLWgbf4rIQFI1VxdqjE4ESW7cr+r0MFivFz8bYGmr5JsjVJ7Ys/90GQks0F/cUkDrgZA9zo + tLNFrBwEU8kP4gGW0FcOw9dSEr57Ny5NC4mE+klcL71C12E01wF8Lfp6i766O4kcPIBtIDPCdJ+o + k9idQwag2gaIr1kZy8tHMG7hiwwTZUdYk7o4otXpxd5iao1sA/wQbzQu9ThXQQMHieGjWhoZGnkb + 2OFWcs3JVtO8ZfHZMmOu0upGEZRoGThlC8lXvA8cK/q4SccO3j8uyD6rSGGSkBnOUlR3cjYxLQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7c6d6d06-d282-11e9-bd2b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:08 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7c6d6d06-d282-11e9-bd2b-001a7dda7113 + x-ms-content-crc64: /r6kgTBKAL8= + x-ms-request-id: d3cda3eb-901e-002b-6c8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + NrC/+gZCnfV8bXMuW06yy1pUp05800zOuxuDfShasEbRJY3WivAElDuqnUTjeW28j6JtUPV1jXS3 + qz2ngJBYNThqbsp2zQx8pCQzucq4ixr+xZ+42X30KLBVzgxPsPOYyC+LYnZ8NfZ57TWSbNkLTQ0n + ls74zjadRz84NL1dV/71X4vIBwa21dxVSeNRqm8mTqrxiuLP3bK9luu2qwXvHBOCiukyiV9tSLUZ + RKgpbnS6Lit/a1oVqMTiaN6lxiE7pazZGYGn6dghWP10BzhDSsCz3c1MULOi4pugOrsniCk+GTQB + 75J9OH1F5mHaQQXXdDW0I5V1SyYj2yWJztpli2JmADsou4oH+H1/yvtnYw81haVo1xkhpYgU7Dep + Q2Z60TjXfKgBFuMbxV5bvOtmxOIXrgsfdccHhWjICK0Z1IOT3NS9UMQp6FEXK3nlC+ewHW9oPWNi + GaI8oEJcyeRyfWaKSGYJK9UZhjZcpY3IdEVKxsRB9gjgvb70Kwj6vmnI6lkkPfCRa/ZVA4U/AWnb + REs81oVfNHTcoP6ZxVKlIZka+S2ha+yoV6Qy92bKCfqVPDMSKV+KM5MVbfwyBsZufwLk7hAtHFXX + 3DQ5FY4/d7PRS3KdrhMUj8t00bhtjly0zZoG6rAdii3Ur+gsevMnTSENuevAfq9Ll7ALlfe0z5+L + LAKp3jh/d1VCNNJPAam1QrezS/nnjnYKujaCtOVQU/KK48DQloSpo4/evzupUGrpn9RVz/SMiUTk + 3YvstmBOH1L2BdeZYB2zOdihU5bedP4Noawih750XSMjQY1o5xXUVmZQZjZCHQ1a+JjVT8fY7J/8 + eaqrp925qxk/bSANJX7kXxGoJs+erdm+zUm9PW5JQZP+ofg8BC3cshYkLi7BExwmi8vG5E0VCurF + +iWlMDzb2YL4ccaK1Q7O7wsju3jrAcCR9VQYwm50BUetitnC/XW+noSjjpUnxAxyYbwh0e0qBLOS + Q09KnlFxF/7XQSS7ecX9+FuBgTvil2+FAO1q00sLTf6KMVnNThzL0RGovYtoUxmnR1AIv7T0IneM + C2hATLqtp6S9cvynHxRP587687X++LztRdkgV+FE5wA2XCzr+IldObZFTiURU5SxX4iMugyeUZkL + DJDmt9IWIlNYaEpLMKvSE1mjjWR/7l3q+7wABnZ55qUv1SFZCgCe8XGaXEWvONoly32S6EOd6mJx + J1Nxi5gmZnV4GsJS6ROGRQ3b85yD1hGSRR9NkSte917TB3cOu4TSFyq9TRUp1ma4HBNkZ7TZTK+/ + 13csJ8LHElSRW8MQNtjae7PSdEfu9lYuOnVoKWzZDjGZpmdp2FjYzOHHh3zPjSoy4ncmln8/Kg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7c7b5d5a-d282-11e9-9ce0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:08 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7c7b5d5a-d282-11e9-9ce0-001a7dda7113 + x-ms-content-crc64: soNoUj5PdOQ= + x-ms-request-id: d3cda3ed-901e-002b-6e8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + q+q+G5ezYeZ3WBJkf1NLjLzpuDpzZ7DvRkY4deSiw+n8SDUiUMk1FEtfmFDzYQfz6/MHua65udNC + V43clce537IPuNSsiQcj755wtU8185Ws5kO+PJn4RYpHY5ocwpvpn4pIS7wzUt6KnHY0kCJJugfM + +N8g2Sm6s7/NkWbt2L+TAWrBieDN/uBTHGAO4Z6aZIrQL2Nkiw5P6pZLdfFhzsDfVpa/PFhX60m0 + hsEzhbq95YuUxt6TCGA3uxedhgecs2NdG4shvCZUSTxDNU2n/W4x6zARCaapNKmu9WrW/rsQV4Hi + IunzAl/3YwAut0NzzfmLGnG7Fss/z43s8fzWVkZiut/wdn+3jefwwvG6b0tQ6vnQFPEAqanwf/l1 + m+6wbElA16SL7tRR7fZF5SmE+3h95UlMeGsit4p8E1IV+4ke2PmNlZXanqgK5CMVJdIq4CB/UJxc + YB6u6BDlbF+2RQJmkFUtDFvS3oa5ICBlHaqYe4qudm1UjfCL1vjIYudKwJReBoZtNEhn/Lgl8QpK + AyLV01Nt7InEKmIzhjY/Xe6feWkfrTsWJT2b7HEjauV3MJ0F+jPJWpDwMxVgiC7hqBg8bayuwhzz + ojHz7Mgo2WPBW6v12lwsi2uwZzXzbFSK0qLjfb5jOH++dyrcvlQ+gPjCubsIuVfkG+luJ2jNEFx2 + jY0H8tJ+JUsiPukMp7jBjj6ytGTTCWHc0BvQa7qUcSjiT5KdNM2uFqlfFryzLiOOtqE9sQlyX155 + /BFbRT24GVUfZQ53YBI9152tS7T+iAa4MnwcC30f2fKN5tP8sD7mLwBnECCozXkFcwGpmrOruK7n + E35dtf10Uorw5i+hE0Kxtzo9upgpIURBE8azj92u+zoMCOoJevk83R36SrxHg097iJkK0Os+gQzG + f/AAfmDqgb1nDK/zAJl9s7haJgr8R6OpAqk4P17Rs67+V0XiFJqa3omJlpG/x3W9MEcyTyLP6VJJ + jQk/eBvJsuPXWPMxnrvSw8R/WrGFy+CJhTTLCpxCarugnK5mpWy/7X23xmf5kZJxW5FWA9iM53UL + NVMWOjCkNponpW/JFpzhOfW2YKGddBUCuUW/7fnzIEZoPslOiTmQXYZTKgRlPW2Lqa9mX0jmE7q+ + nVIC8ZyLiQjxLAzv0jTcAepYlBJg1m67NsbeEbL5eBquKL+LjgS3bog0zthsDQdKrhb89w17rmE/ + 3bVTrFIuXCSm6knQsagIJHCtUZ8WlJWOYv0fT6qRB96xDPVKqmMu0UHHEIIQm3nOK5naqgxrKbHQ + o8NYb6M6pk5Pn5ecB0DSOxg3SBTOJYU+GDZ3gyP6TNre6sj6QthXYAWB4zQWSc+YE4fLFs9hJg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7c89aa38-d282-11e9-8104-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:08 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7c89aa38-d282-11e9-8104-001a7dda7113 + x-ms-content-crc64: sJNxpSM1tGI= + x-ms-request-id: d3cda3ee-901e-002b-6f8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 6WSEPtmMyjFex80V+3gmpq5KfN4yfMwjnXtcQTXAjjUrq77YGC5Q3xgZ2qy7gtLVzKPbJpvCJqC3 + mAemd+da13L5EzrMvwvMvQ3gxwqfoSnFcNxCo4TATV5cUQXWHTA9Yt7lSVSVHuQk6lB2VXVOUrrx + GlNbypX+x7nQSEVSqawwOExstlBB5HvJm8f0gvMEEEBpZHTCWJBMnC0aP/Si855o5jXPRwJljIOZ + U24Guft6CHfpBN+1GBwVvC/ZDV2FVfr2auZEl8RVVDVdY/QGnyjQ+s9tFXCYCT7FlrQGFhLRq/Pr + 1zqUENqh2JdlibiQwStpMyNeKJz7BaaGIrs+nYJ+ArdEUOfLYyIAytvC+AyVIVF86mVbUVDIEz2K + Fumk4Cq6ED/RoOdDtELjqJH6glQO8Xbn5dxQjNmiq9kMNFc3eDljydXncnzay2H9ZC3J9bFPsuIz + ELC3cFustQ4T6s6WZxw9NbEmp6FQCjBr+ClFVS6Q8va6osu6jXgRZhsb6VaLhXgJlkZzsRgelHyG + JOC+RCts3qNspBMv9zoiusxQljjN35D329c2NgayAcf6R7j+0k71YAoJb+pMRPzVkLDgQCastx/P + t+u2qhXFSEaeM+6A5Sz6Y8msihul/rWrA4P0j4j62zCvL129q2PgpnsxxZN5XYtN0icuJWaRPkwz + hyC2sjITf6AUo0ZiRiZUr2VKwBkM8PzZqBVsfAF5m1zVtxE3MtT6FOP4sVVOD/AzIYSjgVURC9kC + wZRxIXlzjzisVX+ZF49wvh9wcYBg7sifiu7S3edvPfJXyx70abeot0iLS4NAlNKsjCwS4oQavMbt + UKs7zuI2A05G303f+6JygzF1Uc2K+LI5kfdGM7DBE23R6YXD/IoHlkHupce9KtPqXknvPQgIOWjH + FF9YX1GBTkoxehjdkgx18rP1JeA9mSvrispgDD3uNzFfBKAV0evQXJqTPPRKp68YX9Rs413UP/Bf + 5RNl6f6Cgaybx2r8twRkbBwcA4hvAaoUSXuYdCkjMnrngoKi8DRwUdbXEqT6aNgwZgjvqWhVk2v3 + c2VXNlyZISCwHmg6QxrN/ufwjifJEUbLkATD3kc4EqsfuOnexq9RTD7br/7XTiQkHgchVXV2gdAe + ++tEybMKM9g2+Au15O4F88dzTertkb4BFmYZY5DABzGTpBgP96MCrTenXLyJywsK02E4B0BNz9gR + 8j0LpWpb9SFFM0oYw7c+YhVMCmbdb43tAcl9RIBpODvgBXIaMwTMw6qfU4bompbGSw4qX2Nsjpbp + T4UshTiT3NVfFtOo95eh7TtOUkpVcsHK110Tq9oMN4ZM7pMxqDoDY7EfheP5VALumQTxVRa2JQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7c97835c-d282-11e9-9b7c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:08 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7c97835c-d282-11e9-9b7c-001a7dda7113 + x-ms-content-crc64: rAQE6iMCdH4= + x-ms-request-id: d3cda3ef-901e-002b-708f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + uYj9xr2u0F57lJNlaaO38wriAK0lzBZ5520CxwBn5E/c7sC1FU1k39S2oG0gYNcs5OjGlIBR3IwL + U2tCjTa+EUtvfxyJPKE8oLp5Qu85Qd83x13DcKzuTnznPFd7avhYxDw7kdWmQV/KmQP1jXwFnttz + dDiKGxmzf0XR8nKS6C9z7cEYO0Xc6dGHc3H+O0ZjqtnboKTEMqN+qtvexIjiiDzT/hvn5AdvX/XD + bBTLvJF58L90IbJLSHWbdpjqx5rFbWyzVMa+Z3jbjpLBoaGXXkt+pW4KuM87lJDxGPSNhT1Ael5R + 4hnMtjqV/vZQd2GCJGa//VpjI3LMf2+fhKzcYWUbsxaVtViTQLz6fUa0Tm9JSseorJb0cabRsGMi + czz+shlJQuPAqgRgsUZzhbzMtZY51JoLA6pL3jiZH9DNF+4Ek7W70FexDla0FKhYhilgwCc0OjHU + MfJQWg/bSAIfExNQF4JdIRNUoOmW1tA+9Dr6bYHfWYBIpVWwjEtDEwGsukoqqJebWqEeKIJ5sn40 + wX/5Skbhx92cEXue0pw5S2aMkDgQQcF82dthHAMlA+D8OJRozPb2FqHNDzCK3LyFfxW0b5LmT4Y+ + RgpuQopn/hEc2Hyq1T2f75Yhnw3UcoYQb9kjiCBoGsy8OGCuA6WNoRrQKgTjd/jGK5xc0wf3suQd + 7aeSkAcG8auyDAiM+UVQSU/ELsXIsbk8pjP3fAP7CbGu1/JdtYUilkDTVPla8qAd62TFm6b8u5he + zDwZxti7ZZ3dcRYCCp5sZwjMcd/2Uc7LybLNxFBWMqf6dqkYEQ8ZDWMzEcgJRjZzk95z7n3NZyWW + pl6AF+st8DMGYFDZomsIPcCSX6aFu/7pKmRfdPEVu3x5oeZX4OrRiQIjrHakNWbmjJiL3tsWKbta + AAa/FZBY0huKRPD550MFZqOAiJ+8LHyjS6/Oe+3WvKqfkMd8c2CDWOEA9JDy5e0WnZ0sQqLD5qVf + d94Cas85HFHFz2tFi62/IImpB2E0iBKpEW1zbo7M3/SoiS/Oi5g+ANEZJ6GMGb60F0QGW1aOCh2e + G9T2Ndn5zr4BKKoLc9B/45o03HFxuQ7Ll2Ig2iSVLbUUhSBMCJF5d/I9QIqV3jKdsiyiHNT2a+8Z + yxqQFztlZziJKyN/kRXz1zQqpdza4SvLmKtnkj1YVECzEY271np3yX8C3DfORndEHFwj2PWhv7fR + y0akaFZzrHvOUVNWHYECnwsXi10Jqrymd+0vQyE8f22vP/As23Xf0eWQdcfIrInea3SN9kr7Mcow + FwsEeMg3KsuyoSxP2Xgn1F7j2pa0tCt5KSCTqwqMsCFoc10tbdxCpILjB4h+5Xy1x3KAJKxrIw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7ca53d5c-d282-11e9-a6a9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7ca53d5c-d282-11e9-a6a9-001a7dda7113 + x-ms-content-crc64: 0LDdk/TDTEc= + x-ms-request-id: d3cda3f0-901e-002b-718f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + /m3lLr5Z+neXwjCWpkLV2G0UdoMcyNCxzHH0Sq+r5hKeMfq8kr0axmK/sxbUVjv7TaOhXT0t1qTV + 2J6bDKBKcn61cqM+kLVQAij0Uzvtx8u+Ec5FVw+YsHW1JB9W05hMRpllXxmHBU9oCgVetnTWvPBV + P9nkBHqDxidhFxiOJm4Ko4klrpyf78xiIkOhb6/IgihgpGY1qkuZkeoClHQglDVy4rgx/FzbAMns + U+V/OjE6G4Lj6bln9CdZWFuDkbCRVB14rmVMweiNtU3Wso4FiHPf7fBgzT1lWJPJDrgw40jnN9DN + hjkbjNcJ48qGfsrA118Iu5DtBI1RZ2i8H8NyGoQArhQxXSr41CxHP9Y/JmcyuGIIYv4BprRUfFV0 + oaMAUckFb8QnKRxbV7rRU2Q6OXBcdWK2GeHmZtrkAPHSGBPeW7SWXoJawb72Oc0zUPDAaqrmcTDq + zuhQQgsc9gV4WKZi6E88KqKNkxh3kW+F1cIDKNDpHu8d+DfzFjUHvGIdrc9g0WldjyXTwzf6bPf1 + RuX7eJDmtlqlsKM14VMVUR/HnXq70RuSrvq/crk4xE0Zb57UKyBp95Xx/NHEz3vseYJTl5BAnu4F + Y5kFOqUSdGsezZW95ljb5cn0rl+UUpDQYdpyKd/mEY0eTyT2aZUNeI/DOYzvUL9Vfx0pNy/Yajhj + dZJd9+S++51IWsnh/gqS3n67xsncHRwBnQiv0B86i+CQsEKQ1iDfPwCiZtvwvGEbjbFmoLdAhBOY + f5aRrYhjGKJl57ieaWQhnDYGGWEKfSED/QnRKu9DBrNKY38j84Mwi14684aIlwlk5/z2rMwHm6f+ + 0O9aGUKCevYEAU5e8QQq/Q+JokafmQZ7OarAGvXEjjzX+cQ0wcA+QAruAGr2xo7JL+Q/4I5Mokl+ + X/Mqz0ZBRNJTWHRQIWne8llG9wxJknwQL45WbyR1z1dkBoH09rB+wA7+0ONAjWCUmiu0xuoQs31/ + 7CwokPUDpeDqClUZqj+EWWs+TwXOa6Mi4ajc9zsB7T6G47FLoAK3pX5nRLtmU84x1VQK8JNlYFpW + UFQlymrwwNpPggiyL6dkDBc2+nSFfQHPZVBG1ZYcTev6UfS3cCL32mUMaxExJ3XqmSSSBPPDp+cD + 8ibDF0EjEBtHjk5UIFB3fOZFpRgK+7VCINmwsurNsA3fJutUhSwHHODYzbW1xvpl/h1HJYNjD8yG + +rT5jAAxsYjt4wyMiNiCACJF/URRsAyvAprZe1j7WHDDW6tvTRMxMdVl+ZoQWZ5Q+EKDR2yv/ZJM + KGqVLeewKP3uDphBJytAsfCMGV1A223Lvv1Ng2d7WRK3eLmxwF9Qy7BaZSVrLyvX6NH7rdp97Q== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7cb39c98-d282-11e9-a9b9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7cb39c98-d282-11e9-a9b9-001a7dda7113 + x-ms-content-crc64: bo+aZf669KE= + x-ms-request-id: d3cda3f1-901e-002b-728f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + Rt0cy6bHnM+N15M9XxGosk6G2E3XFFTk4WXnyAIRZHaOV6W/ShDH3E+pFCgbUs6mrpg98AngMH2O + WAfrFNR2BixOi+IJJnvHN9hm3j9nYIbBK3UJODUN7I64SMRv82I7++lME+nLS/NmDThFK6ZVz5bf + 5qJdgr1Ei0h93Om9NeCXseyHet6eNeKZWnr3I44o8hmITO+1ECiwci1RjuFeDO8Dxfg3IkSEDkkG + FQN4uG2LcHGpH2JjMzgW4j4fPA5+eUcOMhI+0WOvZA5YdRK+1Ux9r/edppa7BTReecLGhDesp9Yb + xWXa7ZkGoaBG/JQfOM8xN0SRyGZrAUiFEyKIxz2E3wvGnjCRH8rfTlPnNXlNjnqQS3zQA5/fxYYU + t/NPMlNvuM/hXRaLSLyzIRj09XmzShTkpOmrVLN/8uV7yqEZdw/zYHiK6f1bYaRWGJhVUFQHlhcw + NuyL1YrBZl51jlRtp+4Gd1osUJRmpG01VNUSzm9l1xMO08d6oonamaub4YJaAQ/BKI5RGiq40e5Z + puGKYvtOWiIKPQeS9jl8sSR0Ws7+2oPUZqiIuFjD6opWtPL2clHAOLp6WqZBiTBszislhUJ0f71D + BwIRysROycVQ9i63CfP2I3hrGpVa6uCz0OFqPdxvi1lgID2IJE8ceCoRAiFxZIkBD8xlr+7w11CL + Y0CALoneIAafGLOuVMd+hIRSjcti1mbZzrV8jQFMi9NjwE2ipqPnZ/v9ZvQARAyTX8hVRpFA71Vr + sBQSQTh3lI4zwHaHBb0FSyiHYCmbkhGJuYQA3BTDz9pgsXgW66pFL83lGKwPmD4eXYZ4K2ifxD5b + D95DF2F7Vwuv5J2rokGcl2WXGqbOvryRRkh6kFfzsoVOPnh5EgPtVH7SWDSCJSM+fXNJ9KNgVkWI + bfnM+0DBaw9jchQTDHawA9YfVDT5O8QwIQmoFCHjz5UrBKnhg/uJDc4bEmnRRUdVMNe5JW/UzHG7 + FilXvg6K97zNrCDZzMgSbkMY7NJa3zh3iXI3Wx0aOE+0mknMuQkSDuiJ0+lTjp1YnrU+1UGABcsc + izRNpBBYlw2WorxmjJpz0dttrNxesGiZnViy/DSGcyfevAQ9d1atWtjQBSARlB25bCu3IIwywAFD + VkQklDVeyJwv3a8O9W18spOT41yjSoOXr9GdwbiKW5gVCKOVDuXPHlDbQ7RAUAYrZr54bSTmz6mY + 5BL8UQQmWEp+h1AgQWnyG7Bw4iZCd0OABGUHX3ifzSNzEh9VtrtscecTJO+c1fuQVf4FLwS9htXz + 4OIs2ktzGU0uY77IhvRIebvc7Zh8rMx83XrPvGGKmX0LqdRwWAEI1CKG9oig5OfHuyqK5pOYhQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7cc1eab0-d282-11e9-854c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7cc1eab0-d282-11e9-854c-001a7dda7113 + x-ms-content-crc64: hT5ciOf2Ehs= + x-ms-request-id: d3cda3f2-901e-002b-738f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + f1AVzFjrRkkA2jLF2wutnM9VPECUVG6m1KJRO09L/brpA4rG+7HCktLDRcLBeKB2VAAs4Mk5OSOW + jdcqDi0hRM2bwDQGChsrYTkXWKKHamEIn6S9qbl5KY9Q/HlmuQ8odTjjXR0kF0ZIvws3UVYDU9lr + kgMZwwbH0Y5eABdPbaXqzb9F50f4Hnv6zBddqS/JJyRfPqXqk21Aq5AV/VBRXn4ws1b7gxBQkTqw + ql/vqpcJ644yAciV+lBVf4GI1Tf6kiT518aLVz3NyK0bsu4Wyijky3udEt9I8L7LpZ8qaf6e1NHq + +xFNTOrHZVcLXxGLqmpdZtcFULv4CX90aVdKZ64JdHeD7f4vKNNJm3ix05qG27aczPXTDe/K4Fpm + 5lPKKuXYPOw8T9u4MfzDQAiZhDwqzlKhHjppvT48vMRxA6lOsbGZXy61fL0v+g76gYkzbRBFCWMq + FHsoY+eTzx7XRKxoUnoZAqayi3r9lEv7c3gg6+NIONVI71Jhif6aLDPrFhW//aWS1DMu7Wo7rVu1 + INoLtg8H/jWlhSza7XlWgYre0loqpBSoehzEToxRIPKjgjXtbqweGDtLt3OkWfJJDfetRaWUNyKY + y9/vh0q7i6sNPBwqJ0rwx3t877NpTufwWfFSrCtzydUkJ+Q/gMRkL2ib1cx8tJti+EspgGROGtqN + yBbKM6Jn8Qw3muWvxAfBX88YSHr5NWr0SIVWx4eC4kuCwy/Qvb1FIw0PLH38Atal+Pkci+q2Ut+3 + 11EvrCyEMo1OQcugYkDAO7jULfnaCRe13G2ifAlohlDHHMGUEx4X1yVLJ0BmYbHLHx/vLSsCwcHE + XzNsf+kv9nWW0c5CRgIoVY145PmDofAQ+Ym/m508PvRZTXUVe0i/V+0FZ5v+iImGzBh9e2pHTtva + WELtvW18OHCRqVqHb+ZDgWM4ZZVG4ZHUPHjabf4DiJRH574pR69q5ZEzled37qHRtleyj6FP2ibv + B/FMJ5MJwyxu3jimktoA6jdw2BwpsCL7PfScRL8Ptek8hjGHxi5aRxbL7trf5DnN8pCAO83KmMo+ + +gVd9PxrFnXV7YtXA1yIsWBlX3p/Xim7DuhufHnZJedhX0DnZgCUkfOAQyojQm8p9wPWVRai5i6g + 8te2HUXt58/BuTk+iT1YalqlJBIyM+VIY081OlQOsZ6T7398rmrjIevDooMrgV+aEztaxOX4zgj4 + vEZwF9wKgE2bfwXKhrDKFm7NXDe8pqHmFsYGbYfGkRX4m0YqCWOcc2JNGkvmM3cQQoYV8/YY2GI6 + 2ROWYyOGhTlBIDhnFCpkQoDBR/JbxWYwYBA002n2rpOUHoUnuIME53229HiVSULJmhtmq1RPzw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7ccfdc66-d282-11e9-82a4-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7ccfdc66-d282-11e9-82a4-001a7dda7113 + x-ms-content-crc64: rGIflbudYSg= + x-ms-request-id: d3cda3f3-901e-002b-748f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + SAw3aITv9PceJOki29Czz9DL8lE3RUX2wvYOoEMKLT7RbBRfuZJJbJksL4DHBouaq8ubHXqLYbil + P41oKuXNi30dL72O3yAn7qaIDuYkHj9WZCFGw1idLZgXxoCpW3k4H/IJXlkDw5lQkV4Ubp5qd2rW + ai34Qd12Y4+0RoMUxHwK1sTkvC4dmNC4u84ecarmEmgi9vGP61xOR1qAmDzZEMM19Sjum46vBm1f + sEoL3qus9kh8d56SEapw87LyL6XqWBt5QeNxY7QuQ8utGX9XO84tDYQKgNHCVz1jbc+84/Rnbp39 + p6kPloIE2ZEwYsoOduT276cqTkgooOwz/s/Yy2R8fhMgJHe8lK4YcLIk9xAXfnXg6XASk1Ry0mYj + H8AvVZeVDdyK+DyMmHZJ0pvtlLZPClNvUqEgxI0c/mBiSlM/aLv+VmaI8/2SsFYiYA7DCiu/swEu + PUMbJoEEzG59pzjOk56R28zFphWSOtkJchGqR3pwT9ER6eUeK1KBXmgJKllWlkVVF3OyRoxvmMi7 + MdkaBpIGGzTCxkArMnzkQlfx9kNkUWkLLPsQX5mE5hFuUf7bnraOXsBxL4SyjsWAqGTmQHQykaJ9 + JiXc1c93gY+VWEld2H+ZjoD75PmfQiKagoXI6+JVXZkG2Y9ogjQtvNdJPPqdhyWaGmNCiocO0Hdv + vJ+j+uH30TzrnSk7142ENYlZra9ai4a73Oombn46b2M98CEE5es+UJLHXu6Rb3+B61c/Uotdgg9F + 69BetihPg/b+j9ZELeJLHaOESpo17c2WtUqfW1dthfvAxYIRhOkr1dZ4ZAv0TjHdik/nMxce67Mx + NspubQ0lQsW+wsvgxne4tDh1JIH6z3oIZ9/ITMtz6cmwqGHfFHVhXOUo+QOj96FkecLV+0gc3jyO + 8rNCyjunELQ+vbqFaJhgsw6hevzRwmFw1nh2URoO3jF1mptZ4XibJgJlEiq37stb1xFJbPegFMyB + xFvnRqSli9DIb2MmRyrCWneMjNumFXcmAvz2Sb/cH4QEyLtCioegVvNcNt/UN6A1jG6lCr1bAJJr + nd+sfBfswWYoKb/4LF+GmLGFnXl8fLjUUamFE7goQKVevzwPthFk1Ac3ZVEByaNU9X5xsXaVEcah + WTxQtdGlg1jyXb19UsS5R7DICxylmlcraitVkf4W+ffKNqUjRMuaJhoJ+POqGXtY0gRyllqQvj0G + AEdBnRqzaCG6V0OoF09AzyRcF4cFIQOwf1JUeEdo9D9OJv6vzeUuTRijzDkK9BRQLskCVddAY5z0 + Vyi4r+Xsz8N6v5JsoRnz2zMNOSYX8qOmZVilNojBmBkzzudj2EYsyYro5zaboCPjBsZ4M1QcNg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7cdd8062-d282-11e9-922f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7cdd8062-d282-11e9-922f-001a7dda7113 + x-ms-content-crc64: xfl6xHNtYhM= + x-ms-request-id: d3cda3f4-901e-002b-758f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + OUR8SeTKRYTsaGF3QS4lwg53tT3Zef0EQ/woE+0B5SwQJaRgB6QElyoB0DM+cFcYqFbaP3zhf9H2 + gMuxh0qxEhm1SiGcJqbI7NO1huZ4cizzyxmg3dgzwhHEaInnxOzjDQhip7KbXyTwMM0olrDKyQOi + b9DjTU/aECb7BvsH6JPklCDrA6kaudPUn0FVKHMP13xFkWjSIlrx/sfIo7+pVHSIZInnX1RIqhMJ + AMYyusChxUhUqUywj7Ow5AHXOMda21dUbDysKEPxdtr9w4WB9loP5YhTW6xkT2c4vcp7DZXwjyXK + 15BeBACMmS1vE0T2+nY4ynKl4eC1RDQdHe8jFg+bePEmH4wemsSOkmDX75GJvkCFvX7xeRHAMhR8 + bZJDQcCOHrSS6X2ZBbuOxrWxGxRa+ia64/mjhv3HGkPb736CVZvcQpOPG8aAbxpR5I7+mODdZWIQ + F7wuwYSrEQei+GzSBDrSHB4qpVZ21TXwYu4bWRrUynRIxtWIFdhmgV/cRyb98LMysE1VSxUsMpXR + aCQ0lY3NAJcvFM5L6IRhwQ1ALZLM2/VjrJwZdlrVuZKD0B0ftJpzp87CbqbCoCZFEEhOsQEANIvI + pUVmyAMKKY1KGMH8454/wTlDkcPlYETpQesB9tYruMBUi3dazgJOKy1k48J5JoRj0DzmeEhzAXf5 + heGehTtHHwWMecYwhPgryTdlZxDPYBpXmz7Vd4WBfEOyr9aHRO+g7aaB3xSQTZOP1tFNi6i2AUgl + aYZq7cSdY+L318bNbq11U5Mk00aED3xylhIUzY+8oy/hkC8mn7EY9WenKO02uk5ca4ncRwjkvgjy + 5gAYqywnyWYDsQnrXMRRBH5JUsoztcqfVfOXjiOkzN/HXibxMLQuCFNRU3mE9BUpvjT0Ru0xw5dX + FNjpIjdIkEst2ANY3hRiN4XCalCIgwUsTtdsKcsvFBX9jozNv891p5x970ZFfWIf0w6x0tnGEraJ + Rp8EKSw6A4LDvkzxDFuGwomCunJHulWZ7Oc3DYHyK+vttGTohbDX247wLNlbDo7q8HhmuY7dCUSq + UYHRtBa55JChIzaE8ML1OKxgmw9eKtRi2OOuKbdiuyDXXvLIXRzO5ki+Bs/6HNwL9EfUdEW9ORks + 8CGIrK6fpqbNIOtW15UFQE+x7rPBxdx8Z9yO2leGBMdkPSW4L8uq5QqKwe0cVhxEdk6muSB3Alti + BwI1yfcuKcnKOdYIOfxN2pqWdVmpMuJ6Uspz4ryURPzpNFmv/GKkQqlwklnbUl2Mh+rizgVnzo45 + 8YJ+XdmRrGQM/utX50C2zXsBTr8x9MmU6UaE64o6PbgEDo9gNFdVuB2ud0IDGvOaRzSGF7HtFg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7cec34f4-d282-11e9-b615-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7cec34f4-d282-11e9-b615-001a7dda7113 + x-ms-content-crc64: C+hAH5F+Vuk= + x-ms-request-id: d3cda3f8-901e-002b-798f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + OUz4FFx9ztCfoqXqCCqjkwO5k/7JMSLKrMoGXAAQEwf3YNgjC3QlTR8ol0OLIyMGBnXyFx9upIZp + eV51A2MqVxXU/PPKLpookOI0YzqwW40AQ23HJmthWV4BR66SZSUdcfsOoT0rCyOKPBKXrc6/mME1 + CHhS6500I1sL58GsFpez2oKr5Pg5Xg4B71eGUTn2ayb7saF0YyB4jde+MPMbMLpndFqqofF6/aDG + /m+soitKOCARYCIqHLX9wsmzEgtTsXOa1+kozXErozlZMmGaPLG6vyfrVwBqOjRYQ/HZfEDzmgge + vweE8jp9n7Ar0XZ9YrAqpMzOi6gaGO5tr5nFBMhA3X01BMKTEH5Uu/JD/UiovV5IN5RMo+EpYvDB + Ckkp7tM3MNAjyV2ahJ1CMXPVDERmBQSy1xUB5Vzktcw31Y/i7w+WaRZodWXLNG2f5mKQoGtInTx8 + fGU1/nrTXUPfAdXsFuZhbIg5FWR8UOKAlB/hpluS51lnhBff6BNPPMFRFOA32QJLSZR9GNvD1wRb + KaXaQ6hi5D9860qVMDcS5Q1bvbU49puTIuV1LN722oQtl+LP6Z1OYPeGT33kX3IL/hci7neNzin0 + iF6XOd44skVFLoiM6WODuunWQJhllYGKcU6HDeUb6rRcAU0ys+chxZB+NDrbNoaGwEH08Eh1If5V + NtRq1/tBTKs37198/KxTsKt3hOmSA5Nh7gIYruyzavpNjc0yLDsFlWiVXJanGjI7509g0+Hst+Y5 + EBvwd0XqaaI5HKDIN6X3oyuYhEFxVSOS1wF42DF2RxqUCHWv84xCq2frQ6GIx7MRmjOP+nzxz9ww + xvMW3a3xHZiJqK8Wkpl17Vza7EQ6CJ6e7lr8zAQf2xA0jT8rRAFKyfh8tDCeE7neOA+CFVmmflcv + CkJ7F93AxnU/6zX+tlyqxZ5rfwt3A8Ct5wGU30FTluzWTnIOxlGiA8KKK7ujklPI3zudVU7sahvB + UIpodcZGl5se09bnRmMcruCT0W9bA/pKWSLC7emU8W6f263x0qbIDcmALKtfL44NVVljJFzJRe0b + xMgfuV94GqBbkL4/9vF7LThBpfmjh5oUsW0f6m6j2l0pAMtz9xI1vcmBxTs8IWzWINbdX57ANgL+ + YTOow88HpMvcYD9TzKrdmhwUcbgOAZlnslDhfYsiCflzYCpFjth2g+fVJ6qJ9LahOZ06xFLKThvn + iCXkUZ2X74Nkkphm1RiR2RZJMDDoE/wo52G20HbQReT2QOIXvKQPXgV44549Rc5/OsgoL+r00qlK + /WgjYUc1BBgkkcc7nD+Sq5mnsu3VgRmvc6G5MhUot4N9y+8t31/ALhVmuyDAE4jV+6B2gIYpPQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7cfadbb0-d282-11e9-a864-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7cfadbb0-d282-11e9-a864-001a7dda7113 + x-ms-content-crc64: xMyvyixCWTE= + x-ms-request-id: d3cda3f9-901e-002b-7a8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + U1HwUP3XosY8hvVAUoyxl2IIUO57puki8Ft+tiDf9HUNg2Oi4m9/93/GDNA+yfzyDRUaOaSrHC+F + y+VGcM79/RTEco42wtVrN8MPkcle9eS1k4Kjcu5HmRvFBvsFrzCAICfSiYx4Lk+zzLEumriKIoEx + TcBugsodeNWMK/Uzb8V4vyWVsSMh6TYItRZByJHNCQkgleEWdRURA6fWEYW6Tbblx81KvzohBo/J + 6VtjnjRLbrEx74Ol4EjAjDK0NLIOI6hD2SQMpYHU/WOiU5ONENmR13H9YYi+vtg//t6CFwBOk5g1 + 9obRqDqFJQQN2YY8f7C0oyrrOXjEHEHKy+6mAvsaS/EaqNe0sA0D5pxt+ncBD0YoceaeE+adJvHg + E0oNcP5MJJcKQmAlOucMcYW+JtgiUTxX4DvibvPztC9nFO6LbO1YDXZg7lE1lUSsavhnERB/VKFT + xOc5z4kxUWrBY8JTfBhTRkqIA0kF+x37BFz6zYaLoX2q6GzMwh/nbh1qz7sd/mzDz+u4TUfeuCiB + f+pTWYlS7Z11DI2tVTqlv54UusU7QnwHSfxZxOAYN2VdVuSE9KdZoLCZYwxe83iNNNej/bG/SdVt + VhVKsP5PG/Q/BQ056lAJ7QpAKtYYaSZCSzbZeyv0uQxB9KZ+6GkU8l196foYUDHMJhI2qCje/jTZ + UirbztK5O6li/F6DHSY7o6kuQJNJNN32WBYBvJi2nRXKSpN719Y+NEG5InZqJqlW61iz2Tk7MNCi + WdtDua41Mv3ujjp2Qz3KWjnKltWDUmbG+5eC42Gg6pvzNS8GtrGwBPWRUSGLf2bZHSK+l8KV+xqe + a065N/Qx6LSVD39CqmS/5eUEn18CTvVRvvOqDGREGUqkXYdYB8H1q2j9Gvs+Y6Gt2OBCnRY2fRiN + VpvephLFXI+MzicwpsTHE/2b5rB6mUgkG68ecxboY3ZQaqsMU82vOOg6qFpSk85XAhQ2nyV1N2gF + lNkGd3aE6dX4tIA7qL4Dv/TpXbUcEK2Lm5z9bp5LudBPqa5L8SnBQAR7JSf2zIrfuIVsEqke54mI + JfPSd3Ackr/6+FQ3hG/ijA2tDJO/1lO0noPm/KDmLWqsKmBLZKjaa9xWseQkDbUDRw0gaNyzIVA9 + hW35DT6qm1XNF9QWmjfbW8KQyBJXOGUlHXjAnPOVXQsF5EW0nnQ8udWb7v1b0wfDqDKPe6IeVnQx + H3eupp9QVgzUmna+2slm7JuEfoEwCB4ThmsmaBUo84xw1vnIToXgU8p133RDC4rESlxSS2h8WEV7 + EZhLOmeCUmrbM9D7Bu+FTGnKegJZuHXtz71SQHg+vrqLFYc9VC0G09dqeCGygTGgye6BmKgWzg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7d09f952-d282-11e9-aec0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d09f952-d282-11e9-aec0-001a7dda7113 + x-ms-content-crc64: MGbm1cl3DlY= + x-ms-request-id: d3cda3fa-901e-002b-7b8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + O6yyx+aALT2WYaj6d5Z/cW/gj1i7b+addr7eNfJyoJa81aOcNvNrIFmLZWJ1SneHTwU4LyiO1l4W + 7LtqyTHApH2gHJvoLZ5jmmfQkTCBQehJwqzls8hjqyACnkX0SNAL2oXdsX7stkI9c+dbhEZyZILc + Lb9QPB6AgHz0nZM9OQ/MZtFClLJnzITlO1c6hmNTf5KBcda1a3tK1HsAYzC73lxz/imR8VGRNCUi + D7k64kqNeZGBVNBAcmFB2BwzZSfhobcQx/3JjD2QT4PHy5dvReaDMGbA7WXAHprA0dpiEqTbSUzl + wJd4XvbI9eLle6Fauvy6F+n0Gw2txpsyPCww5vVmPu2N8wy8b3wp6GQgSdZstiLjH77+ywS4m8Gd + mz8i7ei8sz1RWFoOpke7maizD0pEmaRA0GLMTT95jYKn6TyUAaxR9ziwZlnaB++jmWluttZTojCr + WjI/lNxEuzu2Q4yWPkjmyl7dW2oSkKi9EHQ8b6m9VqxljTtU4OL0kPEKKVPF0NK1u7NDH7Fi0w8c + m/brX5hh4JKmpec5lEf6MXX5dmIZukrnqGq0dBX0ohQjjxPfH2/JvsmLWHrq8q0WmU+4SJvsg6Q7 + YW2WqTZoLL7C5J96Pctzv6k5iwXazw1Tk0cxulGEOgFP+YNw8MhbbgqmQ4vSDW7S7vVmhgKxTvLh + zS7iUa4fkPhvQUsNna/A34avVrNL8PldZyHFDvEWgd9YCvaFfMNzA1Iovw1M8aL0MOjgv1ZJdPmk + qUt6Wb8NfscfJWLGfk6bsPpBF0L+GElvc6ny0irF5Ijv2t4/S1MWkLn1UZ45vBtZe8Hrwyg7nMwp + UGh4PpQ85M8aq1nXDhLF0fW/EeWZ3i3rnzHkXhkqW6ubSW/T9IGlJ+J/dW45i+nV06qqtpF4VPN6 + 8cXZdqjTeeOnTbYWwofNAWW1LDijwHJvaoV+RYs488KKhSpiNzcf6KFf55S4vsTJIFgNocscF/AA + IWXI6desEs5Y4SbaWcXspBQb6NraBQMbgsuscXasXNSkPJ6BtXynRudijdYKyMEfaVFZ+fML+PWj + WC+jGILrnHmvDzdAIwnxVGf8q1F/J0P095RSni80hmyb7rPzujpNyNM7iF8yxzom0vgJJj7BP1rh + DtN0T10z7CgDHwTehJT5D+CGRVwnT2rP+2+kuueYdDe0AxJzOAQqF+7QfP5rqOIqdtMoSusIX7x3 + trc2oQaYQAaIkZc86f7yYr4oc2Xq5C9VwFrjgN4Y5UkoxUTMAhhzk1vQATrYtYTECjt3924y5iPg + gUosRF5IA+ubQXzO59Slafype+f3FSsy2z00koHEFdPFPYesyQiFOOSEAwXcg00GreWdnPhmjw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7d17d3be-d282-11e9-b09a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d17d3be-d282-11e9-b09a-001a7dda7113 + x-ms-content-crc64: q58TwhE83Dw= + x-ms-request-id: d3cda3fd-901e-002b-7d8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + +0SE99/fW03vMsMdiHE23q4MiURGshQMgAkFWQyeaTaiA5VdCL+AiySFlAD5BShlj1G+Cx1dY0Oc + uaYYIsDlORgMuxPlE3F5ftfSmOCzdk29+QiE9Y7jtKg3FTsekJ5ObKZQfbBC013ktXnUd9tMR2yQ + iqSAcTyXpyNhXJwl5fuu0Ol50YoEblj5wYTd784vjSQwgea5URTU/eJj4yifGXAzbtHNCdTT8e+o + tPuWsKUxer8pItwoW/yWukOL5IxsxWy8NNiSf7iUZxezpPh01XyJoBt/HoXcNYls0LkbGxXxQ4uq + yX37nP0OtB9YmsiOUiLZG0ncNVH27CNzpz51OmtygDEhd6S/Cxmc37H2mGAJ3LvsVmH+BM2mSKXN + aldZn5LX55caJoNC3cTEJmQLd64mNuTbfUMYvTfRwMJxa17tfiW7EDtpS/b5kIlZWJo0vjCrtjD2 + TMEO09FRQM/fkRlyxwMFwXaukDwuSyWe3lbYygxxg0Ebp1547dJjbKurw6G/oC2FrPOrAjkz4RAi + TU0GeK9NxH1PCkHyRPYewJp/+nSuXHPuImt7Zj2f7RijOQ7J3HPeMcvWoSepKrHLXrjn2Io9wDpY + SZtcLQH7xEuvI30tw9AT0WwrXYg3/uoqFujyCnunqQodgUZDGlQW46aEv0lLTVUzf5zcMXXKKfqG + 0r6cYVXgu8LJm0Q23K9kEuAZewj7Wz9xdCpChIwCR2iyEDMIYy4ONqXFnCz9F1qY41ThyJT4/aQC + iE4Ph/esqsFer+DyKf0baGRIbRVk+JN12d086WNOKlS6NQFGhbdiVykT3vJpt2TOULL8fKN7TBpY + 61T+gUJfcCdmqQItMe/E2FdjIxh91d5D8cA+XRTP3vp36llW+bi3A7W1YtS2Y35PFEt2093wdwT6 + Im0G4/pSON8+zvd3vIes7sSfPVCdVH4NvkEnrU/gfqxiahTg7Nz3x/hMr/iv+3qjlKnjNYyl2voH + 4O7N1RdorrHwQWuyVkd2MPKoPsu5SmFOQgL3S7k0DE3DYfbJ9Shabk+mZ2gFhx6rv7jgrSrCW9DT + 1QMoQOECpEWBsndO/OgbYTFuydEnZEN6ACDuINSqFMqE65M4gMH9z+bsTS4hEiq4ALRm5s2Mdv0O + 2xgCXc5tpT6W0vssd8+D+RhvN0fgpNyQ4KSwDekvey31+620KhTSRM6lftp5p56C+aB3f8xyVL/M + icW/cSxnD7BesiNDLhy+6/7dbjAimMsHNCAMVAJYR2xpRWXMvM8/2BLyAY4EWt2FvVXKdgDLLJln + YgUeIdbSsDFGoXR8qYPWeE0qHeaaCQOqIOjBDUTULCAmOcJYpE9gk+tKJn76dUBBbb88M3KyzA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7d268164-d282-11e9-996e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d268164-d282-11e9-996e-001a7dda7113 + x-ms-content-crc64: F5IhU/RaLFg= + x-ms-request-id: d3cda3fe-901e-002b-7e8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + EQ4xFfQkR+e6WQkDgN97S9m+bIWuqiuKEA95fY817ZWfGv5UjtkW6Va6ZDZ8IPSa+1TnpaERZ1FA + MiiaXoDgqREMLLGMFA3ujSFZibYlIUHCw+gyiZhsd2d+10OfOXPWJGXgWZUoq3bSsj+KKi9HnGNB + miPtWYInVwsJiKt7rRrPcZrNajfpBOSWP+54oi18XII2umf006BqA4bGcOy0re3rhtG2j0J0bsSA + kxwJimAZ0YhNj5Nrbzlz4EP5ZVHzaURP6wIYZQQeaCRlg/axRmp51jVNJdqlRMxDOJ6ZTXWWA/s1 + cjHOy0YY9gySgvRQFYc5MYASvZ4qcvc5x6hguEKpKmGZk7PXjwjYK5ZLzw/5YmjNCn96+ym2mOAN + NZ9Zm2R39nh9cj6GbkiNoyUMmFfL123SvPINz16PzbPRBHxsmTK5UcXhdyupWdrNXWmR3msGEysl + vBY7TlFeKSD0Y2ZgGOz4XVcUzESyuYFyr0iO9pWOMtt8rLE9m95Whlxoab87UA/YD2zFkBCXWg9d + Y/eU5naXqQecUksJF8gOa9Nov60vJWLujpgdp1YerhDYvuXb9qz3Nm08HNcZH5NhvRAcOaQsYAAL + uFyjcf17X5kYfT80F6BD9djOccIUZVxNZeAHg91+J29/Mem9wGocl38s/VfiJNSmQz/dh8MZGjij + HS+cLg76VHxoArBRzg5lpO5XRW5zduCT5XpkivyI20URbjZa0Oki3Ry/M7o4F3XJgKXw+7JrDLyc + 14Qy6AR+e08rXG/4cA/1QyBr/giq7H2its9CnpxBZ0KwZmN0OiRX2QMtKHhoVzNwnSNASvBjkAQg + KRsMF7FJQG+6J56/07nSXRxA8ZoDqgS7cn2EF2SFkWwkvxKOK7+nSw/aPawfuwZxNaO1NRyPDRI1 + SQTbxdI0fLGA8g2GD9NkctVh1AVQOleMwvIWNKi1oN5RgkOLQWTqypMl1Mu92d3mCji6Xyg9lTuv + K0VFzNnFngaMf2g8ElgzvS8MjDx+m0zeucOAi56z9kNog66tG1akylZCdrc6NLDbobkjkOMulhPB + QVnj8RCy2Fywofoa92Dkn1EqDupsa2OnUnCJaTGt8uwhiQ81HkHZ0b3y44B9+WresxvlsCL7J9vg + 8n2oqPmS2rlRM+g9OZzpdN8F53xULERZC0ctK2HNVBXO0rGMcW988yWWzEOYCK97yH4IqIXaCnwN + WiOj4INjkteag60mv2jvP6XqtaFEyWxPzkP6vu5t68hDVqosXlXTMyJ5WSERYVt7QHypq3Qp02yC + UjCK3Gztr5HVaVdisY83ogQKx/dULK3r9FymQOST8v2yfl1OqNsKWbcBtocH6zSCfmZcQdvr3Q== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7d35d812-d282-11e9-97ea-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d35d812-d282-11e9-97ea-001a7dda7113 + x-ms-content-crc64: exeGKBO54Es= + x-ms-request-id: d3cda400-901e-002b-808f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + JZ1j8hNKslBxjrgXcq/+kBRpb/FD1tOmV/pB7Z00cruXXPZ9QoVzkgHbHbyy4lr2CNNN/TvNyhog + eT0aMUIxlFkj0hxJpMDsfOmbbPywJQOzyshLcQkvv/ZivxJ/jGJHEkkgT5iVXHAdz/MwuszVlHxS + s1qJn16sUD1lrVx8ojr4VF1jAw9uFfzBFgYFBdOqh6C0+eiMO1Zh1cMiQLD1rZdXZsUNs0c/VqFV + WftBnV8pa2Xlsqgth7xUbVKGHRAGXhk46IagkFvOiT4+QzKlBU7bS0kuuPp7QudDl/Z34q3HYAX6 + GI4vXRLFFlIGtdRAvkJLDAIm60ZJDsbHTQqy0fZX69YZ3O5TdjKfJf7O+1Uw7VO9pQDqDl+NpYHU + EMpgpHEUp1JCOE0ZXVi67L6LK+hYQXHcqkhyzvHepfkjoG8O5PykKTgg8qNlN819/LwNAZGBS63n + MEivd3eTMChX+GQA7McWeuSv83LnV9WAhUY1ZkX3FZ42kTSnvJhbbRweFi5R6EsslTMIH4yD2hsu + Bwx7xsAcsaBp9ylfcWtpH0jEF3EoNFKa78AsUx3FOijSGYYesrP5Mkknf52Y+eETlXleDJAQGVan + 1ooVkaaUmutKvEo1PTsgc/13X1YYtf4ZWmjMUu9P++DzdQN6HE6d9HqMMAwntikPFlX2hVzHH+tt + GkiBVOxDQAtR0KSfZWVPymwUyrzvPIhandUWM9VDkDOHLsDTligsabjRIxOI4p76nzi0/jJCzB9J + 1XLkBYi9w3YJOusnrtC4C6GZ4Sg28aVXA9vUnHQQe3h+E8gTilA2lmAvTXD5r0p0kdml848yeXVb + wNuNlZtoMWAnxw+v7QgX2Qolpis0p0Zckcpf9o4sRwvy2gDSWX1hiMDbEPtgFIcgGxMpo2mCFRTZ + /hsM6hDbnzWaWXzRkhBCMG43BGYb3pts7U6hOePsJRVJR3560h+Mo8d40B+ZDAJmthr+KhC/EcBo + 0DiGHNVcd+pmJ297QC+Rf8C4n7LHtpZ5ULcVwyguhEwbg9pnjYhsnoVBcAXGOZ9Ldo0Z5ixym1Ox + CL1KzwocjnQUEwSRVi/WvmmU4NBspIpEf3RJf5zc9tu9FgO039uGlboulCnKeK94p46U8O7Q5fY9 + PzJdcxGpbImlZL2Q++psobsRNuOvQmsvRLlNvCMI/WqFNTzNmUWioolaf3iugRseDpi1ncYG9xUO + 2S9dDVsT931+alc6b6M6h2B884bGLDVDaLzj7qHI59pUDGg8zuJFWo+I84hKKSP6Se+mi4aiH3+B + BaINpbuty7EtRrj5nyukBPTb0hKggGXea9MHkF0UwY8vYmTWtZ/9Uic/26ju3k+YiQjmF6o5vA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7d451f30-d282-11e9-8574-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d451f30-d282-11e9-8574-001a7dda7113 + x-ms-content-crc64: WZqu5zfBWSk= + x-ms-request-id: d3cda401-901e-002b-018f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + i81BhAZZeEzCqoQtH16y5yi7nyA7reZuR3SsjukPzc1dDYU/VIrAwOskeEtXaffC3OlhGB+O06jv + wXuVLAaBqZpUUfncGPcRzghdFp3bh/OhhSEgEqKKhDqcuDtjrjzEd22MGN/2ijwiPFzwq05FPKur + 0881KhhSEb9GV0K3nYLij9kWw2QnM6/c33D1l1GE5sJuD0AXEmPjkGYApSXDQ1J4poxHgkJT+4CT + x1ktWwwLEMveIXPxtlI+9nBvnZ9/NKXuIEBCmwEG5Amxz0KDVrRj6+NRBK2FfkMAOxsV2vyPNjXN + z4ooUexgylpCCVXDxoGDIle2+B9qEPrQl3K6Q1XfX1zqPmAX1QRNEblqju56IoGW+Xcw61ZrEVYB + 66t62nkkxhRDz86JUJtVoUjIfmUBLWOKSG7W2BcC26IBIRDKn5xhm6ujzLtTkipVMFiIRU5JgT7N + w2mJTf6tkaclGDK7TDCQG8fAjvv4LZMqdNWHqqwPl6Hw9AO4mIvJ26aWItinp7FxpXuhmJeLRPBQ + 2swyEZDJ3HfjMOclOfihl8rm6/UukCbCnTAwUbw6oWWwTxKO/imYSzy1q2hfvEE8KvZuA1aiH6T7 + qrIQBeRVru3YjwT09+zFYigRSciAkms+V8EK/gSubFCqaVgTtbJm3gEGY4Q352vZ3cZAc68qrl8Y + HHfErphoihCv86czm1L6OCzHoaO5zyyQnAXLmo1ELMcQoU6GCV0yiyBzAD2re4HavRLwcPdRANFL + ZUE7XYzVyPmUF4fqB6e0NtH8GNzH+1/ZoL4KJ1yhWRrguZyfdA6kNLfwkShgm7/aBanEfoWVTdw5 + MUpMXDfHD7/hrrD+MlYi4b/vnbn22KCSu4QBg6a1bAM/9L+V0yIcGmPAcCZeo5yUIGqnmBYvLbAx + yhsyMyuI0KOMNecGyxmRcdusAHQs/hIeI3xM2GBgIvW12wN65BbLcEecdoqQKj6cMbH6fCOKAxdR + h0CrBuob0bQ/fkQg8i3w2cR1GgvbZAJ0XT89PpfQBHwMuLWp+fVfG2UQxgxD+pbN4eFBf9KR7IX4 + Xm6voOMfGq1uEuhSaDCUJRPDFFbwrq7IYDa2TcwzKQ+ouAeG5JxXtGMLl9fLMTwfxotf0cFXvkRp + yoh3srfk0PhYKFan2tHauRisPIZTkuecV86EwjaRZ/YEaQ1ANb9qdck5lEkNN4CNXIEeKA+d7WCV + axd2LqSRKdb4z2VAY5RdK4rFJbAFHx1mZNYBGB3vtygeLlZIJjJWrV0Jz24gWxPqea21QIan70N3 + edT+eVKh96gjgpsJw6KMvFLJLlWdjqK8YCk7ZFp/kF8sqCJY3Atqn+SXas9FQAF3wSzf6HKHtw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7d532600-d282-11e9-9254-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d532600-d282-11e9-9254-001a7dda7113 + x-ms-content-crc64: cQPcbEKXsIU= + x-ms-request-id: d3cda403-901e-002b-028f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + pTKyBxIoRV4AFZULeq18NGlYrpiUogWc2ill4Bnrrgun13+eM+6b3ydq1LbBmsX2gTQdETlO+mml + biLiSdjWb5wPvxGdWM4eEreInpS3lRMrKN4h6qiWy6/EVRoVw2Gu8/PeIwHvapOtICX2hKp8VJAb + JEagUGWHDPPVrJfOZyCiNQ/4ys4zH2WYNxsBDJfef/Zh4sSAWh2Jsd3D6rK3A+Y+SHx/0r5yi7Zm + mnMlhlCECu1j3kJt3gjKFMrxDH61TKk6s0hIIMR5DwZYeEP4n+1a1+5Kcgb0bgkRQwowHO0QVruT + OZo71AIADDMTL5iQQEjtM4NtLW4hS1gaFnxRs4SsprmgrQKyuulvbtt9O1ohDeuOFtD7nvteGNOa + npvx8iEESpyFYnjxw4jrhNOnaRD1GLfoudbLSoQrQLL+M6e9J6HkGOIasL2IlZI/DaI7ftbdLZB0 + FIRXQ4oB3va4vSLvmdpziv4ysZ6N5Ye5X1JjBQ6Vqllleotcy4UBDWPT9BPTIhh/vko+X0kgTWdg + 98Ma6W5C0m+RbV0kKdwbsHP2hQ1KNMuzVigpgBpyRC9cpzRrJy7yD9H3UffFAZWu3eNS++lOrHbB + ZtPAUYtqG1jaP/BdcnoFv6eIicd0DiK0Bme1gs/3GpXanfRMKWIeZFP9mw87AzAu67URLxFXSSRx + YoDCCZ+KhxvTrYHDKlc9cx5iPPGQp14g/mLaorUn+8QHNiu9bgBpjpZ8rknhD73bpxg3QeqhO817 + Nf43+IEa0MxAY1efgVDQRORtkkXxb5auXfL+xv5Y1RBjGH8mHoEx87MX67bHnywhd+1ELkwaSjiw + wz0O1L4Dti+E77NQcrHKjA9v4myC0bOOiNj+hq8QclKed6zDpJBu3Euc+G6bDGqQPKmE68KrdSMs + xAT3rs3UNH+9PdOHBGP7JnGUqjTOo1HA82tXJA+u0yzYPbd2Imp9L+0VIRbsYN7SASYPDHFLRCTa + 8Hbrewgtl0BIJ2iZYPBWSdlgDgV+PzqzXOL61ZUtVVDx7akDcj8xEVPFqgF+U2L4t5MNvZmwPN6+ + NG+s008dBvfdYtduov2imORZtg2QpqHgjQB5dFoX760cel6ErVgbBBKifFQPWb+qdzx78NewfPtW + S88GFbGPS3RSxO7hhqaI4GNXNt1L1LjCWqcuFj+7XQynZrKyTSXjv+vFf0MSA9+z1j2kBtlkw19w + HJAMGn4L3mL8zAHn7w4VBoJZDaScw2SA0pDM5f28TBhybHUFR5Bs7B0lTmhKCQT78iJx8wgzMXkB + 2O15yKZnICIft0ssWVVkx6ocUhiB4g6n5a4ggTS1UDqF08uPq/RZs0wWiNA2NEBRqE9is5wqaQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7d6240f4-d282-11e9-b88e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d6240f4-d282-11e9-b88e-001a7dda7113 + x-ms-content-crc64: 4Hnem07tqP4= + x-ms-request-id: d3cda404-901e-002b-038f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + E7PIHZz6kDuO4YvtPfqXBO2Pp9MKOFHNowVzQEt23bukjEE5D6UiQ8Vf0FsLwKSXeJXWzb7SKr4X + TXtq4xhw4zLHY3OzYzqk2AGU33wZh8p7RqfLDqARuuQm3UYfoMt2gure9uIc8z8vLQ85lCxAnU+Q + ibU7RRKm34eObs7LMfO5vcA7F0iv4yXXbOeJ/kYkGRwUFVPxBZtWCey3IbepEZTS79caAu9zzhzx + UygMU2/b2wvbpR3osPtcDHUDMjNRLvFpg5+Sh+r7VjL1AYymMX9U13OstvXWDD1TtkkLEk3bXys0 + G4SR9VqO+z0ui2MxZUXoeZfi3PI3MSHCUU2xVSGcxgmKqqHWas31KUk4rwYt28RyfvkV8o6p4Acr + BB42i+dmDI2W2IJnncocq6AZQdW6arkvPhHwejI+FcG/iZB4aXnKyx7t9CFbSz7KTBgLyGqyb6Vn + LPo/39t4ktax8ZpEJH18SKbsEgvTZNi9NXhATOsJGkWf3gyrpQjPwlCV7yKTzwPR1OuOnkodszvb + um9NWQiEbSYw8ewdhuuOMkbSOfz3z4zx3Nwq3ZjE/EKXn9Z8SDTptgSOF6I9+/y4lVtNNbK4wICD + q7pbxlaVnDwBxwNn0t+Ceftqxb9Jqm/VREPtDzf3CMPuhCRCYTJai9ThEkioRKYiXLNhFbXCO3JY + /opzIqzI6tfHW99s+bsySLG7wel5CM9CJMswXyzcE0Z2Jo1Q7aKjQ1ddsQwpYv7PjDC+jqvf3w9o + Aj/L2mKu3pQox06IJTd7JA3884bmSmo8x839HakBMaB9F3EsU1tTzaenqd2o3vPHA9jAVv3z7QRK + JaIAPDGxfiiNt5PrXwX2O5BThGpKDBmtqxrnu+Dr6xr6b/QgIGlsl3PPXy+wFftulfFkJpuvNN1F + kGsMKgUSDT8uTn0455XOxfIXY8w/RCZR4vzkkiCZYLLDGg+WzAvA34bFkZXQCWHGHOYsmluAjkcb + jJlp4dDw14dFtVGxWEmeyVFacLo5aEt/krnk9dSJMB1c3QIyfMs9dgRdJygtHM6cMldSR3EWoEXL + VO5fHnrZ+NRjzidjmSd3itcdELQ04kCWJfawpCA5Gw830HPIbg49m3ve8pm2GFoudwvFMjP0KkgV + WDFQj64mAa0P6QV6tVWDR22wC1AslQOWVt6EutlDxZstb2RgxpOqdr8+dKawL/5gAN8hZlfRpfLK + PfpW6u+jWxm+FZg9h6XPYR3qMXH64w3KkrcWG/nZlDj1WP4seVmYTN8dgnXzq/MTUx6pbUpmLSzG + OrVoKgumRRYr5j91+nF4nGxWFgmQultIANPPV3Vp5Dic1qqxulGpEAjEPjL0HRL3E5NX05e8kA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7d7026ca-d282-11e9-b052-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d7026ca-d282-11e9-b052-001a7dda7113 + x-ms-content-crc64: THiaiBEFs/Y= + x-ms-request-id: d3cda405-901e-002b-048f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + WLzxcNuNMobN71oNM2ahEEEkt/0wt5A6Xj2zJEPXCVMTesgyEYBl2+f1nwpCTHGzOXAQ+8UZ8PMS + vXm2soSBtkqwcfefYiArNAAemRqsT6gToNLgEiLqigUT0notPwZ2jjJE8hlkAXpgXv6RHmwhkW2X + SCeXgJ1kBKOj9q1RCVhJHF45a1pAegJIyknQn5zcKZF/sS28Pc50zasYSmCfLBVfT1Gc/deJDKpn + TqUggKStt1QBTO5f9gjOcHEspXgAcSLo+FEqQKULGXKkBxnYWUWyPF8Eldfd54M0EiiD8+7HhlrG + VZzlBTVLM7ZG1zYIsV9m8EyyJWEBWkK7dr6l+z+4injVT60+ybkaz5InAmLP17yP+5WSrB7jflS3 + qswhdI3zmL922EhkqNSTsD6/ml1A0PWMgE2KrwxzxfzV8eq6GWPlRVSsZTULfux30j+Gz+b64p+X + DkbZRDH+eIuLH/MMjX6zpA8GDfgYRl8NT98ZORixDrFu+NnXl5PfphwRxfI6dWiFt7sUrBTUrnLo + LB/Rd3NwTcFLOm+LCLUtYnVgcs8maHONQaKwlRgF0B3L5J5E8VxWXx39OPL0LPlVlIYLnKSZ1znI + ZVNW2G0Wfx8fnzlA5orxnEEKTy8e6bx0WzyBnO/aEw36O4Kwy4DCy1hhp9vjvm6Een6dumB5DGKX + e2YxqHdrByaA8qgyrCfM8w6x+hIrCMly214ium+iShnVbSPTJlrXH50hhTEy5PoL8AdXS0BQsrtU + nh1EKRjUtsBXiEHsUKJ2UyE7pBzHsnhWI2Q/nqWUGCVudo8Ij2rO3D50RAzqw+7lYmclyz9qMZ4E + ktu8t0JY5dzDWvgvYyQJQcgX6Xwj65/XhLRBz6E2dZG35X/sGMXqCbolco7vXAo4hUjuFicpnGKo + eSxDOR58tkcL05T2+zkogG04yWBKhdNfuEhENpJLuRuPvGR17oy8Zi24EVM0OaAzUeIcJc2atmLP + 56NX87CoFzZp1z/kpxE8eK3if6xjiDL+5WehuDJ4GMSopfS0tTZVl85rKcXrKSPqX78qqMiO5IV5 + l1oYBQOSdjahTbUJasPR+2Axj7cIe/Zpa9RwEftyW5e6h5dBBHfMoMXeAHekBkvzdub2X1VtK34G + ajyZtLNYI+UbnFFrtQTe96eDLMpdBaWoL0fKCM/MxBsTnDiNcCXnhdT2ZDjjJzRZTiGVw1HG1kFM + 7eFxpPQG1GItzNwaEy6ojn7un+Z0o1NtUlwvBIeaTpXRDcK54Q+nIEW49Tn9kI03X5ahDqBGzLBH + epKLIqAxt6SZ27PEnzo51xM9RAphCxcGanPqr07xM/5S3fOagTJNeDsrKojZfmNtPVrVPcUavQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7d7dd238-d282-11e9-b206-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d7dd238-d282-11e9-b206-001a7dda7113 + x-ms-content-crc64: mK/tfdm37E8= + x-ms-request-id: d3cda40a-901e-002b-078f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + fxvtHS6u1/GQhVG+ZcDn4ywUu9RGRiIR+lDRxBlTk6DOscnTXGSYLz5ZWyyKkJOi6ATdPUc2kInt + 0YDVdtnSCAI2F4WQLmW3mXZexJCdPZCypoj9YmQWGVhesv3T2rbAfY1MKlVa2KXn/q7Rq5/Hw8ao + Ehah8B3pBS2tVBIP9AnGFFWaA58YCx05LZANaFV3EIR29aIFqVJiQT73i5IRNuc2VG5Rc4yjwWcY + dH0BhNolHBpsA6E9i460zZ0a8jnDn8I2RE31rhH9/g12GHztIkCNmCbPFTAkPgIaQMNdGbbBOhqA + hLyBW8PxpBTPVBofdeY0gD02A81kZ489lZNR8qWF0KPZMm3ei7m3TPaGEjbJEGj7PC0u3vVNP5hF + 0duclw9LkF1H09+0FfAf37zc+i+QlDwLXw3GB3JOlstbS1SlsqHQl7Whe8i8MzJVXIWE2GfZoTkj + YtEgR9lapBj0CIMl3FqXE4I4EGHGKMouAwdkaRzSt7EJjL+WvI3KsWpPlE5fnjRMnsyULskeaNPQ + YY/Lc75goJ1SSVoxCQdo8ftS46s6fxNY2RQV6eNYnXTKuJUK52JE+CR/Zn7ZTSrFEQMFsBFn1cML + nVcBqLHbrI7Z9rRxIuIYRXbahNxHk0wyKcGIJ0RRPGFxHCpk/TUe56mCx67hNxlUwjOsu4zAFwFw + GVjpmJzvo+6yweB6Grqgd2ZVHetVuZmyAAP1Z98lILTEVVAQHCJ2IY+WFeZP7SrH2Yp/jN9Ec8l0 + nhePb1Qq0I68i74T0dQ4cthNktcMfYrksIziTZfdKeOmznsKIjSsXzW1V1TT1abMc29RZuvNNt5s + OjG0LOkcApfTJ8ZCzfkbCeL8R8r2C65tpzW/9s1+kDLd+vi9rvjFWqP5UsSNe1/kb69ezSPAeYFY + gHmkvKoCpykzs5AksaYKveoaYCB5NaQznz6iHhuDLa+/O4itYkoJvDKqqeuomBAXzjmAaEqPqw/q + CgEIT/JbEBgIEQkQ2XGnNi7iYWjss5lDrSfUylkHKCjnwJw9EAvMLix2VEnS29ZmMGO2Cnemh8dU + hRSPTS3M3l/ajjMSlenD2zGcp/A9V7QdVRE9xZNqPF5AThXsaYz2H/tgSZj1bZW7OvWRufGC3MQ3 + WplJgsC+g/RJCSGd3F18LEx25ItWNM7Q+h3pKPA0J4W7N5JLMZMCEMH40EnIj3cx8/2wWfjlZu68 + WVabqSLJ8I4hsgIiT0yFDWZ6YmDVvEemkv0u2XFJZzDcAn9rceSc41gah8YsELRBfW/xCn8fqr0s + 0gEGcAlsdE530crJ8c6NDxoj3Hh+JsGm5zzGadn2CYF7APTFpsFKKUdhAmImB4aFDwlEEOFISw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7d8c38b4-d282-11e9-8d2a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d8c38b4-d282-11e9-8d2a-001a7dda7113 + x-ms-content-crc64: 2ZnGEJSHx60= + x-ms-request-id: d3cda40b-901e-002b-088f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + yERTqZnDKCCgCDBdaLcqXKWClmk/q0AuAWp+6yj6Bub8xfpQ1SzIUYG+fr3FbEeaol7r6GRGgevM + lneBWSPNzuqcdqhkY0lyDm/QMMyjDebajtZg0hKImrv7cJvpiqv6i3NQcqIpsKFf6kUs+mNK8ijv + swZ9vSjJMhUDY+/FaXlxtEHM0k0tcPshIGrr9UwI2+b9bMZ5LO6fJC1X7K4sYSAbuzEvP0gTIjyo + GAjLucFzIl4qitkFQLdld4qtnLH7dHBXM6ZOKEyZsBMZ9MKCBhH7I/idgq8PS67haD/fHAxXNXW+ + TqDqyUKAVMsiEi/PoxtF227lDYikhWlze0kuHXicDsq+Q/K7XD0SXFAJ7IZP++CQmDGthgtPtGEJ + S7L42GpOcj0Cr5QyDfh+0ciTdU04uUdxrIa8tYkGT/nt/T9CIG1zmOlMl4p8GlWSmHWLxorP1DvO + 42Wwly9oguF0dMRzDmc/kNnRPM2Lyx6x7NOxmIw7nuWF1G9BxVGy4Cl5Y0KQWwbEjVgbn018iKJo + u5bbS5B9MB4hd+zJ8zfnGNSqxhaT/leOvfjeC36PrSZKRpttgA0WHf7EarmfMk+bq+h+Pb8pJAi/ + bgp+0JYjPpArIYFjkhJUHtuZZSelmqRsyXQz+6fgqXUyz0B7s4VKtdo82vxp6uixsF2vX/dZ/b7l + GQqHIGXJOClNUG57aH/ND7687ITBOoNGZeqEpgKvjk3Vhw2odsufxKFPT1FCRZlXHZuPu5EQuQfJ + VswPotXIpl1D+/LW/c6d0ZnUhoNJ829zX6rI12lwshokTdiPr7eG3prFhKp7dkVSewuLrO72rmW+ + ThWpnJKtjv4Lvqg80sCBGDpmHkDB7tQPgddkQ9snT2cxzPU2UW/08Vkj7Y8XyPRdGWnRhKNTkOmO + QjlaAfPs2b6tW4/dg6+ZW4RR167qxSa4ifZkRtwvePR5vApgjNDBNjxcvpAZJaDHLARAfs7WmyY0 + BS3t0DJR9ypOb1ckAwvT62ZIA5W/ScjhxYdT3Z8If+99DmCAJV21SKqywhmd7y2qOh+tbdrkd1je + uhmCGKCINahad53k3mPmD6eAp7onD0y/J4UGJW+z2rVAwQcIWW04aknpDvqlfb/tNqCZLpqzz7zm + aYIB7W5kxbHRyFvfoy8RlcT3hgtQdUdZKZrXQL+2eCrujWtqfyTh0WyXCYi3E3F98kriX0fANKwR + xqeHTurCU35LKUmFJT6Fo4l87ln85ZmfJ+lyrK3WPnEb7qWUpmwU1Cel/NeZxwRpHi6pPW3Nkr8C + 8K7VnWTdexvoV3YVshfrX3/0RpGGPN04piaxkAN31vbRVLjX9LkUtd3v8ojfLWSei6TjqBEgqw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7d9b0692-d282-11e9-9537-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d9b0692-d282-11e9-9537-001a7dda7113 + x-ms-content-crc64: F9I/faQM4wg= + x-ms-request-id: d3cda40d-901e-002b-0a8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 6Q8tpXHBpl5EsfHWASI3oGOmDFJ6fWXCEw64R2pNeE1kPY+U22uu6AvxqWfvCA+EdaV2ZRTp3zMN + YiT0PL2x88+lGkN4eKyEkDsW5Od5zkrlbhkoetH7/Z2dTDLoDxrQ0T1WKClKw6KW2TtebqpTO1jR + lN29BZGKJXv05j/STxGH31P2pZaaCUfQciTAqHEWYR1d9j3keotodWR+EG/JxhGphNNchkeYe+XL + xqQRL9E27hJW6uPXr5RykY3Oj/sQRm2NWOXvryCv6qNozforUfqF6nIxpmd4y5SlTWj0S6vDUQr0 + uJFUyVg5ZNOEr+dZ1vGqKfuZRPG1bsRn8dFHpYOh0AdjgWRbdGLFlT39yHz5dMok+o1pOcyH2dLX + ES4AhIJJB4+ufaOysu06s9LKweNRp9a1+L0G49Lyk/no5ZMhnF22BL/06uuM7R2kmnj19mGwydVL + TkOvInk7K33OzyuwRuhK8s4/tf4g6Mr8DXw+BLLlRiSv19PMrjPS3wy7u8Iw+UHDbNuzL/PnI4uP + Sm4UB+AabQ4XcXbMM0FJF2FhwSWOWwD4jIUuxg4uus+rxXMfPXGkHXUq7f3upbIVPh2I7qX5q2Nb + w0j9vxNmNiqBzrWc4nq8Gowr1BmqMv08+h2PSZQGCHRbN36X6bUGPsb9CT+343eOlWefi5BrM9Um + IKzLFoVrtabOuC/A5FeUs5wKlDBDMvrbXxMVyM12uQUOC3I39/TJ7KJCLOQO3jcPonxXyP54o07H + Eb8Z4KMhCbQawyRuWFmZqjfBZKNLDZLnWDhqYuzIxwIB8GTsVC9l4wH2BAzyQBag0QbWvud8N+xB + yhEwbTPl7kDtSSGfnw7UYK51kx416pM8OGhbcDiLr9mPkexr/PU32W+WbiFnqYYwDyWKF6Qe9d8L + G8xSUIxoz8uny3bc9ISTHvyhO/dlYmPRx98xQC1AHiCAbwtKxKjCX/CNfvqwQyvUk33H5dYB8FBy + BqM66ChuE9rlD1cXSbSGudSogKD7E8pE/FDwiMK7dovylI/rZjndErm7hmEpsSfezTyWikz75FQB + zOOM2Vhrss2zk/ToMnavEHZSNwHjECZNFRQXkQ7Z2T+wJgwi+iGpX31fpuL7KUQj/bEs4/rTIJEn + pyg1IgAc0PkugRpaYts6z7Ogk2VvoPnEreNgMwzaZRUWLSsCo4de9gHSxF8xVydAejbh1Po7Jg6W + K3xCZNDBIOB4AczBWJNj0+/F37PkmrLBUl0ALi1+TDve3z3JVK4KP7LRESsCt1XsVsCZ8VPU/fmA + EMQJ8CVGuSQW+lVsuxLh7z7TmLnN98hAcIQnpnfMw+3qo2EkW/m1+SFz1WGZ2YkHcU9yzVw9Hw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7daa3526-d282-11e9-a79f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7daa3526-d282-11e9-a79f-001a7dda7113 + x-ms-content-crc64: gIq8cqtI0mg= + x-ms-request-id: d3cda411-901e-002b-0d8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 4rIsmKZI8RBKV+zUfmjQ4xBcce9NXBmD2lP2IhAfs7QL7NjjoUGSTuE7gpNKhtapiBoM2r9BG+dD + +9cyTF6IC1DyokpIC/TjULu2FAyYi5Jrdo823mG8U7qVwzWCMiA+vIxuZ40l9OLF7rl8U6ItqBur + q5wOP77OwtHgD/NydB22u/h0/IZYQnI4pM+GDjJUD160ETKHhfa2X0pgGRcb8tSUiO13KjZAF4bS + qONS7h/Ay8407fky+lH+eEkP2/5V/quQ+x6oQPPJJnVDCE0l1yFoZnt73uKiJsoJlv3+3aoBAUW4 + PX6gSL2fpI00Wiuf94WWyzxthinu/HNNV+uGhOJzC7ozwC64/p2HM+oclIvoEjYLbLpuyMHGmuFP + dBougjWs+ykeTDdHUfJ9UdNGYK7A4wcvPnvyp/iWSgrau9FU9D0+SW28eyHXYUJErlmBRc+XwckK + 6TY4fD7qeBCqK5waWZ12dvHDHX7NZJqK4p1fYmD6U3mE76/7iw+snMQtts03yMdrcSceGNO7zhTy + AomZgFgGdZktCcBJoL2PaM1wDpkK12evPwbJKgP8OXZOjP4kFu0hMUxF3qe5T8SzDlZv/R1bAm4w + T46PTznOSq1JM97HIjbOtheFEqNyn7YQawZ/ut9OnMU+wwWhTOY2coMYUBFShp6PMV2y4fLae8C3 + cY4XMN5EAeqlkCt/wm0CPWD9dn1RRuMfABksH4eKhFTL4IUY73q4gzeUVCPhD1UTafZIPthYGGB+ + ExGNNTgDWSXS/S8H6jP6Xb/EDteOS8NNNhux4/IFCH99uDKlLXnqjLd/u1YqqNF6ySLqdRwmOsxr + yJPjp6rq/OkSMdpTAWIePLgO3ATKX+HLayEUv2aQDdRKxeUCKHmU5Zfq8q+to11GGa55Brk0wW1N + JaNQRTzqr12NuQRbVcoa8qYqE0uK4nvolv3Uu4XbVJ0OPZcwAzcMtDm10U2nHcxIS6fFF4sQ87Ln + RewtVqZnZCdnYEMtUq0mnecJhc5WomfiBjOKUMEDTyeDf4zinH3+dgM81c/X6EXjadaTvryEgRVp + kWawa96R4WCwjLSrWNuqSIP60gab17EK0WXLxIpcG+zEkDKFQPVIbPJCGYhCXblyUxkcxxtJPTEp + CDRD3jz8xIser0u/WTCUKG5bOsZKSrsRenfNDnxTp/be6Rrm95ejVqN+ItmVyFqBTIqDTwqLIsHS + SyN1wOKOKLpiTNdfHUcRbh281qpHKSZXaICA58HfHVsPI382JqyrlKGQW+Hpf0MikHg7YbYYTbj4 + cPW8SiVF4c1tQgxDr6c1RuOJyqzvdaENh6Ez22YZ+16oLUge+un+AHzoNyO4zIbgMfhcaCwKFw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7db82894-d282-11e9-a680-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7db82894-d282-11e9-a680-001a7dda7113 + x-ms-content-crc64: EryuSP2wJRc= + x-ms-request-id: d3cda412-901e-002b-0e8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + Nu2CubCupyRLAPWdg0YUZyOAg8D6c6Z2mAadWyIsQ0J2lxHW4m7TiwDj32wjnc/K8pPMf1R+v+br + 6Xmzv7N0K+H+PLnyyAdCnYCD/ppcdBh0flP+kc2vwd4tEGWT7t9lzx3YYmeNgSiKoRep5bVp68K3 + 8T7RGDxAGZ8u24ptUOLXLBOxNWaK1g1qvXTTIeTx7DKyeU/GJpeoSlUmuNUftECkryuRj23Cbd1O + IptzJ8wrN6FBgt1CnyoP6ECTzVNJ2cyAK85NmRCtZ7nzUJLR1/RWLPli3VcqJVmr12A13Ch58ikm + ySZbtjZdU2qzIfkoUc1ck3rtN5qP2i/gEwYfUe6B0aY1lK5yytGMGZzJnfdK8fUAKddaTU02sdaG + f0VowUeP0mPbPT92e6Vjq1DlswLT7VXVFpdGIeR/Tr9jLQUoU1QyKYqkTgClnf6YRc4/GC9pXd3P + 1spJGsfmI2ZbI3jHADwdPOdHNeWuMpJ533emlB5Ckut4SprBJgJcGhL3GH8CkpQ4rGUis0twiFJp + O8pA5mUywMNk2TMIrtWETMqN4MLtjkONrXBWJkzkA2554hF5zjX9VOEDiSJc1OIohKbOa4led/on + 29pIKni9aeXXrNxWX3NXe1msX0c+BXRNY+cS0v7pcz6kmXWnqzgyRvCY+9RJXrtIe0PezOSbmMeS + HcJaIep1fIj2A+om+P4etxkiqc3VovcS5RKFuY5kHkGvvCvhlWYwuMewMeW3T1M94wvgcO/03aCr + EAFAmxnH8t2o+kf5t+cpLiR7zjyZ0Wsb3OVnc14X1ArdiWOyL/Ycq1nU0HcJKkE/ZoRy3iaG2Z6b + BfpwRL6X6xxUb7yq5ktoVL2cC8DiPM3dK8VoM6/21tBOz05QyPY/7fSLscJ984jzrSMLuN3OYVtQ + TcPY0Bxd5Ik9VD18P6s5sj4yXcXHRk1QCNh6yceso1iB/pdYQllcXiteaV3y97EUA16e2tpyKNqi + imbL42KfGL3KJrAfnwkCG0G3ROm1FXqGvOsLaLOdXFIkfM/FHyhN6gv4HQ2RQoHP2xqVdGvzIoAu + EIg+PQ3pemfgxrikeOJPq7NxBbcoUhHz6xXlEtHXX3K5b5qk7h2bnAOSt+r6F9OHu4AxoHiWLNfx + T7duY89pNx1nL/dDHhE8LKlnhGvQyKhMrYGLk4whsWW9i8Yj8iJhLl96EM99rdWj41cFWkYhIz8O + 6yrS7fWIMCFaEesFO2ZnVVcdkE/u56Bfrllfh4SGl36HL1v57zgIfr9Zz0rIHELyGg7vT63Of1Nx + slc646pr1RWXLLucA2sLe78+oECpqCZXcdbpxLbIOYrTo4W4iHGqtukkoYtI8IvpV8odqLvlaw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7dc62562-d282-11e9-b901-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7dc62562-d282-11e9-b901-001a7dda7113 + x-ms-content-crc64: UUj8agutOF8= + x-ms-request-id: d3cda414-901e-002b-108f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 0151PzZniYUbkfsLHzlmeOKz95B2hxvM2HCDQ1ZuiNB3vcfbfVeYdkup1Sw6qpoFZj8o4GYSzLU5 + foX5Uci4g+WAiTN+kXD+YbueWjQ1gq9wDC9nsVqP97hmrvLvxDV9VhlPIvgVBrTADw1Z/rToZfhX + wD2lKEZ5DX4eAlYciUqQ7GsknljumpKMyyE5a1X5stzvKfYOh3KmyYpOQxAexQMYeAsQjD0R4psy + v3pkls93EAujCuctUqTh9+EAjAjW6Olbau4hVVP1hagu9ktMbEwN7yDlLffkYmrmrGeD6gmSCZoq + ep6MaS+2fh7TVDn4aC64OOnHtXFfk+QSITSdVTGk3NdptV3dqnBCrIgg/O4Un54yal8nf8Cmzoqp + fRcdulkc4HxSQMyjfjkyMopw1sgd7O8GCagPUOXs22r1b4j1JT0MqrUzh5wv1Jh854KchVTVAoIE + Og2BsITnHYrF9NDZlG5TQgNKFsgJP95tiUlkvWlU8TzkKAwYqBfLND1wM+WCT1kiDpBNXzRh+1X3 + Gitbb7OrKU5OZKTrJ6V0Qqd43o0nxR3oIbjBzx8qfEdqu6CdRAU+3h4uI2owq9MoP6jux0Cj1zk4 + vtY2aKmF0CFUYZXaLCVPG2aGlXhiMR39hMt4qjnZJDFkfQXwmvBz6UdIknkkpMPqRtYrQ3AULXth + Lze9Rr2WF9umu1pQh6OKZNmsE7a9crFwvFDrOLu380tn/eYcJWMbh0bJbKtKdZE/5HbDUOps+OHk + g5oGho5NmGVyR+i7DMl4+yzrVsB2CoN/c/fo36BCriciA8VYbSSay+DvgJ0l3EGXJ4WoOlvp2jvW + aC4kHBi0orZx+T6Wo9iaBIY1itlenVVPhuwhN5WDmgg0ToRjh+8KCmhnIDTkMLhONgz0mXnycgnd + mTJXK2x9oSzDpbPria7GpqcPZt+WQdo9/LpxlM4lIYCY+dSKpyaH/QtV+VKTUyHeeVZAlsvppBO6 + 1MSPPrCocbUgSSyj/fIJWgvgP6e7PECwHu0TBgKcWsfI0uk3GRelJa1H3q2tlHb5w7JwI5RI5oio + 7GkCaChqgV9jFMeoIwF6XFwvoS3SR4c4S+78S+SBaG/RpNjF9f2uj2fvYPrWpMEpSvTB9VKLxrH0 + vGhj7P1jswmKIAHXl+dyVzXeRNWurcRbQia6wTx3mHnewFqSmgt5qD0hmIB18L9aqDzm3kyydcOY + V3mk3/znM8NpK4+xEroRouX94DaSVeCCYcXSmHg0VY2wGiBRbtzIHXUTWQ27641VVeuhjIyq++Eo + EkgwDRXdmwSFJppL4vQIKyHd2rXYs9bCW/PwBrwRW5rF6kLev/VVY7cHpZqewq3FmaqbG4xd8w== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7dd418b4-d282-11e9-9d1f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7dd418b4-d282-11e9-9d1f-001a7dda7113 + x-ms-content-crc64: /7dFm7tIlas= + x-ms-request-id: d3cda415-901e-002b-118f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + hPAiqGRcX7mX+GZa4BssmVUiE6l3LuIz/b9dNc0+OlXP71+qREQ6mR3Vd0fRixvGSVD34a0CWB6m + R100O7zCFnzvTnEby7RcbC6Mr1sd+/y974qC0XQoxpR4LOB3yytJn0sSYXxK/L9S5RIAQ1aaZ5sg + dWHAw0zmsKOhDSq3zstJEV304gDlXYlH0lA1rqxotLbVGQyoboR3CU1z5B4MiyTczf4IE7QgaqJC + WeiwHqktXB+xEpbnRUMXObq4KPPDIhRE14pLpO/POvg6xxq2jzKXY1YvLKPvdloT5QCxQ8kkrS+P + +viWL73ogIl10sKaiXBYtT83iut8UFv1NYeof+mfiFr3gjmmkufsSiDZI7SUDXXot3bc9y9ZZDSP + eV4FKyr7dgD+9ZxW2ba/BZZsxRs0b5RGFADyoHPoEdh5Y74xC0GOJBWFzxk6UcRf4/E5cn/j8opG + +b7CcnYzwvT5ujIxzA6ksHxPHq/Tj8DBreQ37o+WhU1CcLN4fdKUdMKFb576z76hGWlcNCkiSBi/ + P9TOhb2n++i6O5PKS4dalHvqxxw4oVBiEta+pOGYFdkgvENPgAr90uEMNxQTA7y5qkMk63f+fmF/ + quLfu9+uATo7Gx39mVHH9W04+ZOKg1KDhCRaj6sV5dHKo316Ra0y12kzY8t9cCYO6z69KXLvDZUt + p/HQVdVmLU74RX+VIAMpPOeBC1V5aoNROT5YPxyRx+0+NG3GXj9BHlPCPLA+x61GAP0UUeiDLGxq + fvo5FARzGI5j0BxID32Qn7hdzqD8/XH5faCoEVLFzP4x+WyNqtZG5t+1+w+LYtLwJL/++C2b4SJZ + yxQmLHoBbwN+pjMQXKEHEGnEm40PaahslsuZZ105MLKJqv4IL3tV6W/B0AdQO1BjO5m5Fe2z9Tn2 + WIpR7T1jJeHEjmpLEwBaEFMvg7hMrdOG4eOt57zzEgROCY09Cw/WJJA7PPeJBNj5ImUINhsjuqxy + IKdCYd3xerY9Dv0tySjISs5uZnUGXn77LqpklNl45mGdrGCAlVtiSC4PRuO8BKeEwW2RepVVu5y/ + C++FszubFv5JWgHIK1J7jJeWK8Stq4Euf460QmCGFhgIiN7+P0zzX6G0agKOUOnQ0WvvQeb3QXMw + 93xe5YWfhLGBjcShdDTDDk6AHgTdMm5bSAniCwHPPx7sxhIL8Y2kEpfQgnhaKuldaJKXSvF2D4B2 + 5hFtrXyxvrNOai/is9Hi4CO98QtRmF/figZVu/bqxgFWGt62kglzuvcyWcWjt5GUl2Yzba52EARw + VIz2e1iWurzmLNY+1Y2ArDdCtEQjA5KyI06syFrUo+fmb9XoBIGut+ctz/JY2XUanXVyrEsEKg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7de38b08-d282-11e9-9059-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7de38b08-d282-11e9-9059-001a7dda7113 + x-ms-content-crc64: KkhxAojmhok= + x-ms-request-id: d3cda417-901e-002b-138f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + BOU+1tCLqwyquOy5zrAkPwXHOCafAeac1lN0HnHwRnzdzUuC7jzGvnginLWVQDBAL7Frdu+aVumK + pYXvBZc5goEml4XXgrVBM5OHA2w/Rm7nV8+D6pTr5QpHi0Mzo67usy994ADbKfrMnU4Wlt6zjc9K + wNior9mXmEB8qSVsJSyFNP4B3nLIzBnEEqmq7dzpAylgD6iK/f6qqRVsI3X2PvdJhWcYBakQ8lBv + CoH6EJKNaOiQN/iZxXNAHkW/wJbkgnQTIcjXZ3mIY+9EwFRmCOSPVFPGXl2knfKytZ4rWECNt2f5 + Nf2g+h6Bos9+rNn25koYW140jvazfP0Hwck+6WUG7FPj+O4gHTGmZQ7gfvn8utvNlmXdgl2VoGAo + kYLbVamNhtQwXV8fKjggz19ryQogoE3h5wKYQOvGuANpC5otY2ffwiwN9ZrmztabAbJ286NrX6yF + e+2hTT+rYYb1UBxsARA7tS89qm44LSxYFrsYk8hwQuv0yFhW72FglQGdfKpyCSBy98nLxk6HOyPt + NmUVShLXX+Kyy6OekuqrYAWH9chGGBn6EFG6fbV7DPVYeM5QAuV876RkEhVelKqu99HmsGtNKdvI + FxIMRYCwJWtJQZwsmVunjXiKj2guINT5/dGGyYPZIQmLtIG/V0fxbR89TqD9vJ+Dl+ao17m2hMvX + +4AlZ+Z3mJqoIj6x1YsTzm+SNb63bR7RjXlJqvNbvFde9DhJdFM83UFozjnd7hzKmsLCacsonZhe + h5CpXAFHUSFH6bNkr94DNphBSf3jYPyc/jLxs0nNZtv6IE2fCbB180DrVg37fGN+co3gJriiZ37r + awluoYRj07rmu+SPQRXl3OuM7uWK+HLpVuFqHT+UIj8QZACdX60GJMI14dths/UzfMF60FwcDQ70 + DZTWphqqhC05meEGD6NzBCNK9AuBPLzMR7ncABaU/huLx3Y1UcQyCzwpD4+CwPgTeom5awK5OyLR + YGXEmo+7cN2flGMVDPb7oqngoj45l+qbn/QvQIvC1xpS3pECgQyp7+v9aGHebdo6JuMaO8dbZjBi + 0jrdW5uF94rRoeBP9P27uqfEzWtUbCrA6IhgoSYjyW+r2yQdtb7wLmo23xNJ3BFU+zaIim/l+1WV + V6M6xu8dTXg7xsk9mNntL5SFtodihs1inp2ZkpBA9PyCXFcvUD7iG2RNFn+WSyfttdpyBKtd0+I7 + 9weg1y2Ggo81c4UL3Nidb5SLh4/UZhlWrpskZfaw4PLnKFzWekmNhI2vGMPJ6gpAXuLEQK/2mLUK + shlhOGhnFRVstSlTerDGhXjUIEOyYJRY8VPBvsJmZf51Zqz2DqFIERrEr/BotD5AgEOJnJUnrw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7df35f8c-d282-11e9-8416-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7df35f8c-d282-11e9-8416-001a7dda7113 + x-ms-content-crc64: IZ1OWXsVXwo= + x-ms-request-id: d3cda418-901e-002b-148f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + dJs8VRWs1cIiUpmj5zfIxUpFyfFNlqN27Za8i3K+GP44jd7o2MSYGXg0lxh8R1MU6KwEDDMtn8LR + EGWfmnFVoXoRT3GhO9y51/F0oZ1IroXGMRAOVU8wf1Ux6Vkd9U1ZrHHgnMkyztXK5zms/CghKl2X + uE107CMcEgXbgUen8Vocdbxdn7bQNk71GT2pzRGIDhhYE0P395cSJgTLZKm6W8XqufiuYsOjYpuX + BLgUjaRNdPpndjTHAcNjLtj1qhT33X0yv2Ja+skDsY/gp6so9WWrtWCCieh1mEpP7eyrTWhkhNEd + IJD4FIljzXndJmWfVkCBjW8fza2P5540GKehCaVIO/UrfPZNjsl9tfbK55L7L6xraDo/8Fk6KSYN + JusSfF8FIt2enjvgRG/WqVtwulN/LgmQMZSKNTbtbddlkwXazfnW1gVDOlpQHI5Rlc/4+NRsDBkC + sOH0eclmqtFSFfE0AYTXTD45L3lMPeVGylYmeMQ33EZdNrZQ1Qe4xYZODe2pXdJza3W8uaQc94TN + 8O5ZNrw9XXj9oDLFxe8YxDLbNyG790vd2odvCSCeHc+FnCxMcdh5+pHtOdPnmxlV3BP24hJBShAW + W9E9TDB6ds23jEa/5nIaA9BZeJ7CDD3W5xU+/jAe4Ut+VIqZEKQehtdVj05K7h/f95nE9Umtlk75 + Mh2ntknneJpCYT9rG8QsDVFvGIDbfylrkj2dAxY+DN/1cT3NYJCxNU+m/oG1aeonujLnxho2H2dS + m9bwiVawS9B3byS1m/Frpt7K5zRk4qqCFFuCG7m6C0RsMJrNEGMOUefyP1fy1et3XXI1FFv7zkxh + 4KIkx8K9ssZCYllgIKSBelixpf5m2XIdlzSz/qtiSBqz8uLrsck7e13A3RpFzhRuV8gAHVzq5BXY + wI0v7xPSpu/gat5Emdqb03Daf/MCa0daHJCMxdUMMzczbW11h/sqLZb+2JskuDnjQTlndLsnfNoS + oe6A6UebWbP7b1j1HzM+iAsCJL1hXwXNv5Kzm1+ASF4MrMnqCZpy+DimEE8HoU6zd8je2r0lykv2 + DKPQmU9Y6bFOo1t41nGBvgAOhiJFffd1yFTOkLmO1ovwLtyub4NcWVzKDMoMqY1acgrp30xnoJYN + /YYkv19CceA7tPBYX0LJRm+HRdT2V4vrMpT+MUSFH+rj0pqamCJWi8zM7ql0tHzAfXrTQVeB6tVp + dg78eMu5YAB7WDFGxK43BGq6FnAwoJmlhpQTbu0crjl+fdVG+QxZUbYsgHGP1PGlGYSryjW/kwh4 + dkZ8mj+RiaDreu41wfPYLqB/3Dke/e/d3QbXsTTkWKthyprA33VDznsMY4MW73ssFNeTeznw9Q== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7e01120a-d282-11e9-8acb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7e01120a-d282-11e9-8acb-001a7dda7113 + x-ms-content-crc64: S+T2+w/Ne04= + x-ms-request-id: d3cda41a-901e-002b-168f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + CYE7DNvsgBIrFVuxfMXfuZyhMukUhAI8TOeX0ID2REkDxt41+4bpsH8G+jn0v/UMAO5C/MLiLeyG + 4V1AlgQX8vi1bBb98Celbz873sf0gLqFJad/gpuBwU/rccBhUcthoadsfNvz5lRSvO+Qt/7dESHD + /gRPQHAWP3hBf6nKPuGhuOEGHRfDg54NSUcKw+KpJKYAHd1yGYrN7KAZnCkr7VQnbZx0zQw1DFjW + zmq7AQkaf2atDG6YIh7uViTLeBc2pUtPcD+GJMyrJWkG5AUm9mRYjtjwEwP2GlpdbsZODZrPG53S + q0bxunRU6yfyBtYdHcqsDrhiNwTZ00eKyMddqeNODqIPZbur/S/2w0rWKJRmjW1uk42JOEoqh9C9 + I6vyU7aEUj52tH1rgEgfXigVMXTBnIiMi008gkks5LhMPqFuNt9fH71R2Daav/BmIJPQGKjxIgC4 + ly7EWng/ORkJMoiYcDaWz8Fi9JLW6RLGomMwM0uzps3p9dDIOLCRB0gGGGIRl9PpaYL1jcvtw8Qf + 7pSchxzzcbuxWCXGDJVqaWhzPiYjUVUyVkeyDwmmwplQbqylBrvSqefbdWoTxN/mzNWHIWuLucYi + v3ViBz7h6zWWvPrtgc9t6ssbiRBX6x7hp82QjC/PdyD4hV0DgTEwDlgxRodTQgMiLOLpXnhwVJfN + bSgjWvWNWy/HH2LDw1h36PIM6RrRlsDY5V6A3p32v/5YDtz+Hu8lLfB52qrJWq8DBFyjt/FwCRjd + dLovy2WItRFus+sJbEY+w5fIa9/AQtxROzwP0Q/rQll6H2ln5HAL9Qad5y9hrZjdBl6kV9pYl3VI + FxlbOU3onJloL2sh1G6vVY9csL7ttMJr4H8DnASprliCO3GrtUwGswi93lYCrbe3lg2nImh+ch9i + QjOVh+Q0aGlg5DGwy72oyxJi/XtvTja/DbLv3dhW5IPrWpyKh5OrZteAH303M7vxnkCTIsJu8CuQ + EYHhyJlafoU+UoICHRvJIivv5bTwB2/RvNEy1vnJk9OoPj3lArzZtHIpflQB7TrErIfjrPle6vBg + csiRzFc9Land44uJhgHrDFXCX6ZdYPFm8hbG18RB/BCrjGV0RNdIFoMt8w+fjjKGvu0owShV9csr + gR0EqG/o5pA+gEa3+LOfUa8mZ0y5VyBvxztnZ1yk4Xvqv4Z1dGNKisPTJNO1SDZ4HHh2ki35D2ZD + zbqbBT3nxLmK4ii7+JkIr6vNpen22VDauSm20C9mzdVTKdpkj3mkcIMyshehB5/CSATc5ThLW9jh + WJLiUsIdogyT4UeD+bjPXH/q82v3jcGKoQ2GkrRR2dLo0RIpWK23a01+4avNxReyB4liJjWgQg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7e0f6c00-d282-11e9-acbe-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7e0f6c00-d282-11e9-acbe-001a7dda7113 + x-ms-content-crc64: QahVCHqjFU0= + x-ms-request-id: d3cda41b-901e-002b-178f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + G60NAK4mUx5DKIvBBew63a1uZRlRSqD98tAfka1TEAG7DyNUvTY3bC7tfH7IhYZ0MGeyV4E4Z5KO + BIJO3RJ36UgBEsIqE6hSGHWI0YfnwDQQQy2mCnli1Xzka9i4fPY7PqLI6/zl+kwnbeebf7qkcfX5 + +CKrPQubJ6QyfRnrzagfhonQ2wbuyo9afVg6xde02gVp3Vk5xzlb/CB/xI1RtEIKA8nH4QkKBycr + TWKhFD/kaun4c9c4zLjWDoZFc0Rk6iKFZPKA3uGXCq6jP+/k8oa/momibLrKcR3a0DuxVUS1XkbH + wOqyQmORsvTl/NtjWiLKxCGHAWPXIo9GeOUL0V60RRsvWlCSluWgJpUL2YWMEqkPr0izx5GGGmr9 + QuxDJYidLp8cHmQnat+FH3OASAdy3SnOgFWHvg9shjGndZ4EyvcXdxcpW3YxbOGtxljtpqbXzDqT + UKSUVgWRgTunWiB2kbwb82SrsIG5cDTn3cVYZyB1eMPPXsRYX8WflpX+tITUAtoQo+ONRZRFv2nk + exAXPve1qkTE98ktaEDVoy29KDlOMM7O3KYdOGqmwgQ26UTook9sfeQSycP3Lw0VtdK/V7RBV4Tx + XA8a+p2wkle2k5SaDz3iEJOGB0Ukf5VL7JAGHto0a73X1L0DQwPkvq7CdMRwgNamTAdrfDYJYP2X + vcl9omb8za0E7WHFcw3GACd00vnlp7xcKYQMsXP0FdpDTcgxaBjKndnrXZut1q1rlsDGgFG3Cz8L + PlkA5lJJkV/OIZDIoa/S2eeKkLh/J6ajY5wwSFFO2RdW+pUOqRm4TEbaFnFCtVQeGZUm4fbYVYoO + mKErfTz2zJAlSN9Em9mCorwG0Q5QvY1tsmCHSdGWA5sKEqnWTLiqg75HkVTO2wNnAUHw5/n9kmw4 + 6y6R0Ivi/dDhOXUKO5Q1aMNuJoiOdqv38dYsUD8PTR+Umx0v6vGE93QO8DdZ4R0mJ3Vh9aDxObTs + feoJo2hCbTWvUWSjo+PKnaKi9TP4s3yJ/LfDLwAqufkgZN5tyZwqGDOWqWKkRmi3YyD1Y+Mct5Ei + eKphbECFqsv2yQcEWZBj/NFcWDZDMiBNfcO6tCwbnKj9hrOKOXGcD6vBGSj0OCxmMH8lRr+wcAhB + WGkVfrHs5wJBoQQZNW5gc1PMBdeCgCkI1Wk8/LG1XyBprEmxewvusoJfYKiXwJhNmGvf3gxW4RDR + tFP325prrfLsJD9BwoKuCX30W5vNHh+imAF5frRTzBJUy7z3ctxcc4L9VC41fRSlQbzRK6erHGzn + lIoE38ozlgNJmDbuNMZyAQnbnVtrTcxyhYZBuxl3meMmoIMhAiaxRRRB7/79uQ2RrLuUcsnycQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7e1d04ba-d282-11e9-ab9d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7e1d04ba-d282-11e9-ab9d-001a7dda7113 + x-ms-content-crc64: XcCjubfFIcY= + x-ms-request-id: d3cda41c-901e-002b-188f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + GmcjP78DygzkXxzJN88x+S32lb+ZYhGD9bgeL+/xIDYrr8WsgX6kWGTYIviCluM/DLp+B76PX0wj + b1lL8XNwvNiFm3Cx0teRcken8MfQg5Yc6NtN4k7YFs/5QZ328Is6iQ/ziRmhk69Mqtu0sUwUG4kj + 1aHwJ5Jo2gFteHV8Y2NO5XjmI7zSazYKGbi6n4K+RhvZUI0Z7GY1+FOaA6AtNhoZaYomqknY2Xbp + vJwcQMp/6+2A8D8wazpBrF6qx45KylUvatDgWpCJoYL734Wba3g23qG/Ms8Exipag25epy1d9b41 + LK5hdBgfghxoP5bdU9wXich+i10MDo34OGkHeKRjYLKuBugljbFD76v9xMrnwJOe3V7FQ1Li2gnH + uRC3hAxAnaJeCCml1W1DNQDmRsPI7husFJrDPNfqkP1oJrN0+gM+1fMmyEg+Pm9lPBPB52mNwShj + /GbmS+5qocTfua7eA+lhVp7yjzzJKB8Za+nt4k56NkfarJpnWtH2J1q9V417e2AfwzhJyUpPKUpA + Z/Y6XhA1vd57NXB72m8GP2MPnoZn2IQMh/WSF/q4In+JxcvZU+xi5oxhh0B0DhWUuQrbtT7TTCVy + z0j86Ir4QzIb5WWgHUgOe61DSYzV9pZcL0oe+Kc28/fzx2IfqNVq06c8gmsDGn/MVwPtEHgHpVWS + eeQUTWoUDS9WWw1h5FE92yes4g1qCWBkqwh2AhbI10RQZDEIQ/6+CF/xb1zZUbxy2KtoRr9OD+TH + PtrCl9lirlJVH9u34yoIaON8SFh8gg85kVJtRg0TOdNBvK36tutbanD3DhTL3PDIi5Ok21HluVg1 + noGySXD7iSEfe4fXdIpkW0ZqZWPZuTjIm2okywFIvU4CdBQIDHerM2rZrbw293RBndFzIrB8K+u1 + bT0gkbafSdKJcUvkhrbqEL8/zSlbSjP4gDF+NJJuThcgZa844wcAfPi9k5HHyQ2lRj+n7X+6Dytu + xceM4Tnra4O2/iGb3tCZuw+5cGa012I2Hh9GxX2R4tEB/IfsBruip2H2AmdkGYPEwSBDtI8OBcAA + Tx7lZRC+Yvfbe9zVU5pi0gRaC3M6qynAa0ReMzMgMVvfaUihSBoIG8VhHs9M5PGzxosFzgpQbazZ + 6KnW8VRAWvCKMUmUvxzDYQnS2ItTnnZqKbiOSURCSC1k0w/PkYGkwz3LGb9ipvflAJXUtJdZ1DCx + u9YyFOiEb6kg4On8WCIXDGGoHh9pEa3UXPLuRVqN7+8MqJehl+/sHIvUJ/1nVxoRiX5iEg4bu6tz + LP7Xh+JxKlwANbOu+PRWO6EE4zDv4qSJMHkgmn1OR1p6uyA8lPoVQhcveLaYp5dai2xT478tvw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7e2c7230-d282-11e9-a12e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7e2c7230-d282-11e9-a12e-001a7dda7113 + x-ms-content-crc64: 8xAgxIZ0xlA= + x-ms-request-id: d3cda41e-901e-002b-1a8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 5BCOLs+EwU3cPv6QjV9xTWHfGbZfWtHCk6nbubNwyesfrjhkTApDm6XUoYBtYZOozhHWPhjxzoNo + Xp0RQOrFT7C+tfF12oE95uZjqEIfPI/eMnd9dfFBxDMvTdArQ1cS/j6F33k3ebYqM/aJmW9Su8sy + Nv4rOagdFK+eLHjg5rrYY3YoyWNokAecRcBUUnpBgQpVJGHCVrA/cPdeOIkL9XSx1V0SIAk9am0q + zm7R2rVQ+1RUasY5igDSRWSBb6SrQ5mDJtGd5tmRNjx5uYmqzh6e6JMKAeJAM4bN/svWygRRvZBl + iWDtQg1hI8qyGOXmAA6vkYSQw3B9exAeVvREh3MgfPswfJJBlrXPYb1pudkDpEWkC0QcX8u6iexF + WkppNccJB9Ty01J8sj0mun1g5JDCd77+UnsmD+esCM8ti4+kLZW/M+lzUO1i91A67ycJaEWIrUzS + 8ni3qXfge0K/NjpPr4nc5R/zNUEP23uF9QRuvb+20ieFw36L+Fq4XcfuG3mxobS5FR9f9EnZMhVu + u2S7omGtDCnLjyNbcCRhdrS+0AydKlfqdQN5ADPnQl34F1Wx3WPCWlyrNNqG167q4h0i5qY7Pgu5 + 9YoQ4hFcMk4ha30RBOPRriCPhM/cxdhBeMrO8oeyluj0Jt8jSU2YTcDuYrJAbhcm0W0GcNTRBr/6 + 827Sp1aWF/bsaBoGoVpteYnI2FcNokkxQIo8zcHuzYbIlvwwct2WXyk3gtDEIzlPy6fNVUPZ8Xj4 + ZNsKBtIVjt3VLISqQtseuMYqztmqO68RVUzAA3WfD3iPmwWj2rzL3ijwWymNhOwoYLN1dP24u4UZ + Yb1LaabSkV72pwqUctkGAVMjWO5ueehhiXoGS7ruAUa9iXtv3YuhNvSO49zsLPqHWYuDz9Nek3ef + viWKn5EfcU+UrqeWlKSmhpHyQC80iJDc2LWfF5hYe3fZTntO3ZrE+bI3+fsbxqkjp1knjSQRm4Bd + qZVqEqwtncPtOY2YtXttGcOhPariOuMcRA4hqRoxYuMpcZlhFxxxZKQ03HYmYZJCzmm0WVtoXGqm + oZ76g8IB8xxfS+ogafCruql5FH5135VHt57+yGGcxFuTGQ7pMcraocD+JnzR5YS1QVXUIb9JvzyC + 6xKzz1J2h9/5xbq3MN37WsQJSTz4QDcr1zBEcCqVFY2izPNHkw1avelpgHRJE5vn7eKDvKxw0uUm + YPZdgdI/ceduc0aUxTLycgqtrHbRtIv1EURx2OIgyWvmg3Sxtbl3i5PrcO2MjdP9Q0XJ7u2HScIU + mFxGWB3nge+gXdwsOlzLcCcbypcLafWj7v0WALrJr9T+lrXLVm2wPSsp8D2Wd93e+DYFlfwM2A== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7e3bd214-d282-11e9-8f7b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7e3bd214-d282-11e9-8f7b-001a7dda7113 + x-ms-content-crc64: vBx05RGuGyc= + x-ms-request-id: d3cda420-901e-002b-1b8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + sE2rgWBHqYOS3OyFi/iMkgNwCEi1jsMW2oqi4YWx662vx33q9E7xkgnE+iOCgxtYLsP8+yMDtPPi + JwhOVvP+WV6yo8M5rg+/l14XKyl+uhcWGjH2YS0U1/TzPHUpmZGmcbxzmfz+cacwFRQagRI0YJzx + YD6/XF5EuSmoYO1aObLx/pNv3UgPtJ+j3t7PIfk/Ldow3T7mSrnGGNFsy/yC6cBdlKxm4tXYO9oa + +G79uKlpS6W/NGGWs5HEZpCzcRwRqYtOWZnKjd/ofd4x81gCaqDLjhIFMP1PV3itG8vfeeBN9T+g + lZlEUfgf+rK8j3/8esTq6I0lXL7SFYAzBWdHg4aPxqq1VHRq2KfvaNCdG1yGSne/4tUzGXc5MMGu + ng0AonxLkn2hUerMFNwR6ERnOH2MZwvi7smdljyzpGGYRcMY84ipTY/kUPIKflme8uxaGwxBLEox + 0RWO0iMe7uP5WyILv+dayzS9kbYx4hXFONaHKuA82FjtQIjzvwiuX9KkQQp490Gh4y8zWgMMwiKC + AZM/VxAIke683nbsE6If9WlOJl2/eA0Ab0aeMisZPqN8dwnvkRDLWvmMbYfZvvfTcK1W4ThDpMbI + Pg64k9CAmKFNixnrlke2Hi52gR75tUNwLu7IpuvV84dYytn29/uHkvfw2XaOfTlTJmu8i9D5+hfp + 41uXvT2+syNE4aHm/H6ICAWY6PHGxPlRRRxkgd2Cb/oLG4Y8L4w44q+B10HS1Clpsl8maiOd0sD8 + Zrl5gTaNfDsalCLBjmr6vmO9rvPtynzoNMfoCSmp0FTfee/fSm8QAaLW9A2eMuuJTCY2g32Kjy+5 + Cl0FvjSQYKf1mmVS1rjYb4WHbBsBStFl6RWlkRSOc3FZNUqkRbGtFb++kdznkn4Th3s1csHca1vL + Yp3HfvF2HH649LwUptbk09kZxuC3G7MexCm3NMN65wfjFFG0CS7CXwxtRjsIk2uk4ipWsgSbmcQY + pgKMWuacABVzT0K5NFt6MBptfAWY9iWi8oBk2WZA8fUMRzjPFfElkybG3SARfG76sTPZAZx+Csuo + RNGr2KqqtvkNO0cn9oWSMzj2sQ6zB9SfXJdiqjDrGubM1NXJP3R/HTjtAGxXmOfo3CDr05RPxylY + zTa9P0nyMBU1XjfZLhjR+mEaS/Q27yJOH18pdF7f8H+HC/PiVHvvTyPr7K14h2oOZBflMcx5vQow + qbkVTptB8y3XQqXZ/BvE5LFdw5TvIWt/X+pTeRBmQojvNVgtysQF9mLa+usBbNkFi/lMUdEFrZvH + Rml1piPiEieXd/dZodnS/awFLY+/1aow8iDbp0AxXSQMrpF6SRDXjt9bTruBLQqa36V/KBLRhQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7e4a1e94-d282-11e9-a578-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7e4a1e94-d282-11e9-a578-001a7dda7113 + x-ms-content-crc64: VUzMoMgj6Mc= + x-ms-request-id: d3cda421-901e-002b-1c8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + jNieVfez8ncf4RzPeKT3IyfDeQ30koyGUxWSXMfZtOQDhInQ6ECg1u+fTLpd/n5TEzhhLJR0qeMt + owYoojtmA5nVFnfcZJ0dVJPvPLqIC5D62yU6a8R7VUpgEXUt4rkHMzei7YMmCAkHBCpc2a8gblSQ + R9YTABuPyWzLeNiNNw11rOu6vkuqM4CAtmJckR6iQK8j+a5TKUOQYXNGkj3MkiV5MGPGwrKNrlC7 + OFZ2D88KtlzVkvC7moVQO+oKrLvev4akrVH4FxGcQtgLksVCsE7jrI9Wadye+PvT9y39FXQaxmbg + d9B9DXtlyzKC7dTOAlbZ1PasqwJ6ZldlgLs+q+20wHkjupvJ4iGc3e6O1eaWUoSF0WK1rEUm5arf + D4lT+/Mi17Euds7yxhsmuBE9bUIUT146zw+2EjsnCfy09ZHVzKAOJ8CodLg4gdXYHXOZ7v1raZak + HOZurRFOeuMfzV3K9/Ung+fmT085TrKGivGPUPFFYToNVHW+OSVVXIqQeApdjYYrQ/u0oDw9Hkpz + xJu0s2The1M0PTN4pCLefVpMM8qAICDfZwUlO4PgcBAjFeZDDE+S0d2BZkHOXX0iQJJgLIl3y7Sf + y9YivhQ9j/W0V6tAjyBtyggdv8cD76kRRwUzIbMeQdy/30Bkd6F6im9txzak4p3rk4uTk3NksRlN + tvcjMpzEoA27deWXmuEICllBHZEjXvr1CS6BrCc5Z2sg9P33NtdGpIaPdSXCQjMXvl2Jzvy0dEGX + VDTRm/sey7Fo0lXjWVd8T30MXtoM7d0OIFAvvb93VuJMz6PEosGc2K8svAPD19olEo3cLYlqMX+f + gYk96AwHeIUZ0hJatc2mT8bO1PknwzXvZvxCAuGCd8yT3pB9SxMUXZL+BMUCJpW6oGNP7ulDG6LD + bNeUHNROwobeI3EYy0fAka0ycOXOjCqBh3NojthuVAQ/lsqjo8ZUpvwbgYX64mM6O01cc8O3+vyW + hKzE0gwMd3OMExSTIYSAsl622NT+waEsUWZL0hJk2Wb0+n30NerbYhtQ/Q6yp1h0vQBtZmcIebTs + kmhjKqSIJm2FavjYLGCXxKhC8ZeqbC0t1vjGocaR2UyXVRNwcDkBac3a7YFft2xYEyBg/Kso2gIx + CuCqZIe5AFztVfLKk57KYWr8c9PZ7lGob+t2vDuhwP4M7VmWuJC0V1EIhHCUZtFY2beZUBHrNAas + d+IJEg/+YzBm5lN1Q2nEPzy5lthSh/s+6nWkaEhBkBafgUc2aa+oSdPSGSL2HK9vxYWVi0o3NSTK + zyz6Yy6j5Bg4wlP+Z1VB6vSUAZmX3UlbpKPUr7k8teUV7r+DOigqFpsEdLWlYX2pO7V5kG+FEw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7e58c1a8-d282-11e9-9ad3-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7e58c1a8-d282-11e9-9ad3-001a7dda7113 + x-ms-content-crc64: 9YZ0Lz6BXik= + x-ms-request-id: d3cda424-901e-002b-1e8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + obcW1vrGrfxy32kYF+a3j73xsLtY5cX8uCqLEkT1xiQj2FQP63sVsrIkjxdr7exUqVBNlTXwQLbs + q+5HCR0zOmPbmTgbkhdA/SYHtpKG+9PeYTK94Fr1WkpM2sUIJuXvaUly6XXoMCEpvs5BpeqrxRsv + OPJs8mA+0FcJ4756fmoJ2lK19y2r+kK2BjEBGZ1M5sCMzzmJhKT49WHeNYjRvZts5yXRYlgwUSTY + hw1nnNciclgeVwlmVgyzJMhpUcnVuOVgO10L4/xF4zQ2J+KTvsV2PXqncB+sJ+G/Np838B1csUKv + lWnHbjauevwJX0t1auYIRWNTTmff8YrZANNHtVhZTZFpL4trVXlMYwjmpCRcIqo4L6Wjv6n0VJfS + fiBkdzXJeOLDdiMDKOJOOvM3bWSEypyGwQOP9pKRCazumzg25c+p4u7GahGwaaT3IkdIqeFFd69A + apTPewrRClOztcxMQeE46lDbA/AeGXzqvZjCWUrFC1/J1rGiN+Aj2prLEmuRNOev0p/xhu8ZOcwg + ZH7uex4FJ7paS4dCtWSs/bPuBhPHwzlpZJrlhwB8KMKy3R9e/cpcIJpzZXH3Kkriu22H9PeLyOud + uPcVXRajfj2YZJKFwGCtx1YKXJuxP/DrKoBeHyGdGzO0U7YR0bm9i2n6zeyp13sBCD+Fxcj66c04 + JFaYIdrYnLGQLlfJSg/vuc34cnWKgIz1Lc5VD7EhjTYe16DLnpK2Tdlik4CoNkkeymkBnoZgj1Hw + 9blRk2nC+96GfziCxAWBQJhf1WtLpU8dUzhtTZIhcRGAdpAe++7Tr7cJmLywzXtE+UJ24N8382uJ + 4FYVRZIAteoTNMCUa0M6RNaDDL/0taVUBfbJHnc8lNdFplf+/EpnKdrBO5WOuznqvKGaRXqaanNI + 0k4YxrbG7DrC45LExUD7jvxPKuS/E0cZlEIfH00PG608waApIXUxIqRAi8AjQOgcwusIgFCWDvww + FfIJrtu5MH00+C3C7Wv3L6qwk1iBRoEqGg2zai1pSwWfK768ivuI2lkTeUggcWjfqxzMeoHJTM20 + K2aytk0rPOSPhOisQVbzl2+8DddEY2iwrjM6UALCZF2ruOY6AXIXS88S876zS8B3k6WKmsQZU3+u + zJQ3nuSYGPVSnc2uQqi559yNl+XwO+hHAVmC+mWFR+Az92frXI7sKTvE0mAFGVYacZkLD2GP6Lyz + sJ2k/KA/iDSZjhcf363ZaObK1nQ9g7AY/bPbVdq3AJ/PBMJMSFGWq7e4fl+ITnLUvOg0jnxlHXcJ + kwVx2K7NZ6QyumLYUJw+cHyPA08iwrxdK/ZQyfTzG4CaP1o0+etv/Zm9++VWfeV3BMoqJnERwg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7e6880c6-d282-11e9-b649-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7e6880c6-d282-11e9-b649-001a7dda7113 + x-ms-content-crc64: 26hKsFE/UW8= + x-ms-request-id: d3cda425-901e-002b-1f8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 0exzIIp3dd+FMiu33ey/4VwJxI0hiWA1WWXu21WaMPcsVKn63ZjyGo6ZHjq2AaJpbepbFSFfqmlp + Hl273PYbtxkDbF/3U4zI4azY86/MCem2oG9WtOod9I5P8nHvbQiuw/5UEXu1u4zs8iat8eYlOSNQ + YnlZuhEtyU7Z2FnaWwpk0uOgxtfPsq5BStqzpr+LuEwz2lEELaDWO+5drTuAENPV6szmyzfsmrLT + gn8b52DAwQKHIp/b4raMnDvzee8Ampip8MlcD7ob/ORGa8GVaXAbDdiGR7KFZT2brOXDMqEf9uum + LPu0APJ3IuM7QottMEJECvJaRycDpgx8QDrzn782efuFgMH8bln00/oFpcWoHtyNmPkYxr5m9opx + Tkts6uX5/db5KPsKBLdr00KDZd93iR2EUm26FrzGCOkXr2oOmFa/7NILGOciYI+3bP48NnrnVpwS + fqTe9fInNGLb4ixEzTcb9MUr6YUCtt43Qi+Di1w+jbEH9jdfwcUqX1XSVO8ofHIkaoxGyfSxljxf + QwmUMxrFR7EO+3P773AmbSOvpU+scrvK+t9nXL91u44TRyYQ0eraZJ0SK+8it/gi2rHMw/U63jk0 + SYuFYZ5M+1mtxVUDbs/c3NHWCUo0GzqtilYTZcRSUlrVizUy6vIQztRivdB5PXWsa+kks+6E8oxy + NCRhDGKPfCHBiYYysTX75ApBlImbErRO6HmFHlIgclJCQ14wPkp+4+l4yyURTe3raR155ONpROs3 + 8Vpd0EmXj2DdJRDXxOp4SJDVwwR9E0p0LC/f9a+VHPCkdqYXyvJntvzq5uH6N3WiefuDMU2ij4tR + Q2ysYwtC8ENGwU2uQ+jNTHVHJsAN54x3e4cjyPAV+i1rwhtaIgGMBTMsukngGWb9ARRLXLL8iP3T + 4dSqjpOi6sIwvZF6bdim5ALXRF79o4zD0jtepbba1/OxEx/JUDvauNJoUdLZN2U7EC88/BWpMWYO + 6DxpCloL2/Fx0VB2lbh2vpD+vDT5K7XirXPrbwJWK+d8sEjBKQ+YpECTKtyIvm5hnDfvy5h3XVjD + PkGlp96AXmJLNL2m0wV9MZrNZgFTbktUDi33Yj0VJ1WOEgZLy20OZVbhZ8vKTy9uvvX1HlvGqQme + GU9r2ZU8kAAD52NA6rziI18CB8zjujFJ2ItcDPsWK1d1j8qGedOcfGg2I4cWrESfhqc0OnN3Mwab + HWxkoc42PnK6DGjxJR3THM+q9zp11zyVrlMEIvYfQLFnjKaKcmZU3DrrqCjBnsnxP+fJPE+uHrmp + 5OlZrR92Oe+1y3kXLOvFwM3dgZdjiZbizQRThD2GMsh75mKAfbQOVqz2tM+sQPQDd+3TCd0qxg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7e772706-d282-11e9-a426-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:12 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7e772706-d282-11e9-a426-001a7dda7113 + x-ms-content-crc64: br4lOuMiOPc= + x-ms-request-id: d3cda426-901e-002b-208f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + JqxkzVnn2DsnfXsfCCeL0AbxOZzXH/gty071XoDJsdeqq7/boitqNZPhTjfaPyhospAlnArKzFnu + 7Hcn5Z4aKqDIcmHxq88nWYVxFx6LOYHk+cdkh17iJMnUlkWgDJmCfWtOXokpXgqGJuY3lY2+HmdI + Y3SNlKs5fENZlUQnteJGUBhV2mGVK91guol+wF8qBWOK/YPm8OOKCoDASJf0IEFqPq5zElTs4D59 + 0wEeIXAtp9YqJJ3CXlxSwiwFHGiCM2aVda3cLVQZODUas6NRDArvqqqBoNP65qnMMfYEb76XSeWd + 9BFR7dvXd6f7F00itjYZ8eBT2NIpKCAoKjwCQbh/pV1pzSWUHz8Zqni8vFwwOyQxadEevdj6SqIY + kala44ya1uEEWyPKwG/AlJE3K6M3ImX9qWenBLPp5u67dSMs/I/c3oTMXacYKei3QHWapeOFQdhp + anh2lb/h4TBEK4HDT4t4BzUPQxxH0X9UPFZ6DJrT6IMakhsNUyuv9fpioAW9XPrMc8NlmW/Td591 + 5C9kRI4UzKYwVxhEhml56yNjWW/PpfAJN2TlVL7tULsYVTrHKPlQe1rY4ITB7UnujvAcauHssKut + TyS8+aX+9wK86FX8DFs9ED8JHUN1zMRAbG1vUrOiK+6rD2mVZiBA/CvUMyYWfoIolbX9q9KZkWn1 + GS/T+HX0U8yQsPg7NNht+WnBsBvLZHnCRzUV06eP622bS7r7lUQOwrj1sATmo6q1i/JBMMSQvF25 + u/nLunxjosWuxUDf4JvEh9HaXEWMkgTToIjQKylQ+3JlOr9rB/vg9U4GuWs2ULbJLRJ73og5fQqV + 1XvliPwFFNg5R1OxLgjjqgJH9/rPqf2Shqibbz0rvhltlwNwXS5OUlWCIGK67xP7pfVezGvKA/LB + pO4IXyOVwdYWite/VEG7m48Qq7HajJp/ijH8uJDGuYWYwOqGspLtFkO00fy4uGaRbB3f2sJ5gT4u + 1cGsZ2MVqOrLNTciZNsNlRxRVgogpSXSRIpGZueu9u96agY1eFcNAmpCX4WhCEk55ee6Q3Mwk69/ + a78p3DQVOLPCyMticRXjOWBFObpDqG3qOFcEXdiLxQRMpiCKl1wga0BuRc/jSKjBR7n778iANNM8 + D+RJP54k63sKmea4qRTHvnNo2gxE9sI2K6X74Iv+Xq/E7BHbDW9TX7OxHwK1Em+7/OMIjhj1K2Ld + Bww6Ao+NtFoqEKXDklbnEzqJ53Quq98jaQVHnt60TCDbkKfSfEZ2op1vBzDdJil9O0NhMnS/aEn+ + mZoWPJ7GEE1kL5fm238KId3rTw0NQYdF4ztZ+1DEUDeHy1AHH/7oxkEO+NI6cxbPM9pKwOBWAg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7e872f06-d282-11e9-8a23-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:12 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7e872f06-d282-11e9-8a23-001a7dda7113 + x-ms-content-crc64: G+KewlnJ/rI= + x-ms-request-id: d3cda428-901e-002b-228f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + +kw8UFj7/GYBRgMi6jNxjrLdxR5sTSWa5NI0esA2UaoYruUkkfYJxt+50sHh1qK6TnjdPFNnc+MT + QDtYpueyKHr6H2MUkzdNt8l57ZN7yEAjYA+WArnNt36Z8iLDSyATMRxGtiu6jHzE0lM75xdXwZY8 + FOp45Heb43rEWhKYzMjs5e7QC9WwEoyoHeQDD7YyoIw5LSin1ZZo1s7M+Xf1SAKQ/qgJCfKmVmyJ + a1Qyn0HDsF7e30OaMQVbDsvDnJn+9t3r3bkqBu3kOh8QtEu1MA4ATchaPS+g6yfo+DHlpirSq8Z1 + wmdfoHq1TspAS60V4TptIkqgj62Eekfx6I3LEcPxhOSko1kYFTS3ndE2ggXqWHayBvqssv3mojSm + im0mE7F/MuHJFjqH5ZpLXyjilWuatrShJXAS0U217zZB4n1vbMyItc6mzAdPQwDxIMRq4OIot7Jz + LW1bQkfUvfWI/Co4f3omiuDZJNl+ZJLylb4NFMGriKvIOEqIKfooSWHdnA38XEmUmLpxQPkOuBqR + XtVZWyR9R33oq/7RfQRlpPBExonV4ImkQygOk/a+rR8QR85vKLG99mKttYsLKNXLX6yJySot/Eel + rbgOtByZt9QUKmdSTpA9f8fwU9RqtI0HoliOGSiP1n4ibSBCyJENc3fCge3WXE15rqmg/swXrfaQ + q6fbpxMzpYbYjAVXNClTXEFYMD1NfDgdYSACUp0ki2RlKkj0+/R7CZWAIpfuEYNI4gU/4sGRKAuu + pt19Jyf362AklkVnQdpARy5224NuE+mM0CQH9W0zgu89t5Zw5wiWXoeYViQmMcRTpFZmZezrug/D + 76+HvgrzuMYkIYsWXQRR0D38duVyAU+gDnhHUprCbxMHkrnCjOfTJmQTOEyzdY+ccBrQSp57jXWc + JcAH+EHGWDTysJcopVNgTs/BBbaeyyZh3TZfAwJ9Q01Slu6EA3ZFMQJ3Bg/KsTQ214Gdga9Pckwy + lq4KSfmFUxkMda8ja3zxQBXqbM6CkZe4aDdu1KbUimR32HEqMIMhnT0GXvCPXNFLBK8ZYPsDN3PY + 36XxKg00IikHa7tUTiI2MLFiCmbXak4RM57pi3gqYXjImvZn5uoR3EhNGaeA3Pq9Q6nnhelPzMJe + mmKmYzNU6097t7mGxOkSBrn8fPd0Q1iye6RYssFt60pEALIGWeNAqDEB21Kh0WZhK8Wi7SKDmAlH + RelxVoyLiZD1mu29izp6LFIn6lNWdbNyTNu4qCSQwzMq2UXLVNBWE4jXPS12Tjih1PV47X8UObU3 + RQ9jsV+9+kL4XjG4Yy43jo7NxMbvdnWg/Fz0BdrpwSI/cnG27FArPA4tgs8G6VYy5yl4YJ248w== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7e965cc8-d282-11e9-baa1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:12 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7e965cc8-d282-11e9-baa1-001a7dda7113 + x-ms-content-crc64: ecbD209mslA= + x-ms-request-id: d3cda42c-901e-002b-248f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + YdTzLe9sPXL4KGJbTOdUZgtBwjeVGXnKonPcSEiEVZksPeLxBUPbHSbnNPLjOVDudues6Dcoj+YG + syP7lWKjrBvxSQIhOmRFMUoRjwh5F5RswplpzKgvM0zmFvsBjU8j0cjYYyaMZRDb9qymLyKN6zjv + Js2utkAplYGn0EMYuSGKoVKh+OFr2dvfFecA/B5hIHaCKl3gyF4O+vy/mCTcRNyAPmrs+ZtmHJ6t + Jv07+GRO9xfZFvOkHUmLNNALjE073zO3GJgCeqJCq1lJxXRRvWMH2fch72QVZQDsoHx/AYxDRwHr + d3lOB2UiBFciBDm3yr6l82tWGD67BJOPl2CTHLzjZ909QBQXRARJyGYUqQLiJA8EAusUREsC/arP + DpiBZfaDvzf0eN4dDr+tEPsM4xtNhYS7hO0XL5HvrxKtAlk4xNZALCbAVfJ4+doCmx+WeQtvoYsP + ENaFU63pg0TiUFWSmQDDWE1nMpES36oIzDGQZ5XpJaXWl6F9wM1e8/ztIJEYmxSGe4fuPRqIqEqH + NVtZ0ufF/dNBD/JihE0nwHCaQnprOF8RA068txeMsMpyCaD0mUkDLNsSLqmrswXUXNvKHjteiHx1 + GpvQtwfDkveN+J1UkKwfi6ro17JXNrCEvycbJC8Qu/c1NQPyczIjvpB5rLT2l1+F79qlnRl1B/df + z6kAXugGsaiLBF/fLSoFNaue1RnCuz5c187WksdhqkBvJDI4wbCoDu8mYLiQF09Jgxf7btsVzfCw + 9hE3DKtQ8CC2ur5dO47gxySG4aLIf/VAZ5ptrY6xAuTI8hADILFPadPoGxFY3HS0UhMiAUZ9++d8 + p++mYc48Mrv2lLSnfCNnincw/AtBQXdHOKsO5GjCezNGTC3+z8ApO4Qt9GNHJ2Ld1rkKGLNusI0s + Z1pMPqr1EQrCsQnOHlTCAZfodds25ZpmBZHuOBPckRuq1yrLUyLud0+5om6v2WgfGiEtxQu+8pRR + eldI565wzxCzGPZ/1Sqf+RHYG/pdmMU4lkGy8xqs65LMIBBjp0/7htrJ5jVAHtcXmba0w/UorgYs + Czgyyl0Ww8nHJPX7n7JMkAGHoskuoTzy75/MRL1eTLjHvyPZbyj2dD/1shhFisUwrLrhLkexFxYx + bmlC9CCCp9IxKPZhXRfFzwQOj+3g5cpseH7pDUXTUQuRN8siKVV9Z5sOMcovEqadVzMtjkP1OiUH + m37aOip8Riu/HwFEfoAA5NttgBn5VP2aQLT3A/VkCvwz/BhsFVySZNA9Je4clnYjn5CxArTs2SUU + /h3vImeAmf4SIS45LRuqJxcUmh9/Z4UqKHA66hn6As9OvXz2bupYpLlH3jX2+g0+kcFL5tX0vQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7ea65922-d282-11e9-8a10-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:12 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:12 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7ea65922-d282-11e9-8a10-001a7dda7113 + x-ms-content-crc64: 6nTnVBlyUHw= + x-ms-request-id: d3cda42e-901e-002b-268f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + UEMx/poI1/SE2MqcLtBrlVAPqj0RCUpQ1wGrZmGwjnjJpzUfj4y6v1ZH+ZVIg7sZyb1fpwkH1vG9 + pHS6SM+LWN/13gD8KNMEfuWK8/iHDChZPjb0YOY2fkIVCj1UgVObiBNpbWulK+aDFsepPZmetb10 + T4dvl7p/zDyJ0Li7cssXkMKvC+Md3MDpGBCoVlUt6adEw2kOwqY70M5tswpu1oB8fh2vqbQYgaM9 + 3xvv40JCRMiFAr7UZ6yI0c/lCWoY7jWWzAlxrFg9WoYb3jMMRtB0qQib9Q82RAfB9wu/sHF9ZRUo + UPQ+96nfIVgm1g/yCkAsB9auWQXbZCURBiMdUfGQftT6K5DEPburyy90eRH37Q2xGn6+1O9SNHHW + iPSNeqcnFS8ejr2UPWbol3fToLbzbTtOBYQBlfg0MRQ/oKK0L3sEXcqZsqiHoV+7YoyHiFZ72fLn + 9LhSp6n6Hx/naFiNYW7AYgeA2JAoPAMcNvYj+enSPenB/ANtsa8wvxAtUsCNVBa+gitAYIi2irrb + a/cozFka68ajuY1UgZWN0elaWcGdWLTFZI8tVcJ/zUS+jaxCuJjUsGT++OUgt39ODUnanH6WF9oA + oJivwzQZQKcfpJYqewCK6+9NX66GZJ282DVwsqDuBQVCcsMQa7uzE+lmIFw6+e4K3kOhETfhAXux + v6+k0IL8bYo/53R6qRAfHX1jcBVBQhffhaCENXj9C8N2qTSRcWyuiRb3AyEr3WEwg+rjWQsYH/yv + evUJnNQyizMhJRi4ca/voXx+UNavuEZ1RyP6UYeeqtHbDTvevSEMJnsDVLJKgmEKeIMBrQqtFh/V + SZVHu87glNapItkfVklxeePxR5kTNRnrOPLR1wc/jRs+hx4Hfxi/41HHtGJCnMLmoPzMR7+mklF0 + NTvNB9D2pHczbcD+nXxipagxEnsYZtWAGjgYiBzpFtj9xyX2RvLPEXh+z+MRek/4z54B4JdXreHi + AHSwGBDenCKoraN567W/zj+laDXdgFUjotRNyxHMgEZt3weGNraQCP6/d3BjYDlF8iB+CeB/7Gsu + ZUfu4CaxGvzjm9hWuz/6O3nkJAvTgQyufAlbSWcN529PJero0UKaoGasZDRiyUDlnPDE08dUV0Jh + +8PGMzwqC68vSvsmZLz0OD49PJnVBKAGTqnHIa5fc5S0UZ6KjywD8qufr2Z8wHfQcJxEdLTt4L2n + tw9gAFfEW2Rp9zf7/hY8/hG7V3QAjUPas+OuSiDQMQTXrowauRp3SIL79jxJzRzI9wpL9KiVI0Ho + LH1KG7w9OobaDjaQMOSmVqX5nFx8UZDuEd/KUbK09ZygfOUewYEUWME4SAvUPrmIu3C0hE8+mQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7eb46dc8-d282-11e9-9ed5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:12 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:12 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7eb46dc8-d282-11e9-9ed5-001a7dda7113 + x-ms-content-crc64: A/UXi4kGbKk= + x-ms-request-id: d3cda432-901e-002b-2a8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 5Btydcu3mjvcUbD4aRL8pTmY32mUuVt0p8OJrOl+XthONLZhVQfHQqnDOJz8PN3n9SyKgGRoJH08 + clcwc+qMJw46wpVpJIDCq7cn1k55ydakR3ftFKWtMreYzEUIC6jgEqsGqifP02FOz2hUcz/KU3Ru + 1kKncbc74SsutJy1LFgXJzbmNI4TjpOB6lbpHyRj4h4CZq9VFZmej177SfAogA3kyVjZ/jSFHJDS + an+BueugAfAwQqyMfNL4hLwOpZGBiprLzoF2TTPx0na+gMbP7UckokiuDbGQP9RcntHi6vd0NKse + xBSUVdmIz4cE56ISDEd5neCkMr3AEquoemYOu04akF76jJP0PkDcKvxTz2K+kOOyGhJSPdtnXZQn + RlINoBBoxSs2sKjlwRSiTyzfxAPm8AUdEfoL2IJdlG6NfzOwKGCpL358MGJlBQRbvPwgSZLwwza/ + 0rZmkXBq5oTtMmC5kxQTJAVLTL7aeWqt1MgKd4hf78lmx0z5OhdvY1fYarQlJy1ir7x7yGObJi+8 + A6iYiWVuCrnJdKC6LSMZnr0bPcsouySuSEXANj0ELTHyKvl9LXnvq8w+I0HeL4hbqnjlV3pl9ES9 + AxjduyC09WvjSlj7Zd6fw4z7X6tOQ7vmrep7oTB509YS4e2wBiLCkGO4vOkSADsgl1WF2yt1UNyW + TluBDekoWKwsTiJAi3lCz+VvSsjKPYEJmHUL0B+XSL7UB8sx0Jo7+roPJl0OTgLnLwJS/ojR+qT4 + 0as7jh51y3drKBwM2B3Ia6huNNoUWyKQA6bquLiT1hKOAc12YhsqYapr4Oma/Y/2V1XKhLDDnDQ+ + 2qSknNF9sWx+xfqvgJqXRqb55UkDkuO5cRHuSDXAObByDjE8+kJMsAhiPne84INjSY2zM+iLsF4F + 8BwGMczzO0JBiLHARjKv3Z6rvMG6cuNW6zL+QSROD6+nJkQvg3IMfeOQktQcXHLHKPawsSHo+3qH + T9Ptb0de90cFbo3Y7ZCHXAgDTIKIMNfiD75j5Ks7JiwfqQygl0MBp0SRUGzXpcfeEJ32DogburGy + UvcHDZhL6UjloMr4HoGLnuN5r/XN8Bp3KIcy3LgNB/pEAbuwWgW3kIbGFy/zVinwjpHd63dYoPat + 809Tuy39sZ2fD6JYdbXAEFu4av7WTBPgLo9JkYesHnGiWsWqAiFvhcT2y8eACdwS+yH90EYw8zjI + kW+DPNXlCs/JidXcciokF34quUwZKfgdhu2trlrtLwEOoYBXydMfZi9OoI1kdusrfu5N5rr+wsrh + 0Ddo9wdg9qoxT1EXv1nl4i0qGzt60n3uyepXE4O6e5H4LhKoMq2pkC0n7tVySDBv78ppbquOEA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7ec1c83e-d282-11e9-a53c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:12 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:12 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7ec1c83e-d282-11e9-a53c-001a7dda7113 + x-ms-content-crc64: k8i0GntiPGc= + x-ms-request-id: d3cda433-901e-002b-2b8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + zGP7ghLTubRB5+HiaCwMQXeckCw0nJ7Pf+r1pd9t1Al2nNxRqr+vE8KjKi8gUlZaOiPQvt4IdUZb + iu60TRK3pA8EePYBrjUxg+2PEF3J4YYnBp6XF9nZvJ5RVWKwHFle+JSX2cLGnihTv15pyuTiofTX + CxPoto9oMGfz4zkWOU2hb/fQTjgCekE8nN2euQLlh9OE9hRb0IN0qPksaQ0b+nXWLNoQdTDnkKuJ + pY/NYREFBffpQOWlkS0ddMN5/e/yMUJgmSL9V/Qh+pJKKDiYi4w3PUxAMpp5R1gCqnNLSiw1Ucd7 + zQvhUEZfJKMzahkIHCKPjWkYACrW7ktgXoQrFfUGo8p14GpXchchp2E3A8Hkwe1mIua7Klg9+lf4 + SeSEW10ElrSQSg0OMv2cCRAPpPQhfgevgzNhf6PR98n+T11vz5krPTTFwR2TDU/9uzHbRQuN98ri + 5/y9exMqgrefiul/nqivf6odolJzmbBT7qAJ3PzH3H1xoku8BXwbeQiaIcFnbY5XrTNmmbrSWIid + Os25+l15crNx1xXWRgsFcnL7QHK41bR93F0CCVD+fYcgLcaUhLbqL2E1pKIvXRoA/FQqTtWipdtE + mnhczwKRVMclWLc6j7mcGrPU6M8eijBAodOiRRWDdoaB5l25kq5g4MRBWjVFXM9w5r5ArrdrhtpC + l2D2r5Dpaqqt165VVsJuCwLlancEBG/qLTfbWE89Ck4RDHZhLEi0fj7ue7m5DLU1ihNLFO9nJOYb + 95XDpUyn/vaad+Eu+pkwBdB5qp0iz6LI5+PFXKy1detua9O6iA6C6R7e0614BK1X01NlCuXAAMCh + 08hjZp9yJESA6+OV+7IquVm9293pm8Qy++MlxfVslV5vTJi9qTRTB/kFpYW8qpNUAXd5uzNRmB8o + T/2GWbA/7LymVN2b7VzjDhKd6DVcjEIEFt7h7zpoZidAcrmO71n874ScyH0iWlreKIIBMg4CJ2v2 + ajoRAtrYU1HCRHnP8emBYLntduID3JTLEb/YUCJ6QlWNn/AEwyGrjW0YRGwHju2KQRbeEyHn/qVI + EKxh9rMUR21LstpNcJeMhztiEre3JI8gU7q89yFitcEO+tJosVqTx+Z1hiK1K8VcJ45lQnjCu+FI + KMksdnJDUraDbspIx4Bmtb9U7DrSL0FtqJy187vHK+qqocEJMByfNz6tVpioaJLODjhtpxrDiA22 + 7Vo8D+c7uwR6JIfJAPPpv80r+ckkK/gi6Lh6zHNyslq7vgAi9z9tQtQPX7qRXyVLNbmmB4I/f2WV + V+pwWCXppiCFIkYxO3fl9cuM9FVLtuMZu/BTXt54esMfOOvDhlTWP5spj6qUuwAdG+KIOHN02Q== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7ecfb0a4-d282-11e9-ad24-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:12 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:12 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7ecfb0a4-d282-11e9-ad24-001a7dda7113 + x-ms-content-crc64: 4Z8qBQuiqZg= + x-ms-request-id: d3cda436-901e-002b-2c8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + qiAXieCjUzmSCnEqwVvvozrKD87b4wi5wz43VPSpdyGSd2MgDU1rgu0KLHxq0klVMn2AW/Oi+QAF + NWh8RnSCoqS8zM7zbPWKx0hI9EOD7qMich80BVPzcF9TRrhakdlenIRfa98ToCUx3OWCbw82Cjyx + fk4qjuRIDgU6AWDNmP7RIFpgIuJbcd7Ii2Jg7ayeBAtcMLFsZphY3urHjWqasBc7eocEJlt3isRS + COCyjVBP2Yfax5Tc/Jk5q64zVh/OE2NEUJmdKJgmskAqZ6HHOwfUr6VIexWpRyTw4qEE4RerOwi1 + tpMqfGdcQALdtS+1cmMB/cxB1wgq2/KgP5xvHpoKtYlEXCN232/SOU1aIe3uzfZWxa/MXitzNhu1 + bA4yuf6QBub8AJ9yETiL+VKbx1MrVz3LwSqkC1FIkLiILzHaxipPLUYbYvFpgrq8KuIRuKvV0wOU + 6hNxNF7ZU4ifBqil6ETBzNtIjOoFxllkmJXsZl6BQEWUCWP0+Vy+idzoMqxwsr9ryHDZpeICCcZf + w6hte9QpLA0Ehwe3hE5r8jnnxw/Jdsj6S0YCbScUCJpAufsDNHLXljzPi+T+UACltsBZJmsWnItf + 89pOz9FaGTqObeiNHiEZ2zLQSJNLqaeE24YTvHpGGfYlV2kouiPgOnBE4uhKdc4v+XJtaUoO3+DK + XtYkDUuOMb4ti5u5V/l5zguf3q3JMERsdJ3AdqTPPPOF1YlFBhjxP8hyz7+cOrRYLodUgkNg1db0 + MPRs7tucHBDFq+X2tXldHmRo1VnOjdaGEjBBAeWqDS0vBArcXUXoQ+AgN2ecK2iz72fw5cSVbSSN + Dj1ftBOrNDPD/lO6I8JeaNZ2Wrb4tXLaqk24ChxMaRS342EQWIv9lSSy8crUiEjOGAre1cnTv4Dn + ofBz+43pCSXbDOGzoiU0EIfVCeeSZO09a3F+afcxQwXhrS3qFdSG+qQNDzBY2xcLT/rQB/tvOwfL + 5DkzVCM7FvRgJ8G5QPjDx+TqvegjO1R+sx25RNC2TT5IvjsgarmSaqLpVF3DkCai16P8jXbZ2PBy + r6xTHseyW161U4BdbC2Y46tKe3mitJEl5m/N87mnSVHJy3bRTGzqAda4C8DRMnByp68TXwi8f9bG + T2nhEPg960JGNKEOb4aLmHz+2zgFicdhFU6ZFOgYihHjEAiwhGJlOlS/aaxbV11mlXgXsO3Fm4bu + p2Ft6LEo51d3B8zdpZsV1OkfaUYEI+ETiOp3L1lWodTID8dq7HJW2KaFDRJ64/IIGuymxLV/um/G + 4kJEfTf80/PfCEV6FzAcOVzaklJJDNYdjU5Qq1QzqEjKjj8PXrwQja+PU5nBmhuweRfQdif7Ng== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7edf21da-d282-11e9-b9cf-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:12 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:12 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7edf21da-d282-11e9-b9cf-001a7dda7113 + x-ms-content-crc64: viFey5tBWtc= + x-ms-request-id: d3cda437-901e-002b-2d8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + ELu1p6wztHUmY8vccs0tDGkjksUHnBr296WjD60B8cTn9UePw2bnkyFr1u/oypHnuq2kC60KKOjG + NKroKft+NUCf8fH6nLHO5AgSLTtrNV2aCpEGYAjeNXJi3UCP4KRknSKVo62gUGtuoHk0qQ14j4rv + 2S9UzkciqSWsYr4/Zkneulti4lq0qmI51yKfATweqrQqLC7gXDr9PO+hvWQfWzy5+B0hGWNWJjXs + 0A1LaMxU7zREw2YpZpQUeFVK2cQbbtc6BoJXXJLplvzqFIzUhNg5y/OwXT15dObkT94XbxH7gjaa + R2SWRgSGKwJbWc2ENZoVUuC+pUqOMAASBDSvWA3wTOdo72fZGYuozvyB2HrylDO4jTfphSNxhKgM + wTRjxmRXw8WFSuIvDJOXFnj6FZYVj69ApjBL/DrhEWYpqCCVIufp32K8pYk+U83TvzmRsI2J7Ado + zAKGRS8FLJkWYXRG9o0XImIv+zWQ1YTAhaTw2bXNg7F1ouy2bJ4t0ddgXZ613CvP1x8O9w7ikHTN + IEAhuQN45tO7puFS6AB6IXHgKu1qfHOyiauh1CbZ85AFFc9P1O4jjFOoZNRj0uOWFY9ae4W8j9yS + VCb9CgZ16sQCc9dYIMl5KhMPl0uraoz4/XBERNQ9lS7jec7p4TZz0JfC1ouhe49xgp07ctwo0Q3W + 9Ie/YQ1Ez9UYL9e70iDFhowMtFGyH3u7hKYuHtX6mImxG5u7Vx5yXthD7SxRJYZnYMgdDgGa1Gfo + Dn7cBdzvMKyoSsnZBZneROLI9zTRcYgr+RztHZiY2HHrYsU1WOflqFHTex0h6ltE7Hhpu0VYNQug + 9Y/Yo62wruL9x6znKufXtwslDt+YeDBAmkZzTY7NdIw1hvgxp5YNp9nayfJ7mQwgH3CcLn4rSqoG + ErQXhgCt1nDIvyKjSTL4OhBHYN19ME97jWlzDU5GvZVp5voUHnVvZfoutZRs+Lgcy3fCzAGbt1YV + oGvUwU1ySeL2eEWbWhvJEhY8jhTyvyTmRJ0uJ4DlAXc99gjT7OqWmpNCkQxhW2B+hYLpQ6ZBtzRI + qvOPCdhB30URYz+QjS/V2R5B69h78hlZwDvC7i+5wySkV/VsqOAWB9Pr0ZAx5SxBWhVu6n0s20P2 + UqoQie0mIKM8bxOs2o4eh3SBPGGhGBT3yp21JwxZ10X25LiggcTjkwNq0LjNsHPTPrHjj3ZTs609 + LQ9sOjEwIx3Z+ScR/KIhNUhyDJMOPiZ1ycnxRXaJhIah8Qsxddm4jswIiTnJYPivGRRMhP3npsi8 + NU8C2l8vsflqDE0TE/NEYQ4CW0xzv3XNvpQ7uI8BnvepHWwbJSej6mvJBiWqxsN7CpImsz+sQQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7eee2238-d282-11e9-a705-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:12 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:12 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7eee2238-d282-11e9-a705-001a7dda7113 + x-ms-content-crc64: OvAbrbFPnSU= + x-ms-request-id: d3cda439-901e-002b-2e8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + py6d/r8e/JDunEE05VlXM3Ds+oDO0xBpEofLftFav+CkAqbABdk+0ur9n7VLlVTEE1wgh3ZHZF18 + tf16xFx7sSJ786tszN6H8dPhCVsdwAQMQ3f9TuxoUJrIQntl7O7QRFWu6QvJNCIMbnuRtOluPfpy + jrYw95SyyRcAjjbAW1vc7mx5mYcZekylEDCed8XZ1RmhCv7OoPwp/uiWaGrPCFIAnmFMlhOlpvZo + Ij4Ss06e1cPTGQpIVbbDHE9jbuiTpc2M6k8zKdZf+PI50wW1iqanhvKu6wdRd/FkrXKTg7WMdVko + c96ryhOnOvfkvgAA53TtCnbQnTGsc3q1MjwMgg5mr0jpeE2AWeQyIOj8rBOM6KlbxdAxnqOIqOXN + nZ2DSD2vWzqnOhhx3eqVmMLA91FqeYZxsivYNO12w0JmhacZXCBg4wGKKYfrRPf3deewT8Z/cL4z + /nP2rF8H6FPU0U2qSXrycFbk2Xtwcw6ZxFHhWWFaU2Yy42gK2XWFSzJwo04dwwBdB1RHcFnrdTJt + 4hcBcLAdvpxhKRxnPQHBFMsDwWXdrpdZemUv281r+vN1w785TF5UVwv01BlGlMYawwgv2Mi2672u + uY6VIWzreSMV+tKIaEvcHbCMvBJWtB08I4BJ6cn+vPAceC3slG26qo26uA7m9r+BKR5Xjk3fRYKZ + f9IDTrLce/1K+mE6CjPFPYyx5vTMTl2ZcaF+cwVqaTgdf+u6Z1yvyqYMVXhkp59nchrExPbG0MDR + EuJE0xK+93qXcNGqBffYLvesa9aFFVcO3lpNfyMpKZBbJFgyDURBN7Z4uucvFeMby0ncpXOEwx2M + uV9SpKQ57+O13ZInuwztUhMNiA3nfQH7KgYgyLc0v+SEehsX3m/I12QUk3/IRFxY18c06L8q0mM4 + 35rv68gwrr98P3ScQDBgXe6fzTfvo5kUsgP+HdspaWbAYaPA5/nPGvgmhixBDlEcgv7sRHNSPrcj + Isu7GoHQRGp2OdFo/ISs/hCBsFkqTcL0X1fIW49xxWX55DIfEcyC28VZzxjVGTKd9NIKUeCkDxwz + Z6sCOkwswfJQDKRlOkg3TkGfLw0lw7PCK/O7cICq9peH8nyvu7AphG57zdMkiwT0iE4Gsr9bY+ft + dm4JXOETtGcAH/YVDbl12U6E959y6CdUjNuDgu7w5jaN425C62TExlADFrgX3jbR8ROLcb8v3MIe + 3fW6kkKeJCTBkiDf3avDRJ9VDPKc7p6EE13b26ASegkfIuvBF261OSVZ6xK19Q50AZDqZt81oiWu + q0CgXjGIlJJ+4dyTB0v8a4o0xZtXaFSJFNOpCCg4MPlecCG+/KK4IaYzpzOomWFQ6V5T5baUqA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7efd59f4-d282-11e9-9cc7-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:12 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:12 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7efd59f4-d282-11e9-9cc7-001a7dda7113 + x-ms-content-crc64: 80bT5lUDi10= + x-ms-request-id: d3cda43a-901e-002b-2f8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + mtKBerHcSm63GNsATevVnUGOdsP+Gxew3YcRmMdNns5aglqutyTsWaoXpBju/tuiQA7daZLu+eTI + z4SEwM+GiYaZfirvSvFygvoLgSnvLQOUYVhZYjHn4NUM0hX4xSlF/Glo2bSxakfg7n9gb7WhCuNe + CIgUKKFQwg762uPAdiFYDkkL2KKwSFCmTCXvFDMd+HtwYz7py4TtWaWltQWfagIC32QsJ5xW9uPO + rCPivJ3I7K6T3ZpEzC61zStEDH1J6CD7iMwW9Hbl/Xqm3PcJH0UBburpKEGRO2HZNu73/ZzdlUET + MGBq3FSvjaq9f/ayRUeEoOcxqz44GTL5KtQaEfDB5YHANdC6n0iylRJ0MBq2WmdpN7nQHml0Furi + 8FUlNKWmL0i+Ke5TdZfA5jxZsAx3EUh3Z1i4NSQKGK1q8zEh5V3AgcSpaGyeH85D7oNW0rYrDyJY + csZtyrXunOViXX+oErjGnBVkoWJV8fLWYmhAfYp0CzjESW3CpgHs5ebQGCebktL7li1ViMN9EcnH + UqiZRVv9f0kHtzrG6AjWk0t+o5AVxK8klHQO6G4YChIuS30ZJCl/q6PLVrtTHDhNPnhrrq+o26cd + 9yYOB0UTZ1SqoHEYk1dcoU93mgvF7UPlJ8rnW7usOUqdStCbFdnobstEklMO+krhTOvwwuTO8C51 + FwhVHnXP4/QPTLaRp2667ekA7+sC9erriXMUbReoC7l8v+2KmTkqpZhbqufvKzBKGmARYnXn01gi + 9F0X2i95Rz/YbEN0tebGawwTsIz5HW4p7SnvWcHs0D4JgTpa9i/q/O6zAcrF8lvRwBElaGjtcDbH + p8tKdiXwQ38vXq/c8c6NAet/tOs/VnwbsZ2DV/KzEPQDKIvkTefTfTntEksIdD7GS8izfONUo2t8 + BNdTjev1oy7Xyp4WTLdVfo0OT9DM8DlejvVcX+dUNrDtXjfdq4vo/iNDAfEPoIOPlmUcXM/wghUk + q6hNaey48GUpH28n3qBD6+3gYRtLIcAAg86UzCMjgfukPlEu2WkgBxPEOR3raF4GXfRI0NKsyGVa + zL7fvpmHH2JWf5fcozhJqwFz+sNtBiovgZtNOGGC093cJ7DcbycwZSze9r35idDEXJx83eqYHa0Q + tEVLrLeWrpUsnOcuUMC/lnq3os/UZ1P8rXvZbXpgG3leHHhf6cmGtmvnOikIaT+F8KDl6ZMyNbMU + wyrYws9YrAsEL6Hk6kgQBjBSoRkNnQt3MRv54qu7kEcpqfBLaDkB76O3kxXhoqFP9pygIRN0Otrl + cBvsZ+DDAm/muiNmEouZbPucHZLLAzEgshvtoYU6YHA4uVLIWv2ohvLzPu9IGkHSvTk+P5vFdw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7f0d457a-d282-11e9-adfe-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:13 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:12 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7f0d457a-d282-11e9-adfe-001a7dda7113 + x-ms-content-crc64: YJz2UVmkhIs= + x-ms-request-id: d3cda43c-901e-002b-318f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + ByPO6NESEy1yahYxZ9ElzTZ9JUldua94ulXWbgk3y/xNZayWwpaDvYeEXhL1o+XFcuJgns4GyNwH + 4K2rWjCrLMA8zBvaIM9UxRKp3S88qCywZ4MC5+TjTpS6hUmvBNEVbAfdL/l8jIhzJEXlUmP3m0Ow + XdkYk+EUz5fGLt2AOzRPmLW3zoku7BtwPfABQWmkj9yfgmPAPXKasFUwrhM4nWxMs9fbYM8jeY9Y + 32GrP+C/ehmXaQJ4an2yGl1PP31mUQv6zQzk1rSQUGZYeuYjcgWT2em8DDj6UlpV/N16n7fEDoCl + N6TSRt/WuY+oEhM0TGrfj+nn3Wslf30xY1HvYfhlmiGLGsoSOVXHePr9vqgUzyo29sW22JN80ZfD + NxnEHY6GVojE8dhOhqAX8g9Lg1wv9EvOl0lF22jwX5oO8KGrn0i5tyxf2++trlkQjLGZxJ/LGLdW + DgMIl4DKSlcKTox8MrWxYSPOjajIc1XTeWefHQJ9rFlEJvRgSUOxwEJ/X0xJnIeqIK6hfMhRPug7 + xFfeP54xs0ntfdl+eniOQAh2bOlT8LBk+DQeK116cJtu/BXyhAUWsurB9lMYAb8goNv0oFep30RN + hZCPF8ikJZ0hZYdvQD21p2lWZUiYFFk6sNOEdbvEzJ/oixRnDQiMp9TNTgLYW3O05b8vpkHgg1AT + pUU9/jQqNmWSsBe1c/BwEBPTmg3FSOOKLFNs5HZMYhNBkIGceuZz8DNENHHPg4RxRxpKcARHe6++ + bk1yqrUrCx2NF9N9nqWIfDdVAZZrlFMkuFfD3vSUQ6rtmFjCpwBMVpprq0XUm925B7lumu7RHSsm + 5OeEO/BMh04yWgVptRp42IbFjMLJ+vstRspkBOP7AS8OGWVGuN/Kr7KhrnsYYetXbrCeyeZwW0oO + g+g8lNXw6rcwwoBbdS6QlYHDROpRUbr4zgsmLidp3UQK4OA6TQbwKnIVgF64xBhfhnS8Zxn1FEOM + 59Z5ZXERQDoWZCGWtHL5lP1OCTTRhBM4ABmp6Vt1TpuaMlroygistEFAhqRfvwMmGBULmCiDXY8U + xusT7e6FY67ra9ulc174+6/uuD/1ooiB5iqMoEK9b/iim2cEt2rZZCjbfbJQLcDlNvIHIvivdP0U + L4ELBdgZmsN8GyX7GIK/zVS30hwzkU3SfhL01etlaXrq39LoUP4xqHgHf+ekNdIXrpDJG1y0bQmh + P+wUVidN36/GNtQvjtVooc/mPVNSxEgRJMBmCML+Or578/lfu48ybae5cfCsWHmEq/FFalopp8bB + fegBTmASEBqLlwpfj1bLsB8sUlnqa8A2zvsh81lRgx89gL0nsz03MPofx8RUPl5C+B5Hy6Ja5w== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7f1c285e-d282-11e9-96df-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:13 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:12 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7f1c285e-d282-11e9-96df-001a7dda7113 + x-ms-content-crc64: T6TuKJGWXTE= + x-ms-request-id: d3cda43d-901e-002b-328f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + KdjZytdLTsF9tRmfdQIzsmlsNWt3rQlgkYVEGjQ4PNfvKVR3O+f09EBd+qWcNwKMv51wwsb1Q/ar + h4hCTbMsDvlNSnQEndsK/mcqtx8OHQ3ZUt8Q8RepPEhGP9MwZV340/ZDp9XuosWFeLiOnTscp+to + T3spGti3Aa2ygFDyWDABNFs/ZTi8WdYF+peldOrHoALI51nhTrqbIpEBm6hg4yM2kLawj6xjt+6V + woz+4zSl74vRfWxcyzNMxS2TA8WzWSmwL5tZhn57aib2BPenl5ag0GxImy6yuKu3th183IKciygK + +5oq9AMcBb7moiPitNguJCIkqoEdQbnfcJI5HihK2BuJG5zYeTL3fWzBdRmRZBwPs4PpRwTeEhtn + RA8ZWjNZDRpoigRU5YCsI/xYd15aed0VNWZquix8YsMbT/hfFXhaXJiB9CktWjmKq/uS2BXm6iHX + E5EPb55ZsqZIz5p/NpzG7iCfeHkNU2qf5fjZW3Yw7GbkUtWR6g/4WHzOhkb27gYffbZym/uF/uEg + S4XZm9m/nfAbNr55L9ESBu72mte7aSmYDs1NRa4onSfqUj1rJLgUvhgmt2JmaWdL2MU3t7iQQQBG + 7Id4WEOaBQ3o/TBIc/Jbkc8f74d2OVxbmsdSuFpgQCarPVhaPtCqcqGWxCzS1mAYhAfPcZ0XFhPm + JUUP8SG3izBWTxr5ECjoZsq+VfAf6oBHtZCqiD3DmJlGuQW8CGqaruc4oq9IGrkyToQVfZCmdSJR + JKIpV3biB8Bi1JNQmrpn9RJ7Q8z1GQKCkulCAFDgFbppe+6Zaaw3m/qOHxuVN0rp4J7C6QEtpxwG + GVWTwpy3h5zx3J/u1Vgp88LiJ8oMZFkTAEkuQfYeUkk4p6Dyv0IhyJpFgfuF0hC1WVwFtcSbTag4 + hxw6So+NaSd4yk4ABGY/V8v74ClKMy2ZPb2rcJApmpr+08xfyoo2AzZKK+XYXdSdmLeDR3d68DL7 + Q+FyqGdA7ROiD/fjlO5Wm+o6sXe84Hht/Ry+iSoulF0I/ErFTKI5uX1a7T/Sl7W0V2Yiam0bT2MX + aKvbv5hgEeciN0XR8AhE4nDUK0UaiGQmeZrKGHkYyafkPg5CJYB7H9JnAajkhFFBhrVDa+jT/Rv4 + V7tCzL1Z+saB4vfF7O8QZPwR946HkZEd9RQyc6I2rzsP+OI97xne0mkoMmFRhE50gN34/sUQErAJ + +1xpJ3XaZOFMAIa6Yxv2fjqggdSc/Pb2lUngBaeGmlNRXck3cDoeEE56ZbNmv2rwazCxknKIaG4D + 9k4ul15CS1VPxSsGcY561XBEJJnsi7omw1y20bV+IByLL2goH78nWuRg3E9+sBsyA7W2Kq4sCQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7f2a574c-d282-11e9-b315-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:13 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:12 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7f2a574c-d282-11e9-b315-001a7dda7113 + x-ms-content-crc64: abfQf0KfXo8= + x-ms-request-id: d3cda43e-901e-002b-338f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + l6bynW0iaYOzqA046y9pNXv0zZPwr0ehasb+dl66ifrIELKX6vA+TvBq81eGiP6nJ2dTeazd0RuJ + VzVcsWBMaPMqx+FKqyGb2FrlJLyTKqYEJKc+QtICSVamujUBd2CfmIMZSfateWuRp47bR6zLxk/h + Zd1gCchUMSEFNCxfkNkMwE0zD1ZZVWMIB7bdBvYSRfWaHBor5eH7GQaXDivPsAB2oJzy7IA+qJHE + tKHDsRheJSOFNElmumVhW9C1faCR/NYnY2aEEwe7aIyAYkBcUCd+0bQxLVTof85A2TfoajeIzYsc + AYJUTu8PYtxxvi0hZoW61RO0dgvJLjo0aY0TsrrWFZGAQ8+D5W2+osBvPRjxYHTwEWF5nTUgnGjE + 0o/q1a38/jaZB76du023Gjy+Bd9+VtdWxNfyDe+v1UyUIrQ19E5RP/fDL8X1+cWWWmWNQfhs87bb + 5kutdLRUS/aKZDDfx+LR1fldczMpuB7z2tMTZI+YbmqwhHfwaC3n3epaVY3dvLHmgcMsNAZvPDqC + /H7pKPIuo1fD/WElUVLavIai5qGFZZDpXi8x20tsNtDjUU9GaKNEd7OIjSfG6++1I5+70jUR/hkc + uvGS9ym+NjICg7efW+jbO/G/MRDKDULiqnWFFGaY5tYwrtJcfgGrZtumddsrGf0PJDBLDL0tEKG/ + CpxCtSV2Idz77g/BdSN1He74KXNrka2Np8rIeEu3vBfIroff7qiMFH/np7v8cTgXmwlgQYp6S6jS + McpUOg6DdOTaDzpkO1A5W6dZhhEHLfgsCPt3S+ojn2HjRPcwyTzPm6mug+EufrIs77yNh7qgdK0M + mzTxiN9ysA9q+X9W3GHd0/FTZOmLmXV2Yxtc8S2ePAsP3I6HQ45U4V4Uh6OI7QRpxZ9ZfPM1DEo1 + IE1kejH+o5Tz7XoGRefJNsBoQwp8c6/nyctsEIHnsYZxKINWao2co1WoTCATXnNtfHR8WepE9pfA + RI/FSmXD6dIyUEx6kKFt2s1pM/gN6jLu2w5HODmQ3DpWTofZyFEqnD7fbMCqZTo9+OWQGcCo7d/o + p3qKrMNBzZa4BLc54cExxmrkVLA3WmrHrD1ez+N/t0c1DoJW0JJnuc6hmpWC5M2z+oX21xs6uR2h + nNkW8DIWnEjNsWRBvKnuH0VT4BE9YBasKBTV69HUTj65iySVuVfFNk+/6RyZhA4m8ncS0jECW5Nr + 1Yo8Mt8on8qoXKrD80g1rvNbwLF2KTLeH+7p7HBmhAT160oeC41Avzwwy8HXVSvbrFDWBpOMg3pW + ccUTPgydeAU/DNIekR6bE6ppAwuL2GYtftn4VwgeA2A/uL9XStJoPARSDvqO5Rg7VbIXalxhvA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7f3a143a-d282-11e9-b0c2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:13 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7f3a143a-d282-11e9-b0c2-001a7dda7113 + x-ms-content-crc64: YW0bEN9qBqc= + x-ms-request-id: d3cda440-901e-002b-358f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + cooddwuUJTsLo66l9iURX7EM9iXmJ499AV1pEl8AplYx5lUzcEM2HFvIOXoUhgTKDSLH3H9/X2xx + IvqI36dhxnjb4UKIVWx2h22fcrjQKB94ArjLU55CIPYXVu98dcsG07m1FA2TDedLxrOdQS8NYcfX + KWPuQ2bApVKPglTUKhQ8Ce7d4V9KFxUR3Sa9kdH1CPQbn32s0ZVeocDtGhbbdk9Cp5oNnqy6+6df + rQbnDIhoENHMy0EyfTYYdbseUWweHFsq41rNc298XSGdTRf4IXi/NkKSSELaCMfWb/40n6dfmMO6 + SfkttDcTZEnbiOKk5tKkmpT6tRaQH/a7x8PwpfxB0qfvdbHDt6seWpFqY+lqmd/i8pPxm74m0PK2 + TtTNaY42gQJpxyD8tSWkZn+kekl5eIhBXXyBgn8piE9lUlV/EloUbCeKiQML6l57sHEEmYZtlOJh + GSQtnagaSXUcsyyYMtiRKIQDw8oA154dp01lRG0JLX45vPwv0ZcNRdTkRmiFDEQNNF61IhEgkYlx + D6sEuuoAXAeikEqP4L5GcC2jtgoS1G3sLjx3+dNVZC53xPh60TR7wy7JwXwZS21LoBS4BpDT3x9W + bcAOv07gPEJC/dLrWUcB7RomvJ/nzbKYVzmijDdUTJ+26Da+6rvgmEgcMYSczk5OYFd9lw/EVxZa + wuMfMbu1BITbQci5snMzNdZedB1cUudRASTLUgN20DzwRMU9GVYGUkatVazgd21ZhbGUvFGzDHQ8 + BvBI8oQSZ1A8AaXLEFD9mt7JxN/iHbBk/RfW4hiDtfdxc0k105ATsCNfiCz9OPra6bxmSFAdW667 + +LZ/BwbytlyB2p93uUAGFMgiIXPgrCCDAj43YJ+m9xKXrdNc+x4dyhf9WCo/qdJjKmzL/h2Ps97V + H9XghqTtPvn9ciNhm3O5hYFWKhGvSbxw5WbCx0qQxsP+uILwfFNrVlsY9vfleOAwKwHdL4j1UhCJ + nrvVjf45FGRvwOysQpiIADnN0uHOzlrw8mvhe+hQ+g3DODkeOxKLHj92Myq/CR+MkFkAHPFTEhmE + ty1zg8S0QfFlyGo+sQ+dGWo4yM1jaBA6KEgGQ0Bj9aLNJgfPWgfuVC2qZSE1bu9bbL3BR8WOObN1 + xj64GW3rtyfW/B3pIIqGLvrB3gIUefUhmyHWAC+wgMImBauJBtF1py845Lu3omb5eY5ZaqOSrSlZ + HInSEPZ6AIYE6023LhRTIUC6g4jDiSfd59MV+DBP3MVkiVAHVfrgtOOEx1RVD8c3SlZhLlI6Ixod + vjA0RepXy7H+zniSZvmveiWlPO45Bep3RgNcO7+xOEY1h7deRrwZKHJ1gFDX9rfUcj1BxTVnAQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7f4c109a-d282-11e9-b276-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:13 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7f4c109a-d282-11e9-b276-001a7dda7113 + x-ms-content-crc64: 41PLPUubeh8= + x-ms-request-id: d3cda441-901e-002b-368f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + sm+N6bt/nybeCndLCP46ryuMZpnmnhe8oEtAyWUSPs1AVJS1LB6eI2P0kvQ6XtUMz2LVG6a1mbBK + S1Zp6fZ5WsL0viaIbPfAy12lpc+OBLeZoKf+nu0RcnsiGylUEqOqacQr2trBCzSaXvHh/OHbw/ng + Gzi3MU7YIdWOWa9WaOYFg9eVUTmml535g9OuJT/ctThxmJ6PpOvHN6IlgfVjcIkH706W/slYmqKn + 6F6WlhTsgd/iRbEBTAbe58fI62WpOHnkSHbq5d1EtMw63P7Kyfgbl2C67LIAaFUUZjL2FPYTIGaK + Oa/4zW9IPapL4hI1NnptJtHhWIQLNgIW0tZX1Af7ulkQq6OLkEad/gOs+CzmC49Rj/4vR6AotDTC + 8dNW3Tcfh7gZS7EGsreEByJ2Hi9Q0W8fKIWcYZfosIRxceP6aGWRE7AHmEqwnE6Rw9LPimMZPUg2 + ibUB4HPB4R6iWerKjMS6mo2LkDjW+fCC+39qFreawtDAxEN/S34M8yo1EaDie2Gn207w5yqzLI/z + q2HRyGfmMqji+T0fVIqlsQQ/MCh/te+dzq3TFmlMixIU1buoB4d1WkZyc8aNeOWiwNa+RQC+8kAg + P5LErsknyJm6qhA64hKxWf45M5KM7L3mBj7S/pEXcwfE7dur0cFuKUe/LEe0hIBAZ2B0IPB/5yUx + DgSqCXJI2M1FkZsCAfd2eQuVg6U4ch5ypLztH9yb7PEATZWNxWKa3o/RZC+SNmiZPypFYlLiXrsh + tRgzlVBQfeuQqgar2RhAX8pYtUz5PCH9Q/RAoSghcz4pKXXiQtOYcdKELSdsAn2CNUaaveXo6gSA + Al/Iy+SmlKi9WgnUKXF8vlS70dGRxt4mLPFEe6I0Ce3l3Pt2VO7NqC2nZd0qgyVM1A07hv4EMzFO + OoJ3cFZ7OUI/n4f33xQNrNgh+ZtK6R6YVJSILmELG6ySXAAx/vPYpkdJDqQTPXctVazYmdCTFaZ6 + bEWhfUXsWHRm5Q1GkKn5uu+AtKRg0Y1A6osTY8WfPLEeszNcTlAlpH9aIIs3MFegHVQQpk2jKIFa + sGzwiE6MeaUzgp5DqKF/7+Ph5g4kgRMC4x5ww14rUXyGUVLhCZqQ4s1sbwnvHaL2bQoqJCPRa9rk + bTvCDCEy4iASSB8eW0PKMXMSUAXjKIb6LOKRxqGbZi9Z49/LKprNX4uDwLjdI0f9KHyEsOeQQ0z0 + 6FsXtB3VfLqoiL1u82ZKe2T8e6VKAkJyumyjtC5CXRv+gD4gJaMA5+99QRd+WQOh4RNkuE6U8QrV + 1sTpfzmtKt0SWhnu34AJk+x7jPxhj3IbhGB36e3pE8CIMo74hAiu7cbu/MHeoyr4kvznx7RtXg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7f5b7f4a-d282-11e9-a1aa-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:13 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7f5b7f4a-d282-11e9-a1aa-001a7dda7113 + x-ms-content-crc64: VMOvKMsq8nc= + x-ms-request-id: d3cda442-901e-002b-378f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + fo3yz8/fTelvJFK4+n6q5zehCXm8yqQ5gGAoa12JfKO0pSh8OH8rfcygpqDYyzfs0iu5eokKCLWk + 01Ka4IzJIC2Itpn7pHet+C+DfHYl/OJ4LJT20svYhpuWPSbTgOChqC3NRYCetrY/e2LDy/0vKpI3 + lFC1aluKncFu8q+Q4efN3DSTWY8tV5rTRtLmaCsOIj5Vb+OWJSNoBEQYjR6s3kARXNxPMcwXr/pN + zegH8cQnXp+Ez3Xg0Tm7RVtC5PxBz7bOhbHGWnModqy4VRYyTXsgWrFNMwKU6gUHnmvUXBh4FGhp + s+O5NmRB7JRBymDD2fKdp/kxl3GNfjGUazkdvV4NJNiuVd+uP2uf6LolxufGOeVVdjpoiTfdVzLB + kSpIn3uF7Kwuzf5yZ+bnacYT4/3XqWZuoUBiGzmXqruxiBtqTfSzlwhcDN5oRlr0hjODEFqwRI1U + gyOFB5XtaQvo7jg/G8jyAf03P4xxUam5NRYVBb54pDA8x0Gu4CtSIOdTzekU79XFQHsOPCRq+yzZ + RGaCVS6kHKCis5XlYuHM7cLJfM2RG9DCvm66tGhiGAt0L/1nJTCBCWaukK3XqiSx67uz/sEMlJkO + TKbbDT/g1u1iARt+72Yw4Wy18c9XyLGlyiG52jPZyzwCxJQ7B10l3wob25qzBWe9Rqj8pGRQI1/4 + a7D0TgOFEECQ9exw7Jia0WjzxKiYxfpMyyF4uXDPQzKFw3QpaV6vt/eEcE6KKTL95itIb3wNHKm1 + 1EtHlPAJxn7xYzfEe1TvJ6Z9RYHpLka+HM8yC3Ca7jRbMY2N1QTuTUeq8NvPDHSZm0ANgQFzJ+1Q + JhRruEDcHNbR5zWxJuLeiGK/jLsN72LVfZb0hI2am456q1Gtj/UH6RJwYbeFOJn1kxwLJRxOFZlD + fleIBwvOSMAsqhKVVp7fyhbKfpHFN/1elsjgIe7AWyGGowLJYQJ3daAhZXncoKqGR00S2s18yml/ + Xv31xF+Y21qbs0pT5/ZYkwsvtgLJ5Bom6j86m4E8JV6fKytPBY1DKPKvKBlJ4n77Gq+Y9VFkCaYm + 74FfFFpSGza8/FSAcghCLEDnhmk4a64v4fSgDvUVN61nnkI8WYQMXiNQHcY5sVwBur9ApX6txPnI + RNq1CxlGVPFxIlRAM89PiRv9wzuuUYb8/YJmbPQv9PYhG/6OYm32ptBcq1rvIT68vKOHZyc4seQL + JdtUeTplfTFzACIJpcov2lb0hWEdPRfAEDimoggkiwmK/sppFCjqDDKwMl10LF2QQADsyI1T5Fam + NACcMakmO/dRSDkVKmVHfzFZ3YbzOYwOWZFQweAHiyX0/JrmxVlaUnvzjih9AiVzcJexetqvdw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7f69fa2e-d282-11e9-99f5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:13 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7f69fa2e-d282-11e9-99f5-001a7dda7113 + x-ms-content-crc64: iPdULBzblkc= + x-ms-request-id: d3cda445-901e-002b-398f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + D4Jw+osNXNNEpAwUL3qiAPV4J/7ANomLb7HTZzWBxdRCuSqcH2OeQBV59ceROvUKXloab2An/JWS + 3JQpxM/Rp+F2iM1TmWTt7eSSA9lIajRrVAZSVzY6ZsAHMotUSIWp3Tm6nTporlMh2HnPsoaE14rX + Fpwj8fJBSo8YbkZixn4taYhKlGMWpaQ+wcCchApnGcKwW81GsdA2JhK4XydceUPblvjKDm12ro1a + fLNxFWaXmAFwLeTFPNa93PxHHgCYed2OR846h0fDeoE4l38dUKSBcmSuOFbhC/1K5jlQamjeyCxK + 136mv6JW7f2aGPlpsL4ql9ghcWIM9WMcWFpOfjgmH5l69qtOnNR3DQ3kTqu85x4zfFMdD6BcgtEQ + q8W85D52B25pC1BJ77wgAXQ4aZmY34tRSNFtVrY/rfAeoG3l/an2W5ocDTCvsLz2Eallha2hAYfh + gQczTibLCxUxeuuQtP6UGdhHlg27Un3XHAWmtYMcqjnEjIu+108M59yHTLFn2oOIHjGcXgepqp2O + p8Vgln4cvOHPYp1QXfL15MhxcsBpBpmOQob59UlokYqnC3RUhnKwbzziDE8CTa5/O+O1OcE7MkNn + GoeYZM1/FxZn+xjrkndYl4DlqWQ0Sd7+1arSLW6BXP7CXwm1a3AorKaBBv3E4oU54qWACdAEJkEG + 3doqeHQamQS+K/C2HZuc8Bj4hCE93q+nPqNBPRvFo4RLUA/oLwlyiLwNe++hpR2dmWegDHAJabzY + nbQ7X3VcJHuNddA+nPiIeZVW0bcMfZpECWjd2EfWICdA+KePB4FNYIMK1lzBWwYxlFNu3/qV8RZd + Sc0cqCiu+jTyUD/jWXceFoY/fD1fdTS2JtHfQQPKXrruMwLbadaS4MBYVLxyEb3YX3kJYt6ftZS8 + a/WFI3Vr0RhfI4Oeaw1A47SohR3JC+CflaDI6eA2eHgfH50fGjwvGnnpcpQTasTX5xOp4rX1km9A + I3OrkKCyX94OLtHSU9j8AICKNRJNPS7AtX5GR5y+sMY8VnrY3yldVrz+bFsxAZq+TFuaneRMAn6c + QJXZ++gbLerffImykB+k7zvaI6GNEEzGBJkBm/uetDiimDguqyJRkvANPyVaHtRnGNbzYHa+E8B+ + CWx+rHQuMyNLEI/e/qkzP/eqJArNNHnlq9ynFt/lCcwKI0qBAzMgeWlHm+qVEYRfDma8SrHJXW7X + nUkA6rItB0XRlXkkjf3oTU7VFOiOkR3LWpbXnDzv6UGuRFqyNM94jMc09VN00Fw0mALNjFlLSCMs + cs33b8PiCxkYMNdGcu9MSVtN8PSwNeEpFGuHg3pZk2Tjo21rulp3QVmFf/wex0kXbQfLBuVs4A== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7f7a4826-d282-11e9-a900-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:13 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7f7a4826-d282-11e9-a900-001a7dda7113 + x-ms-content-crc64: uuIWOOYOsvA= + x-ms-request-id: d3cda448-901e-002b-3b8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + loHjUDsiRuLDh5qlqfhDVQSSsmbIuAIIBwleNZXLpvXNhMCj8dAynNPkdM0xeseSpGH2pYBBMxZ8 + wMxHvEyesAPtDLYVSDsABhlTUbsd3YlRlQwhtckAgdc9GLZE9kndcpJ/upo1ZMtiKsqfd1t5U6kB + UZJvYN/XOgX7qB3oxi0X4E4nhYRc2bR8Zx47c2HdnK5wymSPmwsqLh6ylm4RRTOStl2zaoad4e13 + 6Gmy+5KBPG8nv5ldEjPHgXAkhfztAfSpsG1yFqwJBomZi5LtiVvSHn91BveNYxcjmU0+YfcDf+th + 6za4t+18oHhlqUU52xQHD7iaM1YzD5gM0AQCJpBk0XWtlNiq7c9Z4K8sGaZZI4FmzlBBTXCTeT75 + dEgi8jxZ43xXv/f+0lTgl9E7EUobNEs0fy0elA1N2RJkDVC1+b05DGOG8LFCt0SMk/tgN95Pjr/+ + Purf7H1dbNmeAl/XSbVMr3DHOIR4z7+uu4J4bWecS63kuP1dgnmWwF3UsPf+PzFDXY7DBqH5Oas5 + UsXUUmu4IyukZd0D2OMfhyELDBp4Bmfqx360xwt0ChqfPbwqDTVaxQEWYPnNE+p82eh6IlMi6nAa + Jv1YrVHKVakGaPSU6k16T2DPuwDnih0ZH8TGvXJN+W2efReXwBp/UQCjhFSP/rkyHuA2ZvdnuJ4F + dUxdHrjn7f4QCdEoDeV7mOhdAFT6YFoiXvDd1oZnaywJiAsxLQZlu4ELJxiRJxuRHkVXrRryU811 + hQUb5CcIxDzJ4LluxWx3cab5l0o7C5W2tBVj9iKbycs3+1fzymXvDSCcsI7gtUVp7HgLwlxK/p1/ + TWP89x1oEn9psPrROGZliXswpc7HPGou5f7zFmPRr7oN9NyL5ZKcJhOoyFatowENfEsD41PiV/lj + 5V+HAntRcPx5k2jESZ2b4HB5kT1Pd4zoxdOVcnsZn55jlUtCMsF7UNu4ogAkak53xfzLkQmcHrPJ + FqYc5GPj60mXbLP64b85QxobrfzjNWteOe7w0FuiNfwkLKxOKjS65eYIt9OvPdxlV+tPc8oPBmoN + E9SHzeZFuxZFk7m1JrbdCmUB4y/xkt3k19tB8o+vQLp79T6I263CT2SLdQ0UX/Q1HVTW7BOr6QzM + EDp+gKvGG5D9LPk2NF6XxunG2IoOQHAg9rxbhSa/e0/hq03G8C9VPSzqlAOm2XJpcbmouLXt3kYE + j1NatMHZNvt47rYx2HYYABdTu+t4PnLAedcZbK84NDCY3ZNxWyB3Lnn8lhSYG4I0yqmhz0kfE3Iw + xMTH2YhFROCEju80Ntc67y5+mokvkq1PcUnTqOsW+bZl77OcuZYnHbOLPsnnd4EjrENtrMEw8g== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7f88ecfa-d282-11e9-9b2f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:13 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7f88ecfa-d282-11e9-9b2f-001a7dda7113 + x-ms-content-crc64: Ijw0lU2fbqU= + x-ms-request-id: d3cda449-901e-002b-3c8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + yaAeltQt9kBsM5AB7/L2ZbPZrZABuIyZYbLDIotKT2ShopafIH/Wyj9ASWTQQxJC37F81kmuxCni + qjU1RfP8oaiXZJ1o5Qy4XABjJtfgiQSvY0Xx3D+wnHbNnmsMKk7auxDyVaZwoTOCLmel4iRgciLS + lzWkZ+F65h8ac0TnJV/51PhQAovRIKQwz7aK5PCIPNtCEPcjQbYLZVeKCNZYigpEN4cQJPOkuKqP + 7glbhsSgTDHtOfSQOAaZTJE5yeD5pw0g1YMZXeDzUqXbP3w5Whn0gLG2eShDGlURa0VK2HbPZFXT + EDwISGna1lFcFM0cGLKiz40acjCb05GDXVufjKxv8NdH3aggwhuwejCPjQT4O8JQLcW9NReMD0F3 + IxCTnntS6PMRNIruHfWdJb6vpMYe9vlIk2MpkmaFmy6iR1MTTjXTu6dVq/jVrKW3jZxi7zRPh7xs + CBaPg/T73ZZ7OQJ4utr8Xpc/2zNgdNz5ndImXMBt9sIdX1fnqlnpBUeD0yw1mtooGtm/bFGjOibu + fvpctYbqflGz2GSq7RQjSfEzUm3jLcr0jBIpVmIKl5sdavBpbOg7n3DTM/HpwD69LUE0C5lLlniH + XC78Oi72bVMO00DN6D0UdEL98+nP7pX8rygEe8hyajiH0x68LvITAjOBxi0fdxFF3MiTrCe6+YRF + BFa2A6ww5I6VIj27Q60eeNWkbimgjZUSLu/QAgaPOiI887uKGNanj7U9d7ietm2nlSUDDi3wRtDt + MjbyL2wg5HgmvxGNUgRQ5Bue0rbyXmw5WG88GHoMJAvvNwmbnKhkOrj22SMK/PGVo36m9jSW/Pgq + dJX8B8PdXBRmAotjen9tjBvgHScgWd0+o1WbQ4VTIdKI91YlgCmIAsjHRbXKufbfR+4gGzgRhp0t + Fz5mP5jgH3VkcuRccdtPB4+u4hU9elltBDVZZkP17RsITzHQocXQ3DWkWdvel7cdYh95t4cz9Rnd + WlAL2+MGAb+MHwB0nFwTcqXv8yNu+RbSkdbOJS/tRT9MoJxzC6njyLmXgKALyVwlYXIrrX0hDayA + yOlkI7BgZS1A1nPuXnfuBqwRCeohjl5CItfS2fWSvzKEdiv4AZYzVN1t4ObJrTX7prJ3/o2CHadu + bpm+SmTrXsfjeKhCrva2gxOk3RjMS9xsQDlsD2Hb+anXRaiep6p3WEJWOLIo3VbwS99Ul0ut1MzV + bS4maKJwlOem0cdf1kx/ZFvzb9x0rE4x58tph9qAVCAPC/OEppI2hxDIJtq/K+7tWdvEdIPk0L91 + DyFfCnNgGq5RuFMXah0l9nw/vkb5u8Cq3WfEPB9X9XHnWU6gTjiv9JuShHYzK9BjljMQcNYAOw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7f9b2918-d282-11e9-97ba-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:13 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7f9b2918-d282-11e9-97ba-001a7dda7113 + x-ms-content-crc64: JqId8raiZSE= + x-ms-request-id: d3cda44a-901e-002b-3d8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + DYQauSYAAH9D8XemJ6I9YNtgt07HrHB7R4DB7g9ivxs3bQA0oEuW6LTsHpk7ECv804lQ7VbscFef + PUOPMD4a2N9f5Sh54dfdbwuPhUioV1925hmOJ/XH6RhjMXP7OS1OgfkD9VCTT8fEgGC31KKrfatm + f5FcBqH25AFFeSqm5FAvnY1ZyrykxBT4JDdcCtG31hg7Z5rn5GK35JwmRqNpsVrqSmlE+Y17eKRr + sqd0DpKypBC32EQOwbJrl86nbGFU3+7U3eJxGEMrT8wu+YRfj1V6LpIEq83yw621wYwAH6QRfPE4 + QgtUTx8ynbcS+vOpmK+/S3lbEEej9kDWnWbWCdraq1bo+aul8iOt8kKfI9e/k6VhB6mhA0jciPSA + furYD0NPER7pAQQ2fPTyPrLyVy5oEpEelQt27K9q5gcR9cAIDX0xlIYLiI5aUqYm9/fpD3ok5ZGk + BEPHZnK7KVz1vJc7eOejheO339LQ+rC9ZM/Ph0oo+VjukkTCyVwki89fdSquR5lKtbKBgSMbVrHl + H43bR35a2WPdY+fviy8F3HqGtwXK3ttNpnNM0gpaOPF5hXBhZpFT+rlAA80jFhlBCJXXlLVVLZDR + r0Cs9NuCXIiyfWq+HfoalsmJWTKyc8LBDwBSVhOTR5+2Z7WbJOzqCjB2dgo70Y5Lxc5mOgrsc/B6 + zwMS0Q3UV7SaoJbFK62dt1h2vgKSVsLGDy4BL7g5waxaQsaPnxHD+89QZBDF68hjX/lYCtsZ4Tih + tnNUchtcKXte2fX0yE5G64hvkA/WG5DTxjngg/aq5+xYR4Cp0vQwA1NFpbC+1lKh37RA14Qnt9AR + pi7gc8k2y9/SkJvLJ/0tYubjXKZgXRAGRkOBxLdW7DxeubItDKxL3b/Dc9+8b45bTUGLFiQNgwRW + D9gLqvnlwCl6epSvpB5s2/409OdqB24sx2aK2C3b4IYW5coVnneVuSfltUELYlNSPG+rb0+7TUBG + 3mJVZXk6DO/nyc7eewsbr+VtDpQl7clTbrSR+xHEyJbwR3ahJvpX62Pvx40p0x4Ew95I/BFV2TA7 + Tdp7UnKNBOLzswkrfaixQVSmTOhGP5zQPlpbOizw/b516m3KcRexTunkQy9goebkN27CRXQZufMg + 3eVxS33+iGsISzh9lDTJSteC47U0PIB4AgXQwdHHxPT6nuhoYwsDPeuHFHFOfAff/enOOwI0Th/Z + CCjhUFMjBAFDSAnjQRWjj8V8csiCP650RXKkInJHbuumxG5dpmMHTMbxWIpOrWwVpSLsbaEuRtqY + 67D8Y6eVLyDg+dzP5Q3aNaOY7am7CMh7Dfk5hfqqorDInraVKxgZsqgNWNCeyEC0t6oV3+idBA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7fa9e5a8-d282-11e9-b6de-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:14 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7fa9e5a8-d282-11e9-b6de-001a7dda7113 + x-ms-content-crc64: GgEBMYOaco8= + x-ms-request-id: d3cda44b-901e-002b-3e8f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + tfQSgnfmJgbrnPNs8e+6KysC9uI4MBXp0WIio+u60+WMplChBryV++6lOtRekIyPyS22DQe0fTXB + 3FtNslSumWhR1EZVyh9WqJ+WRbP6TBa1v8wz/kQpibYyC/vykyi5d2Mqsa1C4KXfc8tcMf0tGyet + RYyA3gMHVrYx2OJDc/5zGhM8ickkgd6tKVJIc2DjHyI52DlcIps7zXZWBbCPK+ZYiBCFVTkLp074 + KXWyzN8as6eOXpqZXpYQH/30maBINowxmHWONE5X5nzta3bnJI4I2O2QL/pYwj31s8PcRlSHriX9 + 18JjegfO/HF19gzqew1KaBo/dEkw8OwFahBPwDsPy7aWdtbbjS4MwchomrbVCIzbGT9LlZnwC5Od + FbXsYLHYe7cqxNdlTtrad+bc96ZvrDwGiczcbZYH2LSp4EpxqSxafvf0YqYGTmpXEh4ekILa+ym/ + KBA2OQ8O8cdTg5ugdqkiEsIFonJ5LDG1fy96MC5SFcXJO0TlF0276tGrX7Tlj1FHy3sG8NnTJzwM + sNn2ZHooMK3uFs/WBD4RPFadlb/0kEhlfffwKwC1qmDPMh8lE8cfISQKnggaGIAfLGJ++q4ItNNT + Jqss3QDkHduXiXxFd2czc099g1m+CtxEo6i+NBmlGFAPpac3vwL0fu40GnC2Jt+ARrUYBx4ePzK8 + Gyuv4lKg2cEJ8wj1GwE/ItYSur3S6lRsZ64vIaIIZfgqKITI/YccwCJf0G4c7XRDuH2xUmXKEdnl + JcoMsNRWZPqA41Y1qsz5+eWmxD9N9tMPKmLvaOKB2U9Vs/OjEfI+rmiBqj99dOmnG4sPgDJakmXp + NE1hndmSQp71zSbmrjcvJC+woGlwCFDpJeZ9vAmWddgAHwF5O/rvZu32R3+vFeXwxL2VNMqLp+/r + rFysaOgolLXz9cmv0sxdZEgvf5JFLhqo+G2ssKG8DwzahwLTomgVfTMbgJuSW9tMx15orRJ1NvcA + 0VznCLJQZp2naHbOeYA04zkO40qckdoiT91TPoMNt9LmbEieA2xbK9zdmoNNu0cvQ2qT51dGTWUv + jTlE0zMttS0xofv0WhNtSUy0s01subKeKZCJDGOCyderuqvFdrrCNaGWiCRxUBvLglk4Lb3R3Xmm + 4FBP8BfzsHTN3pp5B71SYzMH3gUbECNh7aRbTlLa06nebHXZ5qbha+Juuy/3SzOQkW/X2q2iCKrg + imMjE/T89YWeRmsJO0/zpFHTgvSAviFGWEgs+4OZFzZIvPDuPRn0Fu07zDmGoudhvwk39HCyhNaz + a8/wGCQFrI/AvmbQUAIfMxvqm2Q08JaDMlfOJMGvuvMxbowEnNuvZ29FsNaCJutGLKfzX+CfeQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7fb89240-d282-11e9-85d6-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:14 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7fb89240-d282-11e9-85d6-001a7dda7113 + x-ms-content-crc64: MVUBZhOISsc= + x-ms-request-id: d3cda44d-901e-002b-408f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + z13owgHByzorEWRvS9DuWl/Rr42iXefjaIKTue5TfpGKZyXCmv4a0H9UpOA+IcQVDu7Sl0ME9Uw6 + 3Zj8gMmiwaZYpFaCl7oldYW6QBigTOPBvw8VFK7CvuaUsz35UO4HfDemoM8BiebQA1H8CpjLVuF3 + li2Z0aV0NbcdjXLHKSXdY+OM+7z4N2sC2mF89K94pPZViWno0HI0Z3e4K981tRARSisV+8fXNC+M + 4kRfP2jmhd2TSpgJcf13nPEl/rfcsRDb1/x+h2s6ZnH7t1C4Go2wXVihT43iuhwk5cLNUNADu2E4 + LG0fmWhepka1knrA+k0Lx4lozagkahTyPjNub5fJeKAkt7kNFJXuiAVcmZay6oZ6Y/aXEDOwgABe + fprYNzo7FKXH0wO423TG7ccLQKKlhoqf002FToWMHtRaciAICzV5kehJjteL53NT61aD4PU9cqI5 + AGjj+mNuHYS+3Qs1PL/9dYmtr64okARamrH7spYnJ6ilqRsCaDL4k+VxirMqhKJA1XjrfqIpe1PL + U3GKXdEslPegrQUOtNUb5ElsfPGbPHQSYtfhVI3hJPefgI5cjfsVqQ6xn275XL8nCb2aoxiUmUmV + 317zdcJEitowOu+IQZaAUxURN7j2llRlqrXCnY0G/KYC6P6FXeRA7gJ+tq54HAwbyYtPL7C9CAm8 + x5UWkZIU5jBnNnXfdu9x5wX7NyI1Cae7C9RkXUTcTX8OA9ir0mAjj1EmB/iAyhG/cL+CatabFiz4 + OpT0VJ7SWoOg61cYcksYkQhvCk1U48peC/BjiIMlFQxKzsayWWQZDYtuXCRBs929pbUq7u0XMGWy + yoAMGzXhjJ0v0UuZNtbZ86HWZhlbWxfwcj/MTrG7LvCI1Nb5Ziya6dzzBGoRTQ0HaXvFo3G/1xtr + MProT22F/MlyjEQn99N5rXhrSfBs6FQeHGsf9Ua+fl0jZpZ9AyLI9t1Z3510a4rZnfhVmiBNJ/cV + 90k28iTWsCTnLdK6EPXGF30187PEvFfsrWntoVl97IF8th7srHzyhEuMibNdy0bWoR9gvSOhkkJ3 + OYQ1eg43pgOLT9RJO80tkrZ6NLMrEGfiXP1yLqs5oYLQQNI8jFc1Z+g3kT84QFTx3tQTWerCY4n+ + zR5cnk4L1st/fPUyQjmJ+HeOG2CEG+JTdgZSsKSyuBI26yrUZbx+EPyN6D9HMRV+ZgOdayOq2JQH + +j010Z1GDBgQXWUyE/iauPC+hRIjjdCz+eqxytDYPMM/dMsIWbRYp8pDOc18KFlVWTcgbjms+E85 + kFQStlPfp7xAYndVKH7nUbv2qNI9F6t4tokarxjhHhEPN4cb7EMOfN1DUsNdoSzB08NRMFGEPQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7fc94736-d282-11e9-940f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:14 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7fc94736-d282-11e9-940f-001a7dda7113 + x-ms-content-crc64: LlpYe5ExopM= + x-ms-request-id: d3cda44e-901e-002b-418f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + qz8uq3Z1ITSOLnLkeANGgheb0BgtK+AH2Q6d8G6d+yw4dm1z/bouONvmSP77HlJ5SBLWrV4PwFcO + ZKSu7oaxaUeE97SJsCP7XV2qruhRwCjz4DciQ2V1GgxAAn0HfB/fYDcaPJry03t+oBMrMzrkz/Rg + Tluk4OKfOdYNvZ4wTBBQMCC4rK9celUsPx4z07U2bY8u1ECqSTv9YX82DrEGYi1hWCt8L7EIm4vS + hcXJ7PLGUCjaW9rfn+UFoCnM2iMFK2UdfKpJH2et4i8LkYCLxlwFf1VPrq3YVpAP+9VWhOoyBqEP + LHBmD80owbaO4D7Y8MPVqN9A908MwkfS1Lp9bDuK0ZsKiaNDXbbuAdCQa8EozN4Ve5c6hJjgW0a8 + gAJ1SoNe2iIf4ovc961R29WHdkNSzAah7wPsnWbqeGqiE44TSfHvtn2QqAUls2xQalTrBYuip9tJ + RYXeKjL1vDllo6Yi1ARoqDRiTWVwyjCh1Is2kzs6NwqBucd6RPmfux1GY43f02sE+GFomJk7ETKG + eOYKXsuEKylbKq53MWpKWjobILCxrbzWXwCyCuckoa/jP/7eZ4/R+6vfuOML2z1bS3x8bfBDoE1c + NkycWCjICXp53/ViaM1NNeZ5E6ZCZpJslhoUkOWtU2BIXNl/+yTwgOsBPUgnbIQNcQ0CFu2DcJGZ + e2TKPS+M0LnhEIFf10SdI88p3EHsxiT4M/OavE4RKz7QmaEZ7jwlWDSA9pi+2KVF/NfzAtxKqMX9 + A0in/jgoDCv1sG8K859dRjUmfP0gbyZe5myeNZa8EOKiP2JT7GHySfzRRypPwHoilO9TbNIid7T2 + uGt2pUbwSNgRWXiZctZcv6e/nGOnJ/RJwCuVcjA6xVqpGlEbAKgfgeOP7DLZkMIufS70ND47VyWP + 4CZmMSNjtE2Xd/TUeinIrjhZeERSA2M98BE/xPcOnZEVcCG16RpI3/YNMSWd5+YnbhbB1Idac/Xl + IqdMyTefSHoAVTpYTAvvVJSEbMITEiFddsU0f8iA95wGijr0iX76vG46h9FWozphFOWkLcfXvOx3 + TPzdRU7Ksc6n1FB6htGUzE2Rm746kieXLJJ/54/WJYIQ0zk68qdwIXzBkqkC1GOcPeb3BiGSifEk + f7A23IUmbRomCVvtSDSMvNyb4DBrBY1BgYFSK8FkcXaqjYrcuAMrtew8sEQMwAhjrd2MuNE9KLNm + L34gqstZL89FCysi9UtH0ZtFEqODzc0PM2JIDbCLQi1URyoU3diqeuWMOAZmmzxkTD15Ue3QXByf + nZ7PYb6prFFmO0+g+uLvppxVY/Q/325l0xECTTVHc1LezWgE9DaaVeTCAyGQc6TJpTnjbwZ0zw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7fd8a61c-d282-11e9-9225-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:14 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7fd8a61c-d282-11e9-9225-001a7dda7113 + x-ms-content-crc64: 4L8/WcCUJAQ= + x-ms-request-id: d3cda44f-901e-002b-428f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA%3D%3D&comp=block + - '' +- request: + body: ' + + TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA==' + headers: + Content-Length: + - '5246' + Content-Type: + - application/xml; charset=utf-8 + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7fe84118-d282-11e9-be49-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:14 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?comp=blocklist + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:14 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66423508B"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7fe84118-d282-11e9-be49-001a7dda7113 + x-ms-content-crc64: vR2LUEKunLU= + x-ms-request-id: d3cda451-901e-002b-448f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/sourceblobcdd2134c + - comp=blocklist + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 7ffb179c-d282-11e9-9759-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:14 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/cpkcdd2134c + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:14 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66437C369"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7ffb179c-d282-11e9-9759-001a7dda7113 + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: d3cda452-901e-002b-458f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/cpkcdd2134c + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 800e7964-d282-11e9-88ed-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainercdd2134c/sourceblobcdd2134c?se=2019-09-08T22%3A49%3A14Z&sp=r&sv=2019-02-02&sr=b&sig=/RNzwTexNS1e5OnrvuAClEF87mcnGuZJTVGYoVhQf70%3D + x-ms-date: + - Sun, 08 Sep 2019 21:49:14 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-source-range: + - bytes=0-4095 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/cpkcdd2134c?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : S+fDqza8Ai5Y+Q5LWOEXpg== + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:14 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6645A168C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 800e7964-d282-11e9-88ed-001a7dda7113 + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: d3cda454-901e-002b-478f-6612f7000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/cpkcdd2134c + - comp=appendblock + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8030c028-d282-11e9-8e65-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:14 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/cpkcdd2134c + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:d3cda456-901e-002b-498f-6612f7000000\nTime:2019-09-08T21:49:15.0247601Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '301' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8030c028-d282-11e9-8e65-001a7dda7113 + x-ms-error-code: BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: d3cda456-901e-002b-498f-6612f7000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/cpkcdd2134c + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 804149d2-d282-11e9-bc95-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:15 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainercdd2134c/cpkcdd2134c + response: + body: + string: !!binary | + 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 + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '4096' + ? !!python/object/new:multidict._istr.istr + - Content-Range + : bytes 0-4095/4096 + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:14 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6645A168C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-committed-block-count: '1' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 804149d2-d282-11e9-bc95-001a7dda7113 + x-ms-creation-time: Sun, 08 Sep 2019 21:49:14 GMT + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: d3cda459-901e-002b-4c8f-6612f7000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 206 + message: Partial Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdd2134c/cpkcdd2134c + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_create_append_blob_with_chunks_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_create_append_blob_with_chunks_async.yaml new file mode 100644 index 000000000000..ad71caab88b6 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_create_append_blob_with_chunks_async.yaml @@ -0,0 +1,6521 @@ +interactions: +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-type: + - AppendBlob + x-ms-client-request-id: + - 80a8667a-d282-11e9-a092-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:15 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:15 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A664E0859B"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:15 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 80a8667a-d282-11e9-a092-001a7dda7113 + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905930-e01e-000e-498f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - '' + - '' +- request: + body: !!binary | + NVU7zbNEDSJEbu0F9EoAaNqbnKpo/b7gaV0DsPTvL9R8XQ9tCAvcVlLixjVmu2oWyhwj5oFaDDM+ + 5VOorJFnC2Nf+Q9Dc4ZJvNxy1l+5+BP0yRs9BLF9Qaa3wKwD4BdlOTwITPngW0YpkLVQuWiLPJw3 + YVbz5fNtbHPkU8A5hEMhViVmoY46KJaPQdpO6guTLoGSm9BY2GHpT8dKGtKXloT5ORu24OoFpUFW + hfg6Q5TMK74LAuVYYKnnqRJl7p0zbr7VebUcnu6l2oqFKQXBEM+g/THO3G1T5h4J/nZ9bPUQ696A + gCCieGgAc8uPnLKvZ92cWKmzZLK0w6aMyWzkrykE6mTdK6maCe9mJcUFn/ADHd0LPmNPFzdX+0zE + kB2Gm+srqnZDDtz2cbmC+G1z+/JtaPX2K8zSJknKLXyrSCbi/L/4JrH1tRMSwEaCNZ0RExqSzltT + 8PocosSXveBUv97MB6vQQDupckYBlPaZEWIn2EyUAeD99zyak97Jy+x1GZI7tsP4gxUGgYnZ7FVm + ezJ6PYlqgoaKk1EjPnyAALZKz8p5NEyo8dIHU1kcXub4ydo8plhkU1Q2COwtlt0YhxQ8t42/3BuJ + y1xRurGumiPQE7DpctZZPkWD0NaBUwMKfCwjUPpDCmqQ5TJKdsph6nOd9nAWTyNmYZ1BTT+KKgi1 + X4pGya/Q1WS40tEcAZ09AfDEyu/rW7R1ZM55uVOabOGHjojjadSpZaecPSZbqInMJTJ5cBlafvE1 + 5JEcaS7p2YCXG1dnS3MzdzPkYY6wo6W0mdxXtMsW8jn1NuFcRoBE32CKLJzSCGZBMbHXWs7CLmxC + e1PIbvdLXsU75WQ/OS+Ut9T14Vi1ovWNyovk4vYV6WAdeYnP8xeZQzkzXv4jPQlS93tdOAXw+AkN + IWzzONm32aA6+2rKTxPmAh/JZgFo7gKeRzURUzxFw+1bIex1uuS7Des6H+dZJgvGkhgQacW89Nya + blcbpjkAz71R1FiPM/AL3cWhfC4evmmlz591L11leKBcQxg/cf3d7jJfhKnPr2zgzft02ch6KbhJ + MtedlGF4LShGPpOlNH0zV5T6WN4RsMlKldGwBddRYzACGWZ3TC/hy/bt8KZ7ZODu32w0lflUwDlk + PKo/nboT9+SNxfH21fmF/IqBhZ9oFQsOHy6J/C5+IiLtKLWcNWSranYl0cnqK2SaquhAIwaVu09M + GYkTJi0IkgW72ExUbYkh18gyof4dc2Pcg6HWtzrtH/jHtRhRkVf4xP5oR0KiTX35hH4D+uzR7dfv + EV3lYhBkZvo6eN2gEYM44xqnhO9crbyZnPSen0H8ePu0pB2P4ABhOhcwxahRqHFpF2p7GbA7ZQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 80b8952e-d282-11e9-b9d6-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:15 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:15 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A664EFEEA0"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:15 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '0' + x-ms-blob-committed-block-count: '1' + x-ms-client-request-id: 80b8952e-d282-11e9-b9d6-001a7dda7113 + x-ms-content-crc64: sGu3taFhCfU= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905931-e01e-000e-4a8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + Mbxa4SLDfgzr08tcF9c21LiBfRULmk59woEd3k5U+QG0dn3LCxGey5xAUX8IWLlUDqrF9pKejV0d + 7qsUXKqcbmK2i1b4B35eWKsjhEJnG58AkS/cXlfZK+h4rFdEw+HHwpaaQg7D8PtSc38b+smReZ/j + QCIrQlbYy+UJ/P4237PvlBajBF7UIswWYYRxufkVn/DjmJUTdGbOgJbUDyNe9uqxkaP2zBuoyUlC + RXFNNp2cjQFdfCLf4pPgnKwjHL20VsnYd/crrdUnP6sWlJPr3XFTOSN6FxVMVoxQAGDDwWZg2FZB + ddIdouG4a/xCKk5rWllp+AKPmAuwCKHXe0Fqxnyh+G7ptwqP9+cNi7ZsAiX2qcOdlk33CVJppzvy + idwf1fjF/mZqsp0xbhL5zSuTw+0wbUnWZSsvk1jNwGmqaYbc+qHxY0xn8ITTJhzmDHGbiqQmTxhr + h7w62vNzefValacKzBdi+cSuuicD6Zf9p+txpmR1nje86L6daVDGYld7+nMxDzvUsRcytXNFjb9j + zZRN/S1NQ/XyVeCi/oZ+CjT4rlEdEwzylvlcnr/QlAMLyAzx12OkinDyhV3QuGfLs2dPdJB4F4VL + P8epB8G8j2ZqByWKZvhOK2gBOozl9SPiG7WBux91Rt7pq3U+MPlT0KLRhxWzBK4c298KXvpS9uBi + 9a1S4GzHZ5OJmj6AYTEr/IDV0aP8S+vxaTrJQ9mfpRX0WwudptNwKH3sQk52PIPrcm2BqU7LT+v0 + nyi/Mp7VjOllIkUx8OZjZ2vH3uyN62XsHIclMLyw3Pb60pbGLBeVig3pqB55xJhs2/hA0SUZUe6I + VYM5NZkb0d0E1yR+BrNPsty4MmC3o2sxrtyFTa28tcvRrpNB0YO8DEtWnkqiD6hlA/tWvpSIQPr8 + hTpvI7PapEQOmInYNZgBnfnoMZI5O/WX5EyA0kKrgu7Bi4g+aMeRqrRS0AD8mEoVF+2TDDd4ksgD + CYSGgSw0utCvxkMTJhzGoKe2EYBTlqVHpIafpuFp5LijemWru+7bkJHqZqq8QUIQGvw5ZtUjU3ga + QJxn48uMTRHEOXgppg63jXE8mboARRs7GUIGfQtzw4iYj9ZQyOPsSOMIaz7pbl2dtkQRfvBWorj2 + wzME/R6nCKlsmDqzbZWrnhEYNhIqCh1V1Kx5RWvD5unqH0qaiqAnI+d43J3c7smHVnMYYrUUqlO+ + a313nZti4JruWRo8ehmAJWgCYxPyAhCb0NyjVzkv9PFFZ0X0b1OHI7sg2TWp8qx/GavGdL9mslVO + Rjsvn91oAzWaF9vMZ/IadfL3R+h0fuVOEI6L48HphatntPfwXTj9ZYy3Nq08UETisybZrvBUwA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '1024' + x-ms-client-request-id: + - 80c68b6c-d282-11e9-8b51-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:15 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:15 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A664FE1F1E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:15 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '1024' + x-ms-blob-committed-block-count: '2' + x-ms-client-request-id: 80c68b6c-d282-11e9-8b51-001a7dda7113 + x-ms-content-crc64: WNVa5wRZH7c= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905934-e01e-000e-4c8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + c8kifarDdPJ1DkBxckRJ8ZTGWu5sj/h/La7nYDNsEqF5w+KKerAQyxJOhSpFPrRgfvZpiv1oceIz + Lnv0UbCWY5gqxz+F4WGRjbfhwpi54/2/eGkUphBFay9N7HTSwlFWRX6mLCpMucktu0QkHBPesakm + S2gKAKPg55T7dxLdYM1E0yWaYgpcnFWcMJeEpkNUAVsKzPv84W/OBK6qk3AthbDDkvWoYpMnIOa0 + anlBa28z6fGpMW7jAtljlrTPOQDDQarQpC1AN4kLh9EcWzK3JpbUg4cRkwsg8pMA/lz2oilsNwbt + zWDB3ynQUQY3CGN/rm/Ukx36E4DqAiD7BsD2OG/HDi5tLa3EbwXyBh/tz46PmWhmQJZfAYzqUTWE + skMc7yzbCaz1fXB2cYr5neSL6OySOwSuUjmNkbcIxMLPFxGAgFe8dNTj7j/p3kBMUhsP8Bo56cfT + baIcFTJAdJwuf8rMKZwkn8c5TOTYwMAfUIZEFBfIEHmF6bupsXhABfnGtXAmLcEj3jtBVU0VIy41 + w2CKH3VC4q78iaobLIihx0GZUzP8s1y8X5xmo9SJyNDHdMT+UIzcr1oh017WWH15bhFxMoqTIN2Z + ZxSxxhZuuh32QaacFYnNfhn99YULQNnoLuw9gws9j4qh+RLC/exr3xOeL/QAmRCtbtcwJZVydXbZ + hW5/3aBgfplxjLV4bGRSZZbig+43cZ93Siaw8+hdDX+2+xF0P1r1MVN+vIur8W03gvw3rG3RMDUk + gWarN+eaRGwAzebAaxBdiL/EsHsvXwzpichm+MzyTw/pGQ2VtLdtn4ZLfxYZsv6RIryJzffWVrwE + qSG3o4vegNC3HuOgWTE3lzV4QHwDEJaKZ90UOIm/FPry18pBxlHReVeIe8+ZUxmhbNjdD76uOsNH + k6Ob/WvEO9o3a2G56Qw6D+2YgtbCE8DXQWXfiw3HZLH5WQ49fE1ogYse21pWkpYTmjQaC3WUGTMP + 6kFF+FAOd+jiOel2qma/5eBl7dLMXbH4SWeGpu0Sq6c1mn5w2DU4O6VL5iykJZclo1FQNYxUhCL4 + Oe6MQxfDP08v7iwvfExyYS8cSL8KGCCqrlwOMWngU1lMBULIwR4EygUDWj2FNBT5hMS3o2Owe307 + +8KhyLpMdyjUV/m8zVzbOvLh47+/uegEvv781B691a09rroLS51lFLZ0LHsqO7DJYksiSD5E0XhZ + m0vtZwZ1BmOQnkTbk4UoFjQyjS5A9bXpuZIi7x7Zg3YcjsisAuRe010EYa5CouIeP2elt9ZZHEbP + i+w7KT2eLEBMzkUcKGGNRZeXyIjUKnpgXGlkF9U78fnAu+L4Rg2z4klF2VCBQQM4Pp2/RwOQlw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '2048' + x-ms-client-request-id: + - 80d4d3da-d282-11e9-9d00-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:15 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6650C9E45"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '2048' + x-ms-blob-committed-block-count: '3' + x-ms-client-request-id: 80d4d3da-d282-11e9-9d00-001a7dda7113 + x-ms-content-crc64: 5fF/8CcUZ1Q= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905935-e01e-000e-4d8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + VQ27QPa6XlhSvYP3ugiF/verUTqdDX1fWvWyqb2jEtwKu0uaQUHuEiA++J6AMvtgSKVRAE8n+n7j + akN/OMH7OVLFKc+FTEpXKz5neUrP6LATvUJx9VkE7+hQi3L31tI1pUtRCoQC9nNmY58+M1aUwuLs + 954ez9nzJCHZpL7Lh+YcfbbHQlYJRNr49CCkp47dLJDf3SSAVJAYbThrLlPPmpOrVOW6V42eigqs + Bc6KNOw2j+f49EaLes+z4byADpvdKBcs8bHk9OlqYDm7bvg27yQ80YZ3mLEg1wg9LuBi53DNiGMz + 2lXZK5LZHxeLwJkZuC43vo0vg1t2V4iOGWTNK+46iyd76zm52WXUy0WY+FO1XU2JWAjf4EuwGKBN + VG4as6RP81xgR/Y82BhvdBQjHSPzk3ZznI8ZTAZiloacOiZ9zcG/HvXABx+aT+vSJpzTy3VmTKqf + KwfjtVKW+mC+DQXobThKaebKBeKe5BEhEnhRuKusDoFNewTBPNUpwfWDiiJmv9i+k4gOsVXdwYdX + tQ7TaWDWzvUtatNnberLZ1MbbaP784wHj4ez6Wk1sKGaSVNUXy7P670b/VSkXS2EganipF6C62gl + 5pE4TNHwQwJ8kOT9bx7qrCsCAl/GQOc0v1IXYn30cPwRzDNtHjZQex9zHq1/x2JqhRwcT9P6A0P7 + te8mAcCA3q4S/QXnU0Tcq4NiD4PzTXiFip4oxapza/WxpUBdAV+onhi6M9YyWCSBYSff5VbFzlTv + UBu+JEmoE7HAS4Yo3qQ4efugbiNIbqKjl7Lo3pR5+GarRqc8Vq0O2o0Tr2nBwk7DSBJf8TmihSbm + /oFNfTA1ddFh873ALUnmxJbFDdk+Dg2WLNqf4Kw1mCSjN0BYe3NxU1moywik3lcbLBdsNk7gmGex + I+SqtUrfFzOjZVXUkWViHd3M71Wu+NFUWpvCGqPeCc+20dcCmRURZ/1AGKG7F8Cw7d4mbhMZ2q93 + peByaHL4eY/fFyOZYC8VAbvZGmfl+osHPAnjY6BqkLFEOR7XJ+FrnEYZozZ5j3Fl7gIkcICaCqh2 + S4abY3x6ihl5h0drJE79om9nnpnMTX4GAaRULjXDL4Im3blb4zdQ0rr4jXBq05IRt212ZpFva9aU + My8zVTXofPeWxz7U8bwxiAG2F91DzsRz5XBf9fxOZ3SwPSqElKGNH228FRqk+JYS/VxJ0x4xr8nc + T/q4zLxp3bClpycHOQdgTHFXlwGY7d+fKmRz2faxpPUtayNC8Tdi12XXDLqqfDuo+7NEv1M61dag + YA5i1xjjVeDb1EP2l8/KFFaP6b62HVv0rbe084kgZ+TTqqmlbQLhoKwDgtmbPSMkRbSAf/ELNw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '3072' + x-ms-client-request-id: + - 80e31bda-d282-11e9-a82b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:15 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6651B1D16"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '3072' + x-ms-blob-committed-block-count: '4' + x-ms-client-request-id: 80e31bda-d282-11e9-a82b-001a7dda7113 + x-ms-content-crc64: 7ctSnbXW9/Q= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905936-e01e-000e-4e8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + 45rOwg3iRwLQrZdmMh0ovwBC8rufGyJWTBlL3FBI7vPelYb67V5ijAtG+cJI6pVjHfR5+Lc01bR0 + j2r6RXt47vBZO/k1ehlw59Eh5KK0BiwT4yBY7FoAvkfLNoHGoDoa5DEP0u7I/eydf212pN9dGGMu + tjwQ1gf1vUBHvoIQOEizXudaSdeMrPqtrHwu/AHIerQB/GDaKDDQPrJlwn8oYS3BdTllFOqm0Q1R + c4fQNFHdigKQl2NLTNmR2FD8AOP3790/2xmlQg1KYIKFE7MxvkT2tE6US1ccpXUDAabTjbfGWJ8I + DVDYW7sWp6zXYciBpH0Tcfs62NLneRK/S5IwukkkgLCn5b3xRqKgBV0wviUBJi4P8j7yolIHso7R + 9v4vuQk38vnduEWSe9EmokAFfYRQNX5176sZW/SKje1tRZ5gdhNA6mCFITHw656/q0VXGUhyk0qs + CDsy8bm7QwYjePcG1IohT6+Jkhe2Bnd9cm3W7uZ6bwN8E7jJufJXi3ygEP51H9WewIkpV9MLfz7O + R/kgqoJRhLNPF6WQyypFFAa2t9BXCLKYHQEfN/XSFCwHfBDfiYPBPKZYetB6wyi/YdZJCeZwOfzI + mskQAKfjsbKaOZnYMTaK8GBcmS0R1iSr2XdF0ZawIUtMetyb3L6lD3b2Fj++FxqqJG163c5QgnNx + 7n5LO73DxT9kfJxpOKYCrrd4Fm4MUwzdf4bC51MZqViAit4mitUthCbT8trHfrW/zbxPS824Of0A + kjOPvw5jl6J0lGAdXnbJXgJZU2VYZEelfa+ureiH+iuhqxWd3GCzAIpj2KF6DB8tJGhAxlZ1KMRR + BQyV5iHfMVE1cgDMwF694fqBf+RLpbUe6iERcBj+njnwIJxw5jyi4gcxK3eUvELzjveG4Dlt9tEG + N5Pgsqh3cD18klsAzpIgFf05P4W3Dc+UB9zphgxkUtIDGobs7XpSlQ5l9aN4DdEHMZqil5T7QbEy + L66DrlNGOEzgv2yhul0yj/766qZjVyRncS57yWftj+aOKvoDWGzOm8lC3LKg7DxQ/oJNRi3YMkRt + pGPQx3ElX8sSMKGAA/j8AyLaEnCVibeCdd/N3wQ4ea4qXuSKh320WfFG4qROv4i98Zsxzh3H4kIO + QrWYTjAQaFjH+W53ixnMDVHQoSLerkn4WXeh/iaExtRUh9uzC2GBl3BDVj9uRFU6C4lNIrXjYo9g + O3KGPAwDKdgWTTIMbwMzgsxBqtlrI5Y6PIcc9+Rmg2WNNU98IsA38lgKcmkEfGOdi9cjacnh4eVp + U4a7AJUzYFLXQ7KZFpjQ5sbEQje98eLuTI0xtmRKg0yyrh+XOHKx5DYJ8z1Lvx4VJ1uGJhgLUg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '4096' + x-ms-client-request-id: + - 80f1884a-d282-11e9-83b4-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:15 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A665294E2A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '4096' + x-ms-blob-committed-block-count: '5' + x-ms-client-request-id: 80f1884a-d282-11e9-83b4-001a7dda7113 + x-ms-content-crc64: kC2F9g6KkLQ= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905937-e01e-000e-4f8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + wYFhd5MbOhWeqb+Zu/e5QPAgt3PhumdrNsKT9jxasAaepwi6UTv0U6eCnxpq9kHEhhWuVDxPMnAY + Qqt9DrFh45z37eqW2M34BJLaD+ea5yjF+RgxlMXHb98ExWiEay/z9u/tnXeSol9JA9EyZaqh23s1 + U9DOi7BWJBpFZyEPuIQfyBzf2D+g67h1zXrAqAgf05ZnB4WdVZjYVV57E88udHRNRmSD69cWZYIt + 4ioh26PDWWCIYUCNhNbJhTV2JTL81vJ6CuTS9y2AWNgw89tRkYCZ9htkbvwhaU9sDIHHevfNOgtJ + 1ven5x94GJc1rHLQvrt7vgRMa+SG4L1TRvvKgfSnDHa2nOwTq+rgzOY1CeE79EMbWWkY5flI4uuD + a53VgvkQ984B3TNrzcv0tzmWuy8ANtHRuSpKLs6hb8GtyQnA6iaHb2YE0DTO33FQ246C+r5Z3pZe + VsQyP92+mR+Y1jaOf9rMjX8FW3gst+9gXNrWB8/aThbCw/7XPnj74xvFHZs48g8G1cD3Ex2oCOTp + lU41pQrDPVEOTJLt5zHPcwxhGW9gcI5mUIytqAkJqrOFUHaVPPh7jyXSzktfluQtiuioblJCJSex + bS4ekD6OR9LPOZg/sn9oWgD+S2mo6y9DhU1m65ae4gaHCrYLkOLhdVVGjdcHwNju3ETdfyCEQq6a + 4ea5L+trh3PhQcScYxynqUurHsy0qf7ftsdQwTUgGloYU9aJPPeT65E24atNRVYNlv3chK3xxq1n + zPMInv6Ba9Gtk/4e1EHj6QiH3TZhYXml1IJYmi2rQsOdnlSIJTNCG8MVqnGl3mCBCZDIwWpQjn5I + iy6wydRTMlJCXRQ0bfaYBty+10O1GLQTD1R8YdSitxa6ldvvukGJTqKxJ0sfMkStcUKc2sLPIjG1 + 9pITDS0aaknBe5OXUJonE+2ylWCvZagRwkZbxqH4L9Wr2Ni6WU/En8SPenaezEXQfs5+O/3NbEm3 + 3CdxptN1T4N4/HJruE8UAUJA+gYed/ORCaq9Ki/cJL9s50ipvLYXvat6pVTEuzFYDbgP0rt2CdJ7 + +m4kS7E/Ey9XOTbULi3WRtOijVy526ip+3W8UxFdRCG/yicLdGMDXAp/EcBHV5tWmI2q0wJpvMey + DkuJWPUqL0f9B+aRCaieI52qWZWw/p24YrqB7xsfRhiDKRqk2atdlMmhVAUG/XPAiT0vW4JOlaRe + SgFe/UaydSOuz28uHpalXCZm9Ahan6uvcnc/AeYWj0zPHCDMWa0F/bzRRAeQugGSRNVZ1YBVNvkZ + 4MVoP0ooLvBY1M3dyJv364uk70U2QoRHuSJa0FvlSjBzedq8xNxugC6GUed95RPU9s/e1n+8Nw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '5120' + x-ms-client-request-id: + - 80ffc230-d282-11e9-a70b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A665378040"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '5120' + x-ms-blob-committed-block-count: '6' + x-ms-client-request-id: 80ffc230-d282-11e9-a70b-001a7dda7113 + x-ms-content-crc64: RY2GIcNxsS4= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905938-e01e-000e-508f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + a0u4dMAM0q3mxxg10kHr6ryEqa/rY9ECK3mbsd8Pje8MfH6esf7dwXnsDwoZGjCowafTAlezM2bK + JsQBxS7aoF1E3mL7toJEXzTXvShfjytheZSfF1HKln4tsyvEkmj6X04efv3TbWUnQFLolmhWKGl5 + Fa2C8DtSt9pWphAIFOhsnHKCUm6ETz7SAL0xcRvQDbcxDboNaThQ9gkW5BSwO2cRxuaLEstRqmCv + oIGg9TNd6vXXtNuvYSQ03QNbDQOX+/VTp5PGHG4/lqxjEQnycaR5OLGfQUYHobw8qzMcfxeuuHce + 3T57nIXGrKOpVXOguJjf9TLWGXt2smmU1Qdj7bUTWuuySa5Rl9Meeeh97n4Nefv3rYQ4dg0Hh2UU + FQqazfpAnA8mM4vjyP5SiEmPGlmEGd19m6p3KbmVGAkFZjg2ep6DzzYDoc0s05hjBXylyBj28kNS + LeQh6nDemrwBiKVmGFbSRokhSGzg4Fv6cE7yMfMP+QMG8OxO9ju2V+V86d8vwFQ1W79C7QDdseN0 + GdacuniFFuwRxmIvPPypKG5+bj0xXwjcSkAUHAkxTSn0ZrR0S3rw/k3WItbJnAZwuHrJqM1cI/6D + g3GV1Mjyj7WuQwUvyZiqBnmRcyx5lHGrGuEl+CSmssKemo/lvq8eDWUckWF9ONPhSy4Lw6FugUtE + 779YGVw9Gm/wRL23mB1kmk8JqsW/pjrEfT7daqPxQ2MZtiIFlRctbWWcekDhTHvGC1pM83dZNORY + BLmAmMh0eVD7EAp9um/uhptwsxX0U0O4Ba5z2WDmN1fXGrXCgHYmQ6t7/mumjR69xbfgVJTpoDPO + AzxdyzSVPfN4un7zqsVviUdIpAln5+jHRYOoVF/6qRmIQnejhg8yGLlG9iFZtkVh+Xmi6RZ57aVK + ASykct+bvRxR5f2Rc3T1JXdVfj7A3OsuzNs7XUwIvlIS5Uf7HaxexyzNNyTyowCGc4e9dOHPYlp0 + 0OnXfRgMOxgGqB1WNfzsmxMb9uYJHe9jw/E85hgDu2VrxjlLWMGPglA6E+gXhec97XxRGKymwOBn + 2vG5jR9MbDEAd6dCPu1gbPCyd+M84xbw85MmKbsdhEBUUd1HHhNg/LyWTpLAHK3kY1beAWMhs9Fe + 9bQ5wD0H6LmUV9HcQ+SAdJI2FTSUTEK6jCp4b5UWeb3knVPeScMeOasB2V3TtuEYkTnLp4bP4PMH + frJQNXrZHbwtYC37EmGLngtLweokUT/g6c+kj+WX6kmf2irgDwNXLpasoCoNatxyple8iQqbb8tj + YNRMl7WQwkOR3aFy22YRJfUZNdWo2IXZp/aW2r/Jz8+BTePgYEUK7G14hJkxVwksckwxdxSKnQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '6144' + x-ms-client-request-id: + - 810ffaae-d282-11e9-8678-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66547AD38"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '6144' + x-ms-blob-committed-block-count: '7' + x-ms-client-request-id: 810ffaae-d282-11e9-8678-001a7dda7113 + x-ms-content-crc64: uMjDJXGKLNg= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905940-e01e-000e-568f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + pQeCYc4AAK7OgZMBH4lXCciSCo/TV9aSA9W2pYWp2YuHpi1k1fQZr7SnlmDE3anjCDTsF0F2dNjb + vRbzPXtJ5G560p4MJnqJ2KLEcVkojIwye8xySaGqUCN8rFvIdp/CeRVK7p/fSF6W8IaBG27Ce826 + hJEvE3ZEfm8UG60BjCUK4B1wUFG3IhgD4tL73cfNK2VHQgYg0oMdgDLT2Kb6ZZ3yfwGmoIJLnkQE + rleFazhpIeNZ9G7+TAMTHBoIWICRwLDYLiy4vZJYsjSG0/k/bFsZFopBMNLSg8pwoW0sxjTq3Uvw + DOhinrm9jAmQU9i0+lGTb7rnP6RlFVPDQBH0jWO63ez9YZyTYME1PGC/2YT5UhuTdTc1oDQawzJU + zwD2uOJhRjGOmBgCJA9zhGRHNAeaaiFyzv0PduNq69KPXMC2CprNZHUijJkbmRPOcdINLC65OREi + MJXzJV0vCDycxQ3tU36sUF3jbSlvy6FD7KzgE/NhvSfIELENFVqVhygWTyZag7cnEm38lY4nt8fh + 1IYFowzp0kb+eP5n+OTFE1kI3Dr1s18FSUOXCD51221fTBWP163Py2PTGDHdStc5dja/8K+nXkRe + pod7OpcVn2FOoVUg1ae7HJYXMT81VZZxpahLG1N/GXj47SrWiTMNh4z0aNRDaJu2NkJ/s5mWUi6m + ng53rKyOKsLo+b5YsqOrXYsxGU7SLwvBVbLnvwPP0dpOzDkxuJuOBO1BetM9cgRVjvVAORhpLjyQ + 9DFZIC/qKsRh2AoHPutAdA3jBdjQo2fTMskGmOxrsYf0TPYDOLqOwbsMcmn8B0ZKz2TY853bqo0Z + c2cQpBy6i9USSeReUADufnGaL73W7/5KY91NfEfycQ3XKXH2T4D1dihSUiJO1iLG/rql9M/esHmm + HYaAVx9b9DZ6jFdH3OS9OvBQtaPV2Nq1NZRs0G1IYzD+Ad3ZG4zp7+BRHhY3uk9krfpxG0wNb+eo + b+cWyijEMVey9/WdRpuDZnc+FPGxk5e08oJPJImzfiT3+Z7BnvgeB0T6GWC+ZPK7psCDWs3kr6sK + p+NTcbuKYV5RzkzwPbTGrikpYmDSFlqdL/ymvSqL2WsxzNKuFnKJeqJGPoTlbOV472XH+AKBSyQU + efdJBCYaN4lf/Repkw1N2zd5yogfIhH8fEOjxrTTDcJg8LQS/J3S0S8HAqgDnS+W8E1PeqfbF5jj + MqAIeuutHSOm5CkTFIuq9lEy3mdT0AomNlYEJ1Lq8a828B6UD3OUp9iv0Lsvx2TZW7j9C32Yc4QX + K6WzgHNnVED5iL1GLVQbUbZIBq8Lgn+Jc++DLp2kBGWVOpJA/fM25PEQH5unievg66r1H8a7gQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '7168' + x-ms-client-request-id: + - 811e3ef8-d282-11e9-946d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6655603A0"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '7168' + x-ms-blob-committed-block-count: '8' + x-ms-client-request-id: 811e3ef8-d282-11e9-946d-001a7dda7113 + x-ms-content-crc64: iU4w+f0df6s= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905943-e01e-000e-588f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + KsfzQdMuRHPpoPH4KVh9mncByXoaRZBJVg339UTKz8sV/XlK1oFnbG3QH3B9ll7aVZ+zk+faIVJz + OXZjv+FUtlPffVojDg8m68b40xgyaCcm2OV5TS5oQuOkn5Wg/l8O5/cwiSnbT/7nd2F59Buuuf2Z + YR5Hs8gFyKABX305JYAu5MKucEmgzDnDPH27hlBWgqeA83YJIl6G1fB0xOurAe3h1040hroJK4UA + M6K9Mq1NN+3kYw6JxwECfVpgz3OXDIsZcTnnKrBeLpMWcM7x545K0BcFkiHdEk505qY/WPxFVzGv + MDBD3PN9aRLAStwCX39oTYShaN9US6OhwifuFH8GGayPiNZhlfHojtb6XzyR3iN85L4Tb0+2oRbx + NU0GsfDQosgQKMhA9I0e6IFOOBApLQHM7S7i8qQjK3gROimG4r6mansQFSXvl5J3BNsZ9HLiMb6w + ZTt0SQhTafqA/bLZJGOjszuuhj0iiUCAK4j8VZzKmYguoz3Lmj7bsMWR/Qt9eDVb+tiAbi8c6dJ8 + XAdSpory7+4Guq+sZlYJQeVyac0bgvKz57unBhX9PxgM3ENGUc/LAixg2HsZikLCpx/EQJWFNUXI + UvyvWet+cnSEvjeRa4lUeN6fJYOE/WG3efzXRLJtRhdecXGvPZrcl/ksJTMN7OToDq1Ie9mMfE7X + jWkwmFJzkwIpeRP4fOoBzgXMXvVrrUwvJFCg8aTWfyIAGktdZJPQi1ttk8iC4kNuv+7gZvdwQRRz + nzms76tTuN0j/AbWsbF4osiTR6iYmaBvHz9TSxDvzH24Lp9x0e33CjEttnxwBTHIT22kAxe82NDB + JwWGQmug8Ka/u3hJBFBrD4BKy+Nt+iEiR1xiT1HSbVXcRZVZiPU+60+RRDoe26DWNm5nz1sAkwpg + YOdOmdOpF684ZrdfEvg4B5bLEu19+9RfPwIP5cHQHSe0r7SI1pGSzHcoWxLz0/m7RTGJ/fLTlxJI + jxVoHIM7sgLfo7ZEFuMv+U+cEF0K3dcCI0TgESdlsF5Q59b2D2OpZDaSaeqzWO5JRAc8oG4hpJJp + 1efH92MdK8Yq/iKVSD+nvCU8o8ZYsn5sGwueup8wfsrncbhLEhwqecTAPJt9dhqU+TeGTaPeMgBV + t8WoaayIZ+FnXnZGi6FdjEVclItTUwHaz2AWmYoLQtnjEJbR6z4ZbvyNuMr+Ub+xReujRKlDoB8u + t5Aro12hd+85kfPsf5oQYDLlIM94doFzZlMFcU6cpQIvRPEeZ1JrnhWRQ5GBThNCzNGFygu1PKrq + O45SHtZ7Y3YuItOMPEDmjcBqwHKgZH+DVgcGoyzZWf5LvW88yxHZ1hqJwnRh9vzsX0E2gocFYQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '8192' + x-ms-client-request-id: + - 812c84fe-d282-11e9-9f9d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A665645B80"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '8192' + x-ms-blob-committed-block-count: '9' + x-ms-client-request-id: 812c84fe-d282-11e9-9f9d-001a7dda7113 + x-ms-content-crc64: gFSbDnMtcX8= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905944-e01e-000e-598f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + qdRQaJAghoVVy9uTArPMv545y7RA6eZSbhlAdqtUVXgdiHzr6CCagcWkbUxuyEoCjz3o8GtWRWwz + 6UqF7UQrn8Vx2F5JiVAUJbP+WB2AY3HRSlPFuQgW95JsGSjRMlb8CgYWRUVGPuQa90LJdE5VMD7H + qG8Jt3dHmSC/nyP3KJHhyKTf1myfW0Sjpd2zxCKlQxGHE1djAH6hveVywySUzQ0Yx9GeZskIM9/k + 15YTTWvzqzJf4xQTv/NawnevXIaFuK/KO695spuc6GVv0g4qLEpCopddd2YIKCTJCcq94d4w23Ri + ckxrZK9GzGCRdN4SLl2VX46JixGxjz6XHijRtgesXr6bm58VkpI/hSUsbU93caximCQxKLI5uNFR + dWFuLi6iunBDrEMu0HHrQUG8ePifdEpwBBgMpXCNKt6EHCCjM3duTOPNhhEYjzrehyS4PIG28sVw + 6qbRFhlRwX0QagtjcUqgQZmPrpyDSE9rivonAS371SYtGtfhLeNtnRWRCXGtPqegdVqnHLb26/JU + bDo9xaVSqGQYeAt7pdYcAKoOCamLh6FJ3roDTOtVZI2PqtCsyenorjpDqOrQvS9cfIcbNMV5gUeO + x+KluoS7gsubmBcj5PiEwChQy/XP1lVlHHlzYE7P99OgSRQmMc2mcBAHgOxwo8QHsdopMHvX/XpM + luIHxWM8kA9TogYMCPa5Fr3GkqImdTbs8g2t9XaPMouwFzozFIpcQfPf1i3gzEsJbk6uwsGSYDyW + 8OHVEjJJnDA3piziJb+Xup+Lwhk16BK2QyQ4RjjdEdK5VwxUD6HZU3ZKKsSx7eA9/Tb0tS0yr2Gp + sVucA8LBfn1ctG7AZic6CRJSLuPRVUe+GF4ruoXvTOweHUxYCKB7e7UxRA4mWCJteT5clovNxpSe + j5MQqg4d9xg2FTTUorRCECPQvYOnOEldQknDCHSakry702MmX5ifpTYATjXwlZFSj+TmY1RUU9B6 + RRR7/TuswuzqJtzBJ2YBkWX70lJPpEi/ogr8jhrvZElmGpvaMaC4/giOkLtR3rXiahNMpjM0IVzZ + 31f6ggveqTvIJuubpljmvzylcHACcVTZrFxx0uyJUj3VtPpq76Z8J8sreB3jM+H97aNeczrEexDD + o5rrhRdIir0yMkqFR3ZJi/kVglSHYgjr3k3646F23UsT8JTlrWPmDFgBTEGvo8oL3CMMWduzNsMA + HlEY+7oH8WNCaA49dp+u80v+kEuUyc1kRI4K/O+i1g+DtBKCQzwzENpm8kd5LbTw6Pn+BsD+zTPk + Mrf7FpjSQrM5wBgQ9LgZO+YYK2gsU1Zm5OuWNO4iwgVl3m89zXmZwvxdXeVnqQFhBbanjC1h5w== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '9216' + x-ms-client-request-id: + - 813aef12-d282-11e9-9ccb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66572B353"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '9216' + x-ms-blob-committed-block-count: '10' + x-ms-client-request-id: 813aef12-d282-11e9-9ccb-001a7dda7113 + x-ms-content-crc64: U8EIxVtvBvU= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905948-e01e-000e-5d8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + OgiF6vWEZsjaZGQaYwZXGAwEZUBixrYl+DtJyj7b1GUrc+6Ala7pf52OxWhNfrDYuB5A+z0vKKHo + zDQgI8RDN7noPfHfYZurO5+IF4PvBO8J7uH9lk0HQ8M8Gqq/NFSeRcGhBmgEft2hPs4vRozFMara + ZVPv451UUVkT+6wSuZBk0HI8VvIm30p7ugq4itCzAYTjMpoZ4t/ioNgHORp3k8nu2uxGO29A3nHT + QGWnwMZX8mKGrWj9G51O9Szr1cODjLmT4I/7YiXrP2kwc9of4H4SRHqzM0VBVj/f92g1uewYZGY8 + CHdZcAfieJtpohXkHgZ+WlOE7VGCPC2/mDypfhP0RsmIX8BIofTsNHVP1Li+DzRXtsxzaok3KhZb + 7Bwoposa2QYdasMF9GPXOQKsUqdOhhZIPkKc7enanwFt5bbLzEAtwAg9XTZeuySUUgpzcUVvlh5O + hBCieogGosCn8Y4VEtecDnfI0JFBENuf3t/E2GJuArddGkrLWiuwAJJXsimtvO3+3zJVxxIClHid + +i1ndyAKJ5a6qjNQ+DCqUqWoD1kHo9E7xq6BWXWt93MgqHLAhFfZiAYoS4hCN4dOxCoJliDM1PTl + hGxM5Tr7iHZq9FqkM2fUGgyW80sUYktvjLhaUTfzfvxcja6QIj6YV6eshDzbLu0mOxHJs7Rtso0B + 7YJ4QlGMoHSo4VhX0o/B048bGMJuqTjpOzQY42WLmNZis3RAfhWkv5WVneQpzes+ALzZWgfJ793c + 1z0zLeatolymAtnkVcmhFJPN3B87it0siwPkQ9chCjgGaI8C26GPYE8UgJQAX57suVdSyQjsuIYe + pG+lxBi82nQRg1omzdVGrfJIkp0IsBhOMbzolOS+hc/OFrmxgfBO4cpAt/BtHOrAkI59uStpMQul + EsGO6qHeRK0WEblCG2+tqmaAogXlxWdhtHqIR2ysSamx5i3W02h8cKYG5t7omap74BGylgbEvIxD + Lw6MV/CqBHNdnEohbBbpbM4udtTl77qavCp5rBVTPDiNDDLodWQtyXWseNLpHfY2JM5RfFpj+E7Q + V+JnUKp+1zwKw4KWIU4YdzIOApfRXN+CR/Jxk0/F6uCVeulDmUZRGnbYaKSKrO78S4vouNyLcSlR + atach6nW3AVIViuY7Jrny7aRNii4zV+4n8V2MrarW2ISn/fqExTFMN0b985Okbtk4mTzAhe0kBv3 + fOmZOVNtcIqyj2Zf+zcQjSRNIFGihalz6ZbVyn6UoaWrq2JjT6pqKskJAlch7LurKN8sJfh6D0sG + g1hHJMvHJKkDyVOPE5UAPFfpi/RVHhqbsTZqUq8Jsi31+0F+IKnJsP1sZYzrL2EPxg1wN7/xJA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '10240' + x-ms-client-request-id: + - 81497950-d282-11e9-9a05-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66580962C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '10240' + x-ms-blob-committed-block-count: '11' + x-ms-client-request-id: 81497950-d282-11e9-9a05-001a7dda7113 + x-ms-content-crc64: UDTtWCpcqU8= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905949-e01e-000e-5e8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + rCqs3lnTNbws3vEMjY/G6hKOoxDB5eVnP7ZHDU565T1KpWCMm5uoXQ0rXLpBjLYXOxKH9AzoWbsu + C1R+xuC9bgFUsRjOYr3zI5ZiSXESRlaC3YrbpEoAup8VanCiYy90P6uJMjHIRt/rvCE7RSuLyoPM + ilZtGwQpGO+4iBb9YLMtKsiL26fknCgmIBybtjbRLKxKXclCgo3turmI5tbWudy2YJsL9QKaE+hf + 4OzuTPENiTJlHBdUmO9YzJKOfkMc0F8A7Cp9dsEYMVDKJNEWPhrQLB5tym3SOz1jbT43U4R6e3AL + 7uDerHFORgvFyy3R/HozX0poaCIt0lmPppZubFXXyRwmZFPsJxWtqNn98pPJtJhImzZv2T3hNKZC + xWaKaBCin9xjaidoVPOi4efz4v23MEswOKCS68Tks8lVUWsH57S7EA9uysZ8sizEllk+0EK3U6KV + dWJvYvgBNSlyMG2H9OT8oG/ATopwJ7lBFrmqI2ZPEuZyTdreAzB+qBmpBqmLdHxWqSzAZSuFsUrU + kkOi4y7lUrtD4HeZhA5zcq/SN+AikxSDmePR7xgeMc8ksCvJK/FEdKbi5oYRctw4DqpzhxuZLZFl + pDEHJWqeNSM7dAMnIzrNWLZXIiVmCrGa2sSrVGDg7Fd/NEoYhOZYKE3S3BJ45usQoIuswBr6h5je + UM3G3qCuE2GYqo30esggVCltgUT+FcVUuao0uNkTrjg5uA/1L9Ya+KUFIFVCHXKXw2w9byGarM6C + x4ZCgmo4ciZq+1Bf36bfsi19lVXd4pnjlTegHrKjsPuzSIPHfi/szx0nmG4Qtz1N/SjilnhEnL/K + bs0w77b4xyuExGmpYkNgbB379x7z55hT86W+YPt2JCYzPbuH4JmvWZeVJA6EMg9Gl6uIoKrHS/nT + DVO9lv6NleQZea9FoOAOet4VPSCtpew7p652emFp5peqCJ/12DDQqXiN43b6I87TPRU2fsCfBj4O + GznlR7xBY+n+Ipt+VC/HNNAru4AzDNafk36Sucjakc9LWv5LmSa286Qfaj6EUUSNz09/9pOwOxXE + hmMGX9MRs5or9LFS0T94Lj9t5JRw+aRhNduji8Q2oeEOqoeraHzHOt+geqTmzpyb9M9/gOcJ+b4D + ew+ad7OA+bkfRV03b4ftgyfds0jd3ZDvnUSm4O3HdkMTNNyyZZQAeliXSuLlYWVeKru1s0DV7exH + afgICHtbMcmV5Zc/R9AeYVpkreTDF8HAx1g8W+vn1u3IVZ8YNNK7qXL99kZWOPO75BkqiFJhEa2a + dVZqUfwQ81RMPX+0+PL60J5YZqwtPmXJIbA+jQ1T82lIhRVuX7JfeVOj+sbXANcyZLInwZqiug== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '11264' + x-ms-client-request-id: + - 815739f8-d282-11e9-82bf-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6658EC720"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '11264' + x-ms-blob-committed-block-count: '12' + x-ms-client-request-id: 815739f8-d282-11e9-82bf-001a7dda7113 + x-ms-content-crc64: kXPft1nnazc= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090594a-e01e-000e-5f8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + motjghHwMBcCbgp6b6DQtDovX6cvi+1T9FGPCT47RiwASajwYZPqky86iiouNtHAUmY2v4g+Q2CN + vKCALnNnwCKKgB97Ih7pBlynfIfL+LqrbEKPA5clPS+dWkvmtz4CJjNXwrvypnFPBTq3pMDnZSP7 + 846OaLKJX8Vx5c6ReFXidY8z0QnsoysgcrZG+fBXq3BAV1jtMJ4eJ6o4wPFg4HFvyBluN9Pv7mI1 + TC87LrLcy0QfoT3Q/bV+wPee2SWYWYWtjBaSMR9EKOJ43+EnFlFVfn7LBQSmxjy3mDIERkzHveEZ + QT8etBFXzeFWrxGDbCqoiSd7o+BX2oz+eah/IYuGeQRHf+728Tq3OPpMoDPVzzqxiIOL4uZgTZw+ + MFd8HFnFQw1aKtnlyCSJyoJVI8hvnzWat+oVKCfYx3Arkzw1zlQ/uguxw8pIlbDPcDshzOBtWfor + +3Re/eKvKJh9AZSoXgFLgxjerI0F1O0IlttelhsWp2hxtuA/33I/ShQ4qC2askK9lrvtXYQNzLPW + aabxV6fHDh3JrIpIRU6L47gF99rMhXz8+EpaZMhLNtTMMJfBDCvijoMxIVo+UK4zA6G/O8aAw/iK + 7GEIcUZDYHsy3wutIAy01bf3sV5+740ZZtTwvQoy6zE/5JB4jVyieG9vURwM00sX42Blh3k6iFFd + BEvzaByFA8Ko3aueaqY+poSJ33yr6lpBJryfSvrKVtRUDUCAu24YSM6OgvTbQRnVED6MaQ+cwmaX + y4AbtfaYBtS6Rdf3TQ/gY7qKmxHYGqqhD7z8aTUX2z0r5UmAoZnJeIshGVuDQBUzCGNYF/HCIgD2 + PM49eVyJ6XvF6dAVx5lFkx5xhk9CyxQD0x95tNt9YSsxvJnSzlFRC0A0FksDyufFO+cWTuaoddLi + fptmcibr5XmID0Mx00uIbQPTO2RGwY5wuBqzw9HJaxQShVzzXvSfyaJBsXAADPNiOIh5w9/lUrVG + z25rFAZFvuOLEPGGTaB0mSJtqHy7Gkd5lEEtuLnzCXUr6/7rDmHqTJ4eRUeYxh9WRuQ0GwJYt5cC + SlgU/cL2YILUaqtmOkkWW3BEO5T0DJ9gm4jp3blXFBuC4HAxPxV/V0GiKhr3wM0Te3yx/mIssrvc + CDoFTTRvfQMPfgNPteue/nM64WUFRn5z5EKJUwuWPiA0G1FuzEWB3GONYV0qjtL7RJ6fCWHkQO8n + Chq/AehmrNY7158ZEAQivOHj2gP5C3gB5nUjZSzVarUiqx6SXL7z07Hzi2nFOuYeFE3zUlLBjfqc + IxOlQgrEM5PRRlaaGdJYCBv1aj3urvXkdAkctX67qvnIooFnpQcZzwatUkdPflfH7IonbTRuTA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '12288' + x-ms-client-request-id: + - 81654b66-d282-11e9-9a69-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:16 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6659CF932"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '12288' + x-ms-blob-committed-block-count: '13' + x-ms-client-request-id: 81654b66-d282-11e9-9a69-001a7dda7113 + x-ms-content-crc64: 6tRmoRO3//I= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090594b-e01e-000e-608f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + K5u/nPtw5jwXdnIwQ4FASFG8kb5RoA+GrZ7UwhY/HSvDJn8dw4vuq7YHFMbGxXFy4aDCURLPfWqi + Q5Dh24hVrhKD4N9NFaAEYAhkna9L7B+1I7F1qr1DawBVPorjI9fmgNkNZbsUBZOO9EH+8Lm9WyNK + AwWun/2ZD8G5IN/zSvu/Cu+btmSeIRlv9ESeXjAEDeBqt6a1fTe2oqiT0E0nvs2eSxcZCaSRj7l6 + 1mezUvzpJ0v9V4s/nZUov4wXaSxrDZpS8KoTV5HqD6bnliYSXdvxQeefpTeuRsglB4nfW9Z1YwuG + R8K+XMHNbm72n5PQe5L5q3q9qT9ULapbHhMZcCUeOxQmDYls/iwkxKm4q6Oq7vocyPEGfDegEmrh + IxJZc1Uyi6O98YZb0mHAi2J9ZTVK5lxf2jHp9Pv751E12l3Ougc0AGvVcRJapzkFab8/PH5RS84E + pNXv5ymaP8JoqghIWEzQnn8o7vWRjSYW4RuB4xCFqQBgfqYHfH30OF6rZ5+lYlRFvtzG9r9WtObD + C4nH3i5hDhYiC20xULIOUAXO9gfO2txEkns9QMAqodJECMNP9nWvpFymQu3I0rmRadfA9iAWrMT6 + 2Z6pF9nDma9/m6QrF/EQIfNsJyL+2fqO54fLjdvJ51LuYIGVn8jPf2q7K7R7VRdphoywecAiE45q + /Dom+So1MvaWv+jGpyjMaa8wxX0xx7Dedk6pS8WHVFAnwpIiPSiNRQfGuklbcxHqU3H7toxZ0nOk + EgOu+zYfvecdOtnYDky/PaBPIRhdU57s7rGMKdR1batY9NbJJ2fdmYeCmYsF9xs+qYqi3b9KoU6z + 3svo8ovcnmiuEuWz33HuWqgH6dnz9CRpWHIu0C5RcrbZ+fdWwPotnVDmAyalEscdTrdFkZjhONmk + AR3ul5Co6Rc5i0xlsjqkLsGsZeyYId3eKiAt8tTyaVGv+2gzrKe7rDtK6sU5uvZ6Snzj19lyGmsK + 5j0R47h5HAFZYDgTA8+/LolaSVhAD0CnbYGZ3VWM6cFrNhsUD3+g7jc934qSz5AnTTs4I+/RACy6 + vUBBY49sloxuItTfnkt++bmZMdMIPSzLqCX2ejUOfNmVBiEt05jCEwpfwsxuqol1rXd77S1/p/IK + 9gllHpnQRPFFqlSAZp7IZHnVjVJjailU60wG6rOYyFVqZY+clCnpvfqaiapv9CRV0w8QKUtQE9q7 + zB56zJmxe+yBHnLpvs0CEzeLecqQos8sQzUC1BN0UJXe8XOHapSSkIcpsOZD5lt7cApt14AR6gIg + hMIOF8eLtm3o83eCrHQYFrK3vSIb5kzXOvzDneGC4FbkpjTPnyheWTV1e1TD/KHAsvb1eYHU9Q== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '13312' + x-ms-client-request-id: + - 817340ae-d282-11e9-92de-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A665AADA93"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '13312' + x-ms-blob-committed-block-count: '14' + x-ms-client-request-id: 817340ae-d282-11e9-92de-001a7dda7113 + x-ms-content-crc64: cbYJN+ja02c= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090594c-e01e-000e-618f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + 689Xppuc75efNXeL/nLXjWrv9jX5COB89mLCciEoH50Reu7k+VolAbWi6t75aKflp16/S4z7KQbw + ehGFvwxITQy7b0xJfExfirLUK7+mk/F2uEHKZhpUmIe5cd5qeInuiQzuZ0xqocOaFP6I8V0mtGEW + a1xPhd8prdlTLtJi8yRG+2htBn7v9pllvLpbtJ9jdWWOE5sgIuVSlF58yF3D1SahD4EWgIA2g/Ob + knowKhwC6kM+Aoaa+GvPIs08z3w15cxz3lClvgF9o0VaM8MDwbWX4RcYILBdK13fOwpgdHwMZqxd + OGsm+/ubgNQf6UYahAROveOIB7ltsWJ2C9YB0XVHVE+JupR7LmV3F67AWbjkR+h5PFJZE4WoqUTG + HGWFqm8bdShDZVnzy2zVBW5uiFJLRLBaLJqSlx4sflGMmc9gGdMiRwoZL4gqEm6bfsr4LDmfoX2n + 80eSN1p1nHI9SxmOhvt4iArkWPSi8MbL4ncLOKKp5Ynt8ypVA5pTgCoIa8+r6UTIPhhJKoAuYqci + m7yr+G4TKEvHkDYVRqZDC52E7t3BGixBSZpYEEpgywrWlzEx1sWhZMbdZzC0jPEXpmY094o2KJAv + NZ+woaep5voGwnrJqnv8UsK5wHPB31Nu7OPkABKrvVyBq/PXqTFw5/k3wvbjIKC3f5zW1/YExd0f + ZNSHou+VhyPHV7DXNa3bgE0XO1ElVKKYn1uoGt/Hf8Bq5Kv7jvqjnvfOQrU0jUfyGHyBQmaydJIq + XCYSiEv1vM0wILWrV+9P6UCpGlrERF77DzwQOpgVnwOTg+NdeZZR+DYJGYXOH+yZjEk22fRB5nEi + lxKlMcbb21n7XZb7msDtMyJ9raNlALHxN6XtVjKGkCcWIrVUHr10naxldPtIeDCs7lTM879sosyU + VdTMFHOD869ElGc76LHsIkh8r9gu+ZPzSWTI3nUZf6J1N/mmojWttG5sK/Yy2rrELGKfp9qgV6sM + acUKb1mLeylILekUb+jcCa3Wob75ZRWbBJmQrROiRGTPfwfnRVkoRWmOVPz5UekDb/WAVnayUDEx + Nn/go3Bqh3Yp14Ar14fvbe4iimBVi29Coy/igy6cgBowdK/WcGt3gz82AQq6HvmjNM3hTVqdBqLh + 2TDK5P5NGr2SS6YyEhVRIOMWoBZRVABEQqV1+yqZid/YgEfwbfGoBO9WWE23obEjbblqDFQkQuQP + A4G43mhNdBNXheiyHkW2oYSY3S9kzAQCPR42qOy8q1tqOrL1oDP7XoK7HfBdURUsLW6BkzFx4nqA + faj9sIqoocKKVPdl5iPcVGlKnqZbbCTlKXvSA52ICA89W5ppGG8m6qlqr3gl/ASb98zH1HqSKw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '14336' + x-ms-client-request-id: + - 81818ec2-d282-11e9-9cbb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A665B9327C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '14336' + x-ms-blob-committed-block-count: '15' + x-ms-client-request-id: 81818ec2-d282-11e9-9cbb-001a7dda7113 + x-ms-content-crc64: fZaWAcBQeUw= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090594f-e01e-000e-628f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + PX9Cls5JobiP4coaqvtokf2DyR9vXRUOCu+Tq1x8BAzm1MfB4MxEp4LUDuMd5pln3dRr+NkD5Aqa + UEuFdC76UcfJrIXk2ldkhlQrlC6F4lywiUff/g4bI7Uy2FwzK3sfk5Wi6/Q4HhmDQMXo+59dTGHQ + xcF4PGtmF9U/IVN6FQiqtaJE7tW5zphhip4c6FjBux3H84vzk2KCz4wgIsHuMf5exklmZwg3Pv65 + 9m6kXcJESu5p7hwPrjoHWwVJMqXrOnMJGyxUrXE/kwKopCtklu3nQBteubcLaFtt/SCZ4MQO9RRp + ZUKIE2eoaLMTWti794sNWOn6JlOBbQ9Uj8QckltX1qubUxd4w1Ijg73s1H9hDZSMBkExIPNAGIeT + nAWerxPNbJYqhvpvqW9xm9UeRbpXQ7lKVL9QjEVpQ+oLirItZ0ia3ORXf0wD1Du+67kdli6SQ5CD + 6ND0iRU+3AEojw8GSUZtaqYGVri22m7BfwgQd20Dfxhc5PRMl+fwP66tBTFvpuUzFDhEHUo5LZZh + qFEjGBx1z0kJNssZl8/Ay/q15NVIQd9EbSuuGqir7yffp2IQE1u6RXMC4BWEpBspZtrG3dvH9MEH + 7qXGKb+Tfp2zTtoZZVdXUYi/URRqNcxXfhTzSV6hcsFpobeiZgoXcOfEHn15GQVW8EGw/JCXzkLg + PBYwkG0zOS+LGauY1Hcph06118SXHmdslCO5yHlzDnMSDGdeuuim3TXqnR8qS3Fh06NIYGP23/J9 + 8/xjCkG9deR/nDNz9FkRPTYKgMeIpbFZ9bHwerpqtAVcTjUa6nJQ+oD9cRhcuFp+8K+jac3Pkmh+ + K7/Lf+vFdWIoc6NBBdRVvE+85aG2KGFGh5aJBtzvLxZrY8j5gPWsZSTwYn9v0PhroxrRfsaoj43b + +8kFu/Eoxzo/i5EpsTbZRQEeFM08u7p0SnklzlHveFwlnwLmcY4NR6NCGFImjbmAHiR8SIgBAzK5 + I6x8p8SAS3Amwj6GhSUoIaAqXHotYxZOup3RdKiAS4Nb4Vv9QI2rC7XWXnix+fBY+MAtguZZ7B/8 + 5Wp+jSV0M3I4DurqQCrf8Jwh21kZiuwQWTlG6LGBHQtblrjaIFGXS3MUOUpUGb86jqAFNfFW16gQ + mdnG0gAMLHVkI3eewACjbmkRyI2ThgeUC6J6GDDpx7jEKUiRsCg1nMabIdVstiPhHcYyV5ODTxsV + E6V2v0jvo0uaGuobx6hDAnjBt/qURXJ+S57JgjlfhL5uE5TKQlPaFHVjyWEus9tW3MHhr3tcHyEx + bZI2dG0ftuP+x67rv1zJT6x8+qTu6BcPc94MMldD5UthK0VOlW/41qNToLLddoOwOGuXRP54Cg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '15360' + x-ms-client-request-id: + - 81903f98-d282-11e9-8f8b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:16 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A665C7D84B"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '15360' + x-ms-blob-committed-block-count: '16' + x-ms-client-request-id: 81903f98-d282-11e9-8f8b-001a7dda7113 + x-ms-content-crc64: ukR/kBUNExs= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905950-e01e-000e-638f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + BAatXRuO9TJFECQxEyq3UBKVgV0Q5a21dkQ2Cp76HQNdVpJ4q8nkDfNsOL7UpCo3c4FCQ2JY8yVA + KPXzzGomIslxdvXGqVcVt2WTYxRAdiZWlbjvODC/61DHx/nbnY+MZ7iHibquTzIetZEZJiiDqAcC + jQy1qMJD+z7I96RxpZAtzIqjVRkd4pBSQTfuNxVVh9SolqAGHqLkM55bWghZbonPU77w9/MfDz9n + T53UEoSAwKK2EUNzbcqMK6J9P82tdDv3jzAxcW0wYIDu5Y/zjWr6TOmgaYm5CrpbAlepzVCnsIW3 + aWZ7gj+9NzpgaDc5eitnwvLzJT2oR40OeiZaeAgy3fYWWmn3eFcJWa7DPaM8j3xMU/4jyPDs93Cs + yj9uvwETs4gLFmnV5sdIPYEk7DJO0TetU1HXbA6VzJuqmJaEh/f5zr1fw2LJYC+9zWIPni2Njyb1 + octzb68gSymUuIb4LHJlSYvesIdm6te7s1maqutg6nmYWlFpaL2HJfz8mfb03C2GTlEv1ATW4GSW + t3iHA6Ilz+mgWhs/nNVi8J47BViEa0E55iByz3w2nlh40431NH+sJ1lrij79XuIqhEg5eEzW8PWx + yxwgPK1EchK7tlJBHe+PhMBBgDJ/2g1nhDmhvaIixacAKqlLch/cijnHx135SeXB0DzH/KLvwyZ/ + OAdZ1eYkUDsVhCvDkEgtFcczkbpIr16a4Vj4+TvOaEkeKGGLKc2PAibD5lV5DUsrh5XpGYN9EoWY + r3tEmWKkyjH4omxsLAzSv0tZxVxlAcKIAk8L+jfPmhLkF8g+ypC1mP7039DjsSIyjM/k6vleF7ti + /apOkS40L4j82JmgNfoSFjuRuAiC23aTIr3fCjI2Mg1vBTiRkQ0LWY2lb9or0Hglj2CZWesN0BpG + 2iCc9apqxd8MEX0t94NxUUUNsFCTW0kCBNBO7xOD4VAh8LcldNhzRsS7jD+V7WG5RStDnjE49iYh + QvpafVn6xRSEuFp9cppFhENsE9XNyAySGSmDQ3mRrvSfvXm+4aGFIHY7ng6Y+skTm3Ub8UvtwrDJ + jhZqr0NYemu2ILYemA3Nw8v0DrbE7m0WwTCu8ptJfB1maPGi2RjXsmrsqk+4QNnG1htrM5KY4bGx + B9Ua63w8GmZSwwTZYhEqi3jlxcENcUIGCXMk0qvwrUUS+yVJo0TA9O+5xvqbr3AVkjUPqzifcJBN + vF9S10hhBFl4TxX4rTqNnyw8YzKPuxcrcHR+qlQorrBluxeCltIobPuJgaqQjthVlYUA7C4I6I7e + GkLHcWbWzx6EJXDPmOle3CyoHwI6W+2NHSe6M/lnzNl7OjwO7AtN5ROCiR3QNBHWrparMxQnPQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '16384' + x-ms-client-request-id: + - 819f123e-d282-11e9-868c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A665D6CCC6"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '16384' + x-ms-blob-committed-block-count: '17' + x-ms-client-request-id: 819f123e-d282-11e9-868c-001a7dda7113 + x-ms-content-crc64: KasdJdwmOr4= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905951-e01e-000e-648f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + dLYGOExytgytJCPoWLcwo+VmAMryAGBVPel92IwqMfji4MhVNWTZmWtmeWWPw0LNKkDxr62GUo48 + fjsNtVOKanj3dlnDOAecmrVdFX+7vnpCqwDsLMkN8TxSuBTzC5xjO56WYSLPxg3eB5DKEKxqmxKQ + nBsAxOscY3uUMtLanjI1y8jP5IMbm+cqau03ubS1S0J995Shvg8VTCPsMoNsMK+rIiTABEl8Ow/i + uJV+xUuAuoXElm9yIeqfNAMeTCrLahkXe+HQcLd4pGAxiMwykAnc70ESJjIyNYnJHQUBZxuTlX3q + 4kv7Ga6Uj7xkdXEDvuNtXgt6fFYpzQwRHqs934domlfUfCaxYkzaROVn0LyXy6tjaHvSFgUj5buP + DMeokgJ4aUPgLOCHHFun336lCXm2ya7LdmPtDFTdQanMzP3zwGcj2+4rehVstvYCuFheqhPLMYNs + i7ANvuPkD7dVrEezwvCTOljy+gfd13shDCww3nz86G8amdkQ2O1/oSnmYwCAWXnDlCn0r5cDOnje + JjFcWMQZWiSra0bWWFS7e9Y+FjGteEMszi/bjf1LEt49etIiyZWgYQuwZ8R6kzN/Pvg5Sjezm63Q + BHBTEill4dicTzbodL/pot914e8dCMFpqIoSORks84JtrRIhNtYAGG0DIci3MRLdSAmMiZKAGCXI + U0Vcs2FoQCh1E4DwvK1DAm7ZAXmBm9YgMaE1YAWzOu+2bwQ0rJvU2CEmyX6+bnIhkuwVk5fLfY+Y + vK1mHoLpQtJkJ1xsunH3Un1PotjajUkcTlciRE8Wg9BxWc574xq2uODN0i/iFt57Ub2Y+dSUhJvv + yV1KF3BlNH/diAt+7P26XOXYtGDs6qMF90tIDUpPxqYC5ZEljxID2a4Hfz+Pd5uOHP5KaHvwk+IU + nz6HskC5Erpow/E8bud/aNATcH2VxqvtD9Y8uT8QkfG/fS0VMHHYjvY9RbehuUgz8JGFPnRBktq1 + LToJge4olT3SFVQX1nWSIrjjWVFdRShmBxOwQD4eFtrUT4C4dNw9qgSnF6vBdhFGbin8+DzJPKPk + aUlvRf73AlCBN/TNKzPIBKIovQ+K66AArHHoeWSXrmjy0PFLJDOGjusGElurugxzQSEhDOJHuGHJ + +PdMS4haxKHr4TtDJ8uwe3xK0cNK5joDriS+GyJazdtib5ufb2dmREMmSuIofQJLb9J57U6aHhVZ + X7osAgJQ6Phy+ci5Ybnm+HntBlfNzd6Z9PrTqol9faVTR6PQPtfsPjomFHkg3V5OU89R9SQ0j+F1 + NRhQmhN5J0iFCMmjWrabg0/WgHqF9Tj8yDDogeEQ4wO040wE6F87sfwU/AP9d3EEqmhnhUNraQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '17408' + x-ms-client-request-id: + - 81ad6f3a-d282-11e9-a1c5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A665E54CC2"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '17408' + x-ms-blob-committed-block-count: '18' + x-ms-client-request-id: 81ad6f3a-d282-11e9-a1c5-001a7dda7113 + x-ms-content-crc64: 938x9wjnpBw= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905952-e01e-000e-658f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + /g+vUNyEu3ELCrdsy3bygYKiLhBIMgUDpfBZwDmUw+wxGU/hGGWcjCqTUDGDdVWeCBE7mfo+QaVa + /d0+cPNrFMO38qTiQTqyUgYiQWy+PPyDqgElIh6zSzLrZ7TMaxbVXyWV5Haz22Oned/fkt5bw5Db + D6ePd8REsEbf6yrK/fBMvBIDMG30COvtKLU7S0FUVyXn/WPtEVq2JXwRzBiNC0fBUcBCHLmNj/ae + tB99NnozCIGkQozUILvQ83/Kavi9VJJRFGLleV6X9BlmmXX7aZsFLanmTQYzYp28uqNxqMQKeTOZ + 7pOOZYbTVoTzLIf8cC5ZGJjVonUjWx9zprmUp9wz2fq9P1g2wE5KsStUrEkOq15FG+AB+osdldnl + t1W8uKSHs4kzlF507gZODTcFr6Zg+QNelrDgtevc1pAzG0VUN/tdGC2XwAJgSRrHm+h2Xl85YrEm + RoccaK+EAs6+oUpd92mCIbIT2Ao+zgrfO5yw5DrYyDjj0WdejxMHDIpvl8H+0SKMPv6BlYVnux2+ + 1Wkih5FNLai7Zppb9TOsc8w0gxN4tUfYVdC72JpVoQvaF8D9bE53jAeHGFX3L4YU1++CbCOvfj8K + ZtpiNxiZvIUOtTP+AEiUGfICd6nAgxYrn/M4NsUQvhnPzx4SLWw7y+doHtAVvFcqp+eHAZkYEbw/ + s9EAzRDR/vO18tWldPF9Q0TkTuNBPhaJzkVqD50YMz9IW4lHaCx0oND4XMlBPuphFobXnwQ5owAq + wbmAAswAp/HwhNeJ7INrBKwu4Og8j7hg54YP9CTgLzAU8G3RBNGVAvqWpTHYJh1zB5XAWEpqdtIJ + 82bXH7hAm6NlPvinDDSmafUlaiXrsj4Ko9x4i4iH87i6DdiNqbEd4K50QMhYkrMJj7vcjuKoYM9s + iyDv7tWM05jYyGGGZ6qxhLb0yUskbub9w0JOSs0ab8XqpbLKUIhVpUGs0Htdp1uMdSLtSqHlKbBX + 8fpXuiC6uZqQhYplZq5b1mA9mYE39tfqaV16vzZ+0iivS0hMeJAHaEAG9bk38Ip/uMJV7/2ObjS1 + Rbo6pdMOmCYyPXQ0VCGi5bNMBoJXpa6cwjBewSOlpoL1BzSGrp21uSadvOy19i5DXVKQYAFoF5KF + YJ2RPIZ0+dquv9Yg7Ycz/SnqtN8HE3GfI7+4zNchqEzrRfIzSiIH4OhpKjlbERVDapdR51546Izp + Q934X/G7AKl+S2vk4m8gXPCwTeWqOf0ikuhoSqH7Ra1l9jG41NTgexGpUMcSa6BNlKX9B6fpNHTP + vE5nemIUvYSeFE3HQL5X50peorml49bkElooYZv8P1QWzGuKUq3fRdBRe746rFtkf2huzHPhPw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '18432' + x-ms-client-request-id: + - 81bbb580-d282-11e9-8957-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A665F37C75"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '18432' + x-ms-blob-committed-block-count: '19' + x-ms-client-request-id: 81bbb580-d282-11e9-8957-001a7dda7113 + x-ms-content-crc64: +qMfUBCmsQ4= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905953-e01e-000e-668f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + yKSPd0mU1jvMeEvkiVBW190ALNJ9SNc7wgWo92r6tIFXcKFYcJ4C3vMGZXwT6K3wMD+4gpiiNPZ9 + VjHVVQGDjjxxz3w/z9Iwq+JPkasgG227+FPi2zBWha6MZNKXoVMml+5HT9Lik+2bTtLtvxNF3zp2 + 4okZvXVjGFcZAVQhpa90mS48AMdH3RnLLSoIuIkAelFhJxKwsjBsLXW2ztL6+QNspo86sqsbVTva + 89HQ2XQA3U9qQ8sbT76c84bI4Afu59Yb+JdLtMIZnnvlxgee23YyFQmPsQJQ7Hfbu36/ve2VEuTq + goXjpA49PBtX+qA3qNY3kSaTpqWwiWJWXihc0LUbTJ9p6atSladEV6vbDTGk2yV7dc6ingGOiZ+x + rFZ1hC9/y7XGarJnD67nbcbb0aWBB5uN06GLCqBiRQhYlENACIbqlBzNUeolPFRf3iBNe6jjaZaj + j2I+T9dfvwNkvOJhD2bhhZY55SItnG3JSyD4KmY6imbMgCqtUivRItM5eljBp5upAzDfZma6keTY + 7I+nJHzcgyFPliPqzcvwcUGLwjtlA2tDu2+VTOAVGo4V7g4UFZuBGbVYXCZOCydx4HAI3UiYG7s1 + P3mK1y3aYVYNgrzbvT6znNpNResWLqwB69T4hzHxlbfzVxhmTNXoY3JuMu9X1/5MbhK96GtgoOYF + doVrURr57IS+FZpuAWyC9BvlJQtTQXWObr+YU2U5oTSNG2oIlH3yhRppXjrP+4/Rn9bKT+oQpcwn + P6+qF8vTBbqChs1fhhNmE/Y/K3gE9H3cTvowfhSJJgJW4rJdnqfofIHQjtncS50g6GPMNw60eTbu + BMcbX3lMbatfphn52oka5f6ZX94ltslBSLaQkarZsAw3GUvnYM9hH3phtwvYvFJafZU0lHxB6eFB + m5YytMykPYcIXZP9hQcV628qe5RmZ5PLMgpULDVDSfWbFNLmL64yHjGCSq7Nx1RSZFFvb7B/QCwC + tDEBkTJATHB5RHsRKbU5MNSEkDp5Sq7Uuuy3Cdelm9ZlcyFgpy9IQjy9XzgsLFA05EQVtwawXy1C + ex4Oj34XG1Izyoq0HJ8kLBAUWqLaAAd+HILt1iiFOo8xvy5VKo3Xhmzjer8EFbS5yW3S/tqEH9eT + 93KANFXxymgpdVw4srO3u8+I6s13B0BLe5yjlSr+4tJ/z9RRrLNQnbuGIeaBJ/Zr+J9vW2p9+GpR + 5WOp/Pelm48p4H0Ze5yO8lUGF8oxS9fiI3n6iAGvVIaCoft/AM868gHJO35GYcGl2wQkNN8e6I8C + 3EBR6XLYKWEZdjo/x3pMxJj9jNCbBfiVnGOuf2mlj+pJgpxgiAgB4TkfKXlTqnnGmSIFzsfhMw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '19456' + x-ms-client-request-id: + - 81c9edd4-d282-11e9-9dd1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66601AD5C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '19456' + x-ms-blob-committed-block-count: '20' + x-ms-client-request-id: 81c9edd4-d282-11e9-9dd1-001a7dda7113 + x-ms-content-crc64: Gytkum+cwAo= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090595b-e01e-000e-6c8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + z1+o9RtSGzq1qCuF5Qs8RBcRVvoHEOBFtfqjjuKLA7o+CuPvQIAoEzuR9N9AHS0STMQPVmnawHio + +7Ldm6WoE7cunYGgr4iQelI6saMXi1mTzeT+L0msOeYsK9gsLZxJIgdHXSgnc50J+B4q7mzZt2Hp + eo/RCc7P6ImCfLBtjmLFdklALVwoCOKaLELfpnlD8lvqfDc1zK/UOnSv36LarKQl1tWoHEb8Xwvk + nqWAFywNNe4/bh4/8EtnQV0fixftOdArOzpsmQfW3X0zMEEX5AJas2FmmPngafV1BeJnEZVDdtMJ + jBlkffM2wxpNYsjyIpyUlGaoa/TGiw1lXyvBbbpOB8GrQ+HdCF+QwBU8NbT0D1BBJiofHqtNkVfh + n18QpQVx6tKILawkUhbIO2EpisJPc1xdeov3JI0BD4vU6BcmusN6f0nykPagU2CT7E+kbn4ymb3i + xTDgfQF/2FxRkYhPJa+LHTdaPcgrEBKx7enPHDSni1qxA/bN0vpmvqxPpwoExVs42BQBRQn3WgPJ + /oPw3eBxO41l9aocpC6nLWIoXEI6Uye/rnn+yYTGSVkDP9Q0m9zwqJHlEG/3aYOeRNjh+JRhGAKk + 4axNtLER3kSbo90Dp/bz1vUZtt4yjX1QcQSHJ+I9Om+7juloMVID69tNH9ncnparf/S5mdZ8z7MX + 8SugWUdOyL9NLnd3EuoivtCKM/ciLsfRe8p6ocX4nq80MvbHG+41pFNY+VzU5d2VlMC8bl5tJtc7 + bwgV9fsFQmuSraebqzhMjnsDH2sS1pcm/pnUkee4rlFZgq5lV459X/pLUSebtYyRc3T7CBttfSE/ + RmvO6Ve0a4sTe+Ilz3/BseUC2tzrSEV8eJ/zHgbZ7Hx/iHVvSROsUsRTgDMWNSto98eiCe+t0dmQ + Z2p9PbGMtpexNWHKsqE8A5aYzq/UN/fdkI7s+82q4NqEvkIqdXp9PXB23guCw8UEpuWgNwK4XZ2n + mFKms4ArHQRenJR4XtqAzQMo8FmjoJ+U+XEfC8RkLMfCcIrcAgBCIOyL694QycgyroYBrSA4mdgb + TtDt1CCImnHZZB5S7znOTIn25Rd/ReJIRRfYqZ5nh8LeEIWo2cRVFHBT4ETNVqSNB2pIE/Tn+ER0 + vmw2znKjgqKcCXwcp9qNGVWDtvToLacRzT398d81swkv/POfUUKC+O/wSkDVX3W5RSYoe6ZX5v53 + +gwZUIiBaxY+aymSCgsQcejvMH+JQH2G0Jd0kYg/FtP+YNgJBeDNrPqGKvU/rPrBM6r65/6rGqZc + 5Dsj1kxsh2nMZ9LnTX1lFl8KcA1BUW+F/oMWX7yKxTqyNO4akwP76bjn0LMUdh1S+8K6JCPsuQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '20480' + x-ms-client-request-id: + - 81da6e18-d282-11e9-b7b3-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66612283D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '20480' + x-ms-blob-committed-block-count: '21' + x-ms-client-request-id: 81da6e18-d282-11e9-b7b3-001a7dda7113 + x-ms-content-crc64: whe5ggisv30= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090595d-e01e-000e-6d8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + h+XWinZWOQ528zZoQycAkPwrd67aWHIX2qGmdNOzWnNpapacZvk+0R/scsBcpva84MTOL5IIzTAO + NGmDRy68FfYdhReUMm1rBxLLSY1cDamrkjeNgpFZC+DgzB3mQM+RGBImEs1nHIClyk7YpgN5mcgC + HwKaC4d7iIWJsFfmLQ/WktXFTFLhDs7mWszKVSuOI1jozhZtWbHiT6lEO1bwPE+8yKzHJIVTSe02 + jnHdVFqir3i7KIYB7BAsk0ChEmIoqBJf0C1ShuDzVSASrLblX8rtESmMv8FpkumGGgULIJ73/OEI + Fi/sKXbYyE0pFdIHPeZR6lzQNSC21yGwd7SZPUiIOSfBauRQLSFUbmEa3g48kYCi30V6X0mguB8A + iHfVjEb6izjPmAhmEvzfK8EH3cKUw5QsLxBSkWIoJiyLt2Pu9MSPc12k+jbsVTSgODfr+jUZQVDZ + 7BrlzCKuWBS5cEn4l2EAs5iwzmawVMtcC3/c8FMdV75rv20MtnnMmK0TtLA5ksF32Ea6jntUKsuq + dfhfxwR7d3IONlPUJeK0NGU71752m8LV9XdwKXCsbYKGTAbAk/eNeMqRhQyjv4sF7fjCwaHC2LfH + 34tTNrwtWjXYI0gme8Jduo4PITHCTXx7n6rq4b55b7E5xzGaE67HHytxUwL+hBTSps+BOmZUei1r + AXIDGGzcGkwLOqPz96k445+F3sOQe4WHXvlA1C9IkE9HCiP2wkCJxl1QFssqmJz8WS4UIH44OXE6 + QKGm68FYYyYHeGdZVOwiyGRrzKiVCDbzAdE0r+sz4Kxet7uk6Kz61XAXsy/vSmqALQDJdV3yrgFO + 5aSkIMCHqN0b4uKGEBeu0+WST2ZzcuCLaZYFLmoC1mPCep7lZoUjZ3dQm5m1ZtQbfRhY02vf5wad + hBg/AsYRAdBVihCvFbad9VQfT1mJLge0xtiQ+XfbV4KKghCVazk/J2APaTQ+xKw0yKCmMdrt0jt2 + +ArXrBG7X2S6AR2CcfaX8B2xhutaTl7JiuR1NZ/Y9JDRhXWxrgkon/UpLX2DaZoE8KYhrScc2CqF + DDa22B5DQTGHN/CEHDoKGGzmUOuvRElJmH7zujnqv4sO3Say0coKin7OmURxtwyaTaUsXSjSaqep + RzHocOVP1qXGK9L6TQQ7Tgc3kX2zVEMWfbPAwaaoNRsxRyL7+oJyu9UuHiagjaA/A27CWxl3FDUz + bVsmc7BnmM7t5FPEeShPA4bDBtX9FhZvYf2zmiuhu5cZv1F91Hr5UN6wpKPdN22aOVxoQ6nbvznO + sRTj5SrTWaASphEcbml8ZWh7QLGIYklCGiAm+zq5Hb1GQBwCa318mgilMgnSLOBotJqW5+q5GA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '21504' + x-ms-client-request-id: + - 81e8a0f6-d282-11e9-8036-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66620804B"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '21504' + x-ms-blob-committed-block-count: '22' + x-ms-client-request-id: 81e8a0f6-d282-11e9-8036-001a7dda7113 + x-ms-content-crc64: oQYQgfLz4G4= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090595e-e01e-000e-6e8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + 2qyVpHajm940PHe9j+WL6cg+4e1fNwk+EReVmwJqFT8WivGEceTYf0x6TTmiMvYE93ujAADerRgx + fZQqJ2J3daAS6wyRoufNsOF/sqA/fQnJv7KzNvvBf9cAW+6QZvP8D0itb5qAFaAmhzBTLWG1IEY8 + 0nTPRfrwhWrJsPvKJl+ngbjfAzRVMk27QCmKLQIbkUePyDQSM2XdptjW1g7Fk81tJIP9pjOi5sQK + VYY7MBh2t953G/AHnHiLSDMeRB4NvEN/pBchVPdiVPbkrxDc/vvJuUmgRPyNUdzvW7dDxwIJCNAB + 3W4bSy0xuRAjpZD158SPjXo18N8Q5jUljn+3PrmNapXjiwjuK/LduoSBXg0023SIf+90oNigUBxW + rx2y8oxWlalZ/BEfkCovoUp3A8vEnBaPi8RthT9WnmaHyZJUZBseirM82FFLECnf7GOV0Di0aNx8 + k1uZf5PHLWgA2Cw/L5emFLrkjZaOfHeieImt8/BCoWAnPK+V1oFqUOyBL0VTXqB0BFWSUqdxxzl+ + LtMpvJuwBAwtzQwliSAYTTqjirpLiY6VB0uLdNlO82Kx3DSqd3ytklOI4btXWg4phetxD8DUUO9s + r4he/Fh0JtMeuVCwpridctZxaLAxUzSzr/x0qws1kl3dw1t9tt4ZtWYVu3eakNwyc42btvA6vQIl + c/cSRK5ybmu4i7VJet3BOqsqmMYiC3aQQPFThhvKOc9wC8rvEUPjQt4zX5s54uPoxm25QWmKZghI + +S4cANFN88gUSGpe75Nvuw6fs9aJSjeQGhnRwaak7Y1EaYTbMc6uuz2zauvEIZqmYm7bNIS9Zjbl + 2JYzHKunZkt3clRqE9wbQbhY6491AiH1IsnT46dZxSrSDTRGokyDOBR3gLwRu/Pd2l+RMlDwOzW9 + o4ebWsSsiFiAhSzpIVW4bVJpIstTvsYgL72Fk1mAmHTXoGBo++XCI/NxT1E920yyaE7NwV211ARL + xsPxrw6ZAfrrQHL16n4ln9yYrPGKxLe/dyxK4n1gBVcY9AudeVddW+tTzLtYnxLu65pBvGdq54KC + aA/44Vmn5ectXvlsTQEa0vNr98/bSn/qgNzdDEEkPNgodSZB0bU2AbRacT6mb8dCZEutBmHJhDtF + ctXeGS5S1YL1po7665ci5N6pi5xOZnAQAT9sXTK5lbAaNtAFzj6J7ZuARbFWa2bN8BtA5V+sWFZO + ROFQyP1Ib22LWMLyT3Bck7iuDuVYI0kZ57cilq3cDMB9al7MHF8nyN2lRor2CmhHL9aTfTyLUK1i + hTc5eVX2Sh/7pJy0TSn5dLrPPjgIc4N1CW5fhABN2gyovTK+AVat8PI5XBawZfbzmPdtlzBhHg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '22528' + x-ms-client-request-id: + - 81f6aeb4-d282-11e9-8ab3-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:17 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6662DEDB4"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '22528' + x-ms-blob-committed-block-count: '23' + x-ms-client-request-id: 81f6aeb4-d282-11e9-8ab3-001a7dda7113 + x-ms-content-crc64: 7fOkcruvt30= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090595f-e01e-000e-6f8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + ub54yE5mlQQ734FhZwFcYTp8gE2Y5ZXv9H7TyCXk8FmAno4iql4GjwfGBFXHwljYByL44YLTj06s + /ogY7+uJsY8iLpnuGfi7qtl94AYnhtYNWOv1K8tEdnH3A7J1gJASR6bKJT3+4qiQFmw+hVOolupS + zsTsvEyxmQ9AFgF1zJReiUW9aiZaJ2XqnQhpueGESwornrgR9V0/OxDdaGsRoNsDnLwEp6Ijo0or + iepzA61Jn0iIIVayTGe7A+4afJUEqbj+rUl3LHtOG1/LZ2WfvEgEZ0VelLzjFERWMbUqcIYLxS84 + Jk4KQZVHm5I9KHScnKM+tdAgYrlLw11EkAv4W2j79Kmo0Mn1PLqlsPC18XdUHnkWx2P75w7QiY+9 + tU1EUxdRsIAW6OvHLMaWjdwXPWBikocAtRayjTaMv8of2CgS482z4XEZuJCyLgFwwCWrgUM6KWpJ + u9Wx+1VyHJQvCoXV+3mqtKzOAQ96AVCF2fIq+KUdLMl4nNXlUXNgLJKqwM1AtAtFS0k/hMasZJTl + S39H9zVtKWuuR2EuCbkGFOcGcq8Lu6df4I5uaTmjklAV54+6aY6t4BbMNN+aO0k6fg0R+EPWU6kh + EMGLoSrkvlDrCrkshAlGruKUzEeqn0kEpq0Dyxu+jzjTMI1vOr4+sndB79oIho8rSfe7dIOawUgb + wiys9aaJyrgOBSbM0CmNidk3Xpgw3oXvPaQRA7rPfTdnfzO6QYXYcxxJONrOo0i4PocTj7i5fxYa + NwhUfNLkxBJDR+1Xo1myk4gCEeYTbphiw5lmIpe2oVcgwPEWIbXHWsGKWUda8n9gL6MfR98N1u9E + kv6b8uqQWVz1zbAXhgTYoRDvr+7ZKpSOka0PKSMX0HDe2BBfa38mS04b6iicIltLrVft8jBTO0Ok + x6tCPBVOr6yr8rPe0a8QmZ/z81Fnz+YW29loieHCUH5cALqPcd2rAjqw+jjCADYmoHGBecxrcy9P + 8yxtgw0DHQiEV5G9fxqZ6ljlCTMDTJSBWqNeCF1rfSHRcDvd7FNzPbPNsGuEyhVYObGkgpPacssh + v8W1YCb9KXV1+ihbWEcvEZe5DrA7cDzj+pfvk16+uK0YRKkoXof17EFj9ltUfLtZzyGGPUnn7al/ + VTPrlyC2Sc1IRSN1vprq8Ej9TfvbvZbzWuJIpIrvVVaD7STgqCjWFQhkdZHE56cjCS9qWUVk1PIF + 05JUg/Eheufl38qMqJc0LHCURAdP+XSHmzAwA6z6UNKdkvqpCypQYYDzEMXA7/LuZIZJpOUZkY5V + z8TZTUwesXpE655LWnNbeGpoz9rUVLIVCQLxYDTXu1Eh8lJ077lvQCOlJ/bVxQ+OjCtJBdD31g== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '23552' + x-ms-client-request-id: + - 82044fc8-d282-11e9-9c6d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6663BF7E5"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '23552' + x-ms-blob-committed-block-count: '24' + x-ms-client-request-id: 82044fc8-d282-11e9-9c6d-001a7dda7113 + x-ms-content-crc64: 9OgeGZ9QdoI= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905962-e01e-000e-728f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + pXwFok21Liphw5LFI1upIGyAuz5RScHdKSoek5eJOwTknDx5R0BOYdHZ9LIIeFg67qBA80tsZzMK + VUFG7m0QfONUHAT7OG7JqOTBDa9Fa4OtCEaFQzEEpHjAx8ZQpIel8CRKGS/IfMkO8Snbfj36a5Mv + M+AUtZ9dbxl3uSqlbsocxHDyTzVFyxauYPltf9/qsdVSp2L6qKb6+fz6IXqcHYZZplv5+NZd4gIc + bNEGjuWtLN1/jdowCTZHl+rYN6jGUfMjluCAAEftf6uQNc8Y33+romHlcQz0rV8o/SiQ5Q1s/KKS + zhx4YSen7off4eQZDd2+DGFJcf6XySYPVeqqNHLOCDFTmHk+lS3nxuCCJ/P75hyV/ZPDCzTOqUu0 + RhWtUPAkzx5/+X2d04jMVBGCn1sur0470zlFzghtawBSYV/xoTeGyX3XuR4GQR6ekve9yG1EDitd + 4PODe6wmWkUXT0Ns8hmC5YFGadnMruMAShBtkT7sU4RSWQ4anwHtsImycylnrKJc5EJBRXy8udRO + 7n7zKvwK40/o7RUbNMkn1S00kVMB7mPplbIIyIiWBJ2LK+qRdx6U1aKCulxaKuSQcYogm3a3WaFj + APSMvrnsRJOy8A4KD5EEzhzs/o+0wmDzwQtiNYtVaws/SdyZADYQAuFdC4pvE3xsCZ1Uwuq/0pIL + sfNsRpvbkpx87Ez8qxvGSwdYSh0yyZ0MkPRoppdtoVQw9zKro8K8DWcxN1hxFsFGD1CocjRYUe0W + jYRKjCet04LfAz6d8CPp/tS++iLvnGtHvkUXSGUhaWVi4usVpKMDhgnndywFw3VmA0zeIFooyGmg + /NqpQQd7RRvJO2Z08qIJIS9Def1Swx0m6g7UeKrCYouDKZj0KSm3GbqXK6cA6ssPytzsNLUBnyx4 + 7w0lTmiJEb/r9UPSdFH46psjgKKAfRYmFThP4a60zRRObzE1s1tS3syn/Fh5uk4AdBauemVZo7ee + wgeTbIFCyU5SUi+XMaXJSB1Y4oVUME+CcoyLYN5PkyRVdlbEZh9OEp1tXlOSbvY0trM5bAysl2Y0 + OTTwopUExwtA9vunq9uD9eDtPESa7yD6U6o3+Wn0mvmDfjw/XawYIC5/lBYwem9pIlKBZfNBErFu + fhvpQR1xjzMv00XIOhc8uMP2vdODifsXc9HWeuU4tW5ShuPjMtgMMaeQgYLS/BJDaOe5kwqE2wFf + 7Ph+bhcAA4GkjTNPq01G4zMZ2NUlLpbQo0rtN5KY4r/f+8zwzB2r0g75Gcrsj4akfzTOhSdnjiRp + dgxCLGuhh4C3COPpM8QfAg9lvi8HPrUYT0mU6LFWE+mChjhc2tc038Xrf4UhK2d9rH7OXE6UPA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '24576' + x-ms-client-request-id: + - 82128c40-d282-11e9-acbc-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6664A768D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '24576' + x-ms-blob-committed-block-count: '25' + x-ms-client-request-id: 82128c40-d282-11e9-acbc-001a7dda7113 + x-ms-content-crc64: TzA9yuxCXzg= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905963-e01e-000e-738f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + pNXF6d64GJ1M+w77Xk2FShOMLDaiFN/hU5b4YVeIu3jhwsARXNkkDUzVWJ+dc9OD95PS7U9VSb/+ + auteXyy4rvwjmHvMIHLdEmgkVPE/KBQfnX/xP/sSZzgqz9JwBs8mLLe4GUjUsVQIP5ECuaOBVnSI + hq6pYHbf8Vu/E4czJrCJdkAMnRJuaEo1EU4+p017SFWG6R2UUXPv5LuCPnituWb1e/Y21leY5iWq + U5qWnfgez1z07HN88Cjbnu/NWOUDqlQzsOX3EmfB2r9HiPZ/duzU0kTJnNgYiUCf08U9fQBuOPsW + 1Dj5S0UKaSteeprNDFkNJgvbIFTLXcmGex+0F+qzfie813FDIwAhP3/3ArdgGTVdW4lE8bZvzlsC + JIZOgMlz5pgEaqYTowwprcztx4KpIEV+hVJUn46urTAF79T8tkxyq1YxNSQKESI2NEuz3YlIJje/ + plCvEs+zd7HoHkLpZbErj1LAQeAChh14DtDVcP5ookQw4ctE2CnQqf3S7Xz6PoZb3VoAnvEyWQnq + AlS/ShN+R/d0k76Diey9Fj6t9NSXeXrC36zK0X1XKav0XkMFv19aDt72ihGBdI9Ka3kvvjrbj1ky + vioXXMJBUKxH6veMPB/KRf4/ElWcdWH19Wvo4x4cXqQheCNAWkDmmoaaozvmdFt29hYgc9kOVSDI + fFkG2uz7DlwDjT5iJp09zPv3CsB/m1bZGOBAZ+Y2rgtP22b9wjDfgvIL/rM3PhA+1EyWx95Q+RNN + dYPIgYhL5TiZNCERg40ZP54oVyD7611g12luyBBC1zWz8eZFRMm8GQLsC4c3bgC+MdkHHX70/Owa + STKqpwtmXoOYaJ1eZKGYy4JOgQp+TPMIt0VnLoJZzK80G/gSzSQQtJ3+P+9qaHtF43TIkQEXJZqe + z/rfiqKXwf4egFXPfEnU0hdBD0avU4kwZFOvexGgQBNra6zykR0v3dhJneYQPkGT7xk1xry38pi7 + nrAF0Q5JKwCpgpz9ws8yk5sn0BjJQQGZpFzHlM0LmdiR1+LMyNxfw7WgtcwrlMDsDlVRIPElIccQ + U7ddpaWg7KcWqG4FoQHmXYeGZIPezP1WdWUnR9nLsxmA3lrC7U7306I97UC1ZJzNKiXXgtvyJLfu + JZurwfJoIObvLFhH7pem5UqNo4c67linL632E0ZuCXjWmOP+08lC4GkOWXXa8sNnx9vcpSi4xxFg + exRLGSG4Gxm4o/wYorlqRHSMLoI9MLvpN+Wmh/Svb9eoSLO0my+P3DOPfpsegJ4PyJEv5PS0pMZM + QG++F0Ms1VGgNAJ+1XZ1r/0LhXLrPAmPr4b48+cdI2pkp/XLHVRapKOpicdnJeiEOMt3b1PXEQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '25600' + x-ms-client-request-id: + - 82210b46-d282-11e9-a085-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66658CE7B"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '25600' + x-ms-blob-committed-block-count: '26' + x-ms-client-request-id: 82210b46-d282-11e9-a085-001a7dda7113 + x-ms-content-crc64: BqpP5JyizQc= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905964-e01e-000e-748f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + nyxJnSYnTltaPaYhEqAsPNL2ktnSSvmtB8fXEIazkFIfIdDuIA9hx7lX+d3yYV8Pz0pSNmEIJyY5 + NyNE8d+pJhOEBvkFa/gGplCTP6YYXoV0bBKce0kgNBXGYDblFE8inklD/aNq7qnRKidgmTzV69vS + ar84Fl6vYq1ONjyOQypU7jWdGp6bxIjp66at54cFYF2SRX2kWd4Bgspa0CGf4/pEm5VXC3+Y5Y0c + CmbBzRQyBC/9cRAmVtLV436OaSR9xx1ka+R9n5Jzq/eBFu/9XMuJ+Zw3qFCbkC+5ZpJgGQOIyN/l + 20dO9ODX83fcGzOFKOM+XnYiYhN5irssB2fqi2khClxWcJv0QTuY3UzuA8I4XcRSOFi6Dw8lgbRH + 73IRWj9nxj/j9syCMEfb12HrvG4YFctLVh4jyk7aGzfc+eNqQGJQceZM7QrkdF6TJIKq7fWwLceB + wpsA4eHFeLJomJp6KEYwS8Qep77Rx/6vz3fmTledJjWUmOThxxqCSQagMUpZSpFQ4MTPj7nCfs3n + SmPxCpDLoV1vi5vQ1R7G/PGLsoAxq3trgznCFgj5q5S5WK3nfvhZNWeQN/AZabJRTDP2gNZt8D4g + GjQ/L6vlnFcySdbzWRsgDtV62zy9lVzJzRdyeJfLM/W3iGf1a+ECtHjo9gqe9DtGsq/WOvTQh2KY + ePvQkEDMPv6ayJUp27O2csReFs6sf0nF8LQ+NXfiXbJqrOagyNQfi5vTjfmMNkEHpZY6dm89kXeO + f2rh4iP4b3rmRF0CVzZq8A2SmZuSIGd+A8I7WSqrpAs6SMFu4QqffrqOQEzxwbjMLp8V1h3l6+o3 + N3YzKZ/IB3zLsMT0WQlV3I8YvWxiIG86tJx1jA1axwELdoGBIfWJTVrFuSqsmpKevFCYydAqKYwh + cnNb8EsukRNrdZBd/PxseZ2P5NnOYSZfTjABOQmxdfJxD1lxRpODuwuIJZNfZIsg4DWcGlJpF9vq + 8G2HVH54AfWhxU10IEtb1q+YdRgiPPPjf90fGQLNuWd6e4nA6Y0w2vs6LqJCn/IbC4RUSGsddWUb + fHxn0uc3ojbZFo9u6AQN+D8UQD5K4NovO81+wgX9cPEAyQFXEqLoy7l2fxvJDVvlSNTB+KAIyGRj + wPMH2o1o5FEP9pFv01MhPLpDjjeN+dHJ2CkvC+rHigwOR5gKl3Wmu6zIiHV7anhpdCXrrq9AAgsv + VJo8RlMHjokPfutBt96I77fmMKd11x0NQDSUWQXmba/HouKPThuSWe7DOeOPiRbdojwzBlXTv0Ku + zY8eCyM6rxc5fkEgnKPoCfD8QV19FXDcc5QLFBch7fJMJSZBb+enytXufXmjStPw6Y4I1+jYhw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '26624' + x-ms-client-request-id: + - 822f20f6-d282-11e9-b3f8-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66666FF66"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '26624' + x-ms-blob-committed-block-count: '27' + x-ms-client-request-id: 822f20f6-d282-11e9-b3f8-001a7dda7113 + x-ms-content-crc64: hgRpwQ2IgM0= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905965-e01e-000e-758f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + Cr60zhmKNa615fnFmu5keeB5CbXads20CBeVQr4DIEXjBdhvCL21aXYRutem/m3wYb48kAVDprjR + fvxHWtsHVYLpJqKjIzRFmSmZeH+RR2e6frDxsVPAufplffLbA65ua1AMw5jHANDFzSMhlds83V72 + Tc8V02m7cHVl9hbiD0KMz/U4r8SfCttL+eFfuMjXnLRUdoqHP0ZMGAHtHtEjso+aaIWbsMDVYy+K + gh4EvfdsWA2LSTsOA2vuVkTeEoCzkQ1n1lEXEEjmMjLprVnGcrNNeHnDo4xZ8/QWIR87fwdtdpvx + bUp5cxtT9SLxLHszZ4kDDT3bXKe0rDhHXrfCSVkNKfMj8vrvA6iTYGUFASetTGDKKNdqJiHju683 + mmVHeDpp/BZW6qs9pvFZAeBVctIm0qq0HbgygH35jrJhYNJyeRNiLo9tAjSYfeoYXHtcXiNVgzWy + IkfmeM87Bp/yEK0NTypI8nNCLM9M1/UMJCyEpFKUuoT274Akbs0GbySvEvZYW6s73H3uTegjB/zm + 8x75921ARB1Rqm7kFqFrS8F0suIBVFimaPosYI5CPZFOGsYiWrBo2ElUJXgnY4uAjlETrVusiATK + jDoSNJCK0g1OO1VVjXbQQG1Vh+PLf8+GYDYF8/6tbxHBoWaoUG85ve/U2E++CkpVEORG9+oGyjF5 + gXIvGUwYlBnYL1vRZuIITYW+r29WCZSwxHcsMoPcT2d9JVI27tImIyMLY4i23Ppl6o0PvdhRMhHR + wT91I1N3FIqs/dft0Okqil5SXa8YEF0/nb3nnTsMeuoFVEw+JnuxfQIWL2uy9sh7KUpPKk84FGx8 + zc8cnwIcGywaFPBH2a01LsDKMT6pErTgnP6v2ybkXhH0U4Mn0r1RmNe0aSSz5UYifkmkSi0vI7Dc + ctWitn0NHruts8vuQPDI9q9USyZaDkHA+rLe2nI0I2Ml8cm2OjEDkQNv15BXupwGvL7hz67Lcxol + mE6mvgOpvJPOkPDsphXKoijhEo9rwswBujaLm1KPQlGrnu5J9g9BokmpW5bbROk85WXWytolx44S + Q+R7anfE4/cBPuirO+Edcil7Ih2FCotPl4yfYpOmXKlOCAddk1627kjWl9iOM9CCj6Bca+vQrbXd + xmlAfHJXc+C7EvA2bsIh9JvwV0NEV147l3GiFVay0lgxIB1iNQXeXQ2w/ft0T+F4+Hs1lOEzmM0G + u8fG3dUUz+sm1Qpuh9DEMS9dk2zoycvG/ip2/KBxd0Bz2T2jMYO15aYN2cWn7Y6EEbU6j/B/WwN9 + frjdTQ3RnTyxbzNeDZbe4kU305hB03xwvXaW8DRUoPnKTC/j+E7CtC5O7mOy1PQI2DLAKzG0fA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '27648' + x-ms-client-request-id: + - 82415380-d282-11e9-baa9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6667927D9"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '27648' + x-ms-blob-committed-block-count: '28' + x-ms-client-request-id: 82415380-d282-11e9-baa9-001a7dda7113 + x-ms-content-crc64: WLuI93gIvtQ= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905966-e01e-000e-768f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + CIBNVlvXH5AYOKxH9tfAZi0S5Rgu84nLyFyPXCk8OziOcyorvvrWncw51gvTH8Vc9mnn7/urFoey + MLn07y+1o/33HfSUWDpRlHZCjmLnXeMACCdFOVGu127j0vLi6qzFUCPOI+SW0cU6ups3NwUeOy3u + 91W8W855V7xcdqB8QhoOfPSJHz0oNydUr8pmIgkMukhgUD5Koc/HIJIHmmZUO4RH0EFJxtUNbtgG + V/i7AnFX38vMySl1tzHUvyxQ8hurI/GxhLSGWa46fObU+m2aIZMQ3zfbeAaG3eGv48WqbHRdUd+h + HMMzSZZd4aZhEY0k1YWBT2Aikuak+GD8cXIc/uWoyRZCP22eySm5HUACC/3TuIbbMwy5DAOEvTfM + OO6h6SeAUR11a5u3DYwei+iS8jhr3hhkprTwmmAk+nlJhpRLBMMJWa08EnQVULExCBSkGB9YoyH8 + LmrbOVsHQDf+dji9De5KB3SDCtJRSF2ryHMY0MyLeci2moWAxK9gCIbL+jDUw1PwgFhBp1HtD3mH + 6N2kesJuWEPUoGozohaylkJXjUF4jL0A6JaBdMxvybnngjkXpLAj92q6bguK9e/uGjkBoJeQM9sQ + 0cpIU4UZWNTmhMY1MPmwSYE1GBbZApIRJr2iNZsSb9rw2UbWsUgLse2TGi1R/oGB6szDvrBi2ED2 + 9lGBebyFKGqDFaG/QiRpPPosV6/URvLsiXBFvCLZxXbkqK1j2ksJ92er5NiduUwmtpaaMXal7nim + JmJBEAZr5nsraLMLtvr3ghho+agma03BjAWHBEimUVFpu/6bYEmfnNtqDt+xvic1pRP7SJFuO0fZ + tMsdv3ovK0tvlq/KNx/I95KicPQH2Flk7O0i2CIBtLoSuBrDKpQC0D4a2205O/bJ/kk7dg5elAej + XoZQyYOWxc+e5Z7mVg5z+9oNUswiphPOzyU9r+NwuxFJxM08d4fOfAC4UH6PBZ38PJtCV7sJ9XN3 + VtuSVKyvMqTUXRX5X9E0+cIEnrOHXr9YD5/m0TFtOJVztt/DX99uCHsFewrCff3Yqm13lif2mpZc + MKX48u6wj8h8KCbb3BO2NO+QyJinksFRNhf9g9vb04gzYqDpmn6m2mU5qv1HB+cKcfN3YdTnIuY6 + Na6s4sjewHSB54psftrDW7FayAzVMt9sKwYZxKuI5jp5d4FLiiHcEFj4+gp0lFjS2c5rJX+VboKx + mKgcpSqcUh+6z2GcOydl8IVWPvkEUgETMLW0q6nHFJS7Thj3vj5+mu8DJr/ivNFXm8CWObHTYx8g + Or7Zmjvn2dK2WRBWivcXXjDm85eR4L/YjCh9hMV7Ar4KFtHR5S6yVJviL9t/0SpiMR6vvNIPoQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '28672' + x-ms-client-request-id: + - 824f6702-d282-11e9-bf68-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A666870AA0"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '28672' + x-ms-blob-committed-block-count: '29' + x-ms-client-request-id: 824f6702-d282-11e9-bf68-001a7dda7113 + x-ms-content-crc64: M8HeVLU+pqc= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905968-e01e-000e-788f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + 0FEZSU6h9jQei34waOcTqbHEgao8DQbztfae8doSoT/wHNMqFY8eTs1VFEBOPEPqjBjjQfHAzko7 + /PjaC6VZiedKOVlLf+pDG9Db9Vz87IpZvMfqDC+KIIPExT5BYmsKPCcOP4tNh7wPyues0+2AUSi8 + EcQGSGsmvKSak/Dnw6o22DnEVMD+NFMBKOrqzWArPG8Iz4HEAnv9Ljab1P3OETSc/VLxcBsK1vOW + daR8VdvWld8tnhgzpn3a5wzJyotozuS6u6D9F1WG01ynty/8GTm3CKJ3A3fRPAT5Ljb2DWqVZGH4 + AX7XOrq4N4tBIKDP3d4Y26qsRH9eVgHt4Sv0W5BCSqY932rF+uJaFhkulebqKpPu9/cL38mWYPNC + cUAIOo20hv2PwYNWI7B5kRG27XEvhjHQQsHbXZenwzSc1yXJI5N5hnE6YHQWdwuFo+Yt2rIYumaD + eyeLyS+Ol7qqMgvgdQU0qC0EX1HOJZr8e+Tx4RZXvD/hXxjaCUh6Ildx+MLMiZVQ7Q9/3WLhhhJA + 1LKTWLxXuYwp3GX3hh6duyKX+IyXG2+0l1vn6hk9UkFsWJ28JKiHMnB+NnVy9CRKqXjMwZQT8u6m + gs9MgehhyNFqbx+ysnpfLu9UPWMjwFVv4Jl5gUF2FHL68+xRcVdL3YaX5NiCiymGh7UAb/jhOBhL + HjczRfWuJHJdpT9VeYCtXvR2NwT6GsPk2E7IfLCxBS9gaujHSQQg2hkwXsEpfdlPY2XpqnefkxXy + n92rtbP7iMwDIpq/8PosBhvm+Zx0Qq/8Ogwp8Eo1kdYeyUeNMkvi5sUDmB1MzvPX7s3rG/svu/oe + ZFaczbNjyiBUR6TwqRYPCyX75gPXW3MrK6mlxI55dWKOdVIa8vxVhHavH0gcslJWtLnBShH34p3z + 6sFEzHDtLlZ2WSxX+uwaeSnJ1pSLH9ffO/Bf3wQQTOXpS+3tzZcW1OYPcLDMg6U0TUG4SXeeHton + bQWvEXVwyQ0rXNdHOVH+ggjReDGSkJei3dlZK717e/HRTHQa0Hzym9/1BYQCwtr8IgcKdy9wErYE + F1oe9rrLGEmr6GXfijFdY9dCxr65migDbqvEfi4WPy2rxOPGDm/TgrUemdC5meV5qitIEoomXEgN + pWmcmKg3zWZ3RuigVOt/dNGQTZTSbMGMYRYp7HYDh2Mcc88YdSgBEv3qbz32duV+efpabN/T/H1U + CzNW/I3FY7YJC/rHG91BRPxPUTsDxDriw2bA2QtCJm4xTNfZcAEU6azz0MGtprS6NM9Pdloe8RNh + g4y3rt8/hjITXZ/pA9M4cOAwl94u5YN4HjU4dsXF2srASCW80NEH+ABS87Xtgm61lF4v+X2eVg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '29696' + x-ms-client-request-id: + - 825ea962-d282-11e9-bbaf-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66695897E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '29696' + x-ms-blob-committed-block-count: '30' + x-ms-client-request-id: 825ea962-d282-11e9-bbaf-001a7dda7113 + x-ms-content-crc64: Wsu0U97tNXU= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090596c-e01e-000e-7a8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + xlb07JChKppu8c1met8vCuDqUPhc1IMOXhVCYdxvcMFj5SdtWon2QNdo0ke5ulV4fSeUgmqGKJmN + YOBj73cXxNMovRsq31Oqh77eVHuuGQgSgBVZ/YiP7Hn7hJe2TQAhuvNZGCLtencxRQQuWi3clvQC + m3ZTCsA6VfDwHdTKrs0V8uLJ9+pv1w09oFCvKRdVAK9TrIGmSoaNS1HJD35zYCUTy9vG33UeJDQD + gHd98ziIhMjAF2s2R/mFruPG3SPhNfcr28WSObQFfDMATbFoFgrPV3GElS3MYhOtVB2BSxaYP20l + Niw1K7J+kq3BYwFI2+X0JYlPjXQX91GPM81jXsznCvuTdiliGjIF7TclSe4IWoy3sifXBMvC5VHu + 9zrkdvO18/W/XgXMiv7RQuwwybgQ3B+GUMTWq5m0VngUdbmRqsmMk9iRO+9S/iACen/ic7IdCbiS + VFimo99n4yeUbFe32ltFXWBrsx4zPtamnuT5DjsAXrs7FS6f43vIlNEbp61JOG/sG168mzYKa1jy + +sDspHxooOMMAQbUuFq8tq2UlKjSmJQOZN3WTrfM/WlW+0juVydZXVNrHcJnp9WqbKEe7mVZ4wmO + YSNSuRM2+0aLSjwx99S0BNkd35h7ecgA2TpL5frTyxUI3PgcFF2YRe4D0Q8brNU7sctvt+CZHQ1Z + 6rCERmN0BTQEGafwgmaNgtLmNhM9f5wdWr8GFK7fRshZKoIg8j9Wa8YuqVbdvRi/qCWQWqtbnUMZ + +W33Wx+YjrJj9bsDIN/Vf8+BJqufifhLzRnRsd0gdG6huc12j7T3o+ve7e+SK8T9lCvnCIm7i2gb + oQjSAzXwq3GGTnAY24dRYYu1aJq/u+Le9sYtEbxXUJ1eawBTn9TPdrJ8XNLF4eMluWEaYIXr/Bd2 + y6cX6ZQTDfZPPIFMmpLttG9/clt3I3zsQw9zvZApiZXtj9pfdu+lZKYE6UCJN7RvOePm7iIh3ZzF + rWT8a3Mt9SW2dhS46nsS+kQoXA7C7OoAXucgq7QED/knfO5Rp8USB1PotIGHrQMlUvHpuEsv8JiT + eNLaZZyhc6hcCj0N3tPHqOeDDH4zEqJmLKbQuIO24fh9zGCKOXn8ekg2VUEgcOOa4RU3+oujV1Ml + uvyFqHFNI/cCG04yTIIVbNXxfuEYsvm0BZCHmnL1LpWGM7fMlxzOl12kF/d6f5fnU9GERSk2Jhq3 + p15KnkucAZqDK+U4dCTr4hKPbrAyBLPUnCcSqPW70NFSCRR5PTay8uleuyaCKAHCduf0R+Ns5L6E + h40Ohk4luYOc3u4fEhR/ApTNKcAX0kmdWnTjozp6mK7rfDkF3/UyCoqTX2fxBlTlnV6X12KwdA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '30720' + x-ms-client-request-id: + - 826c4d14-d282-11e9-95c5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A666A42FA7"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '30720' + x-ms-blob-committed-block-count: '31' + x-ms-client-request-id: 826c4d14-d282-11e9-95c5-001a7dda7113 + x-ms-content-crc64: hfIp9JUvYrA= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090596d-e01e-000e-7b8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + UC9363MEZq6kS9xzI2IYvwn9gKJK+Po+HSS6bQC+jDve1KMvvLDem4rE5fDW9vtQrDqBTcndHlye + DafbTE5HvAOM+4tQoJF/Ali2nSy/cmZ7gb9mFxQm5MjsCJ2rsqLUiqhso6pPQY1unTTLdJ59CQ/6 + QeQpcwx4luXOaoOEts9S+gI3ljJ2iNg25nrJyYAOEFeJakgmtqU50xWGhXXff4YPhTVQQTERCl+K + LtEifbtaAirkdICA3rFkQKpOE2XR5bBs4c+oQIr8jsdg0YrxJnxjRERlJMriT1LewnIBY0l3xN2r + 4lNxbxqu4Odc21VTWTdXpnGhVUuti25g0KYvBbfhmhjNCgTwQntSB5FozUPw84CWzPTypDkPwtB3 + HWEn1PRdmkjeu3BR2vESssXyDq7yBeFSad40vttbE1/9iwQFtdalBPbuJiMIdMtYqh6dJmh6zyNS + ePsIbjm6dflQA8vVg5f8eJhiPq0Yoqz562RKwAX7wsk4orTNKcXP1FHicfVbjW20parLVCdeKN4s + 0dZU9USd4Kfo3dN5KQKSqLPAy7whGWC9wgiaX4+pDKnXrSWZuLoe55XF6anPK2WZ97VQy87NE/hZ + p7XQ8jboJmS4GmkNtbyM6dH8I58iZT/HAQy6EjN37LwyCrtITgVC5TMkI5ohwGk1AHAh0kiSMT7t + pzRRsWIbsGEpRFTIk49uH+ZMciPUFAuAh5bkZGhu8IVszvxriaZf+oeeDFV5w+OFILZMs35BATfY + YEQ3aKBZZdbPcfbTjTlwaGb4xGayNYciZDYEblCeCeNEFMjyx4daZ/SbZBei1RRRNvf1uLSHlouo + ATEHLovBA/0wwBNGdLvAHGauIFRb3IAHY1XifLeW9/U71b3DFboC4UWZvOL0l2eu7OqOZnPxy5L2 + H/19oIuRDs8Iw8q6iJv7YkT4b1eKIRTIJovGih5ww9mGS0az0c2gP0OcUGuhD6M1Q7mCmQCHWn2r + BUmxkSBAWDaAxTvHa7P4+derrGbaBQGpPjx6unKfydKJRpAMdyYX4Ur69nmVnc1oHCcyYpnxaEAb + NV0QxCPi4R7KmXzyW6pVpNiz0pjef5WInQlzFxXI4CUtYdqmW4q8tvayODBo6AchEy27kVQ/ezJX + D+FSGc6s97FL2kN4aUlzEK7BVWuBUlzPFRkpqHJi1F9XABiytEGmRiRx0DoGkZ4YZLdblBXY6YVp + muHhmgPd3p3tD+VJdVb0J8NtYrjbJ7+LerNUza8Om0XJnIi9SUJ3j2Zht99PlTDHFo+z7RvKNVGh + v8gaJwYeAZUMaWs1yBQIczDavzZW7DjNQVzvhNfwOSErHR1SsKPNmNfrDo+q7oT65I1pCpWdng== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '31744' + x-ms-client-request-id: + - 827aa834-d282-11e9-844f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A666B2B022"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '31744' + x-ms-blob-committed-block-count: '32' + x-ms-client-request-id: 827aa834-d282-11e9-844f-001a7dda7113 + x-ms-content-crc64: 8EexWa+F19s= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090596f-e01e-000e-7d8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + ucX8Dzbe8G/4DInt1loV6C6r2Sxt51ITA9G5EaZ5Ide3LpzNRi0qxU28uOO9lqd8OCrPvQKIl8qr + /ToqK91j8PEmFag5PwI2PzRJGGd0uOsglEztXBmspbIxckoZC+b56dLpIHmTTLR3JDUSSk7h3Mqd + 9v2P1bZVYTX5xSFcMNw2zRmK9L0O/QuU7VFZ4ms601uLABB2NX9qKenh5oOd+aMNV4PbCUkB1m0X + fFMloSgansJszA3MQufONN1ozoazELjd4dz8cUU1JX2yb/YrY5wVEBOBLcHXe16g8PCrP6mN/Z6Z + zOfAbnKMoQIZ5mrH7TEZ7p2QohmRwhLhCXqPuKSx0C1ByGHv97rIkuNiYmXyOEU024TLeFwCdNPB + pwJ/Iq0L/Uy1pUibMftOq8lOZ52G712sZo84uYKnRUQ5yI6YOvUFURZvU8yVxpikRQkMZ5CGdFwk + T8MWJy+aPcr6pOFCTsEoesgck36M5j3iAyQkDobrISS29KpDmRsV8R4J6AoRk9zghgSHiY6bH9lX + gDFPeOGmmieiU6PxG5Q95wo4QmAQ5cvE5ncOB7yuPpUOkbDAXT4ttvjYzzMKR+yIS73UDpXZ2taP + gi/udliWHL3qzaDHGZxlIwJgyh2OLBGelklVbQ7bqiuLkPAe/VNCrWiUNYmd9QK8cEWV91eXgbcS + ulvB6nc4Idp2K11AGjDY3cqb8Qk7nUuJ25xXSNj5AMdMOCFOzlm98F4D57y5fr6Jg4Uo+dha2MBW + tBMmEC20gQ5DiujaMenZXRCC8dOxxWms4qcQpXMvyCi/wxhgmYwPL1hIcCoZk8XsUMRPLY2eZOuQ + uq2BQlTUSMXhz5SCsxmlRjTDv9S+3PN3vIrvoQYiUOZ3l6GVZXyrD+r876eR24fxGEZg7iiK07eb + cm91XhflIAwwLWET37N2gT5f3bnuXzb4Hi7w04XWxSZZjgAjeJQeNcnCuFao9BG/yrNYivtJJSPy + 6uA32zq7PekQf9MGmUyB2zrEg+I18zaUHOTf3iyppIoxY/SWNi3auzL74NV7rbWEopyXujloMJ7U + Xi5RxrCNh9JN6ob4m80dQgTADjov6p2yi/X4D7r+exGqZImNlBzlAC9QQfTsTBnv0EwK6e/IBqy4 + J60IbtJcuuMnkw+IR6HIuDb7ZXlAvN1rWlzG4gjYgUb9lrY0/TWW1VKUFanN9as8C+YD94C2Jrwh + YKmYRe/aIARloYGr4/GRVuZ700bZaSiraoQwd/N2Ob4Up00hKUfUVlCT1mUrlIQHm1DXAr8m2vTf + 3Sxx74uHc0tp/rrm8WynWFzabBQJBitBy4XGaJxmaTitxE8/nqZ9KqtdsXjz3rlCuMYZ3ZugAA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '32768' + x-ms-client-request-id: + - 828928e4-d282-11e9-a91e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:18 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A666C0DF6C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '32768' + x-ms-blob-committed-block-count: '33' + x-ms-client-request-id: 828928e4-d282-11e9-a91e-001a7dda7113 + x-ms-content-crc64: v8zuIi+0aVQ= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905970-e01e-000e-7e8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + K31lUUpIOK4rAQyIpBIXBa4/Gu2IvkkEq8ZUdVNV8eJSB4hrkaE1Sc5rnuwnBoiDB9BlBVapyNN7 + wgrsHY79y8wfpANutpo9Bd0gkf2tqMaYxB9nKOwPAv0nkOLpacALtQtuC6CtZpDTZpy4P1TpDPI9 + fi1Q1pO3cYxGDF4y0wDhrmcWJUL3wIRf9/FWPJWaZ1JtGc9A2llBaJKjf0qDAfthy14ZMeod/Q/C + KWLtDUIC8cjo5NZ5OVclYPQUR2SyW0SDx1pTxYIc4CvHoyh6WIgoL1Ecd+UHW/36prYCCHo6SsIK + uaE4jQJQ4Mr3JiZKLiV8Ot85vkC/4eiKOXesVOyJxggX05BBPVd4FEW6bBOTS2J5FspJ6rag6Ay8 + AY6iWvPMlFoamfuJvrmOF2Cpb5vtC6F4s6950xFo9WldigdnHy+tYoDSmPrjdqW7zLakW6Upgm5M + nj0xgaW86B+ne5f0YuOWHECVuLby3f1qmPjPcGWQw6dbx8yVZeTbkVVoBwVM9hiNF9xweR98SeV0 + 9Bi6U54K4TQ5fEDi4sEFsAg3E/QqnHTWeH4VUxN3IJ8RXflpesYruTk2hn1nm/XkBuLGbbxaeh3K + Ktu4BV8MJBm5CI4HwZCrQmKybThIwubRudNwZaQC6L9PZPYp8KPLeUw/g6k4pG+1H3STWdYtAGnm + IM00Hl+rtFQCNoSh5cxZi2wdOGpk84nTpCM8XdCu8bJCG4vfc3JG9+m+poyD+tW+H5ZCEVTQIHOB + M4ROSLLcm6bh8tQcCdWGb8ObFVMZnvnUD+h9bmrCVt0k0FFU5GnjgFZo5eSWT8UjPnXBsx1L1VnH + txk3Dk/SzP5RTE0NkhyU2pL6fYSfBUBCUOriSBOSd+baV3ENe45dPe25B7FI3e3yaLXUqmumBSgi + cUPUjz92bza4db63o2k2/QFDn1xxVH9rZtPK11Y9AK6T+m7leYUb2XyQsqWwgwIiABLluZXh1UY2 + 4h4s2A8DQoNSCAhSCLMARuE/VvsZrigGhIRgq5IaNIhP6l224t/UeEuymZWhvsoSDYt18Ccigk5v + lQV4D8M8ih3OjOrBLgyYWVncL3iDvAb8KUwrq7XG82Qe1knLDTD6ctn6PLtMuR+a6g+kaS3MCCWn + iXsxN8YAxA1w+GGPUOZiKibQM19cfu+3sA8ddgSjC585wIrGp+W3UkdKUk8wpM0PKVB6/bKjvSlu + Y9lipCACcQFCnTXlPG/VxYMd/XiNVpGop5PGb1IGf4q8h9RrlhDRS85IAcqokGGvvHw+lgJG5NKF + 3opi9vs1h0hMb/u6LotQ3rkZPsaGkMrPqHywsYIzcKhCVMlv6BGuXqIoQymjU4XMpPXmP2gujQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '33792' + x-ms-client-request-id: + - 82970a18-d282-11e9-a55e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A666CE2629"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '33792' + x-ms-blob-committed-block-count: '34' + x-ms-client-request-id: 82970a18-d282-11e9-a55e-001a7dda7113 + x-ms-content-crc64: LdulXz9NdKs= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905971-e01e-000e-7f8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + QVhNy4jyEoMG6UVJmwV9IFILYuXdwpp13iFE0NfXTjf5B9bEI9GkMsXPHgWBM459EmXyfcPz9tMx + v/5FgYkOnUA4Rhs5MPQg+XpFyCM+Sd38S0oHS77AzfgJADp97RW+NsdatjvgBPGKPdKkRmO3vX+K + FJqObca7gbAyJx1H4zq/899fn8dSPd2tC00pNfRXneUQ5R2AYTmRjUAWKRf6lJM7+jwKOSVHVUr5 + yuvJZGVtBp3gMobbsb0ssaXuFp2+/NLJ0zaaJhzN9SpSmRJrXj0F1tuwARZC7VQuY26ZNAlFupa8 + hewQbfsKCbTafdDaFS839u3deMkKgcx38Up1KLoPf05kGRFZcWNEA2NkLohZ/kZYQ3iLb3Xvy3Dm + dJ2rbpAZN2q5loXCGIH1DLbr5vxT/u4qto1MTCtlFc9Cvxv7yoTzaWzysZ+p9DUXZ+urCjK116Es + b5fhgABEAH8CXIY5GDZW7BtknbkkITz7qTI4wSfMfaly7GOgfxGBQkC2Y8ACPH/8yOiVMTU0bLqv + ruLbPtemq5ZpdZON3KmuRFWuPtw47ZRaw1/7p6KhpopnOhBFclajQ5SbN1BJ2YaqD82vrHQsblDd + 2+bTQxFUdtf1aTndPu2Aq8BuPwTfpeoffwMQVRwBIbAffYc8APROoBCI1Fa8C81cE5LUS8lWORPF + ZRhLLc0eBa2hUSwCOtN6hyTDL1EOrQkkgR2R3NktkL4MXFcgjQ/25+kVrreX9TTfDRACL8BY5FHW + s5tEyngOCSBqmt9FiRngXU8I+UwmvuaDx7x+kb6nYAx/1uSqcYN8ZFtI1ObneSI/YPF6IaESciy3 + SNgdZGF0YItXFjFNJ9oVrpFHvGw31bgtHpnsDZVaHCLXpwlYBTwV5+1BOVZf5RRfJFPI56RZuxlv + SK6vs/yWGn4O67D4qwBW6Uyw3+tFiRBP0wQDzTS82q+MluU2p8lo4mH4V45aGoo/nxSyv1KArjvc + 5MNEPjtZF6MtlOdLfsZdksGcjyMJ+9x9N3yffZZxLlNgJQ38nYgtkOkpiGUmpJ3dWvIcK12bdyRG + FpYl408d6ihQnVjHEw7DGkgLZlPz2gNhCloyAJj9MPeRhRELrewn0HE/J5OyW7/mQ9MP3KJmlt3h + AgNLrk7qvbKZJCe5vSbJ5FL8N32qxCaBcO+ipJR9tyns63UmveXaucydBv3eeP4vbCOhRoCIOohb + eeU8esVFL+Vy924nLKEBEKnLlFfhvtpPBd8UihMjCvqXVzdvRLnf9Upl8RpWuJU3+vBB7oi+GZwn + Kd47nIvN/qLQFq+u+YxtANR3PytTQkchlKpJIxXCuuO9m0kDYZexhGFydNYR7VjM95ZSi+Rukw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '34816' + x-ms-client-request-id: + - 82a4cb30-d282-11e9-980a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A666DC56B1"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '34816' + x-ms-blob-committed-block-count: '35' + x-ms-client-request-id: 82a4cb30-d282-11e9-980a-001a7dda7113 + x-ms-content-crc64: fPgpfdkl6QA= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905972-e01e-000e-808f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + brSaO1hf8M46oqBBHw381eNi4qJvQXcGhYWtR2FaIG8S6Xs/Ofz1m8avk7do/tsJtFeJFUdIqGPF + cjxeZnDTzAjAVKu8sTxtsqUGbNNEf4Cn9KVDHs14zJBhqGmpQSUc2rGAVdIBD4SoW0l+Nt8wE7qu + KbeKvGrYTXRXLBmggV8Opc5sWPo4ECxOj6zoa9JBMgp+/W3ISU94RwDDydwoJT+0+1jRT7Iko8S9 + IJfpv6keUdYar0jaEgDxq6T+WqKrt6vuQ8/BlUCeaMX0q9aD/RFkGMmM0Xfl7Zfnhyiuk681ajAT + OUZoRmjDYmFEgbaD65/nOoSOj5GY0fNBIH9n9ZHMc+AND2DPdCkSMtWdmKlV+9THY2+31MQCUrji + PmL68DQahul0zTedbHPC0Rwa2cQkjo/PXM6wrva2bygCf1y9gV0eTEympg6aqIdZXLZSzbCaUhS6 + 10ANtneNol3dp5tAO32W8TQApDk79Oo4CzUtyiCNMd8cCGQhlyBVSPS6sWrLP7CO7TtVwny6qpco + l/LDsIgrJVmcldsy/Yfqf43QDALngMt0+UdIqY9o3bTZXy5XDrvsS4sVmgH3hmiVNsOWk9HX8bO3 + Vz+CmyUIO3PYYRQ/9bSIzgMqwq6Mv1BejwY6SVJ2iJzQBFqeLoWyHObAVCGqTTvjAzc05/7W7fmj + Uhi8CMz8GnNgIh58mNuXXLCk1WCdwgC87FBzjGbORCrawEK3yCPIfGjfOej7epCuJ4K7dv6n04rv + Gyc204ijU5TqhAE/BaeGuWiRsoi1EKdp12y4+EXa0lNApw5cyW2SIJ1XAIxmv2+dy2g+UrWM3XSU + YWWyMqWoKqGHF3jYUJ6uQlpQ40f3IKMeavDf6hJFivrBXNa/0ZVX8enTxKNsneoCnKptUKZP5FbR + xFrUqlA0GYqNYeG+LLy6nflsUhnrl/P9WQOSyZeAaKFV0V0KeF4ZYjAlYkwqOUScbAKnpPJD0vtI + oY1N9vdiJ1WXclwgOLZYFd7VOgqlwRLKUpt+H3ukoKlbEo/TH6DCPMe6EvitWKDP1jMrmmz4FdmY + TQNpQzuW6oFL6n58dxc6gKGAQ/1qCnCh61vZveGRELg58z8avypeWBlN66VhdTgfK3tL5YDMAWlA + BCqH9TdRWoUHTkF5DChVjaZS2srg8NWsnJMMG3XsMelO+D0mEV2OUgaZkMLELV6A06mmP7dNmXwx + tnRFZVa4xr5azoVCPAzwt4T90D4t8AXBgjqAB1y/evo5Dtv1rYS3GdygR2KxWRX4g4thNwLfHH00 + d8ffrjgMYXhB5xvra5m62INLF1lacwmGR5qbnCi2/g4nzroNPmMRFMs44XQwvQYo+REYyF4Jbg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '35840' + x-ms-client-request-id: + - 82b2e2e8-d282-11e9-b9f5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A666EAAE91"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '35840' + x-ms-blob-committed-block-count: '36' + x-ms-client-request-id: 82b2e2e8-d282-11e9-b9f5-001a7dda7113 + x-ms-content-crc64: 446cTDdq2Yc= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905974-e01e-000e-018f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + 9WFfpDqqD1zP65/EYwavHrouDYazljhJILCq3W2coiW+kQVrqy+JwJpYPDJIbMCcughligEjYtPn + bBxNdfdIJVue+UkL482q89pc9FdG6uA36wUlFJGoIZdVF0L7yDfpJyUxNwZ4q7ebjwLWMx6UD9dy + 45VS/WfC62hK9cTmD/5xxSabOgh2gAN2sFnW23hVAG0hvOKuTw474GVsFxFDHXMXhnYftssR/lB6 + uqsnGNCdGs4xnV1K9olbu34y58g8breeJ7Og5FcnkLJ0+p5160ryKbIifElmgg9Icrd81yqDakR1 + j33D9RiNRzW4024LTPm5OVEhdEU238IbqvG01+5F73KVFF9CcX4NUdu1RVMDzIFNrESUbq7fJBuK + n3DRCAFBB7EWscXHFA8oS/TjBePKanz+Q8p0CVZfuHtltsIFLrzPHGyoMs+aaFEX5GMrSj8U5R93 + e/lkC0/kdlu0CZ0Z3zKqTSUoj9nW+M3CH9gBQd/Ijw9QJlVIVTm47qE9C/pXkHsjCcmyw3jvBwU3 + mFWGuFvFZskirPDiSgSEBYI6iMO1gJyysrfA7zgD8VsZ6R2Zl0sgl5ERMCfFYas1BJZX2nSsgQCx + cJtjfHMNz33vfKJ+iwFovLXpQj3kAZms5ENu7OGf5AwSp0G//Giv16PACIUqKYou0eB/Xt8NG5B9 + OJJe7o44jNPMCTFZbma0/ljIOwF9rd2cyPuk8eFcylpFDMownH2q/GM3UeO54EQ1AUcjcVjnmu3C + 6YiQzqOQjUloLQAWeRYIfitPWDaHm9q6V2vYaVxgmUGIAG09sfShf9oBwUi84uBPnNZg2nEjnoVm + utwml9heoEE/YayMaGYX7uXieymnRuE5CIGAVOQbCROqayX5lF6oanuAgelKC/S3eT81q4DRPmb7 + wPRfKKnmgZ8tQRu5Pm2FxSE3IqLwINwkeeAwvzNRcJX+9znh85ryaqckKV+NKcRX0FHMP11SxB57 + vWMJ1qm7e37lZ34+nM/QtvSVus7t6SieR6LkSVAwExfnHmJnCRN5RVoD67zqLOukbYDaY1ijway4 + ZyXEiFeb7ir2C8VzviRQQwmc1WZzjg+oEq5LPE1Z08BhCbplke/0O+FnR0bvQoK39Nc2uKjkGG1q + N4CbpgNmer3xdDy6clx/opiUlEzzGXZiu5bz+hNWpV38KbwFEXKekVb3uafH8vlTbFoNpdMxAV1S + SHnMTflZwMfIUTa0gBKNwWyrcgK/RZZXLUPbtlztZnZ3AyZmgtJk6ERxrJF5LKC1KrPI4yyGHbd7 + 3M+BXs2VOgw8OvlPQtluS+95Ad97LNh8XQrc92Lju7zgnAnKdFWdKtrkwRh43KISmZX80I94Bw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '36864' + x-ms-client-request-id: + - 82c1618c-d282-11e9-915f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A666F956BF"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '36864' + x-ms-blob-committed-block-count: '37' + x-ms-client-request-id: 82c1618c-d282-11e9-915f-001a7dda7113 + x-ms-content-crc64: JLZXUd/PA/A= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905976-e01e-000e-038f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + P9z4cNPc/SvDASQNI+knV/2z5+Xtq4dKECQQ8ybI+WiXKkAZUy/AO3KVrwpXgM6brNF1t7Hx5Dl8 + AccBV6R981NdIfyEmJGTmTtvSwuYCJkGkmdbvB2zOie8ZnG06lOnKmSHP9i0lhW07UT6rD7Sq0Og + gmN7ninbQCHr5gxY4Xs72KgDZNOeFypOKfNi5+MLWDhJpIlXp9uOsgde2qOac6w04EnFjVh/F8BM + ggO/N7KSo+EGFJ5Om13trfO3pd6MZZZBqbXTrz+/IrFfKVeLObUgYAjsqgEB2U2/Hp+hNAPzrez+ + ehGgexemc3hE2z3e1qvWR9qkNa0koVPMdh+dpkIMPvM5fbnoSauePTqSjac9mo1znE/5hHmG2erR + WsdQnlCUy7vB8KgnG6BW2gcI7o4peEddBmhbE+2FSBibVXqbT58aBlTZTa4KqcSNpish9A/XKKZ+ + LnjKo8AcasmzODUqIPYVdyuWu+DILTFrXVzS4w46XHsuWul7bA0JcNqfBnrPdzdllu+74iJ32bCn + RhwCjx1Cv5nqMcSumO1Oe4iCjX/e3IPOBH7zt2NnVXiv5uNiSvJvPUNQn/maI+I6lCe2WbDe5nFr + ovlBCv7M+Oyu97GlN87vhGatylUsS4xx/mGLEzg267wc5Ykjqcr9Qws20M+MLO59oAbVLl1xtyXs + 2HIJlqTsp7CV9+mB8XxjZLOeFIOXbn1Zct254pzJDJ5kVQuYTU8jRFqIvkC4jShfB36faYuaDwXR + vW5uw7PssPLh0rmjaHh71JbOqfhT9F/rQ5TXLnXARukxmMQvN95FBbEPr4aeo9mjulmp/o9a6PJD + 7HpPq0OR/grZyT9gZfdsMMFpKOj2FKZ7OJtuN7YD1lv+vz5KJjfEO1mzY7k64QWiOtl0iI/fyeqn + qOy/C/teNhBaLl8aorf1CGRAqHrN264v2iCscK71HQyPhjehGQuunq96odbd99OfVsSof25Yhb3P + Dvsd2E5KplnMf7t5UzLGpHWB+1ugK9Zza8NlOmj7bg/CAsrI3vqmNGIqW6dXB/qrJw53oPK/Gb/6 + MPDTkl8tlPbCSpQyv5NRmTgHb3JmP+deSUwAH10ghPZm6QJvyFihTqZvcO4eBODBAObDzJHxqBxO + N5fQxyivvhydg1WtB90MqVbo5s3Fh5akiQyGOfB25wlzPJgoId/vdsCqVNRhtH4k+bTwq9Cz8u7M + cE+gp6l0yQA/KvI+Zogtc6vTJSDwLLldOLsv+2iy5zoTzoZEeHE4gyqIvXL5rGYBe/Lc+rsTw4J7 + xrGNYlR6z15lLTxBYOVEdB3MdeJNQA6fq0GkOX+S1TyyJjqpPKXBEV6Qg3syl3vLiF367Aw6bA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '37888' + x-ms-client-request-id: + - 82d01946-d282-11e9-970d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66707D530"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '37888' + x-ms-blob-committed-block-count: '38' + x-ms-client-request-id: 82d01946-d282-11e9-970d-001a7dda7113 + x-ms-content-crc64: ozlE7vQQBLA= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905977-e01e-000e-048f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + ippTCInRXlisp88bTMQ6PW/KjzWbhb44zj6upjSE3dijRlJqiU3CcvgpAkKjPNa0E2p1b3zuiXhS + gzamx6yVZhskje4y0OpBd/tdbfpQgKgSzfbJ0lk38L2k/m+0ysQfzFyYOmEu/RPnSMv7jv0+/jLO + siwGRz3sApy558xWDsMaiWvmhFSFRWQfhlZwiHQB/WG+2hQMFLFK1VppSOv7FF6+AryueY8GLcP7 + UVovvygLj7YfugBTvHzfEwGzKIsHlpazpfW/iEG5s7JVJ3rsEzADrjmaXacYKPePIuRYZ0/RRDRt + CM855iPmNFdsodysbbDlRhDrdU3L7IMHXhKnqEdW/m1TbXpBe8mYvvfUIVCZuzVG0Vlkbg0rL1gf + cSATSH0GvSni6lI/auJS+x2U2G6c/P1D0Y+qvt/Btckm0MjFWtld3r4iOF6fC4NYEMyAWsHZJkqB + zB+9u48o00rui593GF6j6JEnjWARvF+tpCFUf2XEPCMyaHNWgQXi4GCHiPb4cWOt7QqW8q/Y4Lyu + HpRvBZTiKjvuBBWpRJ9Waqf96RPSQZ9xrM0OOEs/lBDc582/0LAhOHXJLey2XdC9esfjqUZ/xhSh + X2aeea3SDk7AmySipkZkVttaeHs/5LTglsm7eqxeGGxrYxdsF48HLa/9oT5aixtVfuahZX3OF1m3 + mIgBhmgbmg5C6KL3YExIKiqLclUgiO8cWAfcfPIe+ET0Wk5wmI5ebvAhQm2CYtNZHD4Otm4dWol2 + 60mQ6PUCUDWCkl0e4/jd/VkxbAeOMDlJHgKYghMa6zWWrBsF23YUn0PvNcKBa+ahX2+vbBJ09bTW + bIYSWGz5x9iAih0a56QT5LAXF808R9kyK+N8wKAglaZ6rE3mClIdHY7mPzBYAmyJVHKZ9lnVOoDX + CTWZr66dNcPuumIp0IKL6iUv7+0mkJkqekegIQRnEAeR6ag8AvgbNDssMDxSQTWk0cppuaGQEdHk + ln6H0Gw3ljUe5Hw7x9EE4konItJ2aKuMiykjsvvcDR4szPLjnZjoR2gpaedYE2fc2A6ftXyjuxzO + 3/5JDEABQ85FZZoPU87VLbkUh9hWF70XvTulGyaFxwAf9DoucizXDR6c1ymzROqDnLLAWPKAxerI + iwGfREqYTYKuEwPZHWeEzf47Nd4T3ZkiFYqGdcSNi57r3YrR7JZfLykm5oQJsq65leR4EzDwG/5y + R2MdyuIfNYXROqi1YhU9mkne8aFMcNQfe5XwooCI2U8eJOi3/YjFQp2Goepcf1BZhHSNebQEoU3X + VQT7AHsDLyiD17PnYZLvKRJu+Ealin5MWcDKO1Ibj31sgWE7TpRA7EwHIccb8TUMDVX7w50byg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '38912' + x-ms-client-request-id: + - 82de4ca4-d282-11e9-9c86-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6671604AD"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '38912' + x-ms-blob-committed-block-count: '39' + x-ms-client-request-id: 82de4ca4-d282-11e9-9c86-001a7dda7113 + x-ms-content-crc64: hbJqka+yBb0= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905978-e01e-000e-058f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + x5EmDCBSBbcEiKFZz7zfumU2UGxBEGhk3xEKvBbtu1uI+z8a6OWLU3KBTStBzcPcpro8YptXZYXL + NMDKhdWE80mr79KOpzkfn1MsgkVpCXaDmYzLJ2FSLEpq8OsqFiuY1mZ+KAQtPpAitV1yb8IL4hqb + Imjwzh3YDnmZfd2t3iAsLNF+AO5RAL2roR9TV1Qjv5vlUX3Q5j0464ovJCBy2LSOyxj0MtLnvFnQ + e4DmYTNsbVSiZErbTiF0nHhD+VfBw33nf3jCMoLRftm6CicJHW8A7KgtF5gqDs6dcLcUsQjzWcmp + j6dunmllbkIOvgkzL9wowYPt8ZeeZrAhZtkclFqaaZO35fn9Fh8opvhmbMG5TQaqMmRIbIU9Mgu3 + yszZw6Ol3eWyuvfyFFMQdulBzR/D5pR2qYiWJ+gyK3AToY2L2iM09gqS32ffJ48MJhE4zL7TZ0V1 + mhljef31P+f7gOHv1PH3yfchwLgpyDs6bvYw/u8bi8Rz9qiDe7xvks5ebJ0Q+w+2kSfqYaFElpxy + 2OJ4e8Q63rUK3JhRHe1KJCquOIq1TPWYbwnjHVAD1ast4hRF6b593IRIz+vEifqyZOJOaUVaJ2O8 + HZvsfReCwBi4fvsXPHIKHtYZFkHFlTWkyHsI+tucO9mQDTIOvwfqhik5e3OrTDsvat6Z0vYkF75a + KA/M4ObwPYsYl2onKqyZ/qiqz1270SdWnHwGaYUSyFZTrkw3vbK1wHvezTqD7FGIx80bbThwjQXw + 1tH91qf3byY0fSzfzT6IqEvUvRxTnL571C0/FvT3R16JcFeUEMtUd3CeTbA1/BmAfkkTZJbnH15k + 1hcKg7qZuWJWTRlWYrfo7vJscQ8rR+PEFNeWqpDE4hPzL5wJBhavL4UBLK6NGGTQkNeqLTf6zL+u + rGJcZWiFb84jZjhslKis+CBXe+SWF0YwiZyg8oAKuVleZ5v9YJ2qAV/on/Ljg8O8myxj7dADEiZi + svm//nAHATe0NJjeBQlM+y3+ASJOzu0+4bsRtmWbHOcwruk9Lwhc3GB404JBgTWhMPclI1Dtt0fy + knEJ6OFQP2VdsnfKockuzr2b+n/HEbKo4S9wp5hKRiDqfe3mFR8WeRs5MJ4wP2xd9CAJr6sVypNe + 5NPBo3H2zGdHpb1Qaac7MPI8LY4umh9+nPCIasHWKC1EKuATe4Nb2KV3qd1lx34XA93IDmhvurez + mqJep5eY8kQ7BefFlRo082O7vDy5NKF1CT9Rg0vCtz2kbH3muQx/S2zSfwySqnwu6KWop66RG3r3 + a2oSKAnAQM3Ic386hSVAKhfomDU38HYQ0I1nsHwz/rshgPUhpIQYsSk8OO0cvCOiroViBotsWw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '39936' + x-ms-client-request-id: + - 82ec8c58-d282-11e9-af78-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66724357D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '39936' + x-ms-blob-committed-block-count: '40' + x-ms-client-request-id: 82ec8c58-d282-11e9-af78-001a7dda7113 + x-ms-content-crc64: kqR+55jfQRo= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090597a-e01e-000e-078f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + Ll80z4XSZ6XfSVYEqBs8vfx1OO9NJL/0xZGb1DfQKMot9NMX/HJwBU+CelsFJ8qkS2ixfqdLWhJN + EsrdnslJoDfZ0eGKfdU43HK2HREX0s1NX7BpYcVW1HXqi1ItnmsHW9sOmuc1T8IqrgkMDyjQ7XZz + aZEuXb9xgs870yqGL/kd1/4/U85LBPp78OqEHybuUG0OXJUbXo8vFS/2OkstyXDXhbgKwjrFfTSE + 7DPpvLh9hn0sbRqz2xeYCSUvwTRnsrRwWd60+iGSqe1/aAfutYne9WZkSIXdQhrWihf5mU7UZXac + gSz4zDF7hQUGTEe6InuXdtuuMI1O5xWDOqoDlCy9VBhPYRZlbVEciSF0+SXSc9s38teLzK0WRhbd + f1T+63b725qxXoQX7BRZ6WfY8SEfmSjLLJPcF2vJ3GHx/pTxivX0DVAYchwHELHJmCfjcQiyrlW/ + 2JiBzJa3/ToUsnVLlEwozJN7R6buKQ8cz8X3EEkK90NHNrmkeRocOuKCaAx+0WsKOrBe6YHyYzsG + zrJjG6GR+Ww2wZeH41Q+8a/OrHGUK1rADF6pRHmbm+MWuIqjmMMxrxqehOFMcFWbssUPlTHgPED5 + rWE65PK5Z/6mgnwueSVk/olXvVd36xzxM2rnclgF51+ragtuG9GraGrql6Q97J/HJcWZroRSmryL + EgRdTedDinZkngwdRoeTDHjF77iA45FMG5wHcsSYIZrovM26JMFDvqsVuEuGCh9OTQu2z7WpyooL + dCfhbXZtWymph1he62+CAZzIpNYfpnZ14/noqlZD+gesF5qLTHrQWGlTBQdzJws/xgBvCPbdKdJQ + txYysXBdHyS1H/5Uc3P25KFWg8BShS6qUiAroYf8FBWydT6uv2Y08pMD/ZMqHkA81kZjJB49GPWa + JYmtiSvQhbTJlaUXuI3tD1N1dOjE9HQ9E6RFyyHbVl+TpzWr+N2smop2sgZX5gPtMv6qDHpcZF/O + 4I0QaTHzuanBnnQU0uC6IqOSuxOkUAXlHlWK1wfY0B7pnKKoQJKniBhcli2umRFiyWf9r3FucIVy + 7m+DbKq2R607B+mbclrjPh67m6fkti+0vUegVJL3UHBn7F9JNEIUI6u2CfnVTJ/KtozCR/R9mL0A + 4TTLRImSFnUK+jQWmw2zL/R4IYPkElQxqC7KH4loZgtr5Rx8OjSpbxtmsF054HVINwN+0L2MXf7w + u6d0IzQL8sS48/LKqh9Hvghmr4FTBec0T/T7+BSj5cfCAJpyC8twXIgqYX8ty1+kJ5WhGICC/cUy + nEc7jAK7OsJhgyZ5lEIZLUJBY5QmoqnYb303t11LfybmHynzJ6RVFLxl5ZknCQMzDbRyYcGdJA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '40960' + x-ms-client-request-id: + - 82fac65e-d282-11e9-a43c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A667328D79"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '40960' + x-ms-blob-committed-block-count: '41' + x-ms-client-request-id: 82fac65e-d282-11e9-a43c-001a7dda7113 + x-ms-content-crc64: 4jViEjhS2cg= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090597b-e01e-000e-088f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + XgI762pI9Kgiy2I3EtGA7jNndGCRiwe1HXuNRDTTF0bKoN4Ek0WJu7dsiVTNrxTDV9YGtR+psNOP + lgSggSviQPdtCfi0hRrHqrEnT47RVIKBN2u4aV6krzCH4wKYG66DUvHKNFu8REaEZ3mcyIt8laBm + 5Mhvo/BhJf1qmh3PmpjgY79Sk0cWLjMPNg5pIQkCSY+bg9czirB515Ex+XRRvq0w82nWSQhMhPMn + 9sKengSG0pQLObn3IyvUe37frJVn4Pp9Gt/ouIMUHDoqrhw9tWQ9MTKX0mFxmgyZph7QYw8YNsUh + loHMUnZWQwQC+BBLjwhEJGGIMRMUcvWa+VvXoXBNKxEJAvE+KOxaDqvoJPR1QaWguA+2hGyYoLfD + A46OMpPQZAspAGvYEdLOzHLHV3RDD7hFMBUI6T749h6l1n73oGvBa2+xkJ82h5jAQNZx90Ihrtma + uNxQ1lNpQR2138ATHKhh2udvnxTC3rLDPstWAYx2y5q2ggjQSJ3iyiZOxtC5su6LtU1kEFjV0CXH + +FjCr6F8qyBcpwvmwlfPq6pmuMxY5MNk01M2sIpMesVJnMs1vX+QOFITEIA04J+lZRTvoNJKGS2S + 2vk558zjttA33CstlKHT/bz9vzKlLueGnQI3PcvdNmMkmkdivaV55z4/z3ixJaB/rsZpv4b7Qhyh + tozkPvbBeConpq5YfGpBZ1vZMldOjrR5qoqWT0nXQOX6SRMBXxfYGkWIIhEwpU4Bxw6f0Fg19DZJ + 5iZvG0a8ofHOKn/K4LSwnm8C7FUEN9Vpvf5Okci1ERCfm49PgK4ipim1Tw/1MOUhCBmFLBeFehov + MW6qyOrGVbdMDuec2ViHPiu5yrW9oRaToWIdVoxATJGWryjaqOebEA7BWajv47iywgXyuu4Sb7dN + HALlHz0yfyJR4Yx9HSaV764r8qz4PIveqi6OkaYndZ9y8cGGTxFgky7dTDv2OmFGlXqDIIwssxr6 + 7UbCTk7PCnVC6lqh8a2T110ch8LN6Yk+B/zUR6pjooei1QvfYQmWczHfrlf0AljvwqkWyRVxdgX3 + jR3+XKzQXZdhq2MK3gdGwLigva1FiR++4j+YtVaicAercKvI9IyxAyAYiDW/IFBxQ0wmsDfaNHWO + hcF6ZlFmN9awYK6pFep/W6OOyxIZAVJwJUqMTpuyNyzdDpIrqEs5oPvGqhMQ3wMtUYDOuAqARBCK + 5WqXzWjssTlKqwZntN0HpXygULliACE+mUxWMjNEYyhn+6uj2N3DKs5yze1ieRxI3gVvUMEyPn5v + MXg0uF+5nvNgrO/UnQav+m/n7tSbDzaUhGeaeLNk/rNLL/FTgv4WwDxtP6N3h5Sx8en4W53tfw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '41984' + x-ms-client-request-id: + - 830904b4-d282-11e9-ba18-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A667404914"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '41984' + x-ms-blob-committed-block-count: '42' + x-ms-client-request-id: 830904b4-d282-11e9-ba18-001a7dda7113 + x-ms-content-crc64: yZ9UTLVmCaA= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090597c-e01e-000e-098f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + WjTgl1zo2zvy6QDuAAEJ4X5ZEwnj+W5q709+Pjnld3mhOYyknxorXhzfEJ0Jr3CddHvxpKBsR5eq + j1F5Mo70rIchNJn3h5q7HY929I5Wk6eQ+R580icfUVIHCq+JDZCPM2JRm88o2dHWYqBTiujLMxXK + h9mdLU4cBcy3KEhVPdbAKpI5L7nXp4kdlo93QzF1rrEQ4XUzLKo8x03Y7EDFIg5vhYCb720NAupd + QpgyMbm5ki/yWi8koJfu2hb5Bt8UawSr8J75HNNtHVVheXE8swxmvHDvMBZ+57w+zXxdZzdDoowu + Mjb2AjK4GVlRSlQX+Q5gNlxehlENRdHfWJlDiU+ASE2RvHlCiPjLN1Exs+4CtJegGyE6KYS7LpRC + +KrwqmfBMd8ALUFgUksLGRubgHg6axCgwzqmezvTied7O0fqs5D1h5U8o1HpyN8KujwN/APKcdEO + 01KYgHtbyrfMFxDWIIIj2iN58jLfzdLWl5cPxCV07sd/3WRjbcNRUhtqlMrq2/jNjmZ8u/g8rrhP + OwtIr3jXycZIzjscZ2eIZzT1rArMqNnw+D167a6Bx1I73X02qLjJiH5oJ1gSdRgoGszHqiq/Cgjz + VRDKhDYp1xvjXth7mAfKXotJ6Uz0IOilbG/nAWyX3KVQUg3NZjJRl8aPEGoIzyxtoi+65E2qkucz + 3p2Wj+WFYpSzgu4/5zETQiS85FHfRN6dfo1Bxr6G7yfbh3eb4JxpAqxvsr4J4JT4nRelBkiP0xrt + j3u6+lXhX8ZX7ciCb3WsFyx696aCqCZEH/URt6FML8yF7Z3LMlapviM4efYgSvD375pukYOVxj+l + jFAVuNLNcgwaxkhUjKkyvhBwbsBCU+YC3HwSct7gT4avK1VYjj+wt0zmbNJnxrfeUylw9QC2l7EH + sPg0trwhKIj8iGy0Uod1l0HjIpjmWDP3Xsyv0FwAcL+FUr+Ps4Ct5RAQyu26djKIGINocAINzIOr + 8IcSmDx9klyi9SDenoexvgSTuQrjcQwhFIvXsx3WwBZ5n28W0hCGw7/jdBZJRVr4TrMhND2luG66 + Bcv1oQ42Fqd/n860dXkJZgyd0cyM7GJ7rSx7fou2Ln0iXCghbyHUG1xvc43cEAY2tSATysW/ril3 + guCj02cK9CXg5mIIqMfjxJ00s3emLxQKuMUMaxRXI+rFWrkcU8M2S8LM84pUGiaGZzVJf5tl8t2h + OAVGne7u4guxvkrm0FfECWYxy+R3YOoZ1PTiE0gGyDIg7t1jqmCtOtIf9th8fDLWMJLdvCOViqEj + Bczhez+cyGvI4f2f/u8jWlVNIuMSyZINsionEE1ykg3W/WfAh/P40XpdgHB/WH4CDFIWe9rSnQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '43008' + x-ms-client-request-id: + - 8316853a-d282-11e9-a944-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6674D68AA"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '43008' + x-ms-blob-committed-block-count: '43' + x-ms-client-request-id: 8316853a-d282-11e9-a944-001a7dda7113 + x-ms-content-crc64: N86QuWAXDnw= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090597e-e01e-000e-0b8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + BvEdHEyexCz0d2hM+iEsCysQWwRUHuAsujhOqTRcTGydw7KDOp2HeENBfT8kcfT40Xc1IVd+3em6 + 1UbfED3tRmuoWtw2dRS+utTPn3LXE/OwQhMyVjjk7hr3db49dSjYyr0XeJ9LHqIoSZ0JJLXivP3v + z2frOc6JYU6TpwdA1rNFRiBVcGplAM02YIsMipALZJFcpmB5LfZ+iWtD0NjKZuwDYj1+KawOqRZg + 0/5WNmUsk9kuxAAyD78FAPhgXzk35ycwb2CW0tfNe+HLpbq6jubiJXaCyZ4GXAv4nSXkn0YjcA6k + 0xr4+tXzX1DjSVWjfe4QeaSCzOgXW5J7csmeZz87OfDTd9GPe6aHZqpKq3sUOXm36zgtPknW42i9 + t5N5gRa3TwEAUQn8TTsMwkJ5FrPaKuseopJc2CNaDlSxa1S4nReWYchzv6i/aMFqSOz1YC5XH5n9 + wln6Zrl1t3UODjD0p48xJZ6TubnjvmRJ4JNaAQYdV76ZONZMRLUkeFvhBdzMmd+SDQZrKV66CwB8 + U7T4a6pcXunxpvSeRQdS2i3f9A+JOZGn6Fp6FB/9ws28NYdOQQsAXuexkcxBBUJXBzupsw03Nr8d + RE3oPQLKaC3ALQ1Sr0lRjD2v+ZO32HtC9VumHix0jhJeOReXbwCouYooK0pJNZwQzXQ4zvHUTFfh + kZMyJhObBJtRttPAarLlYRKgRxOR8ciyafTkZbP9ldCwcthWfxS7izI8eX1uGRc7z+reo6ilSnMh + B1C7/Cj1DxNF5/XhkEpeH6RQBiEClpy1Nut7FjXCifGlGoHtv5YX8I4PJly+UJ1NlqoIINR0uKu2 + jltDZ3SBZy9J3+4c8vfPZu79zKvNhQltME3UWzhQF8fAjhoq1PWnSipkqcnvQmNGGK8mGcPz4lMn + 19m4mVS8V7hBm6uC5+nmuKItuRd4MDV0iosKpfdnLuOgUWMffJiVGVKxaJBpHaNU3wUpzvdfI80Y + TVbtdB2xq3Vv46WRACYISdqKSJ/HEjf11JF6W3KWf0huzsnn8Twyc1WSL4LeYEqkxoULNJLijZKB + 0aOwTh8CwXGC5S8AiuuqcNvFMAOxoWa/3Ld521PZ9IQvwVb7SyNKroqQn7ZXt8QxxfMK7R7QI1Pq + oscFGl5+KM3JtkW4IOXL8F3j6Yc80nvtICj+W/m0f0mH4pVCf5KMooGHMXHsC0JeH2wLc75rviJv + +g97XVoVWpQR2mtLtatafg1SUtwF7QN17pYBPlXSnIt7qiff7LVHFf5f1mszvJ2whBrsmbvIzH78 + rZ4xAOeFxQESNqgJmAkVZSyS4ZZMbMfS+2kTwjFOaOoVEJenyEfZH7hWroKNcFRbFcONAl7LDw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '44032' + x-ms-client-request-id: + - 832374ec-d282-11e9-95ae-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:19 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6675A60DE"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '44032' + x-ms-blob-committed-block-count: '44' + x-ms-client-request-id: 832374ec-d282-11e9-95ae-001a7dda7113 + x-ms-content-crc64: 6C+UiAB2lLo= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090597f-e01e-000e-0c8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + 8ZOG0S3hQcUnULFctX2tW20EbqKBU+OVm6Kgo4Uvoo0KmtdXHeEP0L2jaCXw/THz0rYrQqMEkRII + mvCyiILkfJljOYG61uqv7XufCCR2+GWdmfyNKla14y9ZCbRCW3jEvXRAofK8yUtqIrQJpu+0z5vv + Xlgyjjnbs4N9CqtZWN5C79DDK8gAqGEL+MbJqe2lqIgraLQFeSojJidGU8ngTRA2cx56xifJq9VJ + k3doI1160FRupz0shiOHvlc5ZxJx9fOjL5u/my4wkE0IPDdZ8XMpps4RfMlsrK5mSEkPH9TxFKeH + oSFwwQfccMAo+BFvhCBxzc/6HO+5Ymza1BaaHGUmcGfw4MEkNx+lKgx8wYsGr7sqDhC20vKHT7H4 + PX1M3bEfW8n6qZkkw31zuh5/nioT26Fi321NaQ/KP4jBWHLEya8Z10bOo2phieEuhK0Xtpua+H8P + KylG3WoeUOHFxl7B8QAehxNSBvdB++DxhRg/2M9gCpCK78zy66lKxzcVgPkPxglaKhTHfSDeEea8 + KWiEUBxbZT+2fDyu3kE2BZoOFTkvxa0GYNljyQISKFkXHBEO5OjLIlqsrAe8RK6kvDPFzElT/aOS + 922SQ9azOA9iKdXLbWjMHEeAab6UanCn2q/Ky1v6vtAgEHgxyKSY9CLiMqTQuVwz4aKsWwuOmtF6 + Zm8giBc/wo3nCHCDQ0fy1Y1LJJ05gSjB7/DRFzDENj22PnWdExJ5aS9tf7sxcJe8dECkYG5pP4qg + Co6yBMYmmRS+sw2T/tw1Flir4UeDa5/4FMIZxWl6OOTLllN6cxOIVseUj7ySHBCsf1Mwcbmp4/oQ + KPBHA1zVUsTPFMqlwywwt2lTCB1s76AzIcbHl4pmRf2L+QnQIkmKsiSA+23xzZBi47kAOsvcJuEj + 0Z5mYgfZR7RejvOQcmd3UN3BnJpXwSHVBJrq65PSxD47HfaFIbvCMx4sWWsRqCoHEXvHSG4mNxDu + rdJ67LNiBK/IvGoKbYGpWQXh/oYwL3GCBLhdkFs50Bnfw+t9yieaOxqll0dmzzUZWX+3F9ceDOB7 + GbE2cYMCAtG0Na+K4Vxh7c68fh6VGkl7fgeJ6XzqprRQz99l1loi/G1BVVsL0dXkvjFDZAmU0W6K + xRNw7/0Dq2pOILl3CuiNJhyIrJNq05Y8AJ462tXzw9MMME1DJ33e2ht7IIGoVWivP0AcDbSjSW5r + /cPBjWfD/dbYniFD0AU9730sshBgf0rlKvabu+dPxaq57EbKd9PJ4BsSrvqGBcH2IQzJPNKWk+oZ + CKPmoo5yv77Fn+feTgxbMqchlzEs9TEqKa/TNZIvEXIDdKBnI3ILYg66IMj+CypI13dBnzWYbg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '45056' + x-ms-client-request-id: + - 8330f186-d282-11e9-978d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6676891A5"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '45056' + x-ms-blob-committed-block-count: '45' + x-ms-client-request-id: 8330f186-d282-11e9-978d-001a7dda7113 + x-ms-content-crc64: 6BdMWaJ5sME= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905981-e01e-000e-0e8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + DiuET3vOBmqPwAeNnjjR8UdveqDzi5WHw5r6/QzTmQW8sInTn/tF9/MnZ0BhtilXkZ/EhBG6EMB3 + COyfPZgQ31UEZvBLUSE0+awKGD2zmgXaiXORWZiyFahFUieo2NNml7kxRapJEwej+IhNitBYTfzw + lY15Emh32hVx4H7+6HThly+clSEQQMQOSDL05KFwphVcKhuRrk90PM8VUagSms2PKtcsC0OmuAsQ + KOajGaNudel7ec1D4u24j3VBdEjUQDk6es7piCiz+6F6DoYwpPcAgU7O7Po49k5IaWlbx6kuTFfa + 8B2Ldmno1yok8y38sU6xC1INr6IMEU6oOsE7Fp/zSN671Gq28D8xxB+Z6sQC0LKX/ZXm6OpfwPpx + V9jc8O13HR9UBuTGOhdRpISgOlO2sarGfCuc2QornmfxbgMaPkqn33Icbc0J9hlh879n827kHPk4 + oJdP0iJzkc5sXVXSdgrGC7uQ8vqjjnr84q05VyGbzBDK05Xly/sV1N4pXFf2AQR98ybqvrc6HyIW + t9rxzhAT7LRe7lM2u+RPABu87t1OVR7gVbFrOJcxoJadrXR/p9QQezbW1Dy5fjqC29NkQv2Q0FmN + zT4bxdAmFC1D7xAg4GDppS6vooYfPOTjb6m69N4y4hh3cEop+Lpq+2SpotJOri/gOdVezOwQ1TZR + hpSK2GVpocoNh4AGgVlBOoVTpRj4+0DGd0+9aaTzDWWnx+UbSS/BdwfIdTTRnZAEFt7P63KJaRS4 + 8HxTdvY6ALuN3qeYGctAkNwpx4dOomwdpdnMn5yXlQLmzGYnVCiGmkex+t99px9aE0AkYaEURbNE + 7bxud5re+sdqLAM7eBVeH/R30Rj5zFFIPkvClNeOymCvARSgR5+hO217KNZ3tv4QoXW7M6ohkgCj + 0kMK4/XEtPAdapZHsqdVX2/l51HcWao8HjdyZJF1ywGSEWSkMXfZ5CilE8+6zBG439qdNaa5n3Uq + j91lJtRbXrH6cXufHomKPKXsc5Wq34Tzp+V4sanj71nRDqAEVvqdNP0NYAuJiN3R+ttf/m/KuQoW + EOMTqyOTAtuSBDFbk8hpwWCDoPxaeGrR8VKTxd/TuPBXSXsATB6QiVbUP/LvD+aNXUcxu00veE2X + 4FzKnfx98u/jvoQewPk6G0aqw7kinILl4wpOPUVPEwRUfOBL3zS8C7Vgx+ZV35CgZEm3y8Zv9eHe + NR11wk2iz55ImkuFkIzTiu6XQwdXnddnesPyN9R7J7Dul0dHvReTzzKztBx3OSP6Sp3lWzwxoY4x + s8MaCuWhiw9Mfn0ftHuvmI4t2wPIvxK5brEJFOCAWAY677Nd/nTQ7mBuQSVPSaSze9MFUpAy0g== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '46080' + x-ms-client-request-id: + - 83409e76-d282-11e9-bb49-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6677821FD"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '46080' + x-ms-blob-committed-block-count: '46' + x-ms-client-request-id: 83409e76-d282-11e9-bb49-001a7dda7113 + x-ms-content-crc64: eHXl+J0A8dc= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905982-e01e-000e-0f8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + ADGX4ndKItSUxgWY8diNbBF/QUpfr1Vf9ss9WW950x+lrnCFb2rekXPgCFjats6QhixGpWYeXZDF + BbV6FvVLhzSFX9QqXLCBHvue9m3dEc0HogLB/FPkFpipY/mlq++r6Rx0tt0EjeYBWOWCdTXgiIGS + 3AYXpsVOjod4PRfMJPwNSKGxc5itk7vo5vc8zyUtGXhVXTfllb0Ev2dVBGW4AEFP+i7Hci9larBn + E+oRCSpe36WLS9mMlLTsrZPzmh0eL7GXDEcETBSXyrPyINqMMl/Biewo2oRPxpSX4Nfu2M8qtRVo + Jmju9fBK9HW3abjx7kuZ8gmu3SSmtHQeB6Opjl/2lDiR8jGrww6TWUBT4eY0tIyTt9DcP0c0JGuG + vAa4Q+G33PPiWVDmk1B3QqIrMOkx68l/wwDzvqgaJkCs8EK52if4InfD55Dc7ef4UQurwOxHEWSb + sSPq1To7uAqqvK/ydhpk05RzFvuJ0WiFT40uNkl8v5nOV/B9ybwVumZJImxY7FQmvEAZ9vS+iJol + bhL9gslaSsNxpQf1TZrUzrUsXR8nSBA1MgdGgaDN8Vsw4hnZ8cz7Et4kqJgZRy2KESO8Nc3NFnUe + g8gAjTvKNz1bq/KHGhZrfaak9b/hLHYmEMRLS89ye+61RBZiRorPROf3j4dtK47HZLWV7sg++j9b + lr5GBn3x/jYtVMR4EKbWRudejPczi4lPKPpHVyAxDcGbMyi9XBY6iWHyvPUbhnqJHt2nFRb0FBwq + CHBya4YZun2VW3fipKtCQIYqSsZk9K8Molx4WZe4Y6Ycdw0NjrkX6aq2bdKHhIHBmIqDqNgiwipW + JCiABDkTiOwhBCvkZgBGlPKrmDjuQ0EJUcYgK05VW+IwXLf3hlSdy+/uS4UpcK2djpWqcoQhC6y0 + Q/I1b+IXsrmv4ybHPnv8FnkM2GoTzZozBy7ECtXO56toYqeoqshW3m4cg+0BPihF6qut6hxJWkkx + fBCH1oLH+6+7H1TshkBELruPmzp9kDMPUFIqv4dORdUWbcB/o8V89aPDMB7kEFBDn82TI5HWHZV2 + m8Mso8Qularw5Elnnn1bHr/fixwaFyF9fazuCrTNiL515IgIAcFhJ0YiEgSwmKIvNjAOmk+jN2zw + TLDoDdpbcqUoseAyCw8ZY3GSncWXcELZPHbsuInK1kr7u0aUBJYYpyZS5817H4sPJxMBclI1xXvP + imKYAwCQkmsfO3QqP3r4DHB6xCFhjBBmfLs3xNsTd8jGPNroLKZzdHXLkiHzs5QNyL6vZ/b2E7tM + V8BMM/xOjt8yF9ImNCI8bZ2K9Lpx9pi9Ofwb0o3Z5oDKU5doZ/7BYZQhNOYH8c0MFbMAlZvNag== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '47104' + x-ms-client-request-id: + - 834e7f26-d282-11e9-b9ce-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6678604D6"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '47104' + x-ms-blob-committed-block-count: '47' + x-ms-client-request-id: 834e7f26-d282-11e9-b9ce-001a7dda7113 + x-ms-content-crc64: AQOrMo1bJPg= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905985-e01e-000e-118f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + bNlh+g84lNXHt5A2FEgak2JuyTfcEZ0H2k4s1PTWEitIMAOvL5/fl/pOmvw/yzCXXn0BsGREQpgp + MUm5k06srKZFDIKvVw/C12JJPPvBJNacSe+i0ogPkqJJl3x8KpwTPy0AUPwVo8+cxCz2kh5g0+hZ + RBK5pOmd8HfUjhEkeWKH7vcl5U6bHiIBcZEsjsCdmOWkMkuBQ0w/XyAksnTi5mwmfJaEIsMgTuna + +UGz/kGSGls3bmIACnT1i/5jco9aRiVS3epOJ695erEeWiYZvuCCPn2K4feeTe8PwwyRc9UzPbq8 + P2hVMVbcLysM4TrQ8vsXQtoTp6T5yzzcVHcy0Uz+TT7y+YA73Fr9H+yJEETiNEnfQlCeqU0iuGvI + qaULFCfvWWbZ03XN9qlOpM5HIXfpbCqfyYyT5WUFEWfxG08EPhLNmr06yxEGrOAknDXfIWex7Q8J + 8ukhBJkFIsXYE4wypXbdFbHRcc2lHLkl5v4zNrQFEnHLeJV441PDWyGZqOTEko8WhMjRSzCp9rTE + wBEJE7yfLnpV0/iY7Y1HjNcqtBdDdxzgAPXoVLGMue6JjUEdLO8SG09Zaoo2A+04mASPfBFMRDSB + jJary806sq/qi+rhhxaBKsXzETkcx7MdNM4Dk3jfi+jzYtUT94d6Dys0w8uO9nNlhVUg+t6zYNFL + sWbhztkKmCHHpu7TUIDJ4IKLmNNyVrlbFiZ/kJfdZlULtb8MVMIqkV/LLPbWOTEPkI45IzczazCR + MCMTUzkpU4/7KOF1S5kWUAPU4ZftwHdeTmcWG1Re+lA+SQErKMon48WY+mTKd0rtFTHo9kYSD6Lz + RG2xNQ6ftwExttulsc89sl199uOmSrvlkvrXTEe9mMskJP0CTDsHiritBDV+pCL9eAvjFwjhkgML + Y1y+AHven8c4rhkBJ/XsNee/gr9bFgGRo8BFEOrOlkySYzff6XVH6uaSKUPPlq7tQ0Y7n9+12REg + Qge52t3gCaISipIFuNKGxxo6iNExDY3lMW/SR7EWooNnTmrm9nts+Q4htvrITgqYDBKPTPJfCPWA + 58dPSU+Ln46OK7mU632TjKTPg2uG2AYNmQcFmg0tG4YwaLUEeJst3oRAfxh7ZOHdBeXxxhuchRaa + 4UWU0k9MhstL3UawZLMkbZE11vkQTFrWFc243ZMnfgTtnnEVPvmYsRmwzl40j4pZ6fzLSj+VIND1 + qVigAC8jR8K+5+DRVbpMqwZjwnEU8F2JUXqbcVwOS/J7Crz3VlZEdaA2f8t1av67ip2xgJnAsC/G + QhTfrzQphkkAiW6Vwt6o97kwUzux84FkBAW1uTxsQv1E4TEEmS9RZNhnHACh4eoJkNLLOYY2fg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '48128' + x-ms-client-request-id: + - 835d0424-d282-11e9-af4d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66794D206"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '48128' + x-ms-blob-committed-block-count: '48' + x-ms-client-request-id: 835d0424-d282-11e9-af4d-001a7dda7113 + x-ms-content-crc64: tshO/WPsViQ= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905986-e01e-000e-128f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + epBvKA74bFnNgWwzqH1Rn6ANPJTXq3uejvauO+8UnWRAaWgvXFTup6nbsNJ76Hk7E77CiS7xQN2l + MHLN/TVZD36xjzexIAmkTllmTHkpYSOMUxhfG5CGvdUbYdHCH42W08aGgEMfRiJUQSrROmxZJ/s2 + KOjO00kSruKuHXTbX2S2tbgNCycIxhVDfwdnMkxMMJogErzMWojKG0WVpYvlbFlZezLiq1XHt6Jg + kmwvJy1TJaJ69pTQQMD2oW8ZAm7PO0fniXxfdEDyEtywfacjac4k4jdYjQ9fXfGVHWkEfQqiDke1 + BIQ1Llvus5YoqdqOzqJJE9hNcZSX3Hesh5IvQZ4w7T9R+qG9ssZub8mPQVtxBlJTKO4HDrLluB5Z + 50CATWfKbPcTFQXgX7dcs7LJRWOiMvdVNGlLoevZs1eC9rMyMLvz3eBVIm98+2WwiZpwuDIhMgF3 + CkDSzuhJxNOzj8rmQIopis0RVXHnqIaL9Bpuxr2nrDfp3Z57Y9KBl6D7sYS+U7kvLlg1312Hen9l + Flv8xHs+M6axGpGFpDQTQVzwX0emceBzu8ujhthom+/I4AiluIbyc8AfGfnLO6FWFvG0appPBojd + S8ZwYA9BvgpFYVFBYnsoZdfMFWLxZfJwrJLvFTyPTQ2QByekEKY2/BpPUzkwmJm+Te7tdn/QJEa7 + qceERTH5scmDMKRkP2Ex8EFivrxG51b9o8WMrcP+90dxQ4sFxHt/9R85N+zODffOJq2dFwEgRbt6 + LZx+B4K1uGxKZoLEzXtXclMIDwxqpRY8qiOUAhficLAyiSLJhqmKH8ATJx4Cl65932NvTbtXCsTF + sZjjCKPglE7MstABCdwv4/uNBMEpcKRoYcm78UexDte4+8HxYf5snb1es4Ot682oQkjx2DquzWLm + BU+Z99YCMIA7lPMEu40OkeSNNa18O1qXqzDcspCPQJEJtWmr/n/jhGFtLyGnV3x0aCfNyytiWlu2 + vjaafSUG1G8rji2oa0bDAmcntBypZIyxSw46JScyg0NWqOzsvKJZlO8p3NTBNMhxaNEj5aHNB4dM + Fiu+ogJqwUwYzerNwarRMODodDWYAlAjoGDvszsSQGm+gECVUjRMN+30LnqVVzTb8O87Sej4KvUQ + cl9i+gtjdIQroE1nPlDvEhuoBh2TpNMZQ7giuvFTrRew3AwA64CYiEumCckPPh2Aj+gG5gCjJ1Uz + Q2lOktCliVj6LJjWIbYv+Bj+VSzePKiizkdDBYRHahOv4nbKTV2QTjJMsvRtL/1GS6AoQIvgrc4W + ZyhW4TRuQ7Tx2yNpYW2ltoO5aSr5h+/JT1/Dy8JfHH+nAQ5u8dJOL5r3hb+zZVK7zeDs+LwCYw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '49152' + x-ms-client-request-id: + - 836b785c-d282-11e9-9782-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:19 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A667A329D0"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '49152' + x-ms-blob-committed-block-count: '49' + x-ms-client-request-id: 836b785c-d282-11e9-9782-001a7dda7113 + x-ms-content-crc64: qs5TqrSUg3w= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090598b-e01e-000e-158f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + eKC4A2a6rCO+0kHfzRBuqqx+HGxY0/G7ayJUOBQqkqNvgvPIKJQmsyMTDLVRO3A65PhM/DvUp3E6 + lsEWP3GFmC2udqEsoiHZ9IhUGo3fAFspXk63aPwM8gNmQeC3cyWhculpHNxHzXibwHpWj2DmAE6w + rygz5hk/yv221/Et/FuSSw8iYiPq9WBfjL4P7cOqR7ONK3cLxHJxbjZSW1pPJYKCa5jS6AOU7ubx + HlNkgvpkaHCVNRG1SCZ9g5XPCvPviuF5yXKim36h0dp2UYxM7uX1HugfbGzq9jfq0CxYXPZWS4gd + aonLIwhSWZUtIjK+uoTcx9Ca0kYceSZVLxiYrW+3FYFzzyGg4UzTY5rajrNE07udkpM7CWYtVHYm + UheoHhg2EdrY54RgHIyeV+iGABoynBPRsdU4MYOvFRXzedBTQSQq953rEMyU6/Q0+CKEzgOAQOue + hXAxZ+dmR9EZv82yV71+6+fhtVjzDMAt4S8L1H3sEcP6tEAT661yg2TyITHoffO/hjy+tpoX01PW + 3u7Nz0sdfeK4moh07UvsL6W4gKJgjWuadPyPFIHcovHUnDBjFtJCTdLV4ghvdeO0GOQ+kYao+L4Q + CtmfF8T9pOx57ySfe70yjjgs/PAZiULudSe3Et3k+y6tP5JGmpB4jr3rzvMosvwU/a0To3Dgtq/B + T6LlDNyCDK65Gveb8AuR3rq1s98DuDHkT+x67jaqeKFe3bI7fHhFlQ2nvLuIBYq2/K8g6ay3wdS1 + bCIMKfjnlMM2HyWzfgnXSSJIFwto5L4n7PUStitmSxLdvSDURbtV5mZ/RZwsrYZ4XMy4YG5h8r4O + mpE2JX95Etipp27kvEDRniamb0KwbQIN+6g5mcp6UXtzUkaxU03FijBrxPa9E9qEPo6PVT+344nJ + ED5jQoISjnsTefs+AKv2x4ocd+BB03Q0Gy5SWap/poEo022jOkGJrgHGviUNIbk4yFXvHh+Q/b7d + 6jVLzQShAL3wIQIkW0exbaTPq6Ur0jRRCx1FvjSBzUnlLNSdfDA+MAqunW/uJGz2RvrTGhZDcSml + Sli2y0l+NvP+goch7hYZQeJJZsbzp73iuXTKOUVkWiwrx/Yhlg+561R8LoN6+s3PVNkbhUBD4oig + Vnga4nD+bufQOBxFj+MzKMrzzBZ+Vo0EU+fR2pQgu+/Ni+MzPKNYrpOkQ622keVaacHWpDdomRYX + fkrtwq2glbLwu581RbiA9MCxrxQ1oM+nQrTKpqND6RDj3IOP20XHeQ3Y0ZXh8VwZ3YjUcQMQ3oLn + cLdkOb5vPmOMh4hlslXUo0KIqMERdQO2a4FoX3KxNwXEU+XqwJKPTwjTVBzOJE5d+bjWwo0bOQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '50176' + x-ms-client-request-id: + - 8379bb68-d282-11e9-a1b0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A667B15AB2"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '50176' + x-ms-blob-committed-block-count: '50' + x-ms-client-request-id: 8379bb68-d282-11e9-a1b0-001a7dda7113 + x-ms-content-crc64: EpUgPGAFikU= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090598c-e01e-000e-168f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + 9yQGPs1j4TMYoE4bjHJfppW5ylZboMGOCAf0iEL1UJ6P6ofj2gXbts8NVBDl2XcAYe6tpriuAJ0n + TkZE7D23DNC4xCzLo+Z8t+mplGX4k4KzVBNV5BVP4k99EJH9z1bes/jdjj9NagKEk/hIko2doxzF + C1vF3nVreI/JHmbKVuOwoObxEzRTi0A0cxCbUbRl+JQqc/Klbs6SGZkJE+8mNp8sgJi6qyQVN5hT + 6TIOxQ8JamXh8Aujy0/ET2AQSQcGBGE0pi1oWAEaEru/c37cLoms0HapoDNN50yq1SWvUkwEVu2u + YTWGv3bCGyqUzhQuWUq872A2iUhiz7fWXij3EGVGe6IPrrDdszimIvcjeTq0wUryvgD95px0GKTb + adh8QLMOwNMiDc2BI0PpwXL0pn6qH4FAm+e9dTnie2nULcxzOCRSkfnXZCQw41/vVFM+3vsr6wG2 + MWoJ4QWW9ogoAs6kC9gwCl1N215/vNK2Kgk+ie13rt8Y0ahRAC6FVa4abmakGs9CkO2qMP2H0Ky1 + nz+31lgEOHeEVhP95wEMtzF+RO0aDFnJe/1hzwQ6i+uNKvj3FmAx0UHBleEkNL01Pz24+V6QBGeK + sjZz5qJ7pDzl5pXK4mLHwbBARMgfwjxPwjt2v+Z4aRkQPFOn9BX7VE4NuljpGGQWybdxUO/PW1q0 + UxSzfY15roDrdLSiDxFDPTvcOffx9vxMNDM/C0FucFf0sXhedoMR/jt16WswOaobKQpzy2Axfj2F + kd/umkAscfY3lqxVcOstHk1qBNcH8hkuArzDzO6FkBwRDJxWpJmKYEbqBsWiDw3o5p7tDgaVUb2i + BpUj+1TyjL5yF36kqOi9Q1htymA7N5hOyHjXhgj1rkgljyiX2NV/nOuXffHkyX9Ym2rjOFLZ4N34 + XMxXdxOnaiX24CbJqSjccwOBViaEhbMLSunz8o2ChhCaKUcWaluCMhz9PxX3UisS5rBM7rMWzEOU + YwaUw0wbUW8WmmR69jnZMBSictWb+OY1SZA7LuQBW2gMezqSG1rJbun7Sm7dD8u6TluWuqEqzuyi + GiBuGTfnnJ3snUoiB8ThP6PxwxC+safzp5OC2zQRzBuczqobF6w5UsfwNZEF8e/hY+GdtJDbh+el + upmlIbg2qoHxx/w4HrEmegQh5n1va4uBJ+/LBZ22qAPKa7K2GWv21bk6uYBOK/TpUcMoc0cs2Ch9 + zE06zTOi+DJSL9QGuVgAMAe91HtNAL6MCSF/GViLqUWOVQxkiU/5UZ+CcDXHURDSf6+X8kls+Yyc + 5UpdNlqBRYQ1dpwbR/44W0SOid5fVzFBDuC1T27PDPvBOIeCHgSB5FGQgTX8bfOSn9453yxpmQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '51200' + x-ms-client-request-id: + - 838804b0-d282-11e9-9bfe-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A667BFB2BB"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '51200' + x-ms-blob-committed-block-count: '51' + x-ms-client-request-id: 838804b0-d282-11e9-9bfe-001a7dda7113 + x-ms-content-crc64: srHANyFhVjU= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090598d-e01e-000e-178f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + zYdVmyIYpofzrFhOO/AjL1FZqOMZKIaB0Dh3gEg7yWsMX8dDZ6GxeT/Df1JvFKON1IfKharUWBVU + +XRTma9lTFR5bjXzxd4Le5rP4X8yvGSxZxP3sS+b7WHpFbSP74BMcQoqHOEc2bHrI8nNOjdZTxaW + TsYW5AaHAD046ksX1iy4TnxehLdatZSX/Rqjm0TUjU9fUFQLzJXy6VFKLrlAN6hkQJFOvwUJ8k9/ + K4BWw7VHcejd7lMj2QG+F+42usRnt0oq/p1x4VGJyz6he77m2CHI0bvufTU65qXvhyiZFciXtQnH + K+zCsAwefhBFbnGd3GYEg2cnU+EskHZcWNmN7VqYGuT47L++c9j6DntTPGFYERMpGN87RB8AznHT + Rlc14SoI2A54+Txvfj11t/giZwnMRPdSFm4Gibz+UAobRsXqFyTg2Zhhoi+PR8RGHI0xSrfZTyPT + NzbbA9JiPebtleefIgc3XiNYrH3qab7VM+aldKWT0/jjgM+YtSFE2/7RlMRmpU2Z1XUbDp/mQ3xY + 3FEP06D1rnSNf2mzVU0l73B81lbAvy6lJwy5/GAY3uNAjCz09mSCErmqobQu75AK+crpoKLjToWi + TI6sPkl3CJ6gKAeVX/0keac1RLaaIAYLCxbVilN0z47PeC/wBf4jnqF/LrsGkX/5NYPT8A9NrfzJ + Z7GPDHBWhFGTUNO4zOgUxAbT9KGwBS8pW6H3FjgNnVqPEt9GCLXD/TdrQ2zh4mBS1RxYIC1JZggE + tjFnW4evF5Bnxwme5lPqXyYtLq3dsIH3FTC4GTy8eMS4yl1AA9BOyg0/iXb9kKYFwq8EAID6R4eh + 8q4S6cj4SRjsECtr7awjFcb4tvuZwFv6cDONQhubl9bZ2zXG3ccsovrk+pudJaLVN0nCfFaiwneH + 1sQFk7rVfk/ir3feMzcsCTR2Ldmo6CORecraxwIWD+v3jS3g79e0TwtpkCLfjGBF1YzravVRNU6N + 1y551rkYQU1Ciu0Px4+MYxSk5AqrZnGtA6mBFdBUVxvfVME3ZhrZeSG5DsDSgj7JhZMAQaXNNjLG + qKxQMDj3LfV1akKWaQmErPwq6uJvYTn+irtQi05CzHvk5obY0mIEW3O1eET8Zs1LSRf3FDF/SRoG + QKVdk/5IzcQHT/frgULsVp0ZiGT8cBjzRADTi1PqylpR0tCnMD0DgEHc+4PKCSCSnb9yzp53iFvS + 5jg+5YCjM5fkuBsUEG11gL/kcBriSBpaKXkD9/XTd0eYpQHYIpKQKVLaVb26rzSPYvcQDkvyH1Gm + B3K//YLe/tKUwRDp7DtsjTqBa2N/BHdBj4Ho6p7sG5CwY47VdUI76D+aNpROUe8hnZdf7mccTQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '52224' + x-ms-client-request-id: + - 83967b3a-d282-11e9-b70c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A667CE31B5"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '52224' + x-ms-blob-committed-block-count: '52' + x-ms-client-request-id: 83967b3a-d282-11e9-b70c-001a7dda7113 + x-ms-content-crc64: C/KOa49Xy5Y= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905990-e01e-000e-1a8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + 6N8ncNhGFxJxC55AftDgiwMhemIMlqdi6jjydLbX7GVUZ4h3qQXnCTrJ6+bTBEOD4+tl02Xzvchk + sbbbiCS3UyiEC/oFoJmvLfexukzNgqNdbapjjOgLxhgDhUaoUS07AaXUFB5x1GjHun0IlaIhYPBt + IIPa+odhrkZXfGsZdHc4/AiuZMH3DGV596hxhXKqEL4DPF/RU28ySZ+lUs2eoI92aO8HQBWNfV2W + IFOVlGdzlCpT4SbwojY8dEyxxO/FjWHanUC00dnCo4bnDjepD1twBDm1HMRLuS8ssX0GOtvqR+Zd + 0nkLc24zZSIpba148jjcg0WuyDlyPXI0bjVeYXV1vBqGbPq2xZRiTxm30/BsFFzbQ7t1xPyistQY + qvLrpp8d97iY4oWF5YfE0xDr147wZqJRiojTZCsThk6JNuGVXN9i/OfyHGHoxXpZ1hHb/IFfliEJ + Uv6kLSgSdGHoAtAmj08tZMFoKMSdRyZjnct98uoXx5GzMGBdK9uapzohncojNjJquh8dWKWBATiw + 3/eIew6RCxnrdy6O5GraNMTg8G0GXlfflPeakJuc1sgHGb2jbcQL8mqrJFLF3AK09X2BQ6RYzYOZ + vDKeBQVBP8hXOUPcqImqQccUhQCctuj8cobR/KuXXd33ldrpx7zeukg11Qti5451zdrMi4D2XaKd + NABOt+CIj70G2NRYOZ5LFbVtrZvfgz+XA5E/IqlBABLVVBaJpkDkLbQEEdpZJ5EM7Fa50lSXau9n + 2q/8dI0R/HuDdcTnJ/LlwNM/suRaRHI390xE5GhEw+fglNc8OMwZG4rrSuobrXnkT2iJZevZMFKx + 6l1XbY4p6++xWSgI56kKxvN+FF+c0oxDUmQO/rS4sb2Zqq5wuHXgthdU3dc7g2AkaCe7CmkNZsWb + ws+MWCDYyQO26HyLUaYiLVCpscg732xMwtD4TzLaiPVEdGctTqvD7aPXlOPzW6yWcy+cV+Lkmy7Z + GdPXHeSovcZrGVfrrJ5QuQdFZNvdXk+OD/PZMQIss3o23dY9VpRdcNTpuOXI8E579NCMdWTc67Kv + B6RlRFcMRgP6kFg6LYDIodE/zT57PC54VXCkZWXsM65/Srhobp0jVZMfyLen7MoQiPNXRg6JwQeO + SSlDiYtJJSZd5DUy246V2bWb3TINB5CzOI4TZgnHIpyVZyj4t1G+D7NqQ5cjmsswY5EC2Lg9caUk + IoN+DYrx3xIdvNrfUloXrN2JvVX3+jA+dkoLRtL9MV+hC63plEqN1J62sxqfHGcs+jfhU3aC8i27 + S1H1L15hFR2uFLfs+A54dMrGBg1FXGVjGqE/We77kYtoGijq/OC1dVesVkBxvN7Zbxzh3wHGaw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '53248' + x-ms-client-request-id: + - 83a56f8a-d282-11e9-a9ee-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A667DD25F1"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '53248' + x-ms-blob-committed-block-count: '53' + x-ms-client-request-id: 83a56f8a-d282-11e9-a9ee-001a7dda7113 + x-ms-content-crc64: 5XOLNAimlak= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905991-e01e-000e-1b8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + PvfYuiKp3nw7BGuGPWdFsBpMNBiYemGp1DVCIo6gKbvrLMhUJbtV879P8GhRNPkuBIOfo3VxDH3d + 1pCIHLLU48X2p3zzFpbQKgPq40CiYwoudrmiPYA3m5ZH7mRFkzlRZ/neTJpozUdyjfTVCUI25XHZ + 0kOJIqeMyc4nCF9CJOFNS5FgtYiJ3VHXIMYNXo1i2EfK8qGOtdaSAz/KrnEjCBzbtYiBKxsZDPYr + pplSE/3Ah9Who3wl+reR9MLxBb+oiQlBCyoRecx8229R9wy2gzIOcN/DYO40qRPlmwY3fI68/EtW + 7E2oR5IjyhA85Cs87dr42+eG6a4Y7Tq+qsf4gX2fHjQWX54wnpd/K0zhlmvMDHML39pUDUMQCiBH + aLtEt4NtgoYDZWWtBa6LwayvKCkjPCOoSBwPDo24z9t0Gsi/4pzprGRE/kpRljwHetGnNp4P2OXh + SUDQOSGP5Nw3CxKZc78cRiTboQhU/t+Xo3957AS6C9w/2yrtq6/OH5760E6YUoRi0o2qMnhZvudO + V0pnxQf+7iMDRYn6NJlzeuCAOc0VMqdTk8CcP+NIqxQqOqGrmK8crC4VG4NNEFewlJxBSSZOyDrw + ShTIkblp8mwekl4TpomsR+4vyv6f6m1ODdTF+eDflr+QBzaMWz/zjvVjrS/bgKlS/dRrVPj2fi4K + 1rFpqhRNlYFuL61uK/b13QKPhqNyMdfiPGF3DF7gwa40uLCZg9eVxbLAiljB69IUNgEjUkcLA/My + UTZ7U9dGKziYhoDc3kNAy/4Iq6VtwoKUI1vewG6Tva2qH+qlciScdmMwn2kHus7fmLY0ZjqFwduO + da5Apa06QLkq7ZwXA0J31+veQNG6vZS7cyCT9e9xhJ91LMYd0jNkD1Q1wq1YZQTYjX4nrB8trc0/ + KeYPJUi2ISjUbhvGImZvzT/FBn1DAPjpULvy2dTZqAZP80mF3KSly1cs1msvidfRo8L18eJqcfLk + cXWbUcdq4FT0HAch2R8Yy2wTal3HQueiA2NeC8bT5j65ztIWaG0+FHxPyCZi3pZeK8/ZW1An3YfB + b/1EfvccFl08G9Zlpmx4PeiUQYgi5+gcjqtzw9OWqeTK9eDoRJuLbczEdJiTE6CXtz+2cAxvGDB7 + YYxaCW7kkLlskoUzGHVdukhj+ZPd76e8XaPtD2jFaEh2MU3g/Y1xHdVt/CzNcv0pYUaDtKebBgZJ + g254sYNr387cNa5TmXwgQBncYkpReDoi9rjgmDZZlXg58qiJg9NXtptAIvPS2ux8erBZDhtJqxg6 + Y0NEuAPRBHfUtHZupxwaAqgzZ1+Rl10uQxrz6muT4lbrSuvV2U0pASz2goL82jSblN+yfaAe2g== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '54272' + x-ms-client-request-id: + - 83b3adc6-d282-11e9-a577-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A667EB7DD1"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '54272' + x-ms-blob-committed-block-count: '54' + x-ms-client-request-id: 83b3adc6-d282-11e9-a577-001a7dda7113 + x-ms-content-crc64: BJPMttD6HWU= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905993-e01e-000e-1d8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + bVsaCBaQMz0OxxhCEqygy3f2kPyExVuFTEiGj0fjXpfVPD/i8HZ058zuVo1+WsMQEcDnRsKWmJkq + gkvKDnD4ONFzEZQer0J6Y8pduz1BbN8VrODZQ0KIw7MUxmPW6DjogaBG7IlONRQVwcQDRrNOLU5/ + iGBnv/6u4w4v0bxpKX50/KGxPyhnHzwXI/GPm+2V4lTOtxIFyzQs7XNhXW0mEya4V+DejckreKM8 + DjUDnWo9nr3BHVO244UZm0AnPQ6zv/ykN51VVn9dub0P57Q4LQriJkU0wy+FVRTrHnMW0qFEgEgJ + dhGzA2b2jmrqS1C4udRTdU4+/aSsAfRfAYjiWozrKSSAyqXVW4ptU+mOnBxP6UetvAllh77MbSZp + z9S7ONSWjEGI/jgxIHHo+hPFoMH0XY+voyghMGtjTZMIO8IOZ/eX4Z/SxIlcdZEbHsYuvLX0m0/1 + 20OnUdZC2fN+nThGH7X9AmHkuejTdy/D38Q+tBvbrl9QQCSnmLpNskwPkBePipIHUw4UCap9Hc6W + mFr7TlP1x8SobkgaHRoXDkzsnJ7di4G0hW0gGR35WMqVqMWTwQD+vTgBpHDtSfu7KH5rcu5I65QC + cB7oENgrHMe9yjRxvA2hoaGLuSBRk+duo8WxdnGj0MbOvQ6TnvFKTQJeUnihsZpsLSP697dfXkZK + HWHd601TWQrCDgaQWIRCoroWMXaxOHXBPBSuF3oBScrAqm/PsqCLQHh+3Jn0L8GomkciCvTwsDFQ + bRSL8mQP0HrJEqBpFdPB0T8mBHBlsUqpfO1TTOL4q6sHRUal1RNv6LZ8VaV1OVbUYYaFvpqLKkEQ + 0msPKCnKu4cfV4W/2YfBUmvwpAhYcOa+OBOzDcbTsV0g98RRL7Da+/xFWwLfVIP+iDrc4RFGfmIp + s/UPKDEmYpG6TQjbAUN46oZP2oGtpewtXXLEzla1ZxaTbQs6M0NJQpHw4sc/PTzrPCGVxjtNMq8J + FdVLAAv5qOHUy8bwNhJSZ/0LE1gHsZeB47P5ar8meyyRX/hRtB1IFOn3lvdzjGfDf9lJtGCwxNlO + lo6xwCqIXJnAVUWQ44mIaX6d8AvVVgjqKISPkXtfOnDq8Q+Dcth+INOkjj97HmFYbXXu37RcIe/l + kC73VtxEIdqwLjW711qsG93ewE0Iu9PC1NqmbKcm5elgoap3FuSPH1IO9ZAG4yEt74xMWbuKwpyg + fZ7QeQSL3Qfbfl4vrVn2T/V1hCM/J+GPvM0eAqEL0HLvQlvHqpu5mXxLu5Mbosf3dG4wDNM8xPMS + t+VyOcA/tmKXq8HUSeAPT/JB8cTT0GfYRILEjKhovcY7B47fBF80p8M+AmfV94c9SJIhXs3KcA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '55296' + x-ms-client-request-id: + - 83c1e3a8-d282-11e9-899f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:20 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A667F9AE8F"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '55296' + x-ms-blob-committed-block-count: '55' + x-ms-client-request-id: 83c1e3a8-d282-11e9-899f-001a7dda7113 + x-ms-content-crc64: TDn/043ZNJw= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905997-e01e-000e-1f8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + aM1BzW+ve5lO/Ljw7zI7UzjPjU4hcb4H+dWlyVSbdVJmop7zZW5IgfyVttq3ahPl5aLYMIawXJya + +PMvQX1bHlCbjhhaZc8BrUj5wD4vKmnMPL9AIdma7+0fBUykW97dSH48kvfrPXErY1djhzE6J6hJ + mQMT1QHic6BNx0QRNbe/MXov74xANyjYX2ESHfFFo4AivEEQOdpfrJJxHSwEbeZ9J/bpjBLsURqh + 5oUG5AnYMtviX02HSZE6mNoGrBcERkIbV/umtc3hAuWB6cp+OpaixIIQvJG5vDqqknlyvQ5LQMmT + 30cDrq0BGki6gzgGb381b6N5uD+DkE4K8lBU8czrf8+tETlWBSWqECqAKS3E2gXpiA2xUUuZVvVW + jKHzfO7GsXHltrPZ3w3S1lOJZGh5U74RA9oQ8eUyucss5vLVkOY2wmovJFHBUTyPSBPFFM+CksON + JG+3Mo4AcP6LXCXetS6EQY1liJ4qsUyRK7iqikBXIkF2E8THe1iNCwpBYKxtEJmOkAOl1Xi0Tbmr + gg2MwHjFB1r4AzUZplZEM/4IZFt/5kJxiK2Yaa1uPIbox/1jJqCECek54e5gYCKGY7Gi7+GYUjyv + pBdXIB4llm68ye6EUyHSYRuvp3SQOe/2yMArMko6okQrSnGoJjG3AmTud19DEUZL87eYls7ECWNO + p2p1UmsPSbpyoK8xA0kh1WilTY0qSiZIRBsC7c+3Qw8TD3vW6KugStg248K5D0mRZeV+Cda4Fyxp + CYAdB6/Th7ckPjL7VTC9+KhIxDjfzOk6Cbxpy/DrIIlHnXqABB+8NLFNgVUeoTq1tErZoQNTNov0 + 93yiUGKW9RjumcLKhz7RQzfcvhNIuEncJYtUigd4oiaBaqQmXk662Yzb1n4JgZmhCZBeaMqqfR6S + Uich8u9GGLk6I373IWlhWpCFV5qQM9UzEfkGtdxkzn9lMgYA+AZw876muXjwPwJLdOjC3wU7rhFg + UxtVQq3aK+YgTgtxEVaaqmDWbcphsQkCONAnVeLkGHCrY+gZNtYrDKjS+9tV1/D27EpWaNkYtsWF + UIoUBnb72+I/1EgTP760sm0eixTzCSGg9znMARnjvQbe12dkXPhUeKj8cwpAfGIpn4R9HQylKJ22 + 6KFcBd/KZKGRFItkPlN0Ye/We+xd36xzO/oxfYi0/J57nqLacBbdpaLEJwntn5KPtymey1S727rk + zz6+U5d88Wa0uM1rLnejfVgMXa2ZSHc2WAsxm/P1zC8r13JRz42V7qS24I9QhPw17cBHun1EZufW + AwHIZjZk1SDOMhUrCa5x4DFBQ5PRj0U3VG0TiuDktlENfqekURHQhslsCcgHBVttu/IR16wC/A== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '56320' + x-ms-client-request-id: + - 83d0bbac-d282-11e9-b62d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A668087B92"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '56320' + x-ms-blob-committed-block-count: '56' + x-ms-client-request-id: 83d0bbac-d282-11e9-b62d-001a7dda7113 + x-ms-content-crc64: o6Ch2vSrBq8= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 80905998-e01e-000e-208f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + HSg+xC75KFgQAfbJVbalyZuxnD29qgI2HK56sPpuvm3qqFEFybNlUQk3WCb9OZMAFr0yY1pgm7JA + H5HQWdX9ETKw5kX3cZE7gWw3pat/nwSyEwC2AU3a20/NuRhBHS7uJisiXItmruUUcmHHo8ooNTAZ + 4dRCAZygMFe/ZOqNndazo2hsYqfp1LF0jN8vn9iDAEOs33iReliWpJkVdhbYnTKuVNpDD6kHGsU9 + kPCIoooTu5bdjbKZ+wL19sk6S7kf0DauzWuSbSdGgTxhIPEzchHYgFqC1yYEKnaZ/of9eTBNySt+ + QhFGQEZ4ES6UiuavyTkj1No9dMlz+sAGzI69bgcIee80EOcSxmWWRzfTOt0QA4Km7Oxo2fcWSmfP + KmQCI6GDExfMXUhUgNLqTbICC4eDiAdGaQwIw230O+wZ2iUIom8KM9cJvXD+29BaGAreGokzPhou + rf6mTYBEWyQnUPG0XGFQjkrFdYSzWUEwonGXbp5iRetvtXHcsPuqyMXNqfkydbtttTqTrwPez301 + FJSaDbUMFFXEVwkgp3445ImfWysnIPNyUingDMh7Uc78qKqkVVMtTvkcJ4U7UpVDIYgsA79i7sYy + rLAqyjsKEncb7BEFjFXPIp8LcAKqWOYw82nhCqbgrJKMfhEi+mM/R5t+HNC47GEajo8hDNOQ3EEA + md7L03wJynl3z9E9QuowzCIRDfmFsJAySwGRcbaF5481a5daZT4hCaH3+mOpYsM9QAgz2hjJkjTc + twvQdvQ8rv37gvNtwZVQI3jTFuArwcUU0QA5yQJCGvOCqXijt0CXzsluJFV7AIMyDGesTk8Yv0N/ + ZW9MLbwEfA2lFZmu6Y2EixC8JRknVgXsrftWlz7VcvEaQjuJ2KQId/Q4h8nnJz9asLu9SK/6wxwZ + H3LPeRFukmjnhGH+mtqnFGINwc17hpwdZHw83QWFhfuHZ7sRmWarJSrVC8feffdZotR61/LJ9pPx + 2rxCn1fleIQP7fiJq1SOWWLXJeAax48vDE2fJBMFQ2r2vWAb1+Mo525/4uUSdngW8MGwLPAdDQbA + anXWae+6FEau93/Msn+EG7Ak0a03V7SCk9kz3huBKh0kYyI08FM4itDNBoqYlhJUcPKYo5iJE7Tb + 0SdvRO3WXI/zbKdJZt6ToOLA4aZ1lVQBRgz94htEW9fJmCqg3l0WjOm3JfiWibXvab0E7I/ncaTW + PEPVJAitrr/u2LSgqrLKEx/Ob7kr3wtcKudhnncypvbUImedxDMI7P4VcXEswMIYn1q4/Z94ox8h + 430L7LQDxCaQ0dkOTE06za5oAMGCqMvfoyVRuWEd6dRfyvlXzJZOfH7Wee/PFkeRseC6fLncnQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '57344' + x-ms-client-request-id: + - 83de776e-d282-11e9-a14a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A668157425"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '57344' + x-ms-blob-committed-block-count: '57' + x-ms-client-request-id: 83de776e-d282-11e9-a14a-001a7dda7113 + x-ms-content-crc64: Vfpj+a186cA= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090599a-e01e-000e-228f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + X1sA2Pep1IetLX6mJMFq8RuzmRQPfOhDcYoTrbXrvxVtk22PYPxAyZk9X/W8ERLSJFVcXql5+3Bl + c4FQWkhaDtHFHOSiJUtdhI+qADNcufUucRwu1jVwps9v+k9axEWov/dbrAkcr0OlkNKkolAV81pg + bOatGQQtDHQJjWGVvdkiGEVidIyBAJmPQRemxoV/GdpX26iiKjp9+kf0S1i1OjVBs9Rpihv03WSn + MNJ8OeznRurADUiPNZJI7FK755xPXyo7yFpClMrPkQEyNxy1NnwqDUoE+R9zc6B+PO8yJE1vt32P + l7RrTenoGyOQCe5NMzgdfXudl+Kcc5DSbYlzpQDbKi8+4Xa0aP2QYhWdHEzZpB6mCnbMTJtJDrWk + LhM2L3Y/4AE1bgCYrvoLA8DVKoMyojkz2EzNCxnZdskJUUwRhsvpYatOiijBqvnFPOxkJHe+ZX0p + 5t/7ce27hnj8VZY50fidr9kK+m7sVlhdvLpP6b1T5tZk07HEBevu9RSBLBd9EXry5ZqTzxAr97Fr + AkSsTejHCdCYd+8BVhThvLQQR963XGzyAYY4tJZcCTAAEbT8lb9wYr24hO9VfPcSLeJ3qtFA4l2w + 2f6JFQYQ2U8ylw5gvBXLVM7nBnUtnvfP0XgqsL6icIaW0cBSZq0U7zLzDRZqnnGs1/dh/gTyK/m1 + Nz1B1p4JyX3B4QheAjn7+qF8+nb1RbqgFr3C2/qZbkwe8kpoJu6UEQS3o1hR/nS30yNvfrE9TtHG + zn0lZzmqM6LS4FzHvN1NwvflgnFjdixi2VRhXodYzsdqsXTmP6NPtfoGvz9HCQ/S1Nw89LgW8uNp + lwbS9waOsjWrIBJ/HE6Bsq089A8ubd2ik1uuehhaWoNsqNKjPeDo8ZhI3TTUuR+sbVU7cT00GBe4 + 9Xoqus1jQbU7sZPsMZR+S4Jpt0GHfqQY1GHtNppTeIpcI/BeBXj0t1mFBTkWl4InLG+eZDa5iEi0 + iKa30V7B8dJScbnXu+/c1VwH0q4CTlkbGWDKXk9L6gCDEoaHe5v3uOwid61uVuTKrERh6/ZXktSu + z9h0GZanyX/NFk5IC/EZifr7ivye9qflPoIdRvYKXKRmtYtVKQuXRV2x9LlEYqWNO7nt8K61t75A + 1cBpf7ieHxDk6jjLTCIcG4LRkL9GZ3gwwa13o+0zgBsK+mbH2HVWpnAZJuyivoiIgHpOOLOR13Qk + HwclA0lEcmfBdjQkaD5eHFo8e+FHv/asTmmxstDYkqWGtI7IPuFgWwG23M4THCeZnpLnEYtYseco + /gWZKzXXpevccamLTisXQ9moD3kpbSs59ERg2uzNVrBhglRbzmIWs3s7bRF+KJVPLYybP7LCMA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '58368' + x-ms-client-request-id: + - 83edcbb0-d282-11e9-bef2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6682579A9"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '58368' + x-ms-blob-committed-block-count: '58' + x-ms-client-request-id: 83edcbb0-d282-11e9-bef2-001a7dda7113 + x-ms-content-crc64: JOI0LSRgoVI= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090599b-e01e-000e-238f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + OLJmLNShCfUakFjq4L/9n+4H1lbzERBEfC4+8msBCVYy+sasH2wn4c3AEXfpEYWPYwi65Mjl047J + RgPveg2fF7YQQq64D/v7IKsOMtgKsVOiWEN5+TF3z+/xyTtTMNxBbmhTNjuNmpI9I6jRIxTVey3I + cF4YgoowkNPaeXSoOG2gHl4VCYZg/fkCeLkZn4vA3tYvYXHow5Sxo8kKpB83Bn4rmGdb7R8zZryw + h6289t+EUnGarqTZvpUHF5K6j+eBUJNj3ytIdQtAG4QeTVJp11KphK9yKgQo7JX5sMcWopsRZx+O + WUyI9hEzwkvmJduw+HC1mlzXQR0RUHQV0UL0nHS8Sqr7QpXkcPZsFz6XO+iAJeKGT81G235dEELM + WfeqZJIUMPNRKHHALAeVpNXpe6QaALXnPc0RraOzYiwfq3/eTmYGp+enEKiKoHfMFUavhy9hIV6X + lUYFHb7c/W/NuN1q5auWRosZ6gjKNpZBEwZ8L3jWBIYuyL2tC2h2W141YUytOR3ID746Ec3OaScw + w13qfAAm6dY4uulTbPDqSJ2xhdLG+MbDPaeEGIyy3w4nojCieBYMdW3nBGNSvZ0mzpWvEcKwAY7r + DbUJxmAWLKnf77zXCjGNdk0NySvUuHsgycSMQO+PDroWDmfHCVIMyoY23x213WAJ+qnZEwAgAKuu + KzV6vMKUPnnuyig5fV1sig+bDU4qFPYCOTCtXFyzp1ApCfzEpkR3w4Of9oe4m8F5AROBIKpHmOAe + 1fOhUKdAQk20goXx4zNlt+D6IXBI5DoY+1Po33ZH5+vVXflK+AnPix9ZnTtEW6DhtnwEr8EJy0tP + FljyWCT0AXhEVZeprSOWbxLwHogE6An4vHJT2ufErLnbzhWh5uuVgaXRbdKs8Ywc6sX7gxeeuiN9 + 5n+RIvDGYsaKjGzbLSi4xNHWLwamc3VxLAOvOoYC3h73jQCdUbE4EVldHfV5oSfj55gaP3SyUWJL + K0aDMP2CBczm+fgFwo0od5QtydrWU36owFrAR4lCZPs85cqeMPmgMHbKrukEkS/RFGmeYf2021Ic + VfMQvakwaLj8vaorWzVQ4Q2XneozbCJ5CJiIYNI6Vr8TU00/a1Veveu3kWbk/nGcl2ht/OHLwnMH + GiDObOy/jtOFWd5QMfh2hdvTG2k3DxTjgDHk/NtGSvsOCZAul3MPolhPezKaFdkM7iMfuyVLxIT0 + LD5vpPH5G/OFNtCYgts9HCYmxmVF6seNhtfPq9JSfBbBFOEtDg6f/ukzUdAPV59GPUtbLpAqLO15 + 755yazBfHIigvtrHJwSIlt9Pwyxsh7BhloY61+RIovPihuzebq7qwptqA8rgo+unraa2B3BzLw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '59392' + x-ms-client-request-id: + - 83fbe96e-d282-11e9-856c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A668338372"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '59392' + x-ms-blob-committed-block-count: '59' + x-ms-client-request-id: 83fbe96e-d282-11e9-856c-001a7dda7113 + x-ms-content-crc64: TniAvxC15KA= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090599c-e01e-000e-248f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + H0ML+PHDehN4ycr0La++k6N/iRIXhkVF4Du642TxmszVM1FUQ1fvBVbuBS8TlAUVDMgd8i7QerNk + h7rtR4Cz/nXbKQ24hGrEKGOm8viXOyf3pbd3c1WLRTewafjlVSfNBo2pcSuEKlN+7HmSAt0uCf13 + QGPa5DWv1flUMAawKchLVqARiOaaWd3EcTV250Ke5q1GWtRpNfMbFTuImDso+Yuvs3ciLKmI9d3g + RYwVIGC9VzZqszt/kAMxSSouMig5aKpmmKCZNId9ugXXiYPDIi0fPlPgoaPHX1nsmvFq9iraFA6L + pFcYHxfkZQgeOeRQah81yiyIwSrmZ5ftbG1yb0TKqQWq+Er8wizHuXsIMM/ja8Yl2hqvx4CpDY+I + 8kVYcX5v41IO+iBeOoocBMDvE2h7AMvHa0KaZRLKyrHnagDicuaOxmlSsywxEJvoD0jMCCbDK05J + k7fVc6tq2QD0RmcdSZ6j9w5hTqK2km2wQ+sAi1/k6RbDv+ecAsC2+GvCr89MLYnHSrE9vuUuvvYa + g0/XS7tmaDZ+/ntIJOAL90wRgEPB9zy/ZSjMvEV85DCQIfCPs1m3GOr2T3U1tWCryE8aIYC8HoD8 + EDyVpOOne33EPmPchlWmbdqAM8hz81GmyNRPVELiAb8Iih0ToDXAIFJbfCZWkuxvMhfTlyctTt8R + 76oy3yoSY/Ai1By85k1Vp0Aw1VmlfqnCZuJCWX59YKkYK9q5M5njYYWa1+khPG7VLIp+03vqe36i + p61yXIkDtNpCmRw7kBvtMrspV6Y4UA9aRoa8StN9CNaWI43Vm0+82ZCAHhrlFOgBXaBzcWlYbnos + AQ3GYgfgPUfCT/PZzd2N6N0Glai2qbMZrgbU1EQf5XoouF0Xtgb5Mzg2U0/vdvrs7E97iLXIUddS + PR2+P/N0rdUd5RiYEMnu0r+gh5vV3lUljEtxiEwCFajigw5wdRtS+G2ISDhffFW+sO6UHo3i0C9P + F7mQmC6JiGENmPov1IiNli+AVhdWm2aUwvlBtwLzU41Y0lS3lLAkxKDcLx45X2bMPtm6zEvaxcrA + olHM/vmEB9QVzlKlJQ5gZTT9FEzhH2sUdemh3EfDbLQ3Fv64RXiOlYbCzHWrMvmZfuRjtU17l5nH + NwYjBXXnX15nt08YgDm9Grh4kUJq91bTN61d9Mi9BdGu9ogJfQu+QijEesMn8ZpiFMe/vjw47ihG + 0nLrcWpEj58B1Asns85IzQyKIxuqekW4Adys7l0PB1rgmfwPf1aOhvx449ye9vAtVrt9f7596l/J + qVCFEn9Sd51kgnBsadDkjt3EB5D80MkOr9nJLRU3TEZNhsPVZOi+Uw4qeFZoKrBmp8fDi0Km6A== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '60416' + x-ms-client-request-id: + - 840a4bfa-d282-11e9-a6a2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66842296E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '60416' + x-ms-blob-committed-block-count: '60' + x-ms-client-request-id: 840a4bfa-d282-11e9-a6a2-001a7dda7113 + x-ms-content-crc64: FAxMWY77ZqM= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090599d-e01e-000e-258f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + WCcjv7yx9MaQ1gCv7sKHcCksxzQ1Xm/kESefW2gZZN/b2yksyemVWUR88f2d8Oa1kgG4/ea99d41 + 78ACEvEpuRyKJI+Cr+BLD/EJbB0VLcx4erU4SSvA9o2XUoJF1q3YW/w3isrI+1f1NumOS5x7EP2a + Ve3iCpR1TLXuJ9d9iY8QaWo2O21QdaF790kHcha30kmgzog3qkGR1KyQU+t30wL+pqhTW+5oY/fL + kJWaUxSP9/WnCufhGURaEkyx3ZYm5jfjpqm8y5eRFnfCA11Qx5EO8k4M9aXoMuctvM4L7HTfh9JK + bkPqe63M8dilSty8+wrQMH2bP6NnLNSFzPS97OtoIHN/rm7ld358LEnEhtFUIgix0+/ROxurUMfH + Sar4NnVGOSRwTOe0rXhUYr0b6+TX/QxWzpU5m8QBJp5soarG0kJzEccCIAfadlqTkysqB98YqE6E + 4Ggo4YSRij5ZmIhkLSpVWrw2rDHUL8WiKyTDFGs0UhrfQXPcFAl6HWt6ZNhjaEcKo0oUOwhkbMEP + Yx1pjUKmYiLYR7SntLuPwuiW6Rv6rEEjs7HV8emCjWqDE6jp0IbNfznoXcu84TsLUXI2kPaf4wEF + hXYmneP5ITO1uMgxM8w8qf48RxYKjbkEX8AEyWOZBHbGOwza6EJN+VHruUp7m+jAgMYxRVQNLlpK + 16CM47KRXkiZ0FJ8VD9y6CuXRwpoPRdLoTTYXc4/0FcsZeCGejfVMUTLSZOrSWMf3ooIiAyw0MM4 + Sx+oL6noKfEpxF22WHQBMFgsVXtLH4slvaBQq8zRrKl8ZI2hdRyuQuV7p5gy8IDi8FtJBxTYHJbO + Sil+FsqcPMl/q9Occui+ZAF+N9SsuroEueI1g4P3axQrgPxSpvHppuTejuZ9Ae+jP6vsUyAHGuZk + hztwQ3WNyi4T1fOeJcPv/ODBFx6MhUzl8+8P29oIjg0fjQLifZa30ko48e9/WcbKo0MsGKGBkudv + uZvbpFzVfF7vYLgdnqTIv7oPawkbIH4wqjK5G/LsG6Tefg85+l8H/DjCIH7a5Dt4tDYKZEXPy1r6 + WxMpaFzLoCsi9zz4Xes/7hq3P0arEquI0sJqiw9MvzBm1YyRbVuPZs8dbfDzw3lKfVIeYKnF8+jN + liGe2+YccCk0SfYcDr0R/vPRCkMu+aVjrXh5SIhIbeI8MPHUOnKhg2Ut+MiJZ/GIvN8UD8xLoo0G + WK4SDrPyl2E00HGKGe+iht8l4o0t32TnSYcAbDyjzTDoC0gItflaK9UyEU/aXb8IYacrImm9N7fe + peh5v9y7VQFQFdpRvaglo0CujUKuWtR9yQIya5abRV8Le8ByKRtaaTHquIvgFAFRMLlKkY/7Lg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '61440' + x-ms-client-request-id: + - 84194dca-d282-11e9-8d36-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A668511DC5"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '61440' + x-ms-blob-committed-block-count: '61' + x-ms-client-request-id: 84194dca-d282-11e9-8d36-001a7dda7113 + x-ms-content-crc64: y3Q/bxpHmgE= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 8090599f-e01e-000e-278f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + Q5rVsNSRp28VsQHRtRKrXBoQqbqq7exq4JppGtqjY8BG9QBgnmEF61Hjwed2x1viJe9RReUf7PHY + u6rwl3Q5+hAH1fHFIi2M25wkqLIl9mKMgjlCmSELEZfZqaS337uhlmJyAo9e8Lm3JzUwIM45rlZi + N7cxOI/6XKn2Q+MOMBiYMO1cNXERQ2tVNsBp4gjRFw+gNlt02hVVU2/vrl1+wfPRHkGmrMRpnhMx + A8seRehtNTQBEpCUkY1epWT8/ACHMhh/aN6n4YFxJlTWG8udWx5aGOjmonZZ4LxhdfpcdJGOCSCL + wpNo0kzL9zAhyXaE9eeM/cbl0C2iGvC8RB0I7pRk/gsB9d31ZyCa8Rz1w6hkIMfMNgWHjODYuhPS + cfjuozGnhAn9AsbqGxgW5Wo0ObX2+d4wjVOYdPdHlJsqzJoGsN0ZiyiJmIOqruZyPSg2q/zu9reA + +fAZUVvuC2LjXIC6iod6CPwrJ4dC0z04jImz9kvzbJd3BjJ4XeZLujTvQ0XUA5WWOt6jUAWJJfyH + h5QfICiLyL3QInPVijIkwGonuMPNh7JE5zFWuv7Ux85UHBuWMln98E86c4HSJkiB67XIqss77dVI + RdYUAcYmoPn5JbtQiytqYFXRII0Mxk83DOIOCrJ6YCi0nY24fpeCCZ0TNMF6MadT3VXXpXKxaB8q + S0sXsGR5W/qJlSZFxmcNr+gh2g92DD1eH2TnOvoPHfTu3R7ljoH1+fo1NgFnyvSyW3w6eOwz9bI9 + AtxcPYVm7KFg3vf542fIfi2lWS+X5lf3qm0+aDd3+QJ9RYvql0F7718PccnF8gDmp7FhNRJVNyfP + ZSOj00jDIA+BQLLb51y4ACc1r/suXIXeT4imR+kxRA70XG2ZezL5p0KfQ2xAam7R4VKlYqALnZv2 + nSdtJX3iFhIRQb7+tRGfUTXBFIGlZdQShN8G5K6iFSR1xxT3dxD1RIhbkRntYnQoqB9ONdXrgBF8 + aMmSTcAJ9HyhX2XOpPHxSwOOyz6LCZacEb0tpl6Wx6UezmR1MBTBBCP1z783iWIWT1pYjvrBlB+g + UxJB5mfDNdcPf6NmXdrj1DZU2C0xTFDDoZYlnPW/yIlMFCHCj2dEWtVDOBAoxuSSbq/AzXqeG3IW + Oi2WsgI1TKGheQW+Yn17eq0u3ykQkKfwlYvA71dU5tofEMNO9ViZqBiuTlAHvZf6fEF9axJ90Xs9 + c3xiLiCD4QI6PN/j9QeYh/7nMOWRCk3Ik1vjZtbzuxgUDoYiKUXL4+Z8DCvwr1rqNrusQijS/WDG + w6SoeGvbz5CUy1/9KXhJvr1lsAFymYgh8mdRPmALsoVcYFdjvmzwPrhyRFmJ3v1ZvghIRx51XQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '62464' + x-ms-client-request-id: + - 8427cd2c-d282-11e9-b1a7-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6685FEAE8"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '62464' + x-ms-blob-committed-block-count: '62' + x-ms-client-request-id: 8427cd2c-d282-11e9-b1a7-001a7dda7113 + x-ms-content-crc64: WOxKLh9KR6E= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 809059a0-e01e-000e-288f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + nE7djGxChyddGLUPqEOZyjv+JPzkUpov8/OmBBYqaVG2N3HEbT2FKuO/51mVKABeH3LMj1k067pZ + 955allCHJJAWMbcufCw06FiJek2jGlhxBxSpAg6hL55/N6aKjid49s95556D8rgZn9x442JycV5r + ZibKthd/LTCyqRXClJ9W0kfBZ31qYq723WtgDD9AWMQ0f0hW4tG/MEoEpMb8gyStQPhoH5+tSjwR + mIPAL0rIGrsdDfazK5Pn0zISAD00rH45PhetwtBb2LpHIuucJgFyvveuv6mSqQtRc5LBa+kjEvrI + rkQJeqD6tGRgLIqhzF10JpI0J2PdvhvUf3pbbtab5NKku50UzElqQ39VkonZdJv4e2qVSzRAVEdL + PJZxsATNi03Oksr8xj8gVahz7RYPK2zZm+AirNPoXxQ0/SQ11nGUc27VS3VYRn7bZJOtZ9vxCags + qQJ7/GX5SJFqcA/jmpnBFbRsWCJZzmKCQ3xmzXOuq+J0qkTXrX+JlPv10AQxet+86SUeHYd7zTYa + +ZrxYEk9MKQ8OXAX1oT6pIeEEtFzO+2tRrW34Rx5CZ+571z8zaRJvNOvI7mfeofXlmBD/UWMS0co + BSupt1TOngZ/OJGINWhHiJdajYBAwKxPe6DfASwv6BMFL0vRpaqMi9ucxfMVviLhANhKtkdkS6b6 + aFC5rrdkqUsaKVOu+cEZ+x2GHBMJAUAm7gR0qn3aMDc42bXHsd3OQgcKkpNCn5A919XQ+xHWtNCH + QoPutPemDngfVVzObqA9uKLWTD0TNFVhuYmqxx7G1zEt3o7jmHv9z6Vxryeeg6agySGhuIYUHFGF + q+Yvnkb4/GWslsJRWO5g3+foE6IF+A6bE6IoaAXdywyJmJIPB8Xm71uWPnpNXktBeLywrWu9HX3X + nSjp6VC2LO9G8SwbFRho6bg5rSOVRi7mvHhS7i8MIhBEMd81c3FP3VaiHrHqyfhwX01DZa+UHoW5 + dHNtHLyY0EttnXwytT4PlMmKKVk+1jlGU6/fXEB4MhX8QrQbuzwDJsWEyvE8yyFUmEGgi68k3vXY + QQd4cWahWXPqzxiuAkfCtiVXpszSEbif8eIEf5Sz4occrqeIXyIYQ10GH785qj2Brozlkh3OlueE + XCutI2PEkgPEZVgPEQtr6gV9xXAqtXDwl+uG/HP1jrln/Uv2fKm93w9BHVBq7T550i3FT1/5UgRq + j8yxLc0ZY9RNPQIVCwz4QAsHikcirWk9lCJZIcmsIRmmfeh9tB1J8y8lUQGC3XLOb5t4moq+Ngr9 + YphaH7c8PYgFojHNzG457fAp697ISNpjkEFPpBhfKgsFcU01gfzBTST0/DklQNgT0q73s45+gw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '63488' + x-ms-client-request-id: + - 84364e26-d282-11e9-8565-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6686DA7E9"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '63488' + x-ms-blob-committed-block-count: '63' + x-ms-client-request-id: 84364e26-d282-11e9-8565-001a7dda7113 + x-ms-content-crc64: 08kUYw1V4d4= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 809059a1-e01e-000e-298f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: !!binary | + T5IIf837soVqWyn0wqAJyOPiajV/RBy67mu0qg/IvuJZYJLPIPLOqywCEFIKgacynC+6MGR+frNF + KXBYDZzTDhjCxWNy9M94LokBBguX+UsUPPNOmvwQT9074Sw4V9sMkd4XgA7dkprPT5sv9Pz4TlQP + ktsGKjBestOecjBldQboiJrXYo/OLnL2QPBtd/sa6JDqYZuKbLf23jlpWhNdiuURT7K0bXs3vq8C + teREVF/bB8rFRBviZsLNoxtgssjs4p/08Z382BGfgpXFJJ1mN6kCAwcd5ZsvSReVQslgai16r9sQ + 9JnlLq10jnV9dxIPzCaSpeoWV5Eobnnr28vElHZcznhhjHshTiB4am3re2svoVosMS+fboCZmrMm + axgoUaAexLjcNDluFxvYU6EcD0uAo6oy3rRhuHOrdCdJrSI68ENyc8Ak+/WD3i/TwZObkJaGqLCG + 2vsaduKvL+XXBbd+gTsGvmQusseDyYdP92TbyA3d9LltGllW99vQsgQ7Z4akTLgWf2ku7emW/M1q + WRqCBQzgok4QVMxqlVUkpMGxXMNcpPsTxgU7FktMTha3gIcdB/LQYKRPd2m05jWa2/dcYVFQMOwf + za+PNEgZUXr072iBzwq4Mkq4FoxJvgpGxATcWm2d2gHxglEPWoSBaq0hVbgXlHdZaVAOV8WvVI5o + otsfMPb70QYqXHej6ELhwAuQl/TuOob9LoWF2FlgHZ4hAQsKGyiawq6e/G5G6Bj0vExHLQFlQGWP + 3A0K21Ki4A46fY1zoaPylHaX1WSUjZ3yBty7SQxM3LgrO2n5VQU9Yi26eEFmEUAdlgjHYHKu9IpV + Q9HqUUesMfxdcdw8f2VgR1G15vQfmGRNOHZVpNJNj0Ce0het8RFQmVtVVnEBbldwqyHHnvWtbL7o + 2w9LMfgN5RAz3ZHkhfffnReLnuv1hYnPfB5EFMNLUREtEClNbR+SeZVwN1IwC/7yDMs830vatRLT + esOavnXAznPvFhiEDyE+U6sK8TlXyfeOYIGBXUcfm56151nqqvnoShKWrKlGbHdiVE0Bzatlnbih + 9wINqHngNaJ5vqSx4EUS7yV8djUJbeqRlrIxk+LZt/IDwo3sJuLH26w1/ULx1+6tj++av4VdCb+e + BxeevS1OqEwniYYI/uWX0IxTrmseAJ9lTNu2gIO1hCCQAFAO1v5J9Lb2RLiosDmDXDTa0TQsigtg + cDfMK9fu2rJvkjc0Uu9hFRzjaOjosYPKv11oeJev7h07au8QQrv7vSHNaHbhpYKzQ5Z1Cms+K8oy + gX073Tnrg4o32jxTzSl/qe+I1CVG6LGdQ9ftOGXpPlObTVq/UqPTyNbfufFFpLBjA1DFoq3M8g== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-condition-appendpos: + - '64512' + x-ms-client-request-id: + - 84441cc2-d282-11e9-b0c3-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:21 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4?comp=appendblock + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6687BFE8D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-append-offset: '64512' + x-ms-blob-committed-block-count: '64' + x-ms-client-request-id: 84441cc2-d282-11e9-b0c3-001a7dda7113 + x-ms-content-crc64: mwg9NCHPtxo= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 809059a2-e01e-000e-2a8f-66bb8b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - comp=appendblock + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 84527fb6-d282-11e9-ab02-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:21 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4 + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:809059a4-e01e-000e-2b8f-66bb8b000000\nTime:2019-09-08T21:49:21.9465628Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '301' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 84527fb6-d282-11e9-ab02-001a7dda7113 + x-ms-error-code: BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: 809059a4-e01e-000e-2b8f-66bb8b000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 84621906-d282-11e9-9d1a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:22 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer8c1216f4/cpk8c1216f4 + response: + body: + string: !!binary | + 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 + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Range + : bytes 0-65535/65536 + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6687BFE8D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-committed-block-count: '64' + x-ms-blob-type: AppendBlob + x-ms-client-request-id: 84621906-d282-11e9-9d1a-001a7dda7113 + x-ms-creation-time: Sun, 08 Sep 2019 21:49:15 GMT + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 809059a8-e01e-000e-2d8f-66bb8b000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 206 + message: Partial Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer8c1216f4/cpk8c1216f4 + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_create_block_blob_with_single_chunk_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_create_block_blob_with_single_chunk_async.yaml new file mode 100644 index 000000000000..bb6c956ac191 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_create_block_blob_with_single_chunk_async.yaml @@ -0,0 +1,195 @@ +interactions: +- request: + body: AAABBBCCC + headers: + Content-Length: + - '9' + Content-Type: + - application/octet-stream + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - 852b8476-d282-11e9-8c23-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:23 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer3f918f5/cpk3f918f5 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : Yge131eW6WNBDTvEtqQhiw== + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:23 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A669643C6C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:23 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 852b8476-d282-11e9-8c23-001a7dda7113 + x-ms-content-crc64: DTngHrtvLQU= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 1fe7937c-101e-001a-338f-66f3e4000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer3f918f5/cpk3f918f5 + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 853b14a4-d282-11e9-a5e2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:23 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer3f918f5/cpk3f918f5 + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:1fe7937e-101e-001a-348f-66f3e4000000\nTime:2019-09-08T21:49:23.4571236Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '301' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:23 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 853b14a4-d282-11e9-a5e2-001a7dda7113 + x-ms-error-code: BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: 1fe7937e-101e-001a-348f-66f3e4000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer3f918f5/cpk3f918f5 + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8548a3ec-d282-11e9-a546-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:23 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer3f918f5/cpk3f918f5 + response: + body: + string: AAABBBCCC + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '9' + ? !!python/object/new:multidict._istr.istr + - Content-Range + : bytes 0-8/9 + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/octet-stream + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:23 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A669643C6C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:23 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-content-md5: Yge131eW6WNBDTvEtqQhiw== + x-ms-blob-type: BlockBlob + x-ms-client-request-id: 8548a3ec-d282-11e9-a546-001a7dda7113 + x-ms-creation-time: Sun, 08 Sep 2019 21:49:23 GMT + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 1fe79380-101e-001a-368f-66f3e4000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 206 + message: Partial Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer3f918f5/cpk3f918f5 + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_get_set_blob_metadata_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_get_set_blob_metadata_async.yaml new file mode 100644 index 000000000000..275dcf4a2dad --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_get_set_blob_metadata_async.yaml @@ -0,0 +1,374 @@ +interactions: +- request: + body: AAABBBCCC + headers: + Content-Length: + - '9' + Content-Type: + - application/octet-stream + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - 866aa1b8-d282-11e9-a03c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:25 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercd2a132e/cpkcd2a132e + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : Yge131eW6WNBDTvEtqQhiw== + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:24 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66AA23E60"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:25 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 866aa1b8-d282-11e9-a03c-001a7dda7113 + x-ms-content-crc64: DTngHrtvLQU= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: a0af1d29-a01e-0042-048f-662bbb000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercd2a132e/cpkcd2a132e + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 86787742-d282-11e9-949f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:25 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainercd2a132e/cpkcd2a132e + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Transfer-Encoding + : chunked + x-ms-client-request-id: 86787742-d282-11e9-949f-001a7dda7113 + x-ms-error-code: BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: a0af1d2c-a01e-0042-078f-662bbb000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercd2a132e/cpkcd2a132e + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 86850ec8-d282-11e9-ad7d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:25 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainercd2a132e/cpkcd2a132e + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '9' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : Yge131eW6WNBDTvEtqQhiw== + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/octet-stream + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:25 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66AA23E60"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:25 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-client-request-id: 86850ec8-d282-11e9-ad7d-001a7dda7113 + x-ms-creation-time: Sun, 08 Sep 2019 21:49:25 GMT + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 4936dee3-d01e-002a-7b8f-664d2b000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercd2a132e/cpkcd2a132e + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 86bb0918-d282-11e9-9ff8-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:25 GMT + x-ms-meta-UP: + - UPval + x-ms-meta-hello: + - world + x-ms-meta-number: + - '42' + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercd2a132e/cpkcd2a132e?comp=metadata + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:82b7ffac-a01e-000f-218f-66e457000000\nTime:2019-09-08T21:49:26.2836016Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '301' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:25 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 86bb0918-d282-11e9-9ff8-001a7dda7113 + x-ms-error-code: BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: 82b7ffac-a01e-000f-218f-66e457000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercd2a132e/cpkcd2a132e + - comp=metadata + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 86f8184c-d282-11e9-8f5a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:26 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-meta-UP: + - UPval + x-ms-meta-hello: + - world + x-ms-meta-number: + - '42' + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercd2a132e/cpkcd2a132e?comp=metadata + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:25 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66B2FD65C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:26 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 86f8184c-d282-11e9-8f5a-001a7dda7113 + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 82b7ffaf-a01e-000f-228f-66e457000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercd2a132e/cpkcd2a132e + - comp=metadata + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 870626ae-d282-11e9-b591-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:26 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainercd2a132e/cpkcd2a132e + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '9' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : Yge131eW6WNBDTvEtqQhiw== + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/octet-stream + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:25 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66B2FD65C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:26 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-type: BlockBlob + x-ms-client-request-id: 870626ae-d282-11e9-b591-001a7dda7113 + x-ms-creation-time: Sun, 08 Sep 2019 21:49:25 GMT + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-meta-UP: UPval + x-ms-meta-hello: world + x-ms-meta-number: '42' + x-ms-request-id: 82b7ffb0-a01e-000f-238f-66e457000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercd2a132e/cpkcd2a132e + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_put_block_and_put_block_list_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_put_block_and_put_block_list_async.yaml new file mode 100644 index 000000000000..f2fa6d38c3e5 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_put_block_and_put_block_list_async.yaml @@ -0,0 +1,407 @@ +interactions: +- request: + body: null + headers: + Content-Length: + - '0' + Content-Type: + - application/octet-stream + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - 878dfca6-d282-11e9-8b3a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:27 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer61c91637/cpk61c91637 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : 1B2M2Y8AsgTpgAmY7PhCfg== + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:27 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66BC5393A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:27 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 878dfca6-d282-11e9-8b3a-001a7dda7113 + x-ms-content-crc64: AAAAAAAAAAA= + x-ms-request-id: 3e3d89c1-701e-000c-378f-660533000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer61c91637/cpk61c91637 + - '' + - '' +- request: + body: AAA + headers: + Content-Length: + - '3' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 879b7894-d282-11e9-9b79-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:27 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer61c91637/cpk61c91637?blockid=MQ%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:27 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 879b7894-d282-11e9-9b79-001a7dda7113 + x-ms-content-crc64: Cc/2Kr4DuKg= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 3e3d89c4-701e-000c-3a8f-660533000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer61c91637/cpk61c91637 + - blockid=MQ%3D%3D&comp=block + - '' +- request: + body: BBB + headers: + Content-Length: + - '3' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 87a91cf6-d282-11e9-b051-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:27 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer61c91637/cpk61c91637?blockid=Mg%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:27 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 87a91cf6-d282-11e9-b051-001a7dda7113 + x-ms-content-crc64: +3yuPEA7IqE= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 3e3d89cd-701e-000c-418f-660533000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer61c91637/cpk61c91637 + - blockid=Mg%3D%3D&comp=block + - '' +- request: + body: CCC + headers: + Content-Length: + - '3' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 87b73658-d282-11e9-b640-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:27 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer61c91637/cpk61c91637?blockid=Mw%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:27 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 87b73658-d282-11e9-b640-001a7dda7113 + x-ms-content-crc64: VRJmMeosVKY= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 3e3d89d2-701e-000c-468f-660533000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer61c91637/cpk61c91637 + - blockid=Mw%3D%3D&comp=block + - '' +- request: + body: ' + + MQ==Mg==Mw==' + headers: + Content-Length: + - '125' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 87c4f4e2-d282-11e9-9e53-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:27 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer61c91637/cpk61c91637?comp=blocklist + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:27 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66BFC7603"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:27 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 87c4f4e2-d282-11e9-9e53-001a7dda7113 + x-ms-content-crc64: dAoQ5rLgKr0= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 3e3d89d5-701e-000c-498f-660533000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer61c91637/cpk61c91637 + - comp=blocklist + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 87d35894-d282-11e9-a44c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:27 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer61c91637/cpk61c91637 + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:3e3d89d9-701e-000c-4d8f-660533000000\nTime:2019-09-08T21:49:27.8107834Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '301' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:27 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 87d35894-d282-11e9-a44c-001a7dda7113 + x-ms-error-code: BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: 3e3d89d9-701e-000c-4d8f-660533000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer61c91637/cpk61c91637 + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 87e10d14-d282-11e9-9a43-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:27 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer61c91637/cpk61c91637 + response: + body: + string: AAABBBCCC + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '9' + ? !!python/object/new:multidict._istr.istr + - Content-Range + : bytes 0-8/9 + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/octet-stream + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:27 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A66BFC7603"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:27 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-type: BlockBlob + x-ms-client-request-id: 87e10d14-d282-11e9-9a43-001a7dda7113 + x-ms-creation-time: Sun, 08 Sep 2019 21:49:27 GMT + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 3e3d89da-701e-000c-4e8f-660533000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 206 + message: Partial Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer61c91637/cpk61c91637 + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_put_block_from_url_and_commit_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_put_block_from_url_and_commit_async.yaml new file mode 100644 index 000000000000..18669c33e1be --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_put_block_from_url_and_commit_async.yaml @@ -0,0 +1,4720 @@ +interactions: +- request: + body: !!binary | + 0ZEgbBbRcAni0gMgun/G14figx2U4kgO143cgpm8E43X67BxM4keUPEvbLQpqREbudupUG8tu+oE + fb5UJ6JlDTEcam6D+sl09Z6H1fzauxWeGzJfBFZj0AnUAwZo7W5h76jvcmwC9PaoinkQ9pNZgCKY + fQqaSI9RbSTv1DiHKrLIvHUnunjKJNFuWme2S/MHJ1Kvrrkg+c3LgOO3w7/ZY3gRu8B01A2vA7gE + khAqWRvuSrT9EjUfsmttGgHdhRGVIyaHudYvDwZdRyEUQ1Hpfp5YqSHV5taX86vqhDuW78hZpOVd + r6OBA4fFsljlCYbSXxiyHBlFh/k0k7eH69g+sOVU25R8ud94Ah25wSA/dEVe6jULTxhW96eJ7QTb + uSLAprHozBMkDkdMf+Js29AEUAKRQeHUwAuljhRHI6KtXB7K01G2v2zw3JCVYZfFx4YrOozRDQxc + O48ivXK5Hbb5glrIEOF5oGSLh89aKOdvWShUVkExeJYK/Ymkaj+I7Ja4ozX8svEv9rBA4ApkCjki + B88nwgyZ264M/YK83KqioDxBOmyaZzP9mPeP3VL+PKqQ4mUbthuIuOeWgMJkBSPv6hlz5OZ0n3FO + Mf2IUR2jBzzFm9fNIdS5d1tGc86u73b+/Udq86hyg45oKnKgNzBY4NGjs8k+UwUd1qhC0fk228oc + rB/3gJjRTPfv7dqIaqcVOe2wz1lkmo7OnUnKMRc9o+08Ci9v5WXnd7eranVCkzuXanMsDGBfd8jv + sRkKukOFvDwHjlI6KbXNNdbrfdNbb2ntJwoTQxgUV+TtjZPrZ8Hx3EA1/eiNUEGNN+zTV6EyXgNy + RDmhzxhbXQculhDqeCBjoP5xhFhoamaLtPSXrCDoojggkwNZJWbqot7NjilN0gBj/SOy5IJ8MIb9 + aPA27Ot1Ui7Nb6ffT1HV+khLt3Eh7mmCHvTjwAVuKli3/vh/JOg6iq4qr/YqFpOx83Fvc+0FUiMt + SRNTlsI6aObZt/PMT+k3HlL533biwog/lYAQ9SLH52ddAGRSXubxzYVmS/Go5dnyAkwXiPqezV7i + 4InH1q3ZMdEpO1CftsqVjXxgf57MAvIebwwTIuB7Jwe0V1S/XTOh/uMri45Qe3VcGA+KT9pDwbds + Jx9XTj0qzTnqHW3viuptIMKWWzVLfmHhCUnyobND/B4nhhTORzuZsNukwqZrkzaeQIfUjGPtu0np + DrxIE78UAig6KmTdcAkIVOX1eG06y1eFz0P2jLzwYh0r7gQ+itobOAhY6ChWKHhlZjSq7meqNp0s + p7z69a34Q5ZOTSFG7hnXsGG7fuvcWinjWMgY+4Hqp1NbzPG8VNZm+O6Ed9EPzrdTLnfFuAiNhQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 88597cb6-d282-11e9-bc93-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:28 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:27 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 88597cb6-d282-11e9-bc93-001a7dda7113 + x-ms-content-crc64: 347xXKj2kM0= + x-ms-request-id: 41023861-b01e-002c-308f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + IGOGkOtkAK60P9bq8uf1dyu7VdQ5Ifo0Yk9K1HT5Y/lThzExMLLo6uEoEdfpTmiRal+YF2LFRLJQ + 9OAC+qZklbRtXOYDIBcj5eMtnVBNhbCKRGJT8GYTL9hXu1qaBrdPICISHs4UbdKaHXC4+vuHDF5j + M77AKOBkewajzDiWR9DNPjRNxxZ/0ayhUOqlIfX7SNqfn1popCGra4yVERH0blTDhM9J5NEwwNHk + 2B9+XEhqwfilgVADMDI5z3dLChCWLvl/DS35Ar+94/xtq9wTdHkjX1fEwichBZ5kyEvltLE87D7G + vy0b1x6a+cmjRunzWge2cxC9bQVJo1oiie9HAl7jutDFllA9+WgqggEPUMEQ0Xh4aqBa9ZcbGOMW + zRxHqQTqTlXAfFcCvVlhjFfFTkIE4DyfYfZ1GmUjHYbwZSU2bYmsuIdEf8XvrxdQpzEJ9XP2ejPA + 4swkMPhOyRKWF0Idl1ChaZUkFUp4TmNS3ADj4zZW9Miq9UEktPbhERjumRhvIjei0UEJlrs/c1Nf + PfCNbW4QpqQVQd7IqhsiayDhq9PRZWwkRG8Bx8BtZFX2ueeKn/oHEhm2NTf9OmxIxeQ4zde+B84w + 9EjUFSzxubi+rEVLcG5uvweFx74rjk8y90WXbVSx0lgC0mLmlCVZk2uoR+NqWn87gR4Tj+B0r2Xr + /b0neYWhVuwo3dvGdlTgFTw1RhEj4xBiZAMTeuykAq9i3M/AXaQpBTpBs3B76vYXz6ZL2zCt6GgG + qEFXFhqFyFGWCWW0WjSNJzEgiHain3TrCrDS6EUQbu8yqgwDdX+L1dRwUn71tYWDbr+Tl1Q1CQ+t + g0Zy24kHD7K9bg/3f+Jh21zOmhrqKV6m1a8awv57Mh92aN1ElVz5LMGZU1kfn1EJBmL282olDaMO + 0QltGMU4VARM58oXKzfVwZNG4hovsXKxikFWxlm2dOQzvfB+NvhaXgKtY4OCRv6E/IIYtwmjZ3km + InuQcYhiwsUqldRInryoankLvOGjOxrSmdWxf3UaXotVr9y1VU3AJolkpS6tRGWdzo73XIOa/cZ0 + dX2QRrnxhDfPnZ8YDqChWEHFTzjnQvAep2F7ATIko02+wZiGMkrclD4jkEc2w2zHrQ8jEPZfF0/O + mIJkpgyKBVkmIwf279PHNsLGNKE/vGu+m6NFyzUT5/AITmCbo5lTaAXjbxX+pBntARthyXgSA+1j + LRd8Px5FfIzcle7d+PviDBVzve4DJbcqh04FBynAl8cYyJLEP9nShYpkw5tgth6VcHUJlm8kx5eW + 58SgtYehF0ca0AskjRKCzdX185d0NhJ2KNuBKMxIe1CIfxeeFD4O2BVp83hmfc9Ugp00ondngA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 88674e5c-d282-11e9-9b09-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:28 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:28 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 88674e5c-d282-11e9-9b09-001a7dda7113 + x-ms-content-crc64: CV0EF0e+rjE= + x-ms-request-id: 41023862-b01e-002c-318f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + M+DFNqeGhL4W76eo3lUlWXeWXAPLeTu4e4i5uGIjdS3yYpI08fKF0tHz7QrwzQo6EtaU1elFZLED + K1NFuP5xA1EU450g1Z7qXXjx0WjiAQVPPg8tvVGsB83awKw3cQB7ZIMAcWy7C+JpMj0nWSwSQUxi + xgwfXtBJ4OX96yAxMrN0/HaSWiyDFyLQzssRb9n41YnVu1hSU3BESjNesRxzkDtpvpdcewjg7bL8 + 74vtD6TpKa2t/prXQzSQ1CGqtPipCHDKBU3ec+D+7Bz3gSzP1JneXDoC0dsfZ/cTHNaHdLr0c33f + E1snyxQCQyFMcm7SV9XfrWEF8sG0SH4NYLX6Mw3LD/bIbWpj+tzbrZaTxsn2URbRlZ/mdg3jWUl1 + 4741m1d8D36p1fqPBGSTcdpUoBp2d1SJj7n0eSZdOSLRzUa5r4SJ2g4Pxvr9APbZ3OmHBWmwu6GY + MCFprxIp+tPZpjbGuBlflribm7n29e0s7CC2j1stW843Dw96tuSWpO9O9yfuOTAifLeg9uesMLzw + ExFmqlARGVeeiGAUebkPVKyTts75U+hUsJXhS7gxxi7Y8huAFCRK7b/XLp2BmsR1wL1YpOZoe3mI + KseiSYWmwuvm5Mlu1ja8pxG399W9l4kHH7ry+PpkSRY+XBhV8gPpXPRvzQ51948my3eqj4JS0XsM + 2jGYW5yViKj6CaUVCfgyKa8ZVZ85HO6DF7d3RFMH4A/TNAOaJtcpiRjmoQQA0+jX9rhpCTvnVch+ + cpzDITZX9RkI8X00el3J7sNSYMvtCts8jbqMH1yY+mK8Hv2cL83zOlSK4l6XYmbeMN7sx1lKasUk + O+gtcPMUCFUcD8g0BON4S3wSNQXQVK+3Z9nTa0ZhxHs4kDMYWaL85M8r4OHpmhFja2F/2LhRXtSG + jzOuXyuRHzIoB/AqxYpXMfaiOEMby1ArnYKk3aO50FvFYBaKtckOahU7Nky3ReE8geBSH0Q1Nw5C + h5usTy0Xe57oA0NVX9pS37XojR0GG4lLYPbOWHKzFpi/rMz7oQ+cw92OseOzlmEoT7W1BqH4CuOH + UrIAxI4Xmz+pzPmwpxPoSvMSKXL3aucNpRlpCAJjpOzY1QVgWKqjqc/lBANaxqz40g1bt6IAq0Gx + NUqAdF/GfnaYWGReMf2RSbzIqlZ/CG08p3TIRhQn0mD5afa4uyJFy1p43ikIVt8SL9jMcMSZ2uu9 + 7usho4gSdSf2pw+hgX+cnQKJmdP2lIv6MT2xdi7UyXBBQs0bKPSjLiohL1E4B+A9xgKxnrOzm4ql + LggoZJSOQiQrJ7LtPG10uJdbwg8htFq1TmdIknUffRgzGy927iJdlxd67bRoM9ipbz8T90EN8w== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 88755b3a-d282-11e9-accb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:28 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:28 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 88755b3a-d282-11e9-accb-001a7dda7113 + x-ms-content-crc64: 9NxkK+LwkZo= + x-ms-request-id: 41023866-b01e-002c-338f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + HvT2OLAiERlUozOWkBk3Jq54BL6BZlsQknYseY4M0b5U5OfsuePJQCvU7o8CozFGgxNnDBeJ5ql1 + Wm1OK98hLQVnOdA83fjyG18KwXKxjAnVUzSB3/mLcR0Xo3v+25A6O9TgD6e2SvfUvyZhiCYBcXAM + RnxnfozRPtGKUyqWGeno0p4Yl5fafEnNXIGJWxeSFyZkqAvjgYujkCJD/aIakLhTOAA1+3mtJw7Y + R8J8GcD+SMXjrBM2tTGkCyGeWHORRlG7ZN3DN+klkPYmNOxvd/okyWxrk1gWYulvkJ1vP0vHaMf3 + e0MZaL3UoYTYR0QWYMJ/CaEO10kab1Hiqw9SjLzyCHVe+B5QuS+dsdL0X89RWbWT/pBdwgMeydqn + n2ojipxLwMYOo0g7dwX4iB/3yvLu16ogYwWlA1QS2Y0pF+JxlFRSCO0PBYBJ07CnMTzRdsOPQbod + NETEIxPAdU9SvCJbochbGKAKfJnfzCLfZ/VShABZNOVAOWqQuNyNKBGeLciXMzQBEKUSYLxpRXGu + MIyAPmMycbAm4AKubNcGTJEIiW2GAHwluONDfadgz11AFJ7ajXNixko6+It/4g4vTRfB+Pokr4WL + fbamBbRcXX/TCZLHdfewY4Kul9BHKVOHRxut49ZBG61EnMu/hwV22MrmwYgQ0i0Jk4oeNmle2y47 + AkytnrCS0ILtoW52nmJBfrMQo+wzbgPLlmYb7MOy6WJqKzRJjDwPDMevY7xLGJhJw+QkKFUTPKRE + UF5Pk4aoyySEng/vNv12CTZGVA3jft3Crw33gZ4MRFcpG1ZkuAtr7ro0kamLVdiDhGm5JF7HYuru + Zp5jOgVn8Z25WeqsSrxXYTkMfPDUk1fbPFj43JO7f/1E18qnqWq3mKPtfiYRT/CSzrrc2pantyBt + FInZniC9t3sCKK+6VjJD5US//cmJzxWCPjnTnexMXRoRE1k6ojxWm6LGT/WslpoqZdrJo4T2fowy + SU9Hi00B30jxgNFq1UTR5fhgWvV1FfruVJcet3Jca66ggq8jcuk39du2T3JSP2LcA7CsxDoog2zr + rzNnNxIPyytvgI/Qy28zxfhFG85Lm75yooJKW3DBVSeqmbMXiH8WgKl879qHvxiPMWSToGmo4MFT + KQyYEbEIYfPu4l2NWOGudpBn2RnR0CVuE/OB8X0IDcS86zv+/HKhaQ4xrJLpj5x2q5uDRehaBjM5 + WRMtm1m4q2p4XrvXHXuOvs0Uj43GiAy8H0W+H61eJ4+AL1wmW+o3n6Qy70a3OX+bfb/84ViTUIAA + leeLzxworJEIkMNbM9hOkokzPIcOGK+tncsU43EqdM7qcWeheqnIA0IzRXRb6CZJ43d/j9Kx8Q== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 88840a7a-d282-11e9-8295-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:28 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:28 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 88840a7a-d282-11e9-8295-001a7dda7113 + x-ms-content-crc64: na7Mu64q9tc= + x-ms-request-id: 41023867-b01e-002c-348f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + Sz2Ow2fUVVjFThyCQ+GKJT8wEfjD/LmAeTI0+DOhzNkSUUncVneBuyR8c11R4YLOQJh8HhyRPRGB + GTVSfFyZr1OScqe/8Yqtxyd5SLCDYqzTNW+gxnV/kJq8+rlS6gWWHtZBmz9G38WHPO9frn8zLQ1S + 5mGQT0bTfiWO2fcpK8LLaIab+z55pZkiwuGIWQ0fHuTq5V2Mjkixlr0vibf17nGRHw3G7Ehh/MeI + KQvL1M4Zj7Th4zC1Dp7ekCpUMjdTIFXXgxwTMEy0K/3+QEah20unP+Zdc0zVSnl1d6rk1aryZRz+ + Ip+lybhD+cSEXNGMNlHio6q5a5lSOBGc+EVf9DV8rhO3zMrj5KgI0+sfdIRFcefV74UPq0ewG3WC + XDri8AfRh2ZdwwfXGiMbkalL5oC85LcNnIRe+Ywt2qYEhL17TR0Wb1HUIH00TwsFdZ8hNurt2mkR + aHKQyeV7XU5QQ+HCK3gANyevMTm5+uY12DUp9XhDXRh7fkceVe2V+QxvRg/xWwFzCfeblDsZQvCX + Hz0Joqlir8UMwh+yAI+kCfHWUB0KF3uSHJ0lBAU8pC1Dc93YS2Ol3Ns1Z2Lb1oWY9velVtpYXlct + EiYUeFe9i0AqsG3gptqpn6rm+YTjyBrD+wjtqta3kpiS+IVdvligySyVnV2SLyDXw1hKCNeMmAg/ + Ci2069f82xy2kVw465B4l+ZA8G5JSPAKO+sES3rdmo+SZGmE61sekApczAOEaKGkalrHC8HdCZTR + BksMXTdh26xQ7kk/VKFm76WxSlZzl10zg1Cf7iGIyS4+AG7PUXyfEoNl02R/xLlEdCi9XCh21nag + siyE0UJ22Re9j5y0j/OvrXxdl/mQQtHFW99tO3NmF7uQsvM5IO4GbjTHjtZEoN6PB7/hQRwglf3n + d82j29QB3Hu+v1wxGoXCp56/dsIcMKbDNNvzKwtXULMPT3GupE2lCSt+l2upYbo75miUhB+9X1Xa + JhFm6LMUY4V0x5bMFclxT9w/S/aqAHHAzqJWQAfz6TmDL2N5Op/Jv3ll3062CW+vFFwLzs80AZo7 + 08FpONLVRbN83OSn8asXgnVZvkDn92/qHXq/4+GexAtZ2TEmOjmcfwN0IeFp2qIS2jFIBAmDXd16 + EO2ZdJJaq6B3uPTNI7+WMCFZLLxYWH6znCLYuH/5YDp8lTJ7G6w1qW+wjNeX1DMhbBHhUCkWXl8B + X9hQWV4OROTBereRKdEAeTEfhxZwFuFOVCiCP4/kOq9Y1zTbjIJHexlMJxLV4sQabD4R39tTXbLr + inYY74d0vASnC3GL7uY2NJ9T54B1q6W3wNm8UHPKxdH54uvSNd1heilqlTY7i8qagtlpwiBLsQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8892de76-d282-11e9-bfe5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:29 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:28 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8892de76-d282-11e9-bfe5-001a7dda7113 + x-ms-content-crc64: SdEGPYYkuqk= + x-ms-request-id: 4102386c-b01e-002c-388f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 1KqF46MqbjUPYsraEFW9qmmpOlTr68xFJiYe1cRGZbyj9tnOs/xS7TspRjGKM5AdvS5h5xYJOaZg + W7Qv9YfXY0Mr9QSf+0+5z6bx+9SMvf6q0L8u8+V+pi0h+m9DdVqm5gPfp0x/kWQchkEpV4D5AY2j + q/3FMcKVf5XnBoYDW5Xf1QWy6mdLO5dJHW63l3lbIewWgI6r5tBQ64QH9oNGAIXZrp6D0XE0H998 + q3x9o377MyllNTJ0Z4oNzMJ3R7T0zVqmH5Tu2B3ZBk7UsZn4orj4wF2M7N2R8KjlZw2YU7rq3Aa/ + TyjdFg6XkHBEbxC5HOwlbjBi7zO1ghm/DeOef5BL5XOkeb2M3Ijo33UwwmSYKzwgubIWwXyTwbXB + cR4FGxj0Fr0mNoJT6aI2u4U9t6vADR74CdI8Zan9VyYL0OcyHAp5K05Iv0wIRdx0wlLmflle9fOZ + han1gcBewITpkMeC9b+t3gDndQFBOW4F37cW3iaHq7CzTe16I3D4SwtPRQUECEHypxYhBcZYajcN + 2topQ5pAQxCqms4azmrgChXIESIUE5IpSrIBzdAeLwX5laIczcCkOotPuQB0GuOYYgHmuIyu386y + y1sPDNsQSnm9HbzfIPQbJqryczCGwUYG7b8fvtMESvCW5gsNUlLIa1NaQ4WUibo4EyLM0yeDrCR1 + KnwzGZYejH66m/347TnTxydO4M01iCvLZ1zFTmLgZY2YfRpsubfarqdW5CKHPKRiZ9snWnWSie+q + 87P0NlS0lMOeA8Fhfpmm9SHPzSiyW1KTwr8mbfxTkGVtuBY1bFAwINSXTlK5mPIkCJhZE7c5jNWz + 6/ww+0X+drzMl2Bedk7CmgzYZisjnHUzGkQrboDqzek/NKzmdaTWFh8NCV2TgZUmUaBNYDcB3RIt + PdD7GkjHpRTdpEiVTCcgWDTqjLfsGQw2ekdpappsL/kCxdchARONaSgdOUdSRHY9cYcS66filSpW + 81lfx1Hynty1enkt21H8nYmfFWX6WvRNH0Zno3MeI+g2VCjehiznUlGyr+9cnnFeFeLwcXf6PqYV + XOXrzgwdF+CrCt6OvEw/7U0uWRSATInYjF2cFnjV6o/JCop3oMCkuzUxa5ceQwzhbMO+hc7FJPrY + FDanCAMrOOk/b4jSo+HwLjcYv1SJ0/WwZ3pbYhfbnsjfR2KLGlyYCPaCXaUJaBQJGbdC4+cEiupR + 4jdYIbGz5SXwjjiEmE54DkQ/FIaL3qZqkxm670IfTChG9yyQw9uK94jEar/Anof6eLW8atPV+agK + L6l52MhpIjqqCqQfNtq3GnmgmXU6xY9+zwz2I2dakcKWFhxDPAMJpGnD1laUBl9s6+VBrmVITA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 88a0b1fa-d282-11e9-bfbf-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:29 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:28 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 88a0b1fa-d282-11e9-bfbf-001a7dda7113 + x-ms-content-crc64: mWcp9+/3ows= + x-ms-request-id: 41023871-b01e-002c-3b8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + gZKcvHgMaerQZpQYrf29p6ID73APpBEkAaD8Yc74YCiw1+y6nHQCKX+d8AS35FmLw+iAYx+8xMtc + Ahmh+hKFtiNiXwUO8lCRHR4d82WpR9Y4Ycur4rmPc4ngJ+/0pB4NZqF47HdWun+UJ/NjfY3z5atK + L18/1i6hi5V97qKjMEnYpu+cEsJPbS8eXcBgngqeh4wQAOLxdPyfHcTDXZG2LvaePMx9WmTZcv6J + r7VbpSrFhLdUYiJSs/7NPQL5yiNa8ZeieAphUSwU7fIt74EHDJaNCg1o413ULIPlQxK/4qBbbCaE + wwyRYD7wyqDCjObrHXPaB8HRhwAqxg2PHBQWKoqT2xI+mKJEmP5ppwdoNdP3KFEJ00Tz9R+E9AZu + JKhzT6pbKH9u8W7cE96ws/CXtpT+6Z6DdXZl932YFKSCVqtdZcTyjx2rj4t2HLFM8Pnb1wmKipit + Ym+Iyylwc1+R5tr8F1l7xQPzHgdQuo0zY91GKqhWRtzkIAdIeiN0zAw5P6LvsyD1vrXxKbeLOQ3+ + o9LkI1SYSapQ5eTPemGpdlAHCDhYhfeLCYqTlFuq7qggTewy2TCmzkZOtlNWhAPPFn776T57aKX1 + 4Gd29V6Ic6/JjYAaUc62Y8jkYj3wyxOeIlph/dHfnXU8ojpYfoYV0k4CsXaI+IwvTniS4AIVXJrS + 3e3ZNe2ivJvEsLgVUYytedH1FuUZjTFCbLb8yQcJmOX6WvBc21b67MH9UVwARGCyQqB8QlZy4r2x + K69HkKXyQFG77TXZmMilitXiqtApKGeevUSW6U0KWy+e7mMOR+RWky3gUbHS0xjGszzz6hhzD39/ + 4EwifYZQk5B9sh3yNmead8yji6GOWxn+YYz3QEqf3rJlp7dqc6cFFJ5Ft8Fql14eTRA7OptUhaqh + VT6P1oJY33DxRzi71eNP10WPwdWDiXlUMf2Fh5SK3JySDmRfESOH18yqTW44TBPzWwjeV1NDifyP + 6vYsfTI6ebaGp3/PtYIw+iNs0ylNe8CZpGomDN8vzVaZWM8AaZvppJv2LHDOhhxJxGfMwwoHYN3k + E7l7OXISp7vyObTeaxloqxFRwJO2dvIoVpg4HQHZV1vQCHkcYOctSvO+a9XgZJp9uWk1nttK2UHg + NvhL7PfLLs8JEIv4BI4Gwm07LXiV/Be42GtdIFLdkHeVYNyTUKiT5GqxlEUI+j2Q0CJhtdRp1vib + JAvIZSpIQqs3LA+sHIpGOdSp1IgxTCs92bKQUUVDRQbm0m8RviY5lVK9MUThevSpd0bS+Kc9ePtH + RBaUldw80FpSR0F4cdu6J1/Qak6VP4ig6M0J6vrY4Zjcdq18eEPbPKztexCWm206SncOJhZ1uA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 88aeb668-d282-11e9-8187-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:29 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:28 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 88aeb668-d282-11e9-8187-001a7dda7113 + x-ms-content-crc64: b1Edp97bxro= + x-ms-request-id: 41023872-b01e-002c-3c8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 08Y9a8oCAbEmrkUM99aepyOQyt8xdF9+klrzbsEIvZMznbbJQ4Y7+s7WY9UpTMn6Oe1zUtjTNSY+ + oyJezq+3hy+GBjucPPBpDsjgrNm70doiOMv7SWLbL/Bm78LJto1WdAVdU0BbTsyrhPzLYBHsSpOW + gNFPubpCpcOuwBev1Kuy8P59TryUEfyVVZTpqa96B1KENviaK8KhtQkMhJKxLvvmvvCVTYe7WjpR + Xu9TNHhFmieSrOvvnq5w3PKR1YkfNlcq5k0nYM6qwEFeJvWjq4lvgns2LtUMWVE/VEX6LD91+3Oi + cKQIsM/h1BGnTToLXap4pEOpkBHRPm+9Bp4HEbnP+eulugP+2pwgvJxtmUrxjrQLctz+GBt47ftF + zu5+FIIGh/xXUr8/CGrNZ+lBuVD4E9TmKLrFmOfRpIxnFFDjY4sCHeT3vj49f6v6fItKR7YF6pmf + SJOXGfInvy3QG9DIg/oXUfm5dslWu232xTtkg2wVX+JngNQjNI5hE62hnYhwFyR6JFAKKAF5G0mA + olgTgUo/ZZlPa6izgQ74U3Z5f/ZOWhagKH1tRC62RGFtgHwdjvHtfv3fCC8N5e11ezSBXNuKx9Ms + Ohv9cfPnvqp24IwXPiVrATKyGPEBxRexIn9WEJTYEHCzIA738hrpsthGK4iuqkyFcWAKcMlROUEl + 6c0qlYAce2yUpHaTLBEbE68pl3uSbLU7T30b6OTYtY9Ma9mivowpYBZRM8Hau+TdeSe7tKxEV+Ru + zGi6h6EZ7gyoE1Rw7C86bKTCJnv1+qHLZ4Hau6vcA7CdJPpopD/OpsHWa4Qn2txBxZFRhv32hIiV + 3zNQoq4MEW7izhUFTwB8999rMnGtSx2Se4vTakI9GS4X5l870eiZt2Ea4M3HiIaaJbLHW/QvO/18 + d5bolJQBOA3V4MDKNU1f65dKSdsYZz4RxfEPhTtsLT+QgAAXcaANVc5Bw+2NuQ/KfHpFyM9NjW8K + pkfVt5QodNJEhPyIsEE++U0bb0EhGPDmGh0JdaRBFDIaQcWAbPIUUwoBstAXEovU83dsZKv2vmuR + cU+wdsJ6V4S7L73HzzFi7avv5n/ZNW7m02mCpUL09S6ly32cPKMJaZ5ylrjhrYp1Ksp8Q6FgwI1x + JcwtRZLbvRr1AauvCybm52N3aSLkeIM+lPVqoriAIVySOJz3D9X7gWMmkWIvTI83p3nvkPrQAULw + 4eJAaVL99d3BPbrzJJRTRYHUMV6DavJu1LJbsl5QxUT0E45EoUiSIBTILk3z1H+E7wwb+tSJhUe2 + hz7hRuMOwVVlMlyveyvKi7w13pr8GjNlSGdNkVHKgMkURNfA7FH+0MXAs1m1oKQrVtpiuZFNJg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 88bc6040-d282-11e9-a2a2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:29 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:28 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 88bc6040-d282-11e9-a2a2-001a7dda7113 + x-ms-content-crc64: 2KXInWtY658= + x-ms-request-id: 41023874-b01e-002c-3e8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + pqxkz3NQBmIgCxJVvzer1IwwPCC9ohitHEdGx2bRUwSpzOBHILdDBe9JIjpJCuNMTAWdOdttxPIs + 70Lq6Ck6+cbGfPigQNHP0kogXiOGPcpQPoyiv7MsNKXhlLCv1CmIV3gnbcnWi4Xr+vU9uCN3yCE/ + IE86OlkOmMgAH/rs3qQNMswVd3bzmHYIkFKzFwNU/nRPpp/AM9C6qMA/OFI72P4pP4DLMDgX4lq4 + E9reEZTYehdesc7ltWEVXE8xtmGnNtj+oMZiOruTe6sxKM3Wk/0pFxU+mcfLWdWIRJnh3DVsAdVu + p/OXRTHKKjpmZR05apPM37kiQhD64p/6TrgtKlmjWn6ra+qS+TcfQ7mfdgsfMh0rfYx7NOcQ5KMV + BhG872Hu6Kj5HSPEI4BD0r9HwUrXWkGfeMEd96OmD5vWhpyj7PXeaG4FAsZouewYI71tfl+ptwGW + VuBhm0OMQjbNXpU/EUDEfbTQopHLC0IWkz4OGg2MQRrKnRncm0hThBd9MXfsgo9YODAeCkl9y7ex + uu+w2Cqr/e1oZHKmjMe8TI0TOLRoz4316HmY5/Khz4lbFbgwsxFs6xljJ8NK4WUEpzScdVDodpLY + X7H81LHuqdp2KwJQLCsb+HYOZAf3G+zVpOGl43k3z28q1R0yCyg5SqaGStC9+IOW55UhkSmLnH6Q + TRC1ilV6rxo0dNaQNTuF69lqHJH8Vu1inbWIxSF4qrFszoHy3Lsun39+DqMjUr9WCJC7XFzlJ7nP + 4tvskoshYBWhRDB+uWs6hJupwTd9mGCT1BrMPllAcmJQsd5e/OflCWiFFLbpqm/IvFA9q4GNV/Y6 + 63bY4LvsxLO6aw48tULKEKzyM6caQFbviCHWxzJwqnx2o6WgcQkp/XPqEdLNCT79B9f851bWSFMy + rk5TODTNi7dliZLjlXAwQnk/e/edkxbF+WZ4j2+OollFCSYaGukOvbhqa3/x4joNDnv6L2WhKZd5 + ZUTBle00DdW/vGqbI6jq84f6+JmFg0HqDFl+usNerpM+bnzbYEzsA2W0KrM/MHg3xx/ZpYCwjuZT + Eg+jSa6lbb+eFWBtTkixscVSUR3b6AFWRobxaudsYlZhfxp3WSXlLtKxsEOs51iSB+5nqbgg48gB + pO/x2V2I2coxKiE3JjGzfqI408+oINPs1U2IJJcQeFB2G20WSYBVaI7wbV/JB7wLIu6Y9PK5AL03 + twO3J4Ta/dTH9ZT9sBhGv7jGgx/zqFVnAJVnNcJE3C65R6HpFbzEEaBspZ7mxH1pGXs6Nr6MECJF + mK7LJiRGUmvXI7CkQDIWkBr5y1+5UISsoAZoFEp3NAmpawrztpqx5u7fBcvuUuj1ikH+ZfmnUw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 88ca4c78-d282-11e9-b4c8-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:29 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:28 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 88ca4c78-d282-11e9-b4c8-001a7dda7113 + x-ms-content-crc64: zozNBGJwOBY= + x-ms-request-id: 41023875-b01e-002c-3f8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 27d304AQ1TXvrsI07/cEbp+wzvnmrT51wEFGLW0mm2LP2OM1IMrFLN6+GE6t9iyxAER6RILjZemS + 4W74z7lmZjJmS+iXoxRDAXcBHgIZEk9VeN7Czy4lOpr+pTEpvn6GptN9wBMmlQHp2fu6NfpY4qNa + KIBXVfOBfM3UtIDhAgtO7Ig7yBqTzzY+z7Bz83l7uqKQU0PQMZO7Craku9X+Sd2rILMh8LOBIMiW + fE2zfhFON7SohnVEDCvud8jI6BByGC7zA7Pg5pzmIaz6v6Z8sAQmQBp5+dJ3AcPulHc9S8Ez3FCS + Iu3dEFpTZGObYAGdNE2gz9j+UD5pukQyhLSC/QGo6QoKx3J4ZU2ZC7gqmkIXYRDR+7VRoO7rwztr + FMO4ms7z6NTe1gjwV8VPul373AwJ4VBhwPk68/KhhBDW1zsNA1WfDpsKAS1kMfFKB+JSJM+p5HRY + ikqh32dg8Bl3JemAISC28GvT4pFQAxJmxH57T3U1sn0OxYYPj3KgfjRh9WEph/ipA2Ww3Grct5Ei + No9NAV+xv1kFGhb5EU+bWwyEaDUvfI3xWcBLsySWeb8TpLsTqwfe1ND6WboqvtZ+lwQ86Mz725PB + hrb3UbczyZm+4mj95fqaM1+3SPtvTvAfzel+p4ATSoUKCo2hshLv90s9pD7MQ8Lf7Elx7SK2rxQ8 + vAU+pG6vxqKhYgJ+GTyfsEUoemZGVbCVUQ/wana/XprTKHw8+ojF1TTiGxNEedjppeWjkRBmpmyB + LX1I3U18Xe33qt/bCrKaaSI/9foBbwRf08nSTwcesfSWcPpSIeIgOA/F0HueqydXSnE5xkblYdLX + e1n+NuDKz/h/MmN1AgH89GrJ/O1xlq4qakjMCLJ7CZNW9/RCKyuc4AneOYpkx/0gI+Cbrcq7hqNY + 7mU75BGy4VH8C1R2UYEQDDBCWlh0yFupaoCOdzc924kny/svFhHhHEFY2d30yGQBZbcMHqhe06gJ + t4WMqjq5MGPinQWJqtaHA80x/gPHyIUeTtf44BKyWRtJVsSBH568Pt/ObOIyNHD+TBpwUr/dNbV6 + NsCkdR5mMUGtk/SOTC03NWWzH2e5BqopnkDNQ/GBQNDZLzOWrFvnRL80DOEw+TXiHLdOit2Thbrr + TWE3ATjrETyAZiT+xDCPZUmoe/DGGacDaWTpws6fKGr9NXSLo5IRjk5AN6ePixd88s2DnAKfWXCP + p+tkFrnA8w4VS8auDlke0MjoEmTHHMOMVECrlyX6HwPqlmYwHyIgdSHE0n6tEUyM5TdMFVWEcz+y + FhNcxxGREGNYxurMMqf79FHMBrOmyJHnW+SGMdQoV3w2XVD5WZljXO8qDm3eY7kC8eaWDVWRjg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 88d8052c-d282-11e9-9fab-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:29 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:28 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 88d8052c-d282-11e9-9fab-001a7dda7113 + x-ms-content-crc64: NF7+mxWXEoE= + x-ms-request-id: 4102387b-b01e-002c-438f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + AhX9W/o4YC7CaP0C0xJAyl9ZkuKN+cw5yYcluHLuMJHIS0gmBaQiZScQK5OiKTU1zxMVKZ+YvmTr + 7jdvREwz+vLvv5VS6B1rv1/tomEfzrbUfWOeDO4ve0uL26NCe28tObDL53yeZw58L18hp8Jqj1zX + A2PDhYchIlBIzcka/Gv6nLa7naB37J8FFHODdrafg126rWhnEzXe2xePx/OXUFi5ZzMsogDbNNeK + lW0h4bnzM4kqU7dm0X2s34dsr/yU34T8VWHprVdgDfkI7XG7F3qWOlhbBi9AMdfefrw9TXLTzXQp + P5LdTJgxrwoFmGS9czl9OM0Ud+HvWhXckDmsfolGwIRWzeyWRvzAwLwuVyy7nBidXoemzKrwpyyC + XFg41spXx3Kbq7R9jX5jV/1kFzao0GUR9M7+d2YBLTkCgkD6E1yg7PyVbeLJWvh8bQMuOMSvo2hb + fHG/KWLuRvI5Njbyv6ezSRVKyLE/OuP2xmqRyIaarDyqvOQ3hKQZ3SfrZ5aX/aveK7WotZWxJi17 + 8iVxvoiWdJyS1yj7bReyLrUl3kvZeHGo0KKc80QNUhi1vzMXTPtc5gNpNG3Lwx/iTSvyQMz+vpRP + Mow2hMBiXGticzxQ2jIvsyNeArnx1JVf093rdu+tT9paBIYnFW6rxi5Hqyrb5S0so9wmK6a7DC6s + JA5T+2z+XaxNU212R5SdUYcFqAIJl4k0U4A0tJyavCyZTSzZql+/H5BwnlefXC5XZWdUea/oFl43 + 1le715XeswqkaXD6dV4RoRsYgTdiPgehYcZUwkWU+zPSTnN/Uw2uv0krDaqGkKP6F7Ae2FmNOKCJ + MnbzMzvK/Nb5g3MZPBLQqknWhCosCEl0KK4Vxsf1H5EXDAgNKL1NtuGXa0MD7srxGEtRK5twBGdC + JfM2DSNdJAQe3tZnGDIsgBQvE37N+4kJGk1nXuNbeSUNurRT4oVv1y4imsvIA1vtiuNGUG+0Y+V0 + SqTLYFZU/L4NnByWgK3NG7pKKvcpIY60jmReXn5y6YxbFyRH9KRoAGEuYU/ILtWiBYu/h0iZG60W + Ut7bDirKF3/6RnEN1WJIGOlOSNe0jng9KjstR1EXEYRGRdnrKreuVLIFmvpsoDK5U1eh5mIvzytd + x+NvIzjBbIeE+zvi9NSL2MmOL3QHwezugHtWYxZicpstGrefpqQXCWysl7OLnOO0Kfh8OAG52M/6 + xpiuNIZ9C1jSw7ZvL4Ic2yqWugwervorUDKOobYFi2x92ZD4n/g3qzUYmlO5y/vXk62xIU9EFiKp + jNKw34N5BJnloMZSYVlNNYNianfGsIfhn1UcVUz36F8axPuq9yIrm0gIgvY1XQLbjl0jlXUB3g== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 88e5f274-d282-11e9-b181-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:29 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:28 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 88e5f274-d282-11e9-b181-001a7dda7113 + x-ms-content-crc64: czoLvkvo94w= + x-ms-request-id: 4102387c-b01e-002c-448f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + RA8r1DdrUsaz8BLSrOdglvEmlCDN5ICNvGN9zlEy1MAVqgsJnMAKCELiK0wFe5JSlfo4FDkQFsvM + 4j3BXQ0F+cM1nxLubBLnAWMHvKyQaupUMvWjkXs4OSlSfzD6Bk0gb7js4H8MkYp3wNcl5p6CHD92 + MwGNlD0uaNYV7wAW1zKN44czqECmw4Fa9SHfAJZIiLFNAR8q0O3lji5P052i8NWBRPAmUNYGCy13 + rBPuh1j56a7CIuX66EtTWPtXHN4ffXwB07mrlJ/sCj7kvZdfSvPESNwzYrXc+00zXP1pBA50F98Y + x+E2RNQ571SPTxXfBwsPw7yYWPx2UA3A7QEw92XoFmXSLDvfz60Tg7zX+ve+jzmwjxDKLURfMESB + LbKP4xyYtC70CtNpdAgjX89s4ZM4mFYI9jo58JMbvK8rm4ZTlXNIWjUxi5/3m2Yr13trVK77oWZI + JeGwBZrFacu2/YmC69QBcPmIJVJ+VWpKk9Ml1AdZwd5RUwonG5yATRov3kvU+DAoajAM3XFzyb3t + MsRm429Z3Sn2dTiT2aGM941gX/gfALBIYXjfosZAQKt2IMAeT5c//lKbyjxRXP0qFISQebBbDN0K + TsA3Kt3tSylgFLKEtiluE7yc6llJ62v+3aADbiS7CzZ9o3KJyQs82cE4GRU2nGCsvWG8V44sPEsT + l7/iqpZphy1hmTbKEf5ieCi4TtTyaSRlvzu6hzy11DkpVVOQAapcC9r11ZMyexweI8cC/qrtcmmB + YahxPuRHeMgyNllw1r4/iA6b1ZClzxtHSZD1pMgdDI1+2aSmK5r8RSr0chPKrSzAtuyJfFdI2rVR + f6cVNTAsp3Hx7FWUdGcRLZcHa0iJT7lk2F6hGd7BPb108EkiAqQ24h3VSeCcD86TV1dc/pu7H6Ji + Fz56RxxYB0HzNx4MueZTXmFtr+kz+9ZeL0+bMuQNGYwsw2RwfmeILkU1nTyQP0yHHh+zUp8NmhA3 + z6SjOe9HK8vjNmDoDkwLXyDFAGuWQyycYSlZ/q5nVHM4ftXRVXHOYo79BOrYpyLxJFVmpOK7yDax + yimJRCyh4uRwigOQUfT+Clp94HhGhMkGg/CMmXhUscekZZHz6oPeAGhU9Q1kmwMo8+2ib22+aK2o + 21ZKXIgASFARxHM0Bc8odZJ4p/QwN+vyi7eoEjnzFibEPE/vUJtzHcddR9Ii/f0vqexnZ+78d4nK + idmiy49eCC2BKbwmUu2WKsTR7JombG7amVbo4M2VnJNzhvbR+LwynVC77fkRjDGGF+SjsLcoQv0t + TFBR71e7Rb/TwJVjOP4fxi2pprQdqC06rQ3HnO87xtuvOvbXt1p1rDLR1MSGszdYYV6jWIspsA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 88f4b2b4-d282-11e9-92af-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:29 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:28 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 88f4b2b4-d282-11e9-92af-001a7dda7113 + x-ms-content-crc64: Navtesy5/pc= + x-ms-request-id: 4102387d-b01e-002c-458f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + HTi+Zb58QW3e0AFGJWu977/BySDkpCvEzg0jyF4ZpSctzHIz+064umwXyzgruEtriSKx80sSc6F6 + Xj0ldH2mWnzFWxvLUOh9A0XWAQ9SaI8wQcy3QITDvhTHOZXidNnyG14VknOLPb6F418jXu+y6nNp + I5ONRXNVtIv62qPui0Am0yU1mkxGg496ZDENGHvyR084IW4YpeTi7gWegMJR6auXwGMTpbP1E+uE + YT+3T27eLcTzvoktWyxzbJYCvcICGldxPTy+Vlmw4Djhn4GmZtygFBdbn069SYbhAEAFJpQ7s1Zr + cbBAupWxKe0f9XSGG48kD+I1ZGYXJ9EPphMCIM9KB5X036i1+aSZn/qDp9tMDA3C0OqBuPi3J5mQ + l6zN5IGuNwr9CC14yzb0Y6C1sWSaIBxOH5Ps7Jon0/vzbQ+QtgZqXiKmlosYEQBkxwxhVMP+PlAA + pD9oJEz+1unDTbEYaXvMcVQEHcNjEID8KADmMjbe5QQN85Sm21/dKGSeZUZClv4tjMlsW0LY/cMt + RHBKv4k1OlIP1yI8Ph0AAwBm5O/gnKkkjgqrfcOuT8Ok7R965uKtHLimA+Oih9+Q2033nSW2dKQz + IpOhpzh8jiJktJQ02nb+xfUAcW2+YqJ95itAyIZQMWOxWUidJqjMnDg9zd9L2L6fzGfpkStJ8T3E + 0+7ok8A85FrJpVRNE4Wy350J+1YmzS6FkEtcWBil9HTjAZ0eDuYY3qlPONeGhw1zd6QvKBuulaEL + zrimc/dDE4SYjx+4Sqg7kuR/NOkQuNSOzvXaUHRcurdeNebwcVmzTMszTAUaC/C45hexegRBDDen + 6WILj624BpUvKuqDUZCINHkiVhsp0xla5QMf8GqxmhwGTF5/orVc+PaWCUKNLSU/QpupMpHTpw5C + N22zmrbtAYn5dLFUsdMrW800j61mY5V6hfPDUI5GUo/V/KlsRAT+x6MN5AM/EMdgkHhyyufQ5gBr + vUiKF8PCyPpfgEpO5hjaFKjkzWwD8bpaKLlZX33ooEVMLVSvwRdU6W3xA5c/p17ELUQ30mx/JYw/ + E9SNIlAlQfxlzhnStZ+O0XxSBAkDIXqQCBcMVuL9auFMJ6deGEg52PMCfxczh7mg84evQG/sXrjw + KhX22Zi5J+Yrz8MeokOYTmqEVqN0LveYQkEohkhj+eD3IaCwCnuzi+nGf8K159HPMZ1gTW3pBsLF + aNcLMGWlzxTKmUbjVerX9HD3F/KLn7ktNuZX3MrbURspgjCD43IWsuVMRktzjJPA1fnZIKA1cLMP + fEHuYhNpWy07553KJ/EyZzzA2jKaD0cdAHF/oL4ZjDQ5IYDt3r9mLmtO29DFrtAacXTGjoON7A== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 89036430-d282-11e9-b058-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:29 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:29 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 89036430-d282-11e9-b058-001a7dda7113 + x-ms-content-crc64: GzWbdV6kq7c= + x-ms-request-id: 4102387e-b01e-002c-468f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + Cdz0thhJf15Km2slY6D2MnhtRaVNF67LT4C2O+7xpDfdLk4ra0bv9/UMQc9qu7tt06OtIa2Bgccj + gpYN/QATn9hAQECxlEsdLO7fQLA4amqGmmAT2vsBDHreZ8dMyY7qwLcP2RogsI4MRwMw2X0aml9f + nUdfcRRvzIXQzxL7Kq5meecXFZZelq4/sz3SzSySzIKqoJm9sOWQ5sP2GavTbboQApxq9UVs3nnT + S5Buf+9LRp5bOoMXFZ+75CrdwHuXnwiM1gRF0TtNcRHuPf6LaRtZ5aR4ScGEN13UY/z0IU+LHOXF + 9/lQsyfIyJjzTLIRJkW3cl8QC3Sw2bK6sj475KfXiY9b9jzKULey4V4Gdp27ZinppyM5eWFXFrIa + m2HPHeAl1x4e02TLvdv5XBsDoDLcm2kgRntRNxY1Biy4LAROsgVWAh4TmGsZI8xzlmLhXN/k8lmY + Eb240j5/clRsvwLutAHq7OzzSaV87fo6yTOW3IhrH91LAWlNxbaWmN5Kch6bUqjCLJVpXFic5swu + 1Gm3WmvR+mx9xmA9eQjtm6L3ynTjvgTa4Pt4m6E9ltjU6gQZ1PIOkrAkEenYF0h/nSfHflnuElpz + CAK1h1oaKWjMYH54n83uxxId3AUU4dTSM7bdkPgiJ607MAu9Cv2WIJsBuUab3VuUxbCxhzDQ3g16 + 0Z84ZZYrn+YPDmR7239xT+3sqMz+rnOvrcopj4JFxpZpWd/BK7/AC7bdVS27DaxY0qIBL5+3Ylgz + rQoEsMbOTxzlEWenDh6a2xbgQvla+xrii4Akny/i70ALRO8EH4tINKid82tAJViOjivZKycmXUpK + 7m/pTkTNgtpvEN3iBZPZX+aYVlyxZD/SogfUPQMe/ulayb5EIw0iUAtj2pK7vRkAHU45Bwgy3cuv + pfrWbAZzjgeiTL+y6tAmUlUcfcs9ebVYS4wioWQ8hflm7RqnYDDlUiXQoYPjmTljWHWLJXECjc8D + W2UneP2jTS6HloHwDzxC5g9ch4IuckZTzd2c+ST+m0DT4JZhKWaQqBsLb9Puowf0bcCyKWr8UDq9 + VjmKPBiCq/KlalgPw0s7RNZ4WGaQlE3UPu7Ik6d65spQr5+r54rOkPfbBmiagTdYqcitxkGHdqfx + 0C2oExAEf4R0G78gyfGuO+cqJg8Hmq6c3k5NFY3mo5MHsZ20sgixS+vFB5kyD5h/gEvL9cDGTuiK + m6GDAUtARbzTHKlqqxmulnICnH3G37Qoihor3ZDSNGNxaVqen5ZPc7IeSJg8WoGDZpKNl/aSgAbA + kirEWqWCyGiZw9DaJqu2slr3VfNZFJD7IlItFIA/DxEJkFXZowEO1FYEcCT++Xt+9SsW31IzMg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 89120650-d282-11e9-9add-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:29 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:29 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 89120650-d282-11e9-9add-001a7dda7113 + x-ms-content-crc64: sFOcNngJBq8= + x-ms-request-id: 4102387f-b01e-002c-478f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + FIZf88wSkYN2oQFCpvg5cH3rGG6V9hVettQDb0gXJWFhtkkxK3T88fpTQc3XeCMcUMGH82S1NclH + C9kQE3waVWIqWqvkWomnHODWNt0a5FiA2Ojllgc/jQb1IUNRl3X5HxOvp2vcU1fbmyxX6PjhLdzs + NVuw2ezakkhlw+IPfuEFwPZjsl43F2PKNoax2J7FWucn5KYryP1gWg1QnZx0S9id2Va2o/ULcemQ + DEHvm0GnWxzDSlhs+faeJkfmV8sOISmFAYNlkVM3IL97LjewUaEuE3j3LgWHtZwzNYMfqeo0oN96 + N6MSZYdsy3HHNwqDL9jsaLcA5j7Z+49Qofw3jaC6P0VTxoHItiYAfRuKk+5yIphCi0FmbGoIgU9F + Q57iDLWko5E+fmDvU9+IfecTU+rBgtmWb/N31UPq/lAiFeZryJTBjnYneUPELW7napnfcHbCCibA + 8fJ3zikUVgtzKqqPYue2OGzn/hf0jht/n20Dpgc6jI67PWzM7K55OubMddrVByGs+dGodNgHXYoL + IYraBUS+dN9w5LdLHYqvQvuBLroCKzTV6NBpR1U8E/KyM8LLrapTScVqjK9xCANIkzJNVd0WLpmH + ziDq04ofS/B0aSb09kiAJ7oFuHMVt4i3DfzNcwAj9YtaOveIe1zvpQJ26c9dZQrrtKIMJggsMKbv + f9LJYzcIh7uvRKdbq6yT47yNxw2gJkPxVQom4ZuLggHIubSDKxyWjhWiGQWOaedZ/t/Bk9rEvyGt + nxAfieUtuifx+3QFzDupV8Um58fwpFl7DN1Zpzu5t7uwdcw6I1kk0yyaLQYdiEhacYIxuP1GUwsO + m3CbxhIBrrw/Pr0BZ84DyDxRpjCOgmPAGJlruWK3lazjar1DozrPUfbSoZUebQAFatxbAZmnn82m + aVwnLZ8QIoXG77uNg/M3sdMtS+dntHHmYeRWDK3oQFGE3RuCgsdb3mOH7PKC6B6ygewJNwl9tua0 + 7pktNI2dI8ekZ1Vqr34vUYqeP8gh8rITDj+8RoxNHdLpUmsIpyHEJKOAxCgAAsV/2x46TDIiEjlI + sfN4QUAAzUgGcd94mLRPavpBvxUERL29i+MRbcuD+6x/6zJ89u+ImaBlxDQQKVEcZt5a/t5vx97w + 1Fa/OEKYWMJ1bRjXDAF7A8odxPnljxOq71abqe43o7iaM0Zl68dYeA5d5pMtnVNAZN1I0Ns6E0vF + iMijrSeOTc+baiwsXfEKuudZpXeeTOoQgA9rL02egb4axGjOpw87vhaIamR7RV8c8NtSWMwmMZl6 + 1mqIu0pgeZRubW6EIYJnzDr8CH/xNUtQ9qMYSgAsgAPLMyJAqIZLL4oVgKJjOSlg9mRG3dfbBA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 891fe4fe-d282-11e9-8569-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:29 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:29 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 891fe4fe-d282-11e9-8569-001a7dda7113 + x-ms-content-crc64: zVf/ejFAjdE= + x-ms-request-id: 41023880-b01e-002c-488f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 9Xnovh/cMkhH72zZvKrxNGesf6dBVFOuZ8hXnuciijsax/tzwnLyylkiFZhSM/U/K168MYKR5/Oi + AORC8a83IXV0hvhUatKsHfLMqOFSFcZT5MTx3rgR4FTCcPROyyefNMKPQsQNxYRBXz/c0L/39L7u + eOEwgWgfIW9W3KU+PRr23wDXKfhyZrcREflwCv5m9EGNMPnXQjN7I2RK7JcVZu7XFhru4xqEf80F + Gx0zrAGaeu115Qa2XZEkReXT7BzRJxCMOelqlhcNaIrgFIX3By/2n5FYVgCLkKnEC46c2KN3+lno + 92rm/mRhcWzjJxJ/1rZGDHbpT+dRHydbyFm0Fm1XkCjmZvqmS8XD9J8lBz2e+v6iD7MEbtNeCYQV + 0ndfHbsKl+vVGpYo66SeYuRNFLjZoiG81OrGeZVFWeNkjKJD/d8AmWY2/IfPq+NHojfLBUEUGXIj + 8KBSLgqwL3tBKrPqKkvWBEHX6pe/eP51rhLPLZt4RCyL7NMnfCt55xtLWkXXwbGypVuUhmPokDoH + VBV/bGlKzEpzIxIGwHlxQTLvCQJ/UuKEI5gaJgBTeAbXR0hPN1Xi7GjNGK9uJCgHBWNwJyo+grcE + 6latNqyFH2IkgKOZ3CP8er7YJYfWRukf3ZZJZRo5vavzMdUJU37v0PUzddMapFxTYGUxevuKHHmy + WCkNpxxoYRO0WG0mIH+4/AdUVS0f6MVidOK/v054LdtPxl97+KKjxRKgtPqsPMXfbnunTt4kTBzr + Wbn2dw8SqTun92uvHHgahOSoFK4A/l0uaJ2xsiOugrc7F8WCL8/v9+iyY1SN0wndK49c0ERc43Ul + ViLJxM905M34VmIqJ9H+oInnIb6epy2mbrzM+EHjdB1bhn0FwmRpO0mwN+54CgWDGY1iW2uDlEon + BtBead6BwRRaPcS72iIrZCNvh8ofeXrlRAaDSv42O7jVIAi0bPkaTkqomTD+/i/VpUc2rngSpVTo + i5LG13M3SFSEIkrYxhimaPWhEPRUFlG9YXWqLuhPj/woVUbQ7HgqtsCap34OWxPoJmAt0a6ckeuN + HhlinWS+VChUyXa37VTZQlD2B8kU6RdIXA9JyQYOSHXuk/ECx7NJNHjH+GRsn9XNyn+JbdWcQi5/ + UGXraTYMdXggazdphBVCWNz5ngoDHe0cbtuJtpdQUd2Ju7tcI682q2Hw0cRknsNBeSBgFkFRIEyn + AggH9iZQLBcbbCFMLK7ivtZwxoeEKaSLLr3JoKCSIzgxcnp49BpGxchW9u94GIEr7NqMSBl3mL6c + qIyzPRi9qXN3yn+a8L0UjhQ04w+16AWjoPL1p+fj1TmPkdoOfOilUXqbUUdoMTgj3Ls81tf4IQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 892e11b4-d282-11e9-bb49-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:29 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 892e11b4-d282-11e9-bb49-001a7dda7113 + x-ms-content-crc64: cOVqL9kLUgE= + x-ms-request-id: 41023881-b01e-002c-498f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + Algveoq83zkcd/LJNl2kYtqprAa3tvhfW0hrEObqZOzZ+oXTJFdn0q4fq5nylx8AbvMX7Wh52Oqf + 3utuCEdyaRP4sWW73vXzjpWyLuPN++wk+/ziUthEJzbFnxJoifKyT7gd7ZA5Rqh6IgHZ28b35ETW + qhe3yNr7AWlSJN1KX4LMwU/+0zMDqTlhTWrwI/iQTA6QZQzJ76L9DZvDRkgrlbU/qpOGxkPJ6eKT + nQQR+Q09ng23m2Zmt+nnKMtpCvnpFbDSHb0d8xXUSj61oGzQB0Xy5lIUXtIsuTFESRbwCgqG9tT9 + VFbN65HeXkXFcW6RSxGB6niszoMdGobmHcN1OaZhYoTlgLF0ju3fjh/jvI0z3KLaeCrC8PJj0h1k + aVeG9BVHGw7guhuJzB8ABHPYuMqiRb7cg+uGKX+5ovax5k8COX1SiOeTfwTJPXDjL1aCErjPRCG9 + kBEuvArCKw6Mc8vBClCXEqXUiJQgu2CAVdVSqhQjQtBRKlhxADKulk0rUL97gKQ9AjPiJUXDx8r0 + WEA8N7e+/Nwp9AFpxjjwSG993BFYI4pogkksmj8vwmpqU0NVil7Yi3CyJpSPfykc6UnK7zghq9ia + mz43814H0xe1Q6uPeEkg9ITntOT3UX9k/vJmh1pdfZ/BkrPC6aEEzpqU39hca57FHXTX/a/Xkr2Y + +Si2PSOoKolQuN3121q7NMhu3CqNsYB70MJdLLxjyWn2iLMXCY0hkFuTS/eEz7Mzm/qEaXM46Bfk + wbiwxAA/t6O7MB01Ebs8MAKbYO43vzDmsto9Jam6YZlYP8HBeeMB6HspNXvY4qKdTGDwJcEflfhY + yRigif5hRpWfQDH6IWfRi+7DhVFOlnnM1Zvp9gpQ/YejTI7Uiz7ShcDphTw9dtUJ4Rq3pmnM1LQV + ng2+Bqxkxa5zV4J6CgytVsE+Iiat4qDeji+dKcoIBtHWgvgnFojACqe7lT6bXw6QWik34SLF67NL + o60NUPO7W3ORxOyAvaxV8L8vcrjDq1Z9ysCoHbhOJbcxPM22wxYfhzVVVl5mIUYIHKthS0PvNrhe + DI0YZi2WavA5+1pWqpVuTNWX7MmE/YbKaow7wbyfv00rZBscACfZR6UJF3GrKisl+Ca9mhdxnbds + 7D8SX8YjfqgbrjnU5i6ElHgDIqQoep049KaainTizYHRcknY7Hu1fOyAFn8K+U0iAuRTvrb2sFbG + 6oxqtplU1PkED/wKVIbKsaOu4Fu7FdEJveuFAm1+0gxoYWno3/KsdtEHRYqZj4KCWitw7iWLgywd + J7/f3Ctdx540UkUF4mOCLbGCM9CLGiCyG+02rxdfKBHJPUIbcQkfc5Alah25WQ8YcepvbjF1kQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 893c56ee-d282-11e9-85ad-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:29 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 893c56ee-d282-11e9-85ad-001a7dda7113 + x-ms-content-crc64: vusQm4d9JI0= + x-ms-request-id: 41023883-b01e-002c-4b8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + fYF0YoSoea8wQyMT4EHALyZa8jpPSp/110fJLsv7JWyFNUSiJ/zxhrFOypGPPI2EKDAQMghFueoP + RpTzvnEuoa+UCu7I/TmE/AJ5LoAvH3bNg8BZ/Ne54mO9kMNXeN7qQZvfx+MVOGsgzaSHEVmbpKM6 + SRQsIRVECpAbzZ6bRzVL5FwlnaTB1+yPb/EpoGlnOrtnR4z3g7NqyunykXL0BfrKSPjhiXri46/F + FqeXKz/uy7zLEJI8AsIocUAH0v2/otb5cv1wE/WUDKuSBpqjV6iip4gWGtMBtTZLwWpvbkzxsufv + DtfQED8/POuRwFJ2vS5WJHVCXke3VKrsgyF5Rd6bBkXk93+t8EI+yzwFSF/sh4cRZmh3PMe3GW27 + 9mpGX59rVE9D99HOaQu3wq0ZmgC4v6n7z/ppLLQCES3v/rJHTJc9Y5zglXe4L0l/o6gpyigxrj9+ + t5ozpNCFrX6yZHW/8+Jx/W+o1yq9SEsEgFV803yGMd61gV4hJ82a6E1hcYzgbuWbd66o8Er+uqdU + G5M12QHr+QzMURQG87yk3ea0ufspxa2xzPlrQxjKb5sTr4M3ErGsX0bvH/YtEnJROW+8u8jyHdUX + VhB5YwXUVcBU4MYE2uRKEVlgg+IrlRor459GIWyGqmgfw7Ms2axuOIT7BOhrk/nnlZMW3pQfpfil + TMjz9YyTexpoES3jZY+WEUptYXQuKHn4PLUAkNbvUBYRiiS5okl2ilKDjh2s25eREwhcQlcgt++V + K02CbHgYF3vE0yBe3O3kAVCZlj/Ti+RMxT1iLufE9O9L48VpLUOzKOU9AMfVJCu9EPJvNNcuIkFf + v7QMNMrvs6U+cHP7ogxVnTGVPhzrwDdmipxjdtyRKOTGLf4SGIe3zjJ7mUoOlrHJGBKEcEJ5KxQ+ + +2tBfKdxNh/dQBISn1v8gjHsZrb9YBlrHZmBksT7vdNhYSTvV6sNFyuhaQMACU+FjKrKfsR/IqvU + qz6Iq1TrWXJfRn70cLtHPv7QDMiWyCnqiW2MVcKfjNltPwa1S6p4eXfoB65+bYMd5pdA4LcQqVDK + Rug+WUqjfHFg8pvmVQTLw2im1wvLqC6y3gQHQmuktDwcAPGafrML84sZMGoWAbTa0C4uId/dfplE + hffTnHE+IB6SFkspqwKTrBk23M2FEXeR22maQcB2jgLk2U9uKZ66tvExHp+jBLJePe5xamMBdCXB + QAGdxeKX/dkezjWURW+iNnSuC30AFZ9kKG8iCaz0CwE4hwAfDokwEG6i27/KTrKmTmcjJlI/+3nP + EIyJopKF8gcGJC77X5G7Ghw72lD5+GNZKXtfagrHLt8wj9KwZG9EXUgeHcFTJADXfMEH36t/6Q== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 894ae1d4-d282-11e9-8da9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:29 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 894ae1d4-d282-11e9-8da9-001a7dda7113 + x-ms-content-crc64: E0yIclYCn6g= + x-ms-request-id: 41023884-b01e-002c-4c8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 2pb0c7MxrukGNWhZCXwd87c7l12080scoV7uoa/vNLDKUBMpRjDU4eqDbl+xOMhj5tlSMCFhvBFR + IrOGHupPbW5SBzVlGNx+I6K5+X5nlii53mU8H0xPlhUhDcttd2m4Fov0mWptg0bQcZWXFc9JCW4U + PjcQfQTMnssA30goqZkG6/zYHioWLn+M7/j7NLZ+QNEtjeSoBH5pFlDddWjGCBKwj1Yt57MCp1KW + 2ZFUxv0ZKdf7F/rzKrVESUpHEyUR0UxhkylXVa2Xqg/nxg9RWxqO16aM+6scm5BKt6htQhnQXVEE + XS5jk7eDmZAkO5HCaKxw0MTzJk9ZycsHIeUjzz94JiPkC/hhQ5apoS02PkS9LJl0kcbP2rWReH88 + gYAVyfQfj0oVDvbGKA3RWEqEjtjH/NEyKVW7LFI4FVAowIeAN8L0gAqBB3IYfvfR+sXWg5emMqo+ + ZP0j3FuOAl0ZFPpk/i7zwLIQs9qLHTcDCXgHUvKltwkN/lWMHxg4kRC3qDSWvK60iCdWiqVy0e+/ + AaT96/2wKLddyTlD6e2/4v7CgHlAmwJt9B/HstMQqt8vHJ3iHXKKaRft2dW2NUvfG5obTRYvLBEi + InQ0bDRRi/NNeQJ3vwN9+KJr8hzzMsqAirGGb75LjGnEkemzBp/ySb0SLuJNe2XpCbKJtreivPXw + gQ0lAJRTRwgMA2zwnVgTjHLSHL/a6B9XidUYXgdI9u2eUnHfJ9Y+ulafPhOjnhQJk3rOpyYT3QnW + FU9nmc3vK6z6jA38PzvR0j/hgeKg6hn6o4r6tDBvvirwWB3WM/SHrxG3Vor5Ql4ImUK7+NK8wmpq + dKhcfiwY830UsNL259GDhIY0oqSSXd/W3tU9ySsZ+4yN46mgQ/k4i2uQKXBmsnqCWgXCCh4LrVnx + yv2HTgLPRx2b7ELrvcU919OhR0wZMqVcSDBxD0pXJWj++mUMQ5S49XLLhRWY6/52XcM+iBeGg+hT + SUmTHITE/UfhoXZEmyRXJy+dbbgxLM1EOsWn2NYUVwkK4G313Zmz8DIQnll2cJYA7QXYu6PhxYJ7 + PRyvxR8x15JtkA/jMWgqje0qfl1oX5CRjzCqaS9Phe+4CtEoEzn6yba/VvveUi70uQJgE7uyBhW/ + qbk5e8ErJyjjP/Loyed9S9/lRU6/LeOFnByhadboNn5JYm7jWVryiYc177McYJg+24bhVG2Si2Nr + /Do5W3+XPY4wX+HrQR5wyK3WYieWn80XjSH5YFuUMtt3OFw40SJyynDgy+nCNWsw9XJT9BzWYOvm + xZefWp+cT+TqJtoHHhFnuqnpKYLf2QE7jwolywaRV0ApcdPin3GZp0HxhJMvw5XtqQheGETcvg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 89590366-d282-11e9-b3f9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:29 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 89590366-d282-11e9-b3f9-001a7dda7113 + x-ms-content-crc64: BYIvPUgI5EE= + x-ms-request-id: 41023887-b01e-002c-4f8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + y+pEx+yIulu39QfNdWXXQzorkecUXWjXQpmqH6fyYatZq4mYvEipmdOJN6HFb5vNdaahSWkYe4jN + AVnfE71dGy9ZXPNX+rCkR7i0tmddotIpw2FprNVpB7G74mWQTSubLVWXEmZst30VtpuI2a1IGAy/ + R/sxbpSm4+MNtBS1E2yAh+5VY5mq9kiqljxTHNP8MUsiJc4wHdbOkoMJrxbQepP1I0uXdzIMnDc6 + iIanwJh5I3bMnvIa4o87pkxBtyQ+bW85nPidbJHcGflzCKllDbolDuhwcJzQah5vj3kt8d3BVLVQ + 2BjIGoALJaIaGheUp9TtDK145o5oAbAjGMt8hOjwmm0tdFsPMEWNhyFUtlT2mk3xlkd6wvKXu/2t + Ap9pX6uydfz58e3xouNHH0K+qoN48+JVRwQ4uTz6v1vre2p83JzkZ85SiWj3bFwf+5+8IXdiebIV + C6/pDxfcY2vzEMwnY8xJFHmFz+oWVTDupyytRdMoackAlmYVMiB6GhjqcfkYRAawFcaKkh5W1zHT + i/Z9OJAZ2AFCqIAE68pSpPGZzvZ7FadVK4rOR14A0Oeze4bfKYZ2OVUZQPFtVFsgTjIKjdKaRA7P + KYcdFl3AgAWBZqvQiJaSDX62VHJLk/eJeAW25QA3xDDZ9ysaKA9YFNcLLeK0wi7zejwWHZTu6ajk + 1ofxMNYry7MTbcaHLwQ6IxJkqhoLXuF0OYkKsn0MQjOPB9k64zZjqOLfS3Q6HUt0yA5fN8KT31X1 + VkjgViZD7TwB+9RYNqE7a1tiDr/1E67yAg007w5yA/MBhMSTH6G9I2xeoLRLuQJzXzLU4c6i4RUw + m6OOy3y9+HDCvT2iQpZHzvpbmY4r5MD41wraqC36YMQVaH1Ec+JMpXD78rlgpGRwUADcdh/Y9jYw + MnCagcwOHrvkl3KBCTa8Yn1BuiH4yILTo6cUkxLIZUs3AfdxweJ9zMMT6fCgGTck6IYL+vGgJUHO + WVehuMa5MQzGg+OW2n4hACw+Ao5qsnCEvdaPY35NFkxQyE37xk6mXBMhC9s0PofmJyIDjwNvD2Mp + n9+u1MYOEISnbUKpnpKhEQkEJBM0GOPHEH9XF5OsXoRAlF0LvOLFqq7CRFw5yulVRE0/gTb7npCC + UeF+p6YXYj6uwdhb4Odw2yD3Bsdp7sJ0zorUuvGLI0KzoopaYuKSxBDuv59jg2OtTRWR0n+PhL8w + 4eo8Y0qcN335U98TUtwlchT+OcJwkA5Fr3TecnRfEWAZ2sCASuEDN3JJ196lxibR3Nq3HrDQDzmp + 2mdlyP2g42PrWShZYWnmNvwLUxtAgm82fuuOVDAkG2njbh8PJCLjDXFDLnDjf3LWO6S410kbJg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 896736d4-d282-11e9-ae69-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:29 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 896736d4-d282-11e9-ae69-001a7dda7113 + x-ms-content-crc64: czQxctJihKg= + x-ms-request-id: 41023889-b01e-002c-518f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + YURfA3kko5Uxyx2snwjm3SBFVmoe7HoSQrSwLSkG0yobKBNC4vfurShcB6h9JatxsMYor+/mW6Vl + e14civUFtFfTFVDwXxb2/nhdtIJcDE601m57KDtdOr6HQXEG0FMVi3k557TtKiJAo1KlrYJ9y/N5 + ZyvfDZVf94q8xjrKm8SPEeNy2/QLrau17pYNzr5snPfv75eStsL8CrJiPr8QWrRZ+Hqx1u3kEirF + fkl2rcd0c6ynmqCwkT65tNFE0+zsLDMsX2iSS2EbCPaLHTl6VRKTew00nLgF7YhEpeeS34IfQtIw + PgguHjQTNBflYDeN9UFM67CyAdoOXkb6tO6MZeHG0QYhOMG6ixbe37+cLvROMBiRpO1Fex/t4xq8 + F0fPve826g0kIg8uhytwVhbpsETKFFd8pg8M9etcxeDUHN8PMviIFp+YBMldUhAEFprVEVCQcLfG + 28DodEaY4U4C/mgj397beieHLm7cVMC0+i67tVPbClfM88gqWwv8xouv29tfqdGzqe+IavBcmOaA + AAkA9qCPZuAQ+x7DN4qyxreY5qgLx+W+MN0IkYweZEpMoXp7dj8ziaDQN7ZPlNyRkhf0/gW2MWop + 1/Vaj/NaxUSq99OhDyEhNjK0drGsumOvcaGxZGHJL7+3vIxe56SUSRL5gTuRoXHfrPvpq9OPSlBx + AXVty18IfEAgQcCRuuPcJTwWnyMEiC3EcAaxRR/g67e78IcrltndO0jxwEM7LQczAwdZbSkGZ7cE + yWTfFBttz28gZYJ+YxXQQmj74RvLhsUd8r9z6ZIawQPx/cz0dwSu/sfM75jK7IyQDmQL9fOxlkmK + blUsDAnLtlzFW9gtj/T34NlfTJO/KnEP1oPpqV7EXdZXWO2ybk+K2Qi42ZHnx6lxAxhCZKfJHfzv + OrzSGa7f21LQiAp06ZUHs4LzI9FA3Cm2qk9GsP1aQYLCDy7PqfQ2W8raodifG+jLeOq4pxB3S6Nj + sudTGFYD0f0jxfzFQ+MVcV587ojhahWAEBBTHqGqRaSmU38+BAp44iOr2ZQBf6XUPRe+DuI2oshO + MITaRckkLkS4MPvE504PLsbtPtrZOQxSTuwHSLwuy0uXtLVIQM7HVBpz0uEe+dXKdFsdui8cyxV3 + npYOJjbU0GftWwiVIQFO55oCchVJY4tultSjctVd6SNc4nGTkZzhf3HgEebjZY2kNjJiIHqAQ7tF + Cm6imy8WJ6IjAimySpdqgzjVzhUIFiEnct/nD48uBuKl3YNiBfnKoR+G5588n5+lz/MvV8v76EX4 + yUp+5Vgf8sd80Gpx7UC2UwOy+qTNMCl+T2NUiJl91WoUxN4uVFIkq6wvwvtmKKZRMr7lu97z5g== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8975a9ca-d282-11e9-a13d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:29 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8975a9ca-d282-11e9-a13d-001a7dda7113 + x-ms-content-crc64: 8WnfUpxwbK8= + x-ms-request-id: 4102388a-b01e-002c-528f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + OHSJoKXMJklMGF+kw+UnOvRY6uorFe3XWRUX6hWZMYjfq4owIU02vnKbHzMXeqe/j30vWdk3x3FF + 67HPiO2AcxtkL0pLUzwxdhHDZ8tc/t5qtN+IKmCspU9sIeV52UhDPfCCFkuXNLuglApdMjhiVwYZ + RNftvbnUPMyl6shZPqiwnrJs338dBdeJBhaKT5h7+K4LVoicIubXgwCHfzhxbI9SW0+6TkgYY145 + 4n3D+kJvWTCiJx+Juwb8c5SgzhQ4eHhFqFfzymiBKDcOW3MOSA03rsfpPE3eX/3j9oRV7MYcNvv5 + YRb8HfXU76nByi9rw0Zc2lqS2qbE/m7Tb5rzoAOPudJZVvC7jNxMcNRSEBHGO/zzeJ4z9N/iRwEV + jLh/fXYldSe5ohZRKF8OC1DB6xeBdqqvzub9OH3WcBmR2dyWcwe5T8tiRuRxqlmiaT0jBkQC9/5C + xsnbYQIosw8J90iTnabDNxEjEXfH0Kj54osckbEL91VQT7b9E4klou0fby7rjcB4cES2yPDTjAda + S3x0MJY0acWI+Ixd4x/R8eSgnnidTIulPv3+z8mB87PO0Knt+QK/ELtc95UG169p6T7j2h1NzelU + afuhz4nGkINMOFukPPEij9nEcXF/neZL7Bp+IKOYBhwdtE0UtGzleuPIfexaCUz7D8pHw46YDFRC + 7Z+D9KkFeTIWdHePcjDdvLRsd+5ne/MHl8ewLC8lk7oyHMInTk8xWbfXNXJ2gieYwLM1BPvUD20/ + lXOKmbeg4K7dAUNXhmsnd9djJkBiF/u4fsK+YqVJeRn+UErl1yN6ezpYCAvmDvKHB/P2QuRijcq0 + SL0WaZfxuUlVVGuBz15u9vIPal+DVd0btbUl7G+aA5dTEC4phtfI0B7IDuuhbQK0LkS2NZCJZexe + EHzuqShgIBph5EzF2LYoChFuem0jwag4s6En8cbc623UBsFqXlHolbVFBaOkgpdRoCNl3ASUi1x5 + 32aRJfBft/vGMXE61glITAhQO3om0JS87qWuzTZm0GQzwpJkI+c7Za69vK1R+mtmTSzjbsZwUX6S + TxX020M+6bOWFW0WnPdcnl6nHs91S9QJUr3YjHbsxOpppNLXNDywhVvpSNsMdTqZHKzj6qBqGu0F + XhLVi9COh8njgK1gx7yqwbZFZwmYN3eJzIPJFasYM9LdA7pUkPJd8ieWYFm9qnK9TWDTu9XUu8B0 + C1/yaBwJXXQKClXxCztHX5/jWa9v7LQzKVIItId+LSN/w6ei4FcudnCDRrPiQX0Sa4AwS/kz5tVm + zVdi8QNwCn/TqjKQnBAJfsqnnTjzk1+ko49ij7enC6fe2HkG53xH7XcO11InYUzfAdUnclF4dQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 89844aa8-d282-11e9-9a86-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:29 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 89844aa8-d282-11e9-9a86-001a7dda7113 + x-ms-content-crc64: 9/pbyF6VXm4= + x-ms-request-id: 4102388b-b01e-002c-538f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 20YWLgLguti4FwiES6/cnJ7cgMmHgDxx5Zvy5rJCJ49hEdOg5R61Gp+PIrGxGnq7jNIWtwNa59Yh + W03jfu18wjQp9U4V2VXibpxS2/mDyluCPlgZbXbeL8Dvmz13ixhPxA6GfOugEmFu5WcRryswyKG4 + XYjoZni3O43sipciqZOQcY6qVVh1PItrqHpjQWoUy4fnfKbnaBJbCp/VIfEZU18ilRPcDeUfnpCK + vYBKECvSgjTaW2HfjpYl4Wqvmt8A6JzgAPyce8QoDkyDohugukVkp9NjmHfcLrnRD6d5rgGW8mZW + WHOcUFDi1JtteLk+37aIycI00yrBRQ0MyN+pRqLIBAkhtQGKI4SB42CXDeq9aWiZDWaQVPfWPpqw + +fk7VpKoQ60LUkhsjvamAUVGnXoQUErGla+xaUQb9FXw/j9r39CpwRe3CzMj7NV0DyCNIox+YxmQ + y49TOpwkhBTBay99dzqapwJ2n7kDbK2p5rEoH1LZcqvaN9ffzXjgQgNgPHQHQg+Ht5CDmEJ9r4hS + mZo2QZRJXwZGhyXiTZtIfP31aHLi/tQ1B0nZChdiU6w4/umwdhS8pVx2Iqc8iHDQUpctmzEBLQA8 + 5Sbf6LtiPTymk9tGHhgN2MnMxUZY8wjTcbiF/TQbHBJMZ+pwvzrpFdrFKC0FKASXN9H2d47n8fui + BNKK79VzzglYAJJmSVyYbSUShgjXBbOocktBtP7CXDGV2ETgoDa+t+uPy4ArCWSE6TnHD9OLORFN + nDjvkO2ya58ZNQYHvvdj5LxZBtjUageHaM8fE5DJEcHfc0o2PuoG6GG95pBk2CQjuOP1M6yTZNbq + 1jmtBc1pNyIO1WartFozF5kId1uA8kRfWOmOyTQRfThXA/u0piCONT4E2C06gJ/KifhhPyZ5ZTFU + rU9z83M5VMIksEV2r+iWlZQB7iV7H55VGuM2P5CnBT6wBzla9LgTJRZ5H1QUc1KLYW9KPrT7+qfz + sZ9htIEYwPDhPeNkG8X0TNFfGo/BX8TJwzt6qo6FmDqk8WSuXUKXVPrF5G8y7Y5WY5GVuj2lqdX9 + Mkkhya+ArkaDC+TzK7yi15SMPKYiw4Dxr3/q940hthMS8XnMr50Hu+MWJ6ayOgdPxcv+pBGyrqzB + Jt/V2KK8WlVL2+G030XStBBiLVT9lOniWHEgH+uPMkaYd9QI0stQ2R1NtOsA0htJ939gj0nw33Ua + IV1bcyEGepbNazBvPeJ4qhjdgAidodoJcVgaRORQvH2r8hRYYhxnlxx5maqHy/bF2paubqEzIkxI + pXAK6/uP9U5oQQJEHaosgGtnkOoiOLLYJucDQBgtw4kkMlbVeawV0e0kD2ca+oIJqQCrXpFBEg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8992d45e-d282-11e9-8799-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:29 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8992d45e-d282-11e9-8799-001a7dda7113 + x-ms-content-crc64: 3rU5EsPIbE8= + x-ms-request-id: 4102388e-b01e-002c-558f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + FptQr+XAMLWyawLtcEslPQsCAy9iWA/74qjoKC/BNngZLmmxkttlKpRe2bAVmvufo8Jnmyx6kGSt + oOX7ZjlAzdqgUkbYSrYUYud1MZveKXJJF1dkr42YbhmdUTt8Ic6WLzreDrBdQQO9BKvQM4ny5zrx + Jz2+ZuwEzSqOwlf5Stbu8tNc6Jm4amdhhZa1PrusRWGfVVaD3ISy4CygoPc1eV4WqbUa+MwaA/im + 5xwtOArw9LjOH0E0JzMHewjlRjlDctPYe7Qvu/et9dUwLJcUyNLHVg8LhGZE3egHQ6RpcbbTFaxI + 0/XBx4hBrsSTeHzxxmHaA6ZwTYZVIbQ00B4PSAImU0UjdbTBG4ifEfHUhWVQtXt9WynOCRqRZ6Gv + QvXUljgwTtfw5z4w6RiYs+MkALIAjq7eUncZw8wFCy2HU0J1FbgPmaHe3ONjf+iCXp4L4vRFa+Oe + E18mVxV7vaxvDPCxWTezLOJoMeVtoV2/8v4JuIUgBNauIVqlykpLWLA83GYVb7bdFUd52glORpo2 + 5AdUG1SqmSHz5/qIjRoL9SWc6EQX1PNRsw8A6kKFeciTRecxylqnPsWEao7A+g2U1ShpG82eULXJ + ++2AHZV4+dtgtvc9zVSzI7SP5scEtQNcMNEPdB/64CFbgi145uIpDg0v+LwtnfQOFEKS9vqzUXKO + OjgXSVvTdfMme06KAwfijG+vgnuukUU0JCERwedEeh2a2SFLNEvxwUIn+pqWzUrOv8bDZaq4w0gx + PFsaOyiYTF9QUI+CcEDqa53eb2u1sCviUF+y3f6oLzPviA3zbKdIUN1aeHLnSAcUk1fGcf2gTcYv + ayt/y9zxV3Sf0aDwEoWxufKtflu8CuhFeDbUAYCQWvTxhQ/sc51YB3v4CJzmWFi62bIT3eHfu8aY + ad+BixIhI5tdZshFzS5nh4h6UxvS2eByhnZUtYCj9/cPg721xKHMMpWZ9x6aOkGrWU1l7bD94is9 + 1xT9Tn4HY5C7xVuP1h6J22qcEVJnYqEmRO/lLbR65wJ4rS/XSLX3CEMa3QFre/veQjjuHkVisLrr + 66z5LLEAgbaZJAtbJnLL59tG3pOMJkdg8zaTtHFhgmqjPUk+CzMJr9aeafipxCqJGuwrPPpB7dfK + SwzZOu4enJR9/lrggguouLVX68xdJquWgXkaKLJp455wrdWs4HaNMqo1hY72ZCQPPJxz67qgVUny + aaOmJXmRe1nCG1CRP4Yq4b/SVrzR3gq7D0G4J18WkUbgmLF5hqV8UNnkZC6qpTysGOcTAOWFUojL + 3z2dadr6TeP9dW4wD8OtnL3Q2HXDlNQszkgVT69Bzfr8XGlgKOejGD7tw/73+PDGe/Br5Lxaeg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 89a1c0c0-d282-11e9-9d67-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 89a1c0c0-d282-11e9-9d67-001a7dda7113 + x-ms-content-crc64: ZH2sQUGZkS8= + x-ms-request-id: 4102388f-b01e-002c-568f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 60pdWUrrvD/ViEF1lc1AeymFksXoFvPRPymnipAUeuNgNYQOqo9UHTIksgcxGxVsoNbKlRJpRrBK + yp0eVblghUyvyDuCSlfxt2gD93uDV06+OTDLxDwbH/h+MrXDDmPmzZ6uUU9G3G5Y5EOpYmniAQW1 + WFP9LylqKjuVJ4xR+ZctozoRhaBeiHEQPywXQnEyrnJUYXeqlyJr93+SKpQM5dYt+Z4NYAX3Yxox + OuXSZImIKwL0Tz18P1UIFoHh3OdxPDQkRrkq7Qnl6vsIvkHOdANZjrimgFpy8G4mrtI3Blm81ncD + QHtbxL78X/R3FC2nDF7Q/YtnwhETamp+7rJLwxikAMWcGYVgeALIN21sRRNi/tl+aSfGI9HQw+Qw + ysEbFVBoz7OX+WLu0BFdqO7nlK5g9Q4P9Hg85/x3qJRAFZapaPgnNQZ9cNOj1OqhkoIGgVmQnqJZ + 3LEEmlSmipJyHSbaVEVHnfN2qaY4JBIQizZdV8UM9vMTR48GmN0TZEu2wUdtpEI4x2P9j7yLxbiC + mL1vfrs4nou6JSyb5X4VOfHZa2uogmEoPYhL0GxUUtXTY0rMAKZJuCs3Dz9CQltLjC33LItlIl2b + ZoMppWIx3QYuxyIyK+yXBYFRo5dQItkdBdpLVGoijrhJ692XatBaFCm9siifcInjI+LFwAjswiZk + I5lN3eqbBOX4U6BHLSn5I7blp5dPtQvUbzwyqN+6LWVjkm5oSCPD0k5h8x/uVoJvdhiJNxalpzMD + 5IFyWuHR3B8QfsFcDgwdmlb1ZIc+8LzwTU+pEzhRl7SLaQCy0xp6CTzDxDRn7gt2PjnlfdnircYK + 7tipXIGd46tEqgN7zZpTVRj8kIMA3pynARBVmkz0a0V+ACad+mb0SuUrjKmNe+WIFIvtr71WdxOE + zXbzaK7Xo1lGF1NN4K2F/g+BbA92KY0fChfMnpn6dsevNuFIJg28qJMxQQiGGT2KOJ333z5NIRxJ + 6AVFTvJht6iSB7GcqAXqiRntporxZYKYPhGkQQD+B9ML6FRpVl5IdBsL8OS1ddE8xkcZnczyPtm1 + u+IKvN5kPN1wvIzkTzYROWDVVWGTr8BI14MVKKtJS0HvqmwApSsSVgxat2uiBPLKkCVH1YXr+2N6 + MXBEVBENSCqEeUG7ALhKGlFoL2IofMImkbufLA+xX3wIWhqWaLvklsnFIXHDdgV663XxT9Gaz55O + EwpdoE5WYO+bl/i+egXueIOIYw43sj/nPOs2vPVjP8gk8vIjNT1PeoS/FZhE41oKqi68Dd8dbJRt + oxscsxQOjjsddlYgQ2aI38UNa3zffbSjzIw1GptIxoXXfRVi5n+9A0NPXArxJpXc0zbPUn9I1Q== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 89b0df1a-d282-11e9-bc2e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 89b0df1a-d282-11e9-bc2e-001a7dda7113 + x-ms-content-crc64: DRLSmoumPW0= + x-ms-request-id: 41023892-b01e-002c-598f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + H0jREaqnI4dkqphImd/r4n+JRPIshvfaag4khIw9qm++8Xy8u91DJmr40Ya5MHfIZpwioCSgX1UO + KKzQbcuzeKfEfHbZtqPLSwOmg4LGmgL3dl/XPFWrQn1SqHWR+edMizVSw1Bc3cuQoUYGn9JZsoRH + tz0+KraRm/G0AfS5H/HbQEVFtIZ52i6pGyJY4Ci5B86rSMWpOdPxXLri+8+d/j2NiIos6E8eBteA + F/kzV4k5GYOSpzkYzKtRke51MpIk4x2mhVuLNjwez5E6VBKt5CQnMxMVcAGu2cEH0pQYwp8zP71M + RmO4ISeGFsAN4CJWhLZa5z0M3aXi7gKPfRXf/CV902WFSfa2T4Xcu1AVqvLwNG2981mBs/dKHBGu + N2DQZ3aELEO/PVIP6myoptB39qiMNaMDNUS9/A9cytbuA09JOmOVLjVUeengcEW2bLfyJCCgoGIn + OezQP1Wg2j0D+bqgBAXHE/eDUu43K6WOx2hmMtcfzIFMdjOdb/SUPn9JahhYxifQEz2MZyYGK9FH + f/SR0tBRJZiaLHrMwZ+n1OBxkUSeRyy3aTlpe6mbp242Rs7SnhWcVtSPKmZQTDjT4BvdYZ4fE21b + I0c14q4arcm1Sn58KI0l9Q8uQXScHD/ZZ7q97/deJBd+uGn6ohTpoOGCgjHfSxKuNXy5iOI3v2Wd + w1u/7Jm2zTLf1J88rLDWAV3oltQs9Q+JvXWjC+uRKne0STLF+mgBvWMRnjJf/XCBK/2tOc7tp3sG + nMGLxHBbJb1fEuMCbH9B6GYqT/nEh/SlZzYwDFd50aDFOOTGYXIQu1loIvixLNdGtx3WHn/jApOR + z99sQ7QiHRgcg/WT2pqw+uOcYXaY9fSc0kO0QO6RHCXa0bFuOC775CGQGYusy651/T84tDphpoHN + W19KGBGi31p0UEsXO4w7xaJ2UMdwLb1i4hXvYuayUq0UfC2CrOt3qC0lO1o/eoANnrlXsRCQ/ia1 + LZ5XolJ/3QZ+h9GDy03+qj0qXJfAelvenhNiOAbEiasXg5CEVUbhJ7x1QSTuu4Id0NhOiBOr9c3m + A0RhDBIUot9CByepM7zdaBLgLi2QZTQLVUq4tZWIpi6VVe9zcMV+na2hndCQue1kPnwe82LN581t + JUAbbLPHeS1mdDZcSHWmU4gZTRWxT1g4R9mA8BPyEtZpI4wWH5MMyVE0mHMyLoDXupZf/j3j6VU7 + H1UzMncUmKcMykTfkfNin1LitON0IVVqka/uYAjZ4ukdeXhKqhqZ7gJlIhxk2qs6y55TSsKLOsqt + PiKCTLgEQPOiPVhcZSI5hoHMseNl2LZbjnDq7/j7bZanfXfI1dnMXdFYPYu+VaBQtH0UhgCyKg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 89bf048a-d282-11e9-9c12-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 89bf048a-d282-11e9-9c12-001a7dda7113 + x-ms-content-crc64: K9+zF9Q+RVQ= + x-ms-request-id: 41023894-b01e-002c-5b8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 0U6Kp6njrqK/tEgHdeF0StXVxqM6n13uttJIoKSxMxz9AKNT62FDiT99q+PRSRdbqzRAfg1rz+Vr + IkErHjpi644jetj+jW3z7Ilzy7tWHgV8GlLQVP3qWaMkHP63s8G1nqX7tptOSkKi2inmC4U9jpUf + NL3wL8TfTJ9cvSK7TDwmzFpgJc+mVlq9udIfhlzBfo5YjJocURYW6Wr21qo7MqcNLAXT9FSxR/37 + YJWCVziB5A3febVgqrclTI5oMLuLnCbli2VfkqCx/MxJ8ArkwLZ7xKUP9K8Zj54xRnzmH0uZqy02 + h45TfBh8KfkEFPr9pCJtDzcVOZo+V2FYr+xpv07V6CMmWReVBIs4+JE04QM51rzxWrK1awrBwn/z + vaKeDMBwFj/8Vft+Ad+rLdAO0jOnAug6o+0AbnTs8sK2SlQlIleZ3Qg6zN1efCMAZX8Hz+QLdLuX + 3xMEtTb646OhmE2sD+pSyHqfi4+r3mSTl3skubLw+3f5jJND4YvouHFQcRBxSqSZJe0HAQGOvyRp + jZ1OYa++Ma+Gdzu1Y6CoTLPu0hI7YXKiw7AhN4nRRPDFNB6M91hynF+b37X6CuNIKELNS1znXVwq + QtYbW8hltfxEnqPx5FYznQEOJITwiCvQHfs+bba4bT6gQB41wqm0tzvl9pmawJ1DTNHfR4ct9rZ2 + pVsWBGfG5Sibme2cPru+C5GI6YSb1zIZw14JER0zl4NBZ3xvtJNDvoCYYr22UYfvqv1ZwD9V/WLZ + 8qTc/AQQn9V89yQ3b0Yff0TP79HhaSKgwY1M9YGNGiucQA+IUmrIhQcaDKAsLrQK0XqXEWso4esO + tvNZBvtPXiisCeEXewaxJI4MnLMyW10UD1oRL7oytVz33L4N7QuajwiYprpvh5vurrAqDc/21bTV + 91M78/pnrPsdRBdbLKeCrAX2X4ZWKG0KHC7gvPb6Ots6d6sSEt12yA3Y7ZX4aOtLfOJLNaxnnSko + YY+FJ+4DRJ32wKVYmjzS8OdRGG35ePXYLus1AE5DpBN2RJBF/fUqtM9hlalMVJnL3PtGs0u6Y/Io + t9n5NOXW0oqsEF1fkAQbAI49TaUS79+r83UXNJh9s2HitiNm3azWuNGNdW69Ac1q+gb1v8HEBrGX + NLkEV1pFIfSBPpq2apz26wBP5luHkiLObqfn4y2hIFMQAQoJxO/zofvryWtyf+G9fkkScX+Hlvw1 + gGfzxDw4+3q+LbwHb8Xw1ivlhdC4h6KFGJLEOGX6o+oep9GXJXYPbOLlrlCGxJoxxD5nzLqWGEwX + dZFLYi9iuJ/Lnh3KvcHTl5Iy3n0B/ippdu/WzdXHztY5Uib7PnyKiQ+Aw+JdxtzaDB3LU8xwaA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 89cd0698-d282-11e9-be1c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 89cd0698-d282-11e9-be1c-001a7dda7113 + x-ms-content-crc64: XNewH07we5E= + x-ms-request-id: 41023896-b01e-002c-5c8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + RqLehg0eoK3xpkJSA9CW0GqSeI+iLAhLatbGHa0UUZLmKeFK1N8/uig6K0tvqUAx+GsrmlSKLCAf + LdXDTn4nICbqqUzOQ17MAQWcPnFaycG+kMAXeU2hj/dDa/oobRlSdZZpkz06cZsmryZbvSlaMBzW + 2DasL6rnGYAc5q/hDR3qIKb7trTZU4uIBGZkV5ozH2O6OcaLeRH1LlWEiZy4YCFsbvbjtooRLkNz + C/r26hmBjyGdvVLWpczN2OsG5Z53O0LcHzvDLHjx+MZzK/aHZQNPkmdXJ9UVinoTY5pQUgGT/Icq + djtPmkXVpCu/IDnjBL1RNRgF52oblvGH90pNBWoC+PSomCxf/OSusQpqMOuCiDFeQiW0hziqF4WL + p1ggG/DdUtIj+/51ZABn67qsvr3iw6wcOq8rK4b30HIcqyEb4htLWCAFZ6L4JhpUWhjTdngv6im+ + vLJapa8Lg4NGbkWmH+qb61xF02kmCp+AKPyN+iZETrbrsRBTmmMAJE4BEyEZb99hcHuwfH3k5pwV + 2FZxzYQFC8h4UE/euu1XYpHwc8cXdpxUCTXK/ZwaZdvW6ffgFZaLAM4m4CDyQn3RqDMIoj/xpr5d + zhxhugD9UOvTIEjL+Fuky6sjU9r1a50rI+zpuc11G9P73eWyO20E2nPd5drSbKFZ4xuUsixeYsM5 + YTQyGOID1AE8y44UH4MRWaxtdPwSr79DolYtW/Fyp7blyZZpz066a4a0eUbgny3r0z6djlCSg/Sg + /v4x9OMvDSBNQnAoT/2PlF7Z2DtmWwbcfdloQlhe/btK6hbWifYRbKMp5aO18sO2/I0pLzsp18FL + NvJFs0rAC3mw5Sa77tZdlTNn3ZWE4KNCwD7OHNaq3a9bMvKvq/1sLtIDQAbRmdVJTZ/6LiEp9hKU + itBQrJTUdesMKOjjXTPaKW55ObDYVHR3VBv38TtXzrtNtT3979DnI1QvmQrqGHyzn/odjzdY0HkT + ePnDJr60wGJkESF2oXp46zjnxjnfb+UfMXu3UndFKjjDhaqSkPcA98q1gF/AUiXusgJcHoZatig/ + VNlYrKGAmksvxgEAM0DYPuGGMRuZGlEm09aGpfQrH9Otbbd5okLkDngzsvUoVxkGiulvfkJ0f9ac + D/zNnZU5oSj6sr7wLfXuyVO7D73FbD7TCVEUx4emDFBtTTtqNjMS/pwFYrvJsY1jts6sDCfI6eR4 + 2i54JAL9yBL91i8r6xEk3e6NIm6VRtdPu+x3lfZdAJj2hUWZzRQyiWg8jTE3ZLbRfZNdrHgItvXb + n/mRGEaDBd3YY+q51SU8mBdpDiqlf7nBaok5sSC26Wiz+EKtmwYZ+8AWUcSFjzO8Al5CEDzVIQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 89dafe94-d282-11e9-91f5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 89dafe94-d282-11e9-91f5-001a7dda7113 + x-ms-content-crc64: ERf+hjnQXHs= + x-ms-request-id: 41023897-b01e-002c-5d8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + vRCRXeMiF2FGrTe/5GITj1L2pxjA0PqkqcBDDI0MmtWYpgpR2dy3dIUYwsvOgMLuDc8MPiH4dDxy + O0yRfhi5ojrhOgj2vnFahnfTwqGdNFYAwnEh6hVas/ZpCqe3Z+s0E5pFhMngtLmDSdn0r6YFG4ZC + DWPXgrO36jceNnJgQu8b40AkRfb34gjnYKKXQwj8XQL0P1jV3Fx5XDxrcKnFF5QGpthp5HUDWa/a + 75tbhfH9sM4DYKvtNiVSuaTgP6AZrRE8RZLBgU90lK3TjwO0wNXgmWbz+6z0HkLiHZ5y44/RI4Ld + Kr0+By1ewIr20agvKpj8OtbC5Kqy6alfk3LMqFBR0qDPGdr1pZT8xUwvGEmpacMI6EwV6ZVeA6HE + B3/k4lGnPoPA3UOML0iyhhlFnyDqbnXVS3/xSTqj4ntgYXdHOad8vTz4sfsQ9CZlcZxQxLY4jWyQ + CepA9S3dUoGGY2KIdoJrNa1F8T7EJ832FeM1nCr2vohPbgY35TwFhHvV7jrIUhAx2V8Rd0zKDcWh + YZjS5toT+quvmkJSFCka05IamtEiQ5RmE7k/DCsOnpn+cEM1NJx71UuF5RcL9Vk0BTv3WnuHUQAZ + IdXhGxoT0eu4T6GIhNGkYz2VcsxqSOnD9+bjbAuF5nSDqWtnAw8lvO+Bfx+5IHkFOiiNlOmdjARl + Hal3kZ3mCu21he0bMNzMXy1cJNSQBAZmzboU0KMr+MHAei+Micjtn0vqWo1KNR4Iqowwkm/CgjL5 + E3hV1FggbEETSAK8P1GePDBUaTLHmkAhe3l2V/4lxxFzRwqr0wA8ZmmB4lBewte7RiO9IwcR4JCZ + KKWLa1FJWqq0I3A4C8j8xgchTEiAdsXlTBJ2TOF5W4mlZemv9MxebPA07TxLwy9K14s+aYmPWzOP + L752xNnsBKsnkpyqvHjHn0kZcRtnuzJHhu+XeiDlAc81McQq098KwjNbbcNlTEn22gpy7bEpCSWt + hWvB0B1IET6lmNXGMdepdu7dvRFwrOSW2BFaqunXQYSqrX5bc2mG6jsT445A/HxvL9/sLxuyyVYD + ElFD61Coz8nsS+2HS8WOSvHQGVQefyUnVTJJhYaKmeA3CJiJyluRZZNwXFj0qKfEKSDHc71l3Y3u + zF+Rga53F06ztLzCWHroREZacFLj+IRl0F7XpF9wv1Msn14/7F79GS52zl8uyAcNOsPyCOuZ+/x4 + Q7NkNSm+zXWb9r4Te3NjzGupOSybEk5sAZUv3pWRSNKrHChvjQPDWMGOWpzjFRFKPUw73VmWO44b + 4CiUzEr3+AQxMSm3tvobhIvtcvcDTdP3YyS/BW9Bc4BA8WrN6UATdZr9BYafr/mKpr987AiYfA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 89e84c98-d282-11e9-84b0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 89e84c98-d282-11e9-84b0-001a7dda7113 + x-ms-content-crc64: UA7tVLnajc4= + x-ms-request-id: 41023898-b01e-002c-5e8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + I9AmScxo8BIwh7I5vKxpdqiHX6T7bdrcY2yM3s0X3zV1ocFHCzQcgJ7aK+CjEh6KE0vWV27q5EOH + /uvNL38WnpISeC2QSDvNoATFzCjQinPUjR9ikPCy1MwSL/56ALEmBADoUMNdBONOP/UGuMGoyfMw + 67P7rVFkCl4D94tu+lwvbS3bHHN10FWVfefQ+5ErnZxmwEoz0xZl8iJoW/WcGQWrwCgLU8+ccaoT + SJnAEMm14yK+ubvlqr0R+PBlTjt6YkMRcUfCdzMj4sNcJ7Fqr6y+8kxqdVBSL7MGW0o9Y29hHbaM + LNL4l7bz9HyBulfXmKyPIQQ/ndOEIYccgcm8varJDQaXs9xURhHKPUwrcT4U6L3JT2G23L76kJMs + mgbKvGpCqmKaxLYx27t82Buh5Q8wyqgqveKusgT58rDYplrBSgQgZ3UOsmLG4QdwNSWwtmMHma/2 + mALGm6fW/UV5Kl9Z0kTURMU0bAGaUNGw7dVJXddfCkiZOY2mdI/1sonvs4eAjS/7Ig4bCrychZq8 + cSTUgqm2H9KSO3qkJeMDTv3NxpVCKbbZ5GYj7KFiRxdSzntrmDAUuE7OgIMfLhlf9YVseDTehn7t + yHh+X8VWKRY+FM2D87wju/xRnFHW26SiPbmC4vDfPMUlt7RAcV7SMZBPPDoLSxJTUoeCrMjJVi8n + 2pBXamcCa1p5e8vbhi5uRTnmoD0v1moFyb1k9I7UTR5ndX4KwoSc4JUeyTexJi7I7vJlYu6rZlfC + +NKuUqlQ61jIZNwJuRpCh3q4nIcRh8ZTUB7Y/ScgIYrNQYP3GF4v+xutKfaNfxNMeJB1y1ZmD1AR + puhFXqiROLpFIld5Ui+yG5DUtqJ6QaztFJcZ67w06iMex4uML2l0gu3gWTsSKqWXIsJmRzSmbrXs + FIg9tXmhoS3Ft5ms7S6pPn+0ekiCrDEwL3F7CtQsDqfGyH6U1sgYl32OdVO2ubcAu+4inbHgP93s + IcSxXtEpRSMbSnKIQygYs4oc5srg1jiV+47G1nSjENHGdAsJEV1SQLeAgcI4OrgQkjjDH5cmSpJn + A18JPiKOV0yUIHb1/gdaDygKf3tlyr95nSSLOg0vALhlGUA1cTZOxKAbytC3bHCj2r5XMhQfPuqX + Qvr7F08qwKm+A3Vd0oeKgvQmHs4Zqg0MkN3lpwSj6J8ZyugtpaqGInEfLx5ey8U4iCy5q2zvkgSU + qWAJjsVQCmv+9PonpR/ClC8W1CFhH+e0D/D5qLNFaXifeJzGe3E1jV7AvPezHX5a8FxI8fP1CsC9 + ctepruBEb7aEeNOHgj7hP1h9OMeO6xUUaNmt3bm69RzRXEgmd9q0lkZ0Pj9U3pj7+7WLMDcpyg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 89f65b76-d282-11e9-a76a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 89f65b76-d282-11e9-a76a-001a7dda7113 + x-ms-content-crc64: vOkLGgvH/ZQ= + x-ms-request-id: 41023899-b01e-002c-5f8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + mb9muBSz6REQswBan8l/Ovt6advVcqPuKhjfofWOUI/GDShR4z+PY2rq+Vz2UjXJBmfPxZ8Uh9NB + ElZV443bU41gSRYdGnv9YxA31rlVbgMR6y3N8W7bW+llbt8FcerypiIU2cvRGDMdKtol7m8LUc4z + egiayVpBHSHPPKkBS4HOyj2zS0o9AnjpEg4lKvSlsihV2UZVI23x3k7R0VGxJMBXelTo5og3rj2S + O00//MnEJGzQ2ibVzIvYEa/49ndOjhiMcDddkrgz3nvXVHdHXqKSJTLQ6uqzEV6rjdYGK2/D5J48 + WzrAGCWplPWVw/sdaj93zHqtvezsMkIgA+pEG3PglWqKukLZXJ561JDB5XsEE2fy5LRJ+2yT4auw + zrjO2CyaKFfH17qh5KibMwmNuCADBrBnhXAjT4XY1mNt4r3g1wNhdxSrJzwp528gLE2rTU47+px1 + jN0noyNYZZ/xaT1uCGSBiKUGhzOngcy2InKTsc6TXdPHAbqi1jrgIm0vPCJnKoxT175qhAGOkPI+ + gUOJUi2H051Wo3qAGfSbh0Eb/UFJUWXUKNvhtkDYDkKeO0XR3ljwsEz0u7eMzAKkN9kNyoHkvYGk + hvdde5K3VNNpMLjOa2UHgX9JsNPh/SyjxggggU3HW/mGfKYu+2oqBETk/HdnrSqh+bCvZkJ2ApXY + /tgDcsYRLI0uAK1FiiZWTXhxBD8MSMQoQkrindOfKwU0vpfSTbNIBCMjFDIzb68C7mcqnKCBq5p5 + wpC9nZdhYdyasgrVuqZCnmOvV6S2CGydilkYVR14EzFnpLSUVr9bmzU7S8vxXeQfZfX2CdAQfs2i + vAG6il8XpV73zPDN0Nc4JjU03+F6RMRYXFhTWJXPHL4xbsbOSFOJBCpTLQxqFV2Ko7WTnBUFxDJE + hoYI8DK/qz3izony3SP6Sl3IB9hBbYvxG+4D8SFbMLyHnovBRag3uY/1Py7GME76WRygNpfMS5s1 + 09DBHyS4lMl2lFlBiJqt6Bn0awQ6lVzss9hrOOrY5LvAQx7kLQJLssnsO9BX+lMJGZWHjvhsV0zK + kuu94eZxl1aETbt5bzhfeNep5XQvtVUQudVEAt9TT1qTWO48c6wJmI7ZbPeRRtp2uVYheRKsgQL4 + NtRr1KEe2L46RvNoeLSuW4gVlAxvFH5kFzMSLY6FL/ODB+GCBqUXBfTKNgOE2gL6iqPWO6w8konn + I5+oRNDoWczKBoR3VJ1RomWoD+6SkoK3jzaV3A+FntVF2UoU/GGl5YJR5Dr2KDfRu9Pspw/TUDrM + EUxFqlxZp+KKmAa/uQL9TJPQ/ESUrHXoYQJ/cYXIXpB9Fc1kxJnFDrSKc3fjDgNiVOG+L/v0KQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8a065d1e-d282-11e9-9600-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8a065d1e-d282-11e9-9600-001a7dda7113 + x-ms-content-crc64: Tmkk5nI9FNM= + x-ms-request-id: 4102389c-b01e-002c-628f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + unKOI0d8Prj1yXLf6bIPXzKPx7bcEKGVhYfannUXlEUg6G/eaJUvufzJFBW28xL4tCu9+eJoXAgI + p+dGU/6lZRMfHJrnhd0JbnInCHcl4T9KgFvF289amox6U99JPHoTYN1iQazj7rG8yJy8B9yfdpHu + TA04xlquoymclh5wpUpv4na8pe7QGEShu3JViIYR8Ql87wBAEFTwpSCQ6xxpgjPPfm5xI3TbZE0w + kMhyROs2p9RKx/OKXlwFkckLaQhvVQmy9agZ7y8RJYYfvIKPkllg0Bd2T1bBN6wbRLYKocdbJWiN + E2QjVK/Q7ZjfYVu8/tdQd9HzZxC5QmydKWqMCjPjIl85PWaGgHZssJjttw2ITr8LHCBBttESxyFd + 3dfQosZJHhxGEkml9GG+YRKQZDt5PE8539nwsdKGp0WbCOo4fnl+CziZL0h3CwOmC4LOgoCVo4pz + kkRIUbBzsfoS1QLr7cXVVcbgb3ntGOpiRbHp/mxErV7HUH0fRBHA7piv5FK3WVLLN3ufmfMeCM0w + 7+z09YDos0mh/kkiWBcnNAK4kTn0cbGY7/67LYnUwTmoYSO3Z1u8cp8mg7DQ8VZbmt7KV842aU80 + DJzTEA4Vyj/lp3W2cVC4c6u6zHOYy3nSSj8tkVS2jSwuJj75Ajplg22rC6/ihZj3p27kdnBqmF06 + CRXM9bmODOMVZRJQfgCQoPegBonS3stv4N2VICDnZ7Iy2/M8v5wjHAEV9/cTmNOhCmVvtVQPPUJn + GaZZKkDIRqG3R1y+7/e3Dz0L7tvyboicWeLoK8AEyS5h2oajYYN0/OxlNqg+xWG2r5G+cedespnS + HtArhxBD37axIVp8yimOZXio3bMmh+fkryTuJMP3AxyUXmMFdFUllPoAvv1bmbMyeWTGP0sBjMLx + /a71bKREptXLSiaaBlWUG1fjjdK/rpL6HCqBj6/XQYZuUsATsHxlzTBsQ49Bl4lpJXJYu4oQ8Y2R + glUsNOMqKa0wA1iDX60Zsr13bdLDXheNgAohs4/aV2HQc3HyYFeDSyXwHZ6G/aSJuTguvbUVe4ui + Gc48Ky88HvKK3GD522mByqIg3XDLEFpl4DaksfCjlAgk7HM7ah14qLxmM1eBj+MCcdsat6Pub53J + VVOAMkIvHiZmn5bzln85fRmS50VafFK7L9bDROKUytVcSsI8MdEhrAkm6t81palFEPlWRQLq/hef + kq3IJcWrTlMRI3TXNypUhRi8kaZJmJbl1jiCgQIzFUwOEZye+9xSYAJCnMBS0UccL2h5qQIfI5Xc + lGdtys7b80w+VZhCxPzdYtADrDV5rpfUZ9TK0jihCLkNbBDVvI7EVzNnBe6GJBSaUwn9h0oMSQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8a1482ee-d282-11e9-8f1d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8a1482ee-d282-11e9-8f1d-001a7dda7113 + x-ms-content-crc64: Et8beurhxAc= + x-ms-request-id: 4102389e-b01e-002c-648f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + IEU03/7wJR/eG+XLAYJ+ML/qxc2Z5sqBVJkPPVVgJ4FnvslAA+BhXWAAQo0q7r20WDcMzo6y2+RR + /DFGlc4lrSZU8vKNHBv+U+rD/Ar3KuFnOp5H9epiu49ZEf3Rcv5VS2X7DuWH+PWvHuoGud9NwFZ1 + Ckv+D93a27hU3Z+tO3ngO/1rjt2M/tl32L3v38R7nB1aW4kKgbFSKnryOFIGpxh1Bvg4SVR+gyEc + m3cZW0daDiGCbAd5tP4cHa2xWOUdXSlUEnUERS04nM3EBRYtZhmAezWUWE9G6GA6rLb9PxENbrFv + Yo6z/ZtibIuSlhGRGtnsypLq/LACnA354rwZDVD8cmTk5fINMDS2/IOqJWw6tgL4CxGaHqo/zFCh + 4aVggPFPtXuFWWmi6WF4ujqOKtaUsfJAO74+omkUZquHKy58UwcYI49KqZ0HqwT6sYLTgyK9KiOu + q/wmXcVlCOQtxg17RDFlaYC+SUsuKODnleFrfA/wc4ByYzClyNxj10fTcH3dkCiIOyg2091voQUf + HkIrexE5FY/i8ojUlxauAWD+kFPNt5cXrizQ+R3C9CAH5F3cEhPf/HIucDHZQOlh+Ho7US4O97So + BqSJ/m0e4pp5oPpfpfIQqjGY4ZdRKYPQCf6B+4BqGEzSQwFK99TzAwMPPaKPffhKZtqXrJSd5c1J + i5nx0Y3K2pkILIMvknqBAjTskt7Sz4poRc8d6orNleyp1eQZI5MXR4H4Erhqrd0N0sfYWyYVy3ws + 7LjSirCzpgLlK5CCz5px7muVu2u2ZR9s84tgmrCiHxqsAgvxrsLypqpREhtFn3hhtcBKB73oR+JZ + OEKSUNoSZHjtuxoRHjW6r1lv82+Yxnb5l0+BKwNZEqrk7Vi6g1oaIsdaUkn3310zqZtBX4ko0cO9 + W0ANWM/wD+BIOD9twA8hqrcwx2+DLzlLHTG67nV64EcxyyxZl/pQtJ/3x4QhPCxG6umlAkV1oJgr + GxgWNyH1hG7rLsGQKBQTKOgAejGwbQtzk9ghog8xuAa0p3crZiwfuj/uJPdRGSB/eCJ7tY4e3qoX + tHku83ltmjSJ0K6CiL1D0v1LBr1WqK+V5E/xLgZCP0QAfGwUsC+WEUbKSwLQZ9MRUkVI6sgMNvis + FHgw1ItzUnFCEpKJhG+MmArayFeesR40OhlLDGqZHHr6cLzqlfUbQ+ybRkm6UEreIHDaDOU2c10l + VQLEsDug+4qOUpolGkOiWQ1q4e8EK/KGvmRxVbkJ9XYyPkfmTykA6c4pgCem7U/MoOi3jA/vKdP4 + cpwDvklBNHimtwlBkYXRfLw5V5Wl/i8FAYkqZKhtxUrLTia0uvNishkYhyxEzxKBCT2RL4L8rg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8a235efe-d282-11e9-b05c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8a235efe-d282-11e9-b05c-001a7dda7113 + x-ms-content-crc64: HpmDBV0bdmA= + x-ms-request-id: 4102389f-b01e-002c-658f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + Q0RxShzbLkHCI0HnNaRI5cw9A9pLvhBX/mvDpWj1G10jN7Y8gRpAq+ROOR+t1214p0sXJrCDgPS6 + bJmM/A2bFMMmNl9RYYNCJUL6aERU0eTd/LNUKIqgTJZAOky09aEkqj3HfX+QR87ipS362RFsM28Q + iLLeU1/NcMrZb+tAa14MUG/cswliDpbNqy6EeTecJrg7MWxhRvQkWMNIgOpofxH5jqnDy5hDk4SU + nulmrcXjxnOcPaBMtbhZDIfGvfZeW4Tqpo483Xs7KYy0hAoR/jL5m6lZCMns0Zv0rvrZe+nYkVST + 3Ceu0Mp7dTLuwyjNl5IQA8IzK7ZH3NlpuHF5jU5XVgiGBORE7QzLpgizBabiFyCXY/6PxNbKn5Nx + Q17IzJcSQch7mJ7jc3Gzuh2/M26w+1aGL6q3dw6xQe6MgaHj7AWoxm+rsfxnZfs4eGA3MJ5tyizc + cYGsFelX1CDSEkCAnCmRpT7t1g2rcB7eJdaHBfuaSgQp3ocX4/FQoHvdOG+RlJZfBMqfUGFMi3jW + 1T5S22eKwGFFrs8bdUjdbGVE1TgwCfMlmlqzYdFbm7wMxwc2dXCaCK0Frrht+hLA5w4utF9ryp9I + YhJSRtrMlFVeVk6jU1kv+nTnWdkxLiqUFSlXzGBNrPUIbB0RjILPbA4+jXS1lg2YVuZSYAhRv75C + 5PQyok8WN8risU6CBOAAtrPleZzDfOtaSwpKOGy24QFGBmsGJ3P53zenMaZEP7YZkEt6dlKZ7W9S + kJ5GZJivhzwG58Q+dQwE30dcRJIW7Jb+bFcAieHwNEfRU/ex/tURu0QFy8uanZ+IYtABj9sgR+2H + UnT0XHxKOxa6ShQDDznbihRvTnMaDaBR0ZoNqzbHm6BMyUKntSaDUqvl83mve4mmKwcCv7S1ds9d + 3B3TOjym/Gw1b6rN/jaZyyBkNji46SNbgJ/khl3XpAxK9mAhicNrHvHiNb1M+uyn+0vAIR4OQMfF + ZnsPj1VpNEc4lQXhCcNrmxN2y+OFLvc+s/bbkFln1zEjzJBqs52+Gg/ubztiZqnbWn7i9rrPHv5F + 8Y+t21ChJ4sU2IwLudGApksCDLFagdiInY+DmGZucMp8KVuqUFvPF7iRNzWoAIQ5rx7aVTqMlyIv + muv5zUU0ofyC3WrlB3wCQXnGhCzlg116gDxeSugUgMkB3kgVo+urgPbSenOyxbVya5WwVXxdJGBr + aV/5Uet1RT5YyG1slbknVCmZLBpgIu/upEIqTIgS/Umhim8BiMmC7i7hdmv+r2LjdmYoR5BG5CJ/ + ++IF8wUQ2zFG76EdbWFUnc0QdSu2zoyLg8YuFaSvBtkSbbgHQ1IrqZSux6hVwgFhx2kekrHNSA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8a31dee4-d282-11e9-b9b9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8a31dee4-d282-11e9-b9b9-001a7dda7113 + x-ms-content-crc64: oKXOjMUOQY0= + x-ms-request-id: 410238a1-b01e-002c-678f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + m4HFGsiSEMW3xQaFwdTFeLK4AjGdVR6boFQq6AWqrCGjKGuPY/BGAAE9reSyUauT8U0SXrXi6Oud + qc19Qlpj5jcGn6hHS6jDuw/Mi8xa4GNRbKR9f5Al0UNd7fZk0Bz5vym9HhAvfLiaR2tWIeq28+4i + mvTwoKE1Q5nWkmoTQC3lkcFuibXUBf3VMAjEiBkjvDwNQ9hQchGrGXMQFh0YYhtL2U4dx/EGowVW + H43T2zie/dXuHtVT0KE1Q7fdhBiMk3mZ0bmbjKKxXHFY4tMAlXAJf+AZ4LrM56ZGCB3SQW/TTNwH + kflAlqUcpT2lfd1hivRixXFDrC2/yh4Dt51Sxco7a87iQVW2VEl3QKgSN0fOgoRdpesZWxHALMtv + 44O7NobIKqf7Xrflgm2JTIFepCmrWYFb2UGnH5r0tl3bxmrdv45YKCGu5zCV27OscoXWzmSNZp8G + y+dp3iLT0Ts05VdEPty9JKFwtuEzZa7OzPoBaeqdhkk5+l9qY/jQNJHPuLWDb4alw0xBCrxQFzgB + t7ttHOKNpC/Z+iRvgJjqNnZfGVpxBNHy1cu5IvWS95iUcQK5X0ApkC+MRQeDGc07VomZXwH6AkA7 + 3vmCrEeAn7L6uob0Y8LUVPOflSIcTcwLs/YLFTdgz7voUvtM9z07pssPXcepjz2i25sg1SJiuD5h + YrZYG1yib0bhJ8q9OC7ki2I+OFG7oeamU1hdlu0lkn6WrpnGVr6GuWL7ItBafi/N75elSifZOGbv + mZGd6SNVf0osuS1qkBo6ZxZ4Bap5801rC2dwFMpSeaQlbSQEI+JNPlqdtB6h1QcXdCQPhQZDd4RQ + Fzxp9zBWmwGQJtNXzM+CvBd1QrvEI5sDFJEe8TqbC6bl0stkRnKNuRPhkxbVPGL4wQXI0L233vKh + VQZRzdkbOsFyc6lbgFyLkkgX1Cm+eJHJiUf6relfvjl1h9ot/JMPueLoTui2XcdzKbptqwz+CBY2 + yJQ3zwfLxhsvFYqWcRcfqnarLEh3+iWsl6+8I30Do1SLGnYsVSIfnwO9dP4McKlxv8QXaULnSFLX + mNyRBUA/4HeJKShlIwznaRi8PAbW6eI4vPRY45HI4fRvXZzzZnJwMA740eKAkKgPFksNBfm3uvmM + Mg+gJTwzTwxTMJNVQCzGargwUJSYae6ZwrWUJCGVARMCGwW6qRE++UZGdijpKcyJzCcvW3NeoBYr + xc9bsOQ0KAANM9/NCNWktIf63GitM3ITtOmSR7hBzgyh18RRVHD8W4bCNaIx4dVlL4O88ypdPwmK + NGSPwUmgbt2eWNM0g3sRlwmXanxzWhBY7CMkHTIJ9u8PtwQJKoQ2CPXEeXlgSjaPPNGQUoUDqA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8a416d1c-d282-11e9-84b1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:31 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8a416d1c-d282-11e9-84b1-001a7dda7113 + x-ms-content-crc64: hQqGjslY6bY= + x-ms-request-id: 410238a4-b01e-002c-6a8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + CtODOWzHI0NRWKWpiPBXPWUzf9JwsXkGzQTMMgTmyN9waHbpuzt81zgoaD5Fs3YK2E7lpUC8vYPm + UaSGs2wWG4T5mtzeCgv5N+7oxJ45jDxL2KfLi1Ej79EMVudmKfdFsm6gZQOA8a17uHaS7g3EMzDU + +aqiVNLTOr37JRU4wNuwEmbeV42TFYW5rN8c9jDRIoSCRzeBPelpC9h9FL+qPcyrZQ9aKIcUsxcW + wnZlBRUzBttnVb/X7KR4vvlfXQ3afA+Qqfq7EMMWg93fzEG7++jVKFdGpyR77ypGN/PJ0rxoCg4m + +XdSlPpu3CafKbY2Gea6SVKqXBVtgbnfDSaSuNTc3TfdXzQO+S/DShm/a9MGfZ5frxTEqXAkGHd7 + pD+CMa3Uhps94JK4Q9QyIGEYOImjC6VNwV2r7tAPbvXQBZhozk9WG0/kIoa4IKCK6pZjXLFmaMFm + dmPgYhNRDXaZYQlwH/VirhNufTRbSACbTZ2XJTiLdeDEF0vFQzt+Zxe3p/VbBGfywIz6faKXaLQc + eul6KGMpw+n1A/c83jSWKuIdmMiBtGQbq2KkwoZb0nlSDhU86lrB0dI3xo596VgkQrFYt36DRzDM + xvtvm8L7jAXxv0uPiV1gRH3TK/xr6UoXFIA7w+vWuLwqPyZ4B7RjFW1mn1ZQ2nfsl9ppZ2fKVFJT + tE1MPJq8NQdZHC+HGasF9CNkuYVZGxiWp1+oKF6Ef+K/So0NwSzxXy/FDdhIckswc+zQeFt4AB2r + I/kHLB1x440vB2LDjnIeF56o6TRnygz2+Dr5dblntk6d2I37fJShLCT7jccxgdU/QxJlyIRoVZRx + KHVQEKWWrMB8DQ9ZIzeL1FJvpdtZWBOatIZqoA9vuSu1v62VEvoIwK0XyaaEqnc3SNDMoZXiqWgW + xBA5R6RFMl7yEa6BPXe+QVvTONuHxOZM9rDY3Nuv7S+wj+ieMHrOSJmcmjJviUtamInaLaYUgZg6 + tIJkwLHD68vbSWLSvmtU6tHNVt7qUFNVFeWKLCwncJ7y4zI3lOqq08Mb9K5oN0SWPmGIilvn6cEr + phjDMC86BmKRYibvC41HNggIG26GwH7xivIM9iJ5wR/JfIURsBCufM57LQAUSITrwwoHBsf75FKR + 22D5OFbnsc8R57QtchVMlMnN/GeusDyAevoGNKGPR3LVMmxhFffU2AHOoZHsE+6UQ6g98MtSSipW + cBl+PJY9ki0EfqlVJoVFJ5VwDOasMJo8t8zNihkc2FnHfL8xdDYwI+dzx617G2FlZlVaL5HZQwh3 + sS+vP94e+BtHSDxiL3VK0JkPbMnCoiJjx23NVWiWp0g+SnXCfvyZf15tmkxaYQH0PmhzK8iW6Q== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8a4fd934-d282-11e9-9368-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:31 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:31 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8a4fd934-d282-11e9-9368-001a7dda7113 + x-ms-content-crc64: KEjWvPuQ//k= + x-ms-request-id: 410238a7-b01e-002c-6d8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + +8no0glgwkzP4E7fDvJJBQlmH4J3cx+pJChLA7lnMNxcMluee82Jcl/1TXnIfjjQtovzNr1kB3Jc + dLn1qQ9JhxgHfFCj6THTuJpK+KNkfrDQw3L1DhOjqNvr4EVBwvu0FzhoWGg3Lgjl8Ia6ulyQJNNA + KpemLS6wWrqiJuXKOrnzwcVM5H8KYBsh7YHja8g88CDcBm/NAqDcVac6MeEtC+VMyMt7FtV03k2J + GUnZB6grgQtNjWZS6kvwCiwtL7xkY5K4pRWeeLLrU9RitbYVtB3Uzo4NHtWsmAsn78jpv/czZxAZ + +80QrF1F0VQEfSrdT+iMo5lmas3k/pJOfZhWsl+jguRoeg+3E6tITOAj4XTLztEKLrZ32EgZ9rqk + tpI8rXENBYr21i2f0YEZhq99ZQkVDPOpIF/1+CaZJCNzYCAd5B0CXCjsBiItPnwnSxzDTcgxGG0l + ZhRVsz+D8t/G8+pbhyvilQgsW/lhCMByW3utWnexFc+QBggiUZNnGJ2CQa9TCEFyKiH2PKBH8+Cb + aBfHUTTzTks29PEB6ySqvYgvtsMCzL0dg6QxmA1d/OqtXGg4+R6Cg4VitlJ/22SLBtnz0WfzrPg4 + QD8b8T5OF7pTnPg8qpuABQ/3bhHS+8azXXYFGclmMxl/Vmo5wXEnV+PmztSyOmPad815oUjq9GcS + VorkhEbwY6rsJqevxQpj3mcyhm4xVdziPNH2M8u+monXvWYJNI73RNFsN3WiT3OgEQFOy3w+3nUg + WVtohVLecso2vaYDIGR8u6ir8L5q5xAe/r4yl4ISmHGzCOSPJ941MpeEfhddqdeyL2jmlfFfdUxY + 66jt0GORetj7wVIyzX6SgRXWJy6LsZM7QIGwB1QOEPgiQJSQY3V+p20PI78D05hcMPByOCKNMq/4 + YL533SMPV3dGPDkgJ7i195uqknr4+ZRwCJsQ/io3xZi2z/7ub2hU9aLH0+hbsDFpieXUfr+mCQGz + T7pNVnW0jLuk1UIb7SglF/0ciBD8+w6HQa/yNZl6r2wlwRU3aRdCO/ae16UtuBW7WwQ/04cm7gse + QC8HeV9UCX8zuYxiZu/5q+eWx7Njp74Ijm5chJcz3HU5qDAiHw7esl33UIGmPPnUURazdLTx7bsR + koZfqYBdj+4fXIcNWYo67XB221nfbT8KsL/wyzI1lgI/GnVX6Cr46Znh0EWnAGSqHPkOu17yRk/K + V9lV5p7PgXZddEa4TIqtUKhRPaIDnt+c7CLmD5eS3Bsk2DZ6ckcaQodB7hiil6IuG0/dh1ygVvRr + 9bioyFbl6T7Q1bCroe/Z8duCr/EmE6h/LC5ORL8cNEG5TMzXYfx52wW4ML75NZ7sLeJtdkVh2Q== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8a5e53e2-d282-11e9-bc74-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:32 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:31 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8a5e53e2-d282-11e9-bc74-001a7dda7113 + x-ms-content-crc64: +nRFykcw6uE= + x-ms-request-id: 410238a8-b01e-002c-6e8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + VUZ/UJzfh2ukXIZUTRc+1Fdaw+QEqVaqG0DHpbayYiFJnlF47sDUxqkeO4YDhwl8qebr9VsUQuCO + oKLsUhsPdmEnGu9r3n4QMmZuTJiEwrTZWmtM8Cc4dqIj8JlC10B7Z4vKnZXjWYR7cbmsfFJJQ2yz + xcmefUq6OOrn913v7kBO9MDseDMgLU3cZFbtVDTkBdxbFPLtj4S2twVBO/N/mZZKCBIJCUGWh1y7 + NXACu4pEeAqhNbYRMf3Jj13GF8JJ1C4d1rhq7FrHIHYDbbXPzEr7pZsvbtiVVeL0sWNk3CMp2V9G + em+YCgWnude7E3B6P9uPU/R4Xw8JURAnDRRfBT+m6NKIBsCHSiqShqkL2oqqOeesnV6S77WqtVa+ + d3Y6BnjlfkPNwNqW3YvHRvfvVmyaMz9t4k5psZ2+b9kCs+92ShkK1ScI10ukZRhjz62qAFRzDuSE + PTHYUvvItjHcoBAG7vK9i3WhrakgGcUa7biclsWNE0/yd7ceUSv+JSTlk6dqGbAr3BxTlTV+tvZH + oqPoIfUiUx6T6ujfQl9pbJfcC6wEOT9UCURGwtzazH/5mYwF63E7gEdFcn71j2+p5ll0sp0XPVBd + tIXuu3AybmPe2BeDOisYKfWocRjU0QNdQnbZi7keDTYpxwUAgEgLo7rviYpOp+lXE/bsdsIbau5c + hBdmwtt89xlrjWoeaBVrVgHYZOj3LLUDgUPFtowadTUgkzj4sM6w/lGRQFsEihYnCRrA1eoqt4s1 + fllMtxkqz++9XgxxWPkFskfUAsRQzhNpnjD5Szts2HghC1u+27tKn4YoLN2Zs9dImBql774M4hBT + mzBP5CgRJnAeUtbqyIdzdRHS+QLguY6/mGVKxFcll2Nbx22bh7zav7QKqZYzik4FlrRDNmZk7n5i + QljA23cTvtoxnwikkZZq4AGWYp/uaNW9nVCb66lCIOPBPN6hijeu3fYpwaV1X9RBzdkmMQRqBXJx + KTj8J+WS60418u7QLtRoy/7oTroA+vKAzgiQ72Q+R8OkYNc86nLXmE5pPaVePaDC3h+rNU9iEAps + R0Bp8CX5fVUVcuUdw+VyxmQUNxvT8bUTy/PvchJpu2f0TgoR1Lyq3xD9uX5aPKDEnmkCZm497hQX + 4c/lldJTCGhoupK7+l98lPdFv32+cjGjsdUTqwn9wXOEQrVe4XgKfRc1O76XeHZL/p4jIRdhJ1D9 + yPhljT9BPXinog98UXT7P9Kx1gPw1dngju9OtSo3SsqYnhP9NSpLR1OEH0LVXfKHFv5SNY7Et4hS + TQ9rKC/j75yKMkfPGqLqVrN2yblnWcjypxVbiYRVHZsDThbIjUR0ud4fSEEkPEx1MvLGqNX2UA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8a6c43de-d282-11e9-a066-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:32 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:31 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8a6c43de-d282-11e9-a066-001a7dda7113 + x-ms-content-crc64: jF3pApQBaBY= + x-ms-request-id: 410238a9-b01e-002c-6f8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + UIyO59Ka0ROEAhBiLy832d+caMSD85yAQHpqxJLkabOHoQkoqkMd3wDaaiCLfOMDtDyrEGtXGqSn + OiWl2tOmUa/bPG9fVYq9UuNuGRCjtlPnGVNzLjh+Fw+63x7mYFjg2qwpEZY7eSIYOUAGd/l6PIb5 + 9X7lKFGOGGf1JGAB2M6dMw59rtoa7pyDIR5kWcJOUBcWKZNhoHc+eBZvUkiRjkhVv5TOrpCYn1G1 + sS0O6+odHC/6/HeYetGDuDRsWgo3ABRsNz3NDHS5aPN5fSJtWIvdan8Vy1Rohzg8lBTZ+31Z3pwz + PPD7rm9wCiXVF7o6UoXqKll7Jn1A6/z4R+qQNIk3SJXVloNU+irp+64hRHEx+jY7NPm1Y4oAA1oc + 9iiGpoWkL/WTOgCv10wvTCoSHbRsxfJExOUBwTx9Gx+neCA4pDcGCzDyHqdBiUSa1c66UfHtNyGr + I7MEhbG0373cUHzIcWFoipgEjr7mntXfe4zrkgT67K7AeGusUU3Z23EO4YBJw53RNGVQGua7+mAA + M2pCiKFRJUjLyjT6MC6oLx6hOWroUU96++q+iJIDChqFL6bNLctxtrZaWRPKP2prGCzlmkrIrUJE + rUgDju02OzwWUtQ/WSyNavBnFlYwkVLrL7UI104gDkloYHVF0BVa1/j2N5Fz7yb8g72NHF18jmXT + Dx3A6mLpeal/jU0CGDMSAI5NLtpU09lYzjFFhgGYInv9JMNWAOdLURHo8Yhkmv3MjMDnuvSCx0zs + bO4n/lorHZvIxk6rEH1YGmPpI0KhMh34TkV+2d8IPLtsqDj1hAHHK6T7qdm7cwzt4qjmqoYHDNua + zYZGintBwN+Omeo7PselmiPcPYTtgfbVTVFaenralNFyLBJdeanO1Fi4vOyYVbKRTFSwYdTsjzy+ + boKJB9bkxw2ZEjTlY3PpQ2rjUp11u4tb/okB6xlYLrTeDbkYhimk5aPsWabHcB6WxJTEcUH012Dg + SiJ8NvI1eFvHmm9rhnH4nEjpLbDqCbugZagW/Zd1xNngDvvqY17hN7MtlBy5RmNZwN1AtQxwbhWD + vTOULGnAhvA5ecfO639/Rcghh9JeCMrZ/B2W8G0XXGsjrsOcLO3BnicX2mphjEJ6nnfcUGCLMK+c + r2N4cEH2pyfgLOxbijVW/bnfLFfcOl3pAAMV5n+mvF30hrp6sXcJqkWRTLwa4lVPK2rEOi5iMhwU + OmXyBrA+tZw7iNmVeFV0VRl3Nu77jcbBanO3ZQ0/kgnUweNXVxYDbB5CkOJTc2xi+0jF4ZBIK7tE + Ssdub2zNPIBAJNEQqb71UfuUSS5VCkSJ2pD0/m2/SQq0Kr+SPywZMI72DIfUvOGhV63u+oKUmQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8a7c19ba-d282-11e9-9ef1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:32 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:31 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8a7c19ba-d282-11e9-9ef1-001a7dda7113 + x-ms-content-crc64: v7quRYUdegk= + x-ms-request-id: 410238aa-b01e-002c-708f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + XWJzxqXSVOB2K8XpufFx5Z1cZEaGYksxC26hXUXLNEwaO7OXbE/LeyFYo1vue6FYHTu8TP7HXMPj + Kz5Wqw1bNKo3cMeYlKMrp0fAoag4h42QiZNjKf3ESUPDXZBeKk2h9nSBc4g2cMPimBh6s4CTTrn0 + 81e7Bx8fryysTKWdJm4x6xi4jsMJ/DWRqIiiq/p8WXyNhb809eYQPrkRPdy6V0tNyVSHBdRLp7JT + 4/OyxnQUf47q4cQ5fmhi19diusN1G80bkXriQbXO+4HWlanKgV4a1kBZHUetK6A08mJS+H0Ed7qL + gWEkGzMco8/BFodhEYadKC6N7ngtmqtl0AIyd0LOIc/FjxHhf8jCJQnPpf3ZAtJZAqCtUHeEFiJE + ykWdZErWc/BLXcXSzZgZgpRP+zjVF1oM+RVdNlHPxScsJvmRo6jZZbzhxitqW7OS1w+7our6Q7oX + LR242cb8UBxW+I6cX23sXfCdsdmwiRZRejyKaQntZlDRuGEhcbKERxd0rwtYqhTst+96C+LDSMAx + dNqPh4C2ICmpAGjwbwZGQXk1L6QeMNEp2uyVaXcjEqgWSfcq3lT6OeYi1r5yZ4B0Sl6BFoYu+q1a + 8dOzyEs4XDj3rASNRFKSifgKaiOoP99KIqvECwR34dPiMhfSlSLjMrcsOrQCyFdBws3SxqCkxrEy + luXU6W4CAZnEIJ98TGwt5D4X+dkZ8brG4W2UspZgwxG+TpkYcMy04CPkqbvd6epDptuyR3WCT+ZV + ihfsfYm28MNPpJ3nII4SJxuEGys8HzdhTR6K2eXz+r5xXdCFSispQLkHt/qiaCWVvuiK99/YlLUi + Bu5h/VYi9pUd0DIti/yjWI4vwdCrEKOpAh+YRl47pI0z15Zj7RHwnFsJuYama6PeClvWVSmgh4NJ + lUoVFaLkwyYli27XG98yQAP8BdcupBpVQwWB+Wf09lq8JPyFYQLasAwtH3JPCJsBR+Y+v4fZjsbw + 8D51T/QxqwMmg2rEQbxJ8DtCEZ3eAEuXA9NkUbdltaO6vgXaT9CZYLGZ6LxcY+PSQBkCjExVLsk1 + GkigoCyaFxKBNvKG2mfmM0dmZQ5UIWDU4YHGOSAAjl5d+u+ibkvLptXgKxetY1RW5Z4w/Y/28nrV + FUYBotRRIDu11cdCRxWKXHnDfAdZH2PGqCvN8FfsxS8iCwFvKBBLcMJEwoSBo0Inc/AQswcoZp2t + vFGGrsxP5M9c/O7Ayfh6B0jFuZQ6tCwvxtwRChOMNHvAaoKGQ/CUWb3POlp73YD6HU4jezBQkQQE + 4ededkdK6P6GZjL86/YOvBX5s+UrqWcxiCOiP40Vdw24Kioe6BDGuLs0jUKZ0/ByNwIk0l/bIw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8a8aec88-d282-11e9-ae90-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:32 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:31 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8a8aec88-d282-11e9-ae90-001a7dda7113 + x-ms-content-crc64: lA7T6bf9pQA= + x-ms-request-id: 410238ab-b01e-002c-718f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 2/LcPUhYY/NMfuXhh1tBAQWNGOc1/q1fTpRiFPXaZokNGp1l0+xDWd/LEDgs5ZjR3N+Eyu69UgMT + GwkzZ4Fq/TjdkOn+TEn7tXanVtHFFOH8yF7wpH8faVEu88AE2OeVz1rTWiWHYWUPiwjH9WnSvbD+ + Lq8zCFWIeQydv+A92hPyv4AOdtGz2vASeA3RpSJdxRYwoohcEy3BzD02Z2TbVqskEdQFvQ0wB2Li + SFrP8KPrBIGlYbHonEN7tDFIf321zv0VZHkm0bPwFQuDtQ8lbb0WdlggOZIErfSGInXMYXjshBFA + 3ByUKTNAa5aOCaUd7c2LB10n+GVAF5MHlhMquglzDcvl9z3AQaOrqmodWXmavjtv9ArbArh171xe + r35WBhd8SODF47Uwuw3Aq60S5hIPJ/XSufgWSEyfTjUHk718Y8dnlia8hVdN87hz4akJ3BbsynMs + IynTZWVKqfANM9hG8/Uqv9hx4W0R1xucMSurItfGjDx2zJshX0H0K1t4hRIn5xOCqKRLXS6HJX5X + qkD1oX4EMSXaIyfZ+OGGuO21W6Du0n3IKlbeuRptU4kL6TlOFzorjqHxImHD5cHrwPQQD5Mc4xAJ + XDKUAo/2rPfwf2vsT5z8JPU+ZS1c+cBruaHhVlFSwLubUKPFQBcYY1zXAVsisXXkydlhALyxxm5E + FbH3j7qEMcUcTSKXPFHWhsAE9fHYix6xQhkVIt+xgkXNGmiIabXk2lZ0+gm7uBVyG1FEBKMUekmx + fxRNRZ/m5O4yDhp67ntw90o1PeYe8iCLjldWwRZ/mgyfP3bGmHVhvtQHdQfMIPbyct6tdCLKwbnq + 5huBMgsxus/1zMj5y6C6auDkn3Zt35JFNiRWp5rDV4aEn0UIX/7bt6aJWkduXdu6Fo9UpwtVsABC + FGliy75gSsb6TKU4TntyVtlDh22pNlKdVgwgDAPHV25++HDGZF1HnnuMHqm9kM3ftHkQ/rH++sRd + bYaiYsu9Dsg0lxBDp53WeADLLrK/EoUgRMkYM+0OGRow5Org+MIaeK3gSwoMtADDuXag2iCi3ReM + LqLQRMEYYLuRydR4HNAWqK3buGce9cjZVuv0RoiwAAXbHdnkj13Kt/aLde9M8u3L8ELybJxHOPpB + 4ABRRHYYHUXUjdpUxjovcCVdVmKPOnUPBfe0rR8SvrUO5lRDbhxPJY0QUhVwX5egteIfKeFwtiRw + B74XP9n2OFEXCRbVDNVYc5N5SXjR9iylOscnk2Sguaxit2bkaSqfKXAyRsKi7eNT8WoIdJT4rBiE + mR/993tL2AKckG2NO5i4YfbDqOeyG5i2YKM5pMszMllRQ2zrSrGfEYAA3rUjjYi1kWSZTJzjcg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8a99b352-d282-11e9-9775-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:32 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:31 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8a99b352-d282-11e9-9775-001a7dda7113 + x-ms-content-crc64: fJWqLDW8vw4= + x-ms-request-id: 410238b0-b01e-002c-748f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + dwLarnP7n12hwDGms8zsydeOejylr/UoiaWa4xBIvzhav20xSsiUXk0k3dSY2/DNYC9c4KQDgJtT + 7KbLyVxzPoupbU0ZDAsH2R/bd2ksyo16xzJWdNwkKvyradCJ35bwGUJlWlIt2dH6JG/ov1dYoys9 + ZHqcS6IxbQ6k98WrJj5G3mJf2flH/H3hlx+FxBPI0E05/tvS8FanJ4Bd+SvP7yTuzNFEHrpo/qDj + QUlgu9J/Aa02rNLZMBoS6wB2XmYhj490OFhi7TMta02NUL8ACBiOrU7vZlyN13xywgIOM0FD+bI9 + 1ClfTUyiB0Oqjsb9XHqATfs5KAUsmU+1F7bj9dJad/y8w9DPezvvwX5qopU/BH/CmbmiKn/9kl61 + aThpHNo4mIxATZ3h/CVjV/nFEmb+i6cPdTbedhVg4JbXGuIykfutOqdBp48bMYH7asjjpKNsRhj8 + MN+Pq+8rSX15nC+nUtlUia4v+hZZ1JyJ4lyCgZd/tVQWbmrvlSz9y4s4iXwXfk8yQBB0OAjBWH8S + R/iM5kuV8XGapugGHSAyB+0xKSDkynYBM7D4GMPaiYqPWc47Qo0ORs/twVAciU+F+uMBWzQTGgjx + 1Q1/GS9LIqIZpljq891Cg87C2J5wWbgqzT8MiQNhaxiDp4CQPgLZk7NxkXzdAX2f8ypqBsuzOn3k + 42SbXC6MKzRM+jKfPMtk1Qdgc0ImAl/3t3r+4C4Q9JVigYXHy6EKLg0E2ff3xoc5bT+c6jAfoL7U + KqtQWdjvtVqeqvtknt3b4h3aLYhzpiDTxxCjZV4DSomoEkvVLsim3XvUvC81eme5GQ1pCPJJAEB9 + 9l1uo84IMZ7dIV1lmjfv7x3Iaxa0+IIuzuC0aTda8jRPFDItD5MAKnrwH4/XVf2VFEQlrF7WNbhe + ob1Gt37L1mzwv6xz8ZR3WJ2cofD8en8lOc8jlBCCEtNEbUfbe37gfnIMFj/n489VOizVmsj03+4T + J6zV9o7bz8rd8W+vNaka4cuF6+52+rGwaYXG18nk2OsfL/4gVhYm89Voo7ComKWIb7LGeCwYo/ji + kXDrHU1ch8Lz0q92DsDcZPoBHfM4tEIaW6TXZZE7ftnehFg2A/WTqvOp/BFxeME9uJz5oX7hNCuV + vmHmz5ahrvZrB/W9VVmU/ejjAZ48b8AFPX6MRvnayp6USpyBVDBpb+0dZw++1Eaclp88q2fwUKA6 + 7UYh/cFLR/vo9L7aChn0Y5OG1407VjXAtueqO2X5vcenhej+yWQkxvVeP2t5g3qDlGSp7BMI2GHX + DScLnqF+85FDmeTusq/Rvji0KfPLAhblERWTHVSvNl737B5TgxTK3b1M6phqwRwTq3qmNcnFXw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8aa838e2-d282-11e9-a034-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:32 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:31 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8aa838e2-d282-11e9-a034-001a7dda7113 + x-ms-content-crc64: vZ2AXr4r2rk= + x-ms-request-id: 410238b6-b01e-002c-7a8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 2okDa3vRAktUSRBsG3REbXqcWSdH2Wo0NbF5g/JMrKHtASZ3T7HjU8ksKPEfVncM1lCARRI2O0HY + ISC50hd2b8InBmwAm4h+834bpVf92igRCdU0Rb+QKAeXcqvyJq6W9pJXNrUx9O6AO+BycTw8H6r0 + 7yt/S2sH53G4OQzNHqkldl1OcQndGUYd1JWonQr0h3wLgKTG7hBmCYDMUdYVR8uvTU8RoB9w3onl + DZe8urEKR9Yow8ZgGE8iiqZ1pZHilr4ULAcHg1alllxrRijtEzNpG9y4H9t95fCMgTkhIrtr2GaF + IcgZq272dKBBApeNVHxQuPSKOYyEQ2zbCqoyh1nxzDerqyH7WhfmewWWgBSGaZW3uqiODK55/GAs + GeN6KaJYvsolRgH871vnTtSphoTosb1C/OXm28IWLrY1dcpiy9q9ZXZm0A0aANEtHPojCsLDqfKk + caK8l5AmhgOJTG1zKBQMIZTTh84Z+8FlvRm4pPJronxLhX5P5Ux1zJSW2HViLvHjKtiYp1TMz9oq + NeToZMhyeRCRhrQmD5tOHohwF6ZPFk6W0b8qQWvyoznFro3HCkJ8Lx6PDUELxZQdE2Xm0wYiuRmI + 8zJMYEs5R9BxGZgdjDZP1pz9S9zbS9Y/84Ac4bVAcm6+oQgHPuq5NTpoyPEtutgbQR+6pTma7G/W + b1e+vHqxzcWGgFWfw7naGWhSMhDsUKPS9seHzSxAicl/Qwx6PMF6x+KG3+ImBuyMueTUGGH3eKlh + pJ/fG8D7RUxAkPl5QhQY4imgkQfuTf5qsyKV8NNmTbo8No1+ck2tdQYAvXPQMAOHDfyAuTdkBzUc + FRPSFCtuyxutZuIpmfGZyGJ0OBsb9KCVLG68qAzEbu9WTgQxFRtGPfE3xfOxuVlxGPLrSp/QpyPm + u5TgFvUs6YFhBazolJdxrl6sD6cBYU2dPW2sNnS6gb1yDFefaZ/llCFYJ4LDaYJh68SrvER6S2e6 + +YcMM39P+CPAoa2zQbBeYLSJmZq5N94f0fmc75QU0L+f42Az/POsepczdRrfwTH4mqRguV+Q1KgT + R/0OffcvSi11C2p6dsEnNBkuMKE3PkVm7/nTXKzIBFzPgmDK+GkNqV79U0dLM5el8SlYiX7gA8IC + kXlK9eNHjKDsuWk6gnk2UjUo/bCjdlJ5y9bPhSL6ecv1XbVLhT6sX7sw+O2a+ACZktpwIOWG652V + l/Z/WeqxrwdB+W6qkhYGPDP9Tc5g/RE5PCmZFltM5rC1LkwcSaWDYP5ThpY80K9jSBv9dWug3JME + aPKH5eEgCqhcHXDq66oCUo/NqHyxdRMLdGTS0ZOkodEQj0c2b5FuJGTrL161mRNwoB8p8Hb3WQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8ab72cee-d282-11e9-8a9a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:32 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:31 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8ab72cee-d282-11e9-8a9a-001a7dda7113 + x-ms-content-crc64: ekTVSzzN88Q= + x-ms-request-id: 410238b7-b01e-002c-7b8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + lEfVWYZRZjq7a+zZyhQ6Pw2eK5Ua7I1/8jg6aJFahNskqzPVj6DuJL4Xg+LGCyN6oMBEjAFCYbFo + BSFTTAiwa0C7OfmFwLt+yX9NopXetcmACn1ZM5BzXxkJfhmO77utBOIet/gY2KqI5EUR+wviZ8AT + 4fJLC+6d+pINkrgm6Tw/v4IFVgXOU4zjHOXdtnaYosZerJkdrRMq5NAr2BbE0/pSdObFI1nnRFQa + qQB+/F7Qdkr9hoh+76VPpBslDpUAOKzBb9fLxbWCFlnt2iBelwWaLGIs+gdmzJzB6YlqJLh1nsiQ + tlDAc/jOrJC3s+uOaF33FMH+8vRMxjPknzDkBMv0NVrGo4yz0hcWLVPI0HHjO5XqUAO6CHYv8dUz + TtEKHlAyPKzaG+xIJQsnl++Qfn8ZW5nyvAkLwm7Z6Q8YatXbj76A5e1t+VigzYQY1BLH6Pia+jig + MUAjOelPpuzevOEMjl2LHgRNeMXl9SxBAvyrgkMGqF/Di/EcPtWCWdTDyiEXsPe1JvaUfiWrYuQh + W8NzbFuxX+cc1jA0q/R2fC0AZjwHofRSPzIhj1PbEXC8RLzSNH3nSnh8d2cPPtE9I/11iAVycqPS + IbhqXWu0wqLRO21w6LnQhN/V1dL3jPm4ll2+gRD20D8fej82BBFliH9a3JoBj86Nv91rvdSE++F/ + oj16BlwOiSjR2Jf1LQptrYAtkKEnVEjN2TTGK6xM2m7SyadXkGk0nZA5rVNFaL/3uhINw43lUryl + Y5ZY9hhN4Vw9MChyWDKH7vRBTixVy1ZQuzmnQtQi2RVYXU8iox1ugVRwNdLUcV4HiNfO5ukwru8N + ijI8SBRlt8/mIsQCUHnqK8d8vfRg4te1D521ecw8/Okycft7vFMfRNMg72rbk4sTe6ZhqQdmsd+A + nBlDGrsFfdXS2Hn3dNcDOhp0XBPA97GuDEaYCOZpDei00bOhDCBwhxQGYHblATBaGLUmh/oRa6Fd + jGPu+QG0WX6XCPogvG5gP1oNC9LTE0TUVR82NRXzprG6IUs5aupV7t0RGq09TCU+KTaQH1Q/6AYC + DrX8WiIOB2sYUsYXw6BURSOAjqqW0RUiqlQo4og9nJzHzld4GGoUppKzQqiTO2ry4g2oWq9lCK9Q + nI8yTVDt1zHuSYwLvBV3F4CF85JRE6AbkhJRuSBfeHCrVrtvd4V5f0Mu/sIqQRMphjsMqs1Qn6Ee + TRyWs62a8t1SGuiPt0s22fBuXe4+6dEb0kYUL0OipvV0xCPJeVgMIFR2Fn02DlJtA5ioGdKH9Jzq + rEkz23SZ/i+QRU2EtrWXORWB4b6sgiuVv6ilwgyIKlMAhbJJkiZal32kOzuNGyW4DYw0pnQx1w== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8ac7b8ec-d282-11e9-be95-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:32 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:31 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8ac7b8ec-d282-11e9-be95-001a7dda7113 + x-ms-content-crc64: qF880Zvv9xk= + x-ms-request-id: 410238bb-b01e-002c-7e8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + VA/peJZy1hUBAwUlp9QQ6Q7HVhYJnuXK5CJntA060aSqKP6FrjIW/XlbBDAYeC4j7M7poQosv40y + +y2horsTO5CZgrx22uKObMcxxio97CL3lH6GRO2U4jBkzIGXjtcLUjLagPFCK+Of11bCx3DBze3l + Y2wXYKGJqgGFF0ytC1+WTjgwuu9LqR4KpyJIm9jIy6rOZDY0kz9aJEwv/RfD/c7NhtirRmhkKzw0 + XqAgj5mThiz7o2hdGvzWrG4tI/lYgB0eqv6gmFB/gI3IaRSYJdPIfT/HxG/SFNvikpenTB9m/lWE + ntUlxWaQvSOzG9hC34mEeKwdsUsU+SPSEDQqbm/FblSTgQbpfwnN/VHTSNIe9rOgY8fwaPn+wVVK + DR8uxvWdBAQ9OY/mPdoAewL+8knr1KL9X9gd9jNVKixK6GRghSTGA26HWRWVSrkNM4Xh6Fa/++EN + w0GE+0WC8+2S6SQxYXPC6jFbxxQcLTIZr9JXTGNz+OkmHGX7P16VvUvARoT0S1AU9hmiTTAe5eLE + CX6r+Lm7MHNVHf2GMMGAWAVcYx2crAgRJXBYkqHsDpuurRhh4nme/L5uMACe1dkptEfNSfpTZ2Q6 + aBgCnjgF/S6rp4ESvMr9lNqUkB5/a199IYI/BRdUpL8vWIJ5Ps29sar69vdWuWh0uFY1wd5u9Fcv + n4V90KNaqqTRhxlQUcn9BZjKBpdHKn77m29oONfJqQej9+6NFesVaeRIg3QeITlY1/2E/MqitUM+ + bp3YNsXc9sswgvCE29OH2cdPH3QR4nkmlyr3Q28jkaUq4C8a8tD+OvEaQCFEN+5eaLH25PwUuIDK + Ip9QnEWqo1PBAwFifZiuoGsxOQyCe+HyMD2Yu8ZCCu1JtOS5Vj8F1nzb0BNq4akfz3WWJsPSvviW + 5R0NUJcm7HJ8PCVVQcm0NOFBpy/WT30oUsK3luLNGMWVgEKLtpTndoPS1DS3vb8UkQF9RraM1tds + L200VUmGwUM7vmDZk1uRDbSmLkqdAqxXE1haS2Bu4dE5P8nvptQ5zvas3cOsBm6FiKkDRdvKeMB+ + ncwAUi57lQ0IQDfLzJVWDOehDsQ3jgcBO7XMSqu7pRYXKCjg/o91PcmClGb0GHmAqoFJD2WoGSTw + tB9sMo/dvPm9n55hhHOu/WnF0ziE79Ll2TSYRUxpyrqGUbY4RGaNv8YBTYOk44s0+wzUZeDEbwNH + 7LGpmqYdk61uicVz+860hLRORZu3wMkzByQ8C3daS0jFqDvMfokzzdbvV5sfog2g8IMKvOhTCUyM + Ws6cKAERoNwROjoBTIstm3wcTzLPUWDVnDK3t+K0GPxGENKbD93L4kRhq4bRYqW3j6xoDh9hxg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8ad7aae8-d282-11e9-b70e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:32 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:32 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8ad7aae8-d282-11e9-b70e-001a7dda7113 + x-ms-content-crc64: xZd6C9ok5v4= + x-ms-request-id: 410238bd-b01e-002c-808f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + BSU9rysQkU81eTKILeDCDlHI/nN+0cIPhAHTkqNP55zpXXgdgusTO+Uic2KSrgsquI/WZfLfDgYS + LsnuVkNHyLqk7KUOqEP5njFOt+8y5CXn2VvpTWfQjJIqJSPOx6JrZVNCOZxZ3raBkedFXUVuhP70 + I69d6FOopAGcFsiDz3PsHGcDFZVEth7QJWIGJv1R14R1K5W4Dc0E10Yod36TOY790p46MJ3ewC9D + BUCf3LuXCdZS+0w63ignYyjgMg+w/lYb6pO+9sSs+t/P01fqHiDofE+52Ycee04Xz4jgKWvmailm + M1hmTG0HIB2rgAQqcrWmybLRZBYkcMEI+Gc9KfhhVb2Iw5thpQ8H93uBIvz0YeKYJekZkswnPLXG + Y1DEdpwDZzUMrnvMn2veiRpcTNUn5oA8QpqDKIsoW8mR9MLi2HEv4j3rVXPdJTVpndkOu9kc/DYR + kBYP7dis8qRd0MdkvbC7I3iJtBMJqUDxovQihvx0sSnuGcmhx8W+wNQMw7ghEOdRhIaVfaadv2EY + UrLUVYd2gmHaR/Dk+NOqJm7yaYji2MPeLpRtxK5LN93HDdJfh4LPAPV0NC5Jc0lpLcVwx72ZY7B0 + 1onEm3+C8hIonNEdEMn+vEwZKSgS/pdY8+8r1rbLwhtC3rxb1A+rRDcaRrR0b7Fe4fyhGyQz3OMx + /Qcc1s8sVyuWqfToO8VQhmdnHpftcI3mKI6Q3yfo0HVJCYuOEMlxrfQCqoM51XVr++r0ll4hIzUt + svkKVpUeelhSpGMBakf66ShHVyri1s5hsAzSw4Kl9rL86rES57ENL40UykRdcB3IWctAD/42zveX + j8VITwxJh0jR3LmWL6oC3LKSn6RDV3cDJTpOht6vNpW+Xe3dLQd3D0nrpQEkrqDDR1aW2zbOG4Xj + Jgbqv7tlgrJ/qlc182tHuv5dvt8wkWSVeEcps9niKyXW37vWj8DPOgaxcA6nNOQRu42nb2Y8L1qG + tbF6qXEYZk7tMEWNSdzAgGT6vRD3yzvOTbabCQ8zxRlr1C5qoqzUsVbIQtnlUTOK092EqnmhmdUT + KjqifjlFFt4Ay8NUanqf2QmDKK141WySyYk+eyh1KN5OYPIKwYEj8gpHBBbWK0tDTmDBv2KMwSci + VIcqgK8u2FVrA5Du2E+LcEkyIPudCwUwq8v7ZGQVb1XnstG1d2KIupn7cey8Lf6B5FS9LBi560Jd + O7A80Q2Ss6FOzt+I0Qembq8CNi2lcsGnzbN2B8P7ShEf4rMZ7XvnAxLBI9dR8lEquP18bA7lLY5D + oGSTJw42IKouPEEh47A+7DgkJpEDOPDkO17jtfPK59/mkGLG/U7Wlcvo6IeK5cJtSfeBKqDT9g== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8ae63d7a-d282-11e9-9c34-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:32 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:32 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8ae63d7a-d282-11e9-9c34-001a7dda7113 + x-ms-content-crc64: c3LctTatasA= + x-ms-request-id: 410238be-b01e-002c-018f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + hujxIFXqKWmFaEM+N+lDLXGSpLCLRJTPYT0OwEGZV0nQFAQ5ncDzrRdW0Lzc+hvAN8Lftb7oJY46 + wr9chzRN3Intt2KFlTBuvrWa6qL1Oq4lYXKqSJ97a8zLDA1vyZsW+QZ3veyAUfUu0h19FMDjYFBC + NR8yDJ6auKTh2owCCe4zSaDfjixTVByRJ/If6K3TamT6fyPfwQ99/bngrLPokttIKD5yB9dux70e + 9YSuyskLVTlpcfXg6yYQYiOTNBITSjzV/Lr9v3ZbVyg0wrpbKcglvhRoISCiJNKXDACpijcI/XXB + EOdVSlFhRUVsWkXGBsP45c64Dc26PRtYlhh/0Xoh8GbMLjZYF7xRSW0qT8mXje6QjN3vCaKWP77K + Pg2NRnJB51JSnead99NCeGeLiovgS3tvWliFNOSnHotoogL1DZFDKM5mAMl6Uty+FpAi0A6hDBAf + 7tL1VIy7EEdAoKCYwuV6MnjVuCK36NTMCAwHL3YgzmcOsdMJv5+Pkko0JpvXzQx1PVDKUzIbDhN8 + Uap2SVpiZxOk319kwj/NBLbVV1VnPqvTDTRWZob0qSZnc95o87wUrD0RH6gJdQP2Cr0lF+NfdxwV + ZpxNwLjhloJv125n+qJPDsXqvttvP3nov6fZ8KIPNFN/EvaWOCBHLyBgtzqi4UmcX7/I2AJuoo8y + XP3UIR/66gOrjkBXAUjOI3Wb3fKb1tJ0+ra4afVIuUr2YcsmzKBJjINRWzgmQFPiYFvD9Vaq/AhV + 7H8QVUBBiHT0H6vuQujn4m/uU5tUx+A9fSg9vgFlQh7QvSOE/ACFk+hRBBKp6LuSjyJXwboYauME + 2wGFz9miONAwmFYnJfLpwVnMUlNFY+mtrn/DpMWAwe7jt5UiDfMy8bJr8FgpvhJ0fSbrztYw+A/f + h+jBelRsxDWeWKPur0pAFz3fFUedUVOSpr0FgcxQixQ4u9ivhHj0F/S2WB91j0ZhDNBHiX/+TMD4 + S4CjnoDrUJaEiCo7d9bsWdDkM64y+RZCW5erozPwYyHxP/etljyYiLmcZz2/7m7n69k3NO9FwpD0 + jkNqIrmT8XCxoOc3FmTHnm1nKc8x70mmo7wUo4XPlEpUeJyImoq4qhPfSvXKn3+/r2c1GMyBtfpG + vxqIW9uEeC0I9VwjkJVTSrfdgyL+VL3yJ/teDKy+s62kZhSqkQfyGbFQw10zvcusRw17ro89CeID + mRuwfgRNbsqdZJwiW3nTusED+Z25OfcOg8oc4czBQE+NqD8+No3+uw5pGIBawULqPeIO7UZRRz1a + bWLqBh8iArGm2gCLA/2DSt94hyBuvZYgb6mFO9SW0je6DgNczDsheMBPnuyFJUxPhkiTTPrBYg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8af56b30-d282-11e9-9e92-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:33 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:32 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8af56b30-d282-11e9-9e92-001a7dda7113 + x-ms-content-crc64: JUQG0dabAPk= + x-ms-request-id: 410238bf-b01e-002c-028f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + HHJfftT6SkNPiieJu/cxslOZu2CD9RXWOg7vrRfBr73DxsPFFaBX5vAHv/EELN6EbCMKzaJ1Rfx4 + cUomPMlpZcoJNs/JhNDe8xCfVYFQv5+cticYn1+bG0TBDppjf4J5KOJGUK6R+6hrhx6euuK293Yd + ZbAJCuRiXoqZCAXGmNV1InZz2haxIQLKZrkbk2LDwPVq0+klvBrCn9ow3/1GRLl4dYuottEItcT0 + 53HJOtgUWFSEA2H2ZtrSgqkGJZafb5mnqKyRwHSKJPnt0lMelqpgXAXM6ZMmb2DsQ6opumGy7psz + 0X19DhBr2/pby30Nf/dKjhU5YEXr1jqOerwfhpx4CeJ6ANTGnGoo6iEcZ7sW0AkbVOfqw/qMDfAr + sumQ5QvUrByp7cU0o2TSrtvL3PBJtTNrxYC9nkWgrpsSNsbqj1ai6DXTnz366UE7ktc6nYjGXtXx + 4QZZ8i3F1b1wJPPO8/U/Kmj2fQ42EKil+GbFvrViOxT1nxklP7iw9aKn+8khRLvedFG8iRbOQjpk + 7juSsH60/P7fQrqBEY270KeCmeAJnQLQWRF46hHnkH3M8vhwZS74lSARJ1zrvQIvIJDHwYtTOqWz + i+2OuZsmlnlEiSHHG6FYmkAfTP1BMg1xIikvJrUCS0od+bRsXb/ZEubglV66mZnEeMUIcxd3E6o+ + 1HFXL2ahKp10uw7PWwHEfOokUJg+JSR8uNhodgrxgDZXkKzGbJ/ti366F2VFHYgXuZOqN6M/JVyL + 1U2jc3M6okER6SLPguUOTFddY1o7EY6ykYwtQ0k7oCoALXQD12mx6YKkB92lg3+0Y8vT5/Zf+8gm + 7gZlAE43QKvo5j0GazkFhnecbRFut3gMO5Xp3KB/xBiSYbShKBFoN4egve3uQo4fHPmlUEky/EGw + X/o52wDyl129m/xxcGbMKo3m2PdR8AN51qWv+aAky79kc2AjdNN7w0qUpIrwdiOtrj8OQm6dCZq6 + E7cYC0WUMWbpLisiCXuC3fBkzQt0t7acdg235km5IFnFhOtDvjvOEJ6dcq54C3iCiUtyiEmLEmj1 + d3cCqDQleLq8asdPOUCuBTAjXgGXL3pW3FTTlwzR53etqsIa6Ttcq+JbkdP6XKwjR6oN8w7Xg1Ux + RfznpQxkLA3CsGY91XJfiuFWWslHDjOj9rHuEl9O4l0eYShow1GPMgmhhWWB96yDjvM5Uejnei3h + xDt3r0Xl9MhJhOQZitcNjL7nuBqQ6jh+Ckh0NMoZuze4ceLBhzmb0JNaqGsL+T2qLKhqJtG5LI/6 + 9+L0+eGLwIqATRsk7Is+qgklzOJ6L6qH6zwlaFulWTMtcCUMky0NMGaqDMC1AhmsE65sd4pFVw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8b0657e4-d282-11e9-ad61-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:33 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:32 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8b0657e4-d282-11e9-ad61-001a7dda7113 + x-ms-content-crc64: pyIFykbUSg8= + x-ms-request-id: 410238c0-b01e-002c-038f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + YLTTybrS/sjDnREN1DoTfbNilAsaSFs7hs9JnB/MX8VzeaQLeuYmxwfx9odc+35OLEUYTYniUFNI + 5I9V9+t90Y8CjmMAbHZ917v5fh1megyhB3hPfDb3Nd6lFfWLzvGR3Tld03U/PeBoY1U5ARyCurXU + sNJJocKaf+bypUdvxhgloyFEqOnuvv49dOs+qb8GyfN0HOmUMHUq/lfRIyOKfUmODvYTDVdOp+jx + V/ZYAk59m09ABMFMRCKOFpTtNN0tep+CZ1uQodmUlhNuAqVXf50E2Koehf7ULEGhOrtGOJZRGUr3 + T2NIhoPGYSLlg39pnJQeIkrTb24KquNwjqRsHMmTpVDvWqDV/u6RW1Suc+OtpVkXVezbFqWRiACj + ESx4IuDv81r0FtSXplP1t4B+OUy/3buT+GpW60Qg6TNUZEJeOvZeiqB82XTf3DGXGH019WK3jc/g + PTDGcwn7EH2PLlRBaKkDo+qUAEB/VQwAREattpGSuii6BGfcqEvs147Vb71sylWxEmiWvwLjv9g8 + ty6zz1fG/R5hLzNAv0j+t/QqtGTzlgGgzLrLdy47BlYI8s8jAoy/guWz8tl3MqHBxxjSo/XfPbo9 + f+Z63/QQRPZ3jSNRs5OrnmYxQznVcYgZ+q4cVTn3BtunIkHmzcSCd3AbCJmNOB7GwHkzkjRFLJTa + 406SKTWIEHbMHoWyuJfDYo8/2sBQmLXGEVsUycNZ07CEbNtbMfRoW1FJe+4UVze2dmgZDUtGg3aI + q5mLk/xEBxOQcCmhgmjIGkFSef0N+hIBBZvwepJXFU+JrBO6De4cLZSVmWXQRkc5ZIJdLJh4x9z7 + n9eufeImJJXdQzWd8KB17YYly/KYgMsqRSsHXwiH0S/ixbnYUcSyFMDr5R1Ys0/KA9P+aOa3hdWu + ZSVKJgoFOUzhIhKtiHc8s0aGWcComBl02idf8yJwgsNHjTpEzhLv0VUDpwXbFCcScZcUAlpi+vVl + maWXE5PIviIim4a1WubdDe/9RyC3nsJRoc/KPbD3LCdrp8IwIiL4Wsy35raoJdo5Eem+68ukXZsh + PlPgYfBLjOhI3HNa0nVWLGEwrBHUEhQqzZOHxBs0kmdmWlfX+DF3M9vBYQADj5ZDmT1ZUPFXTHen + RaCJ4PAtW+SGl8fZ+UKk6rON/dDh9Q3KKJr6JIIlvQXZm5tXtBooID2ot+87/ay42rm90Iz9kH2j + QeopcD4SjnJ80KxBPvjLVdy5qkLcFwWGF01WpfS00HwR8fDjYG0BTQQ7nBFxYuyiF4kcNlldGAZY + DcLuXfJiKVDee3MpjTGLH9Fs+zySIEgHCZnHzlc4+1qVK+kksk1vxzAaCCEzz74kWc985uhKAw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8b14cb00-d282-11e9-90dd-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:33 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:32 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8b14cb00-d282-11e9-90dd-001a7dda7113 + x-ms-content-crc64: h3r0bCWToDo= + x-ms-request-id: 410238c2-b01e-002c-058f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 2W6/7a/gw5Jn6Y2BuOwtB/7deYjgje8aIoV9SU5TDt/BGJs/VBhyTc5c1KmcH4yCfQ8EmfjOuT6c + n6wGuZkLmbuIykVJGxMbRoPZGILvxrb1Bj/ydMUHvw40XJW+I4m+3AJ2wfxRr/hzoZX9p+bpdrgj + vzMi64CrNoiiWBkXs+IGtHGF9e+0StvD2SWR/WmmO5zGguIiKopGThX7RgV0hoZ4k/5nGSvZYLTn + A/2vD1HGT0AKGzJjMB0yHeNZq85vGtgcGm4ehzEjEavUnV2FyJoxnBiUzCbePmlYvkf77AyJFYRU + nUE1vBVX+9IXe7oMXwrjFA0ykQquiHI+PgHM2SesW3xjhOgXk/asPrsU47uKSBoTjRf5yiXDyfWj + UGAiSnAfetcg0MnoXkkVtbvlhi2LskNHhaFA9g5gqfqy08+FAaFa58LdOdHN1drCP5/oYWNrVRHu + hU2cGwl3KkZHEDaEpBhnAKKEThYOLSD2Upz9rBb5I0bzczfMobEwftftm3PH8NbxF3Uv0WWmzk8f + sbxz6rtkgqAu0mgkZF4HkmSjr9Exo8k4rF3z6FNoahqGcKYCS8OYAKLdAM6nwYJDKqbDNaRyKsqs + cDd4cYSP3ZBx3N8wtIuF7KA59s88Y3OuRUrn5l66NWAtGKqXIHRNHzpGxLr0Fk0ywZTB7zbUVTXn + rZxwpkb0dYYiX++59gcE/vSN77MAQIWqCeDDfgRU+xH3Z3wgi8dTh4bLN7oxUXQ5gLwV2XmSTd9E + Qh0reLOKSWS4ZwNMXMjAqrzKmvWSPcEyNmwBm5rKXh4FZLXlT8uq+E1kEN625s+o9xLLTTIdNx1j + 1ECOHNUVGsdSXDu4IjVRvkap4PvVkh/6T/D78qOjIRn60FGQgQm/qNxF7+Bj+LEJw8grncmeUNxC + +me2JeSBUJhG1iC/hff9pNapV4H5Gl5nBTs3B+axkS5KdQrQ6a66/UA2/C+43rWbIxdgNXJZ1Suz + gwG2VtfZ0r6jD+xAQh5PECx6fS/BkhNI6A/HrXXqU4gLRDyngEWyTrx7SY/bdbAU9/crjzVxOyGV + PSmnsaKfY0WkhB+nVHd6s20dL1ESjXse2L/ROxgcwFcb4zb5m1rgZFgETYpS88FspRTaxLjk9dvL + 3dR/sCxo1xECpH57FWkdCVDPHVKYLhfwOhPyj5P9oGdhI3ZSAwEGHpB+D0g5MLZ+eANMuUQtVmJk + BpV+jH08xBe2Ch2c4sgA1nxMDVmW6I/EcqeX/uoNeA8exW6xZj3UCPSppKSPKA145g/hW68lUH3h + l3V7tuE+YUvbqfHakhHFsmJF9xlGsJJUVnJaoLhrOiirWde8rugDfgmnUZ7xtiADf0uoZsO37w== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8b252cca-d282-11e9-ab04-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:33 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:32 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8b252cca-d282-11e9-ab04-001a7dda7113 + x-ms-content-crc64: nl/kjp1t7TM= + x-ms-request-id: 410238c4-b01e-002c-078f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 30KOhpUbZNw+6tA8nr2dvPyAmENsC5brocmHSvii9o/csa34dZjIfDJi1rhoA0CUIBZeQ28z+NOM + 8daELkGMNFrGoiuKH4Ho1fz1SFb+vOw9cjzgCRDSWgHDQ9vufOxsEoVNN6nl+hx99w2F5NRS3tp8 + X2sswhscCjrVU5g6Z/rNHKTIPP3AKVMgiWoZ8N8ps/qq1qpIuBhWibT+VrJUGHWYpDjCU2hTDkSH + xMfflyxEf65QAMFdxJfnvrY7hwy/t3mSLvRcprNz8Z3p45+jQQIWHDTzlIMsfEvhouhkbsVBVLNi + Dih8YKjX9XGOAQS0TrbpvWesRRMF6e/tqU0i0uy9oGptRmhxrhDVz3yzpxQjCgTwcP5hSIEKXFlE + 5SQm95BI26B6BxSaJG/ebc2AAtfgNW6SZ73OSGiJuDSOb4drnnhaPUbzr8gWISr29swZ5xfu9DlT + 8yc1iNJNOgMV3KJQqlHsDNLqqUPIhWHGuG9bXT8jdVCTEFnmrV988L9qE+v4l3ftfwa8Cvn5sxS1 + M++Z3HB4sr4u3lUCdZ1YipSavce33kxG3EZioB/ElFcFfoJ9QBSXzytSfxurO0yLz8oPe/0yHyZJ + UnCZVVWkSgS73tb4TgYCqlLeTKv+a+g31PnKNQgLXhCxLUFgq6Tk2p13d9+KlozQLXiIqdUkb8fm + gHfF6NbYAZ8bIhGUqDg3AM5NV194jZ1lCoTcyofeq+KVEgDAkSZw2Mo1bBHtYJofIzJ+lwWuq98d + 6jZFkfkQIrxMeMSMejbI9VVPYyjQkFW1VWFCaPZftnpMzlsbYSt5vjcIHmFRrbFgHyFITxm15xjS + 9zwaAem1KGZ492QUSiwszV37wVfeWEKz2s6IQVj3Za6wosPkOxPBFfaJ3LngWw71vdeygkoE1fkt + vCVky2XW8d5NXDnGcL8NDy2A3SA0qrk5SKeOobtBcDeBwGbHT/X2a8x/P5nVvXpUmCMIUof3Mai1 + OXMg3cjKjwh53tlaxMtMIbm028xqoWg5MvMJXu26SaX9rFrWqFqx0Ezvt6tQ+jR2Z5deW4xbiEiE + u+FlZ3Wgf4zo6izhPnkGpU1r4r04beeAQ90RveNP5aNRd4gX5FXYDs5E25qFygrRQ52/2g85sVkF + gAeISEfRIg/onU48hMD2I0K/iKB2L7aBOXH+aHYmz55WCritUESA0EsIgPMFMOPbOi2S168BK1r3 + D0f8bDK3TV7ihoU/gjn677Vf8tSuR3LWTk3V+kaI/Lt2heBWASyI+aFJuR1bQ0ME4DI55Gfd1xV1 + mhIQADeFViF7MBnwg7eD6bdT15de8fRPJvM/xpScLj0RnN0lI3mTjcwWDUMGZsjVEw3hhyHukw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8b341fb4-d282-11e9-9ff9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:33 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:32 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8b341fb4-d282-11e9-9ff9-001a7dda7113 + x-ms-content-crc64: xDnWWFZ9gjg= + x-ms-request-id: 410238c5-b01e-002c-088f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + r64xcvs6NFBcrN5kSlOIe1bqbdLZTjwj62XngSV3Ttn+5o5+ruBST8N+wQ7vRBUOcG+yvDXYf4cU + R1PFe61ZTGeIBl/OHdzn+8mllW5YhEY5GXoUfWi4NSEHkTnvxydWawLfLLdwZYOJszQFs5CiAhMa + RD+41iA20y1EERDTDy5Vn9iZKYjln7eiSnw968wMKfJqpR1ft5Vn7dOZBn2CxX4sqM5RO5C4UaDI + BwX33DFe7yZNU4pVLxf6i71KQyyq3VDpqwCwdkv2/tCwpayiacgBqAx5YxvdQWmIyGNY2hJm/iml + rgNiV09Hk2ehM34pUQuo2Ova1riFxNO1v/K3gNCnI8RfYndOPVxJr4InpMgOLiDKUPXkJ5awst6T + bCY9izE3I8iSpWy6SzFHgOlo3JLr8I6COt8S61T8E/R3ZUXJtjdV6ANic0cv3WUyPBcl/DrnCION + JUle+/0rM2DtZ+hrQ+O5xp/2r+wSyRYXGnv4pfyeBh3pwMJRxb8HUJIQwM7fBSNosDkYx5NM80PJ + rgfpaJS6rytVRTzzZ0YGsbJ+ULH9fMvfvSCtot8qH2qq/pNC5k7gZc3HLEYbiZOqSVeGcNIRtvzZ + 7Eq7m4DUazA0kvf3HLdl6Ju8yBY6cl44y51aRORV67IjqXUPPucWx1+BnWpZAxKnnsIHXUpw+51K + 9kHsgosWNoLEnHnNuf2OKD0dCAJanH1JHdlJVkMbXjljJ3ZUzZ3azzsrPIPEwBHPRzt/blH7sB3N + CC8Ly8yFzQeKWPCGxF0nO9yXhP26WS6QQU7RphW8XfzFG850kayJ0NR7h1gTFV0OuOfdosQex+P3 + b0HYZhajgPmO8mskbCEXr50MfetVxdIvRWCV2DjekIQcZFLF/cEI0nDH0cValYukNTsMO9UImQXo + mz2LUuJ6zpYuQrEeK9XfB+y1fxs+4G92PDayLGWUFkyL+cnC/Ia1O9LcSXGfstu/UolDz/jubpci + xShyHJNMsH7KKIlu6ESEyNCWsd3fwUyw1mXXPyot4BcH6dM2tiafaWGpPNHg2Wm+uJ2wXczECaBw + LtqA8kM9Y+I731gOhn6WV4bIESki54U5GR4UkWmUWMemZfG3OJbk+zMP0SvY80jDU4zKybwXURZw + QHfaTRNARIJzDeCWst9z1+RpsHfJ743DbDAHoMmJNhiKyEHD3u7An9cvxM9DjiLw+pGdoeWDRS6g + AJSJxrnadH5L0TW2u5p5WdW/W6yCNkRJsgoS40zfHgRb4wrJfE4ITg4py3DWtpP6t2SskC5nfRnS + jXoP/fhjad0Yo5r5LRdjoyXEF7SNBXiVtqwMZZSRUQy0t1mlNZ61cw56aAbFiVdZaVGfhuwePw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8b43425e-d282-11e9-86eb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:33 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:32 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8b43425e-d282-11e9-86eb-001a7dda7113 + x-ms-content-crc64: Uvv+ytBA6/c= + x-ms-request-id: 410238c6-b01e-002c-098f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + d4yQdJJb9o64LC8hQ0+lRVgOXWYL4COWdq8rL70veH/eNcR/yycUL+Uz7N494WRpDCi7b3UKsLBg + Vi1sFcqJH37rtBG9FLLyyjO7p+ghG0PE6COLJxGOGbluPXgsA4oOLpGYQ0n31SP2/Q0NAcohF4oP + btVpyV06rAL+fqvnsgNkWFOPNZ60fxc2r0jStEtlzfnFZYWD5hoWi249GA67J77qBcftPjN8wPsL + 5L9qOF/oNNEVXyArmSMc14S3HYiHI1W6fGsl325DD7nviLNiCyyVe4ByIlezAsI28Gt79tVGB4o8 + GJoI7Owl3Arsq24WuFWhgjWLFbsxX2cP2FuOIT1DssC+GYIyTa+yyqz8jxaS3GP1WYj01MH6huUq + mV2R2L0kK6RBPb6/p/tuw6sA5gp+05IFokRGKq7ftKr32AZlAd6Erla4yI0Vs8qH6nXjJWeBmlMD + 6luEZSRffh2+IDNnunj76+3xMSzhPzcRPyawsIbzBfDlWoQ8z94F52jGrO6P4zUdjnpfCovQeV8V + ipcEwRSv9Y2SD4YkbuS+SFuAjgLKYMkl7vw9JxMQD4w+WypD8E6FOlal+Uaf4vUMc6ccpJYATmyv + ak3QtgYYyal9+g8a3uUAW2O+8ScXtztMcR0R41u54DC6XNsS2e3AQbyYQgID5XMAtawEIBlGxU2A + m7nKR90hJ/6okTyk/uazeS+70pH6yrmBaur7Q/bH4cE0HHIY3UVY0m32pJoQbBSkkBB2GHQlNq9F + fy6dFbnHT9H4qT8V246SyCU3bmh5nUqkAOZZDsp/Y+s2l+Aqfy2bU0HUDE80kR4tAEil8XGjzMmX + iYtQRO58K2Wlu+wIk5NgFZWrzFdeG2Y1WTa+K56J6KHdC8F47w0bNbqNWhn8lBrg4P7122iyDPy+ + vi0xuPBWfpmAuUjdx99JL1eJLO/omKZDlj7peWCaD99MdEMhYz9qLbBuQJjE0DvduvuslBrLKwDJ + A1hT6SiRmmFtYchg7tt7HfIHeFld+IN/ncWvjuhz/ngHf/H+50I1qfnBnxPsg4nfWOoiWe9llPCb + /moJiG3YJaV+zwELc93jZmpK08374Ll4uLBjiq1w0LTdWKNTXH3pDhvk+JqNqS53wDnHM2btsPZB + FQ9zxRpvu1J1aoHtC6jU+shEB00sCRGkcnGzUXhid2kdzY7AZ3/iULrhcI7zsfLfNbRRzdM+qglx + ObpmDHiFkthDIqEliCKzeFKUgRmdpEOGSs4DXtZDfL8Nxp1Y89eFwUPY30nKjQZhtyGf3laxYN/V + t7GDodZ5PrqlkBTE8TKSsDSArff+1KfKLkWrUNUL1xUNW78ceUaxhESn5stFoxrAK2418fLCFA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8b531e90-d282-11e9-b320-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:33 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:32 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8b531e90-d282-11e9-b320-001a7dda7113 + x-ms-content-crc64: ses67cqJ9O0= + x-ms-request-id: 410238c8-b01e-002c-0a8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + LbjYV2KcIRil2Xo2UftOawGZIsXtOKCp5scNTMVItqT9Tmq1qp0o1CH9zysh7/gE01eoHwlsiKFB + aLnDIfBeA7ngsj4Mhn35l0XF1jcfEmq11K8i07XxWfi3c2l9P2wOUukSyfr2dbyIEEsy3SViw+i0 + A/By6bT4f9bNV8AH3OzJD/avF0ZmDopqFN3JUTggAp30c8D2EcC6C7LTbDRkPaOIhnFjmzG7FYgZ + jx/2QXd6vdwrLYrXMPi/NeR6LEsLTIxLi60nluh5A1Pa16/PRYtBdClg8mC7BBGbjC3Z8fiaVGLC + lnxp2DbsMHGEr5Sy19hN77rWyc1PXBiGdNphzFKeCfTiT0dLfcrzrtYe35XX9X+3ZvIujsN6j72S + Wb1GW48ynNKlW/1q8TJ4rnb11wUUIylhOhMyQZhaluYGs69uHQtVTHWNEW5KL0usXxx3Rz/zdElZ + HhVmF5SyRHivB/IfOv5PxonnlXWyZDS7V4Nk5W4GISnnQO70W/H3roAaQq9sP/acEP10TT+E2Yjx + +UzwamW8E254iAOmANk3mfNQdSX5CyOb29Rn3bCUV4pHtt33xwA/40lUjFbAHjjVahg6T0I8pKAK + 6VXLFTGKHXFeHgUAOnet22cTtozTlVYiBdTmzkjowOz5FuISXhlG1wXHuA95hApxYqCUTNO92oUo + smFZR0AB96sDtKe33vc5/AmIuDwtsvyod5UFMWJHQ+H+wlIxSNEeTjrkPm6wr3+LQLGL5dLcNyik + 0rxRe6dBhQXK6I1Leeltkw9qZhDFnEWicOm7lfHj4+iAeeWm/mvPQyWRUHLGxRSKX0LmgaoENjQ2 + /sMwDcaku+h1DkSBzzzgBJS/jyUZwUmgx1PbMg6/p1e8InKUZ3/SGQwlH5I0GXIWteO9jhWI1Ekq + Y6myESVCAblGJu0epV0SJctAsIUsgsg3IaGZOUbi1Q1Iu9MrcCXnMotl9zkqiFabUucDRaaECbnO + zasj5ySIsAjtfdsu36f0CL2mptIuVg+tTlQd6WuTZKQU5Ic/ZHRhxrF1nnBlBX0wI7eghc7MsZ6t + IGRurk0fG9VZLpH5PmsS4NSTXEvSDBdDr11YF25DIRwM36+lnaQ5rH2KErHHbI2b3ftDVJFS8YeC + dA0HwxEU5QibN4HLJu9BTv3VLBcL3UdJZBeHfbuoUMN23rGadz/UwBgD9Q3IFpRbOaBVJQsUk/OS + 5V/cJNOT9bci5ZbsnS2dwtarrQ8AHUeWEW3spp7bEm1oHaQyyX2irrKBNrvKDROQv/vrbv7gL1V6 + y1CJJaMc9LYwTsYPE4tfNXe6nPOFKcOywMWyUE3AW/YG4AiXW1QkQMiY5oqOAxe86D/ZFAYybQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8b6246b0-d282-11e9-bb4c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:33 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:32 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8b6246b0-d282-11e9-bb4c-001a7dda7113 + x-ms-content-crc64: OCRZqCg04f0= + x-ms-request-id: 410238c9-b01e-002c-0b8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + naZeYLg2zD/CN5L7mKhHTF6Ajf3u2myOw7QBJMIi26/OzdBKM9cwNSyDUm1A8+AlsnAwX8tK02D+ + 2n8hgcFNvJ9AyTsi9Pfps4keVTHrSwCbMvr6jt4S0UknttusNMI8uKtjpmtLN3+yDJx9hpMlVQM1 + gQNBXrQICAqOUXgPxVAGu4M8sMcUyEqjWMtqRkBfVyX2bzxLzrRhRkUcuR6aUbpENke0zg2376fo + TDCBJ2zvwmNMWQaGcQ+4JovfOXFvc2zjkOIZvPvpFDzuybR0tacprDNC1BleRurcvRGMxAxdgeys + O0TEl/YUWeb2VgXy9+sOb+GJcmH0QuK0M7Kfk9ZRFuCKvgzq3zMCNH/9hRjmghlJZprtMlM06nY3 + jVH3UUSX+K69zENU3x8eL+uDDRVBhMvzVkQqKfJA5Cgq81b7jMMhzkZY682bwjXpby1ZzuNX+nCB + MVcoMIlshN3CJntlThyMpHYWUSt4Zt3J2OxvcjHTwFJfXJmTePOJxlrXLlEH664BkccfoUmYm8ow + 5ODESLRbMD8l8s9k/liJoT8wwohrsPtAFWmbwMXG0GMsUcNZFsh39BqepHU8dcDBY30fowK8LXST + is7lKnEONnf7oVxDJhTlojhJL6ehXBUM/Tv67k6pVH0sTTP6pqMyZAHJBuUc8f12m6LUb3A2Tsgq + 3HJHUeH6TigYrAjC1egmQfNmKoK98xSDIXHkKJclSIuSklPtGWfZ8uCiXYQDzfAMoI/+axqohPm2 + QuGEpIiYfTH2o8xziCkYYHgzlSvkN5RvQF7RGBFYCtFRnSYZKOaITxyOBuYskzstsvytOet26pAn + yGguT5/Yx6DFsflq7J0z7dtbaZ6969dujcH+oGFYb5HXRdgYVMx6o4nvk7NJ7+njOzwS5I5hQycK + 3MHLwl/328nHMLlImRzOJMtuIOFPwikOYhHlMOcjfTNysbZFUmcXd+YcCYmoKMH5IxO01YOpc69d + 7QGLTiTbbXIolByzejJa8Zpv3qAdLq7iWgaC8ZWvA12JJ/tyhlYLRvKEb7nDiDZnL8bahM9KlU6S + Nnc1KhgeNGV8ev2oyO5CfmWIfO1MDrCvJbWWWWor5/4sCR+Ma0XLZ4Aac7rXc19bmIBoZN1USvii + EnE2LzxLIDHO5oIgT5KcBU/rY9h4tIy24slhGaFOnhhwdVYIjODnwq5ULpFjmuuarLRywktpe4o1 + 2JS+fBSMQjwohbQiNqbhTU+pq0f+XzZrCB7gpBaFviPK1ptDuiJm7aTxaFT8HYRlk7H1ElrQqGdF + CjxtAJtTl/0AJHCIEnUoOFREU9a2DYhDhdaHm0DTeOOEQoz5RwUK73/mbcFWFCa3RmRr1dvyeQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8b71009e-d282-11e9-91d8-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:33 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:33 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8b71009e-d282-11e9-91d8-001a7dda7113 + x-ms-content-crc64: a9t4fmMRIho= + x-ms-request-id: 410238ca-b01e-002c-0c8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + XDUCDdOT6nI9bv5X/QmLcj3wy6n02q7eCtiUSjP2WJOsyTzDJ5jXMDqyAaLzK0SBYlXjZswRm2tv + GlmXk2Qu+lqnqX/7vMyJZz0fuySvx3tgYlF9+bLi6/a7qrJfVcCp9axpuGvyuwSCEplajAK2w0tK + dYirQSITTthL8Yi9CAR23BzfWyo5ZM4xHLsjy5AUq2RjOn+EZvugj5/Kope0Qv0WEP5SQuDPtAsv + m9/JChzaSN8ukq6WIp0Za5nAMsX+kWpHJWIh0paP/pR/pCMg5zAvGeFt+Bs87i2DmiH+dRw/JcIb + MHRx48Ri+RZpdzxTYKaNyFaauNRECZDukigu6IjquMd7pFqyG6cYBsZab2SZmhdZiDFxK0XGix8i + oCWotuMFh9+/mo+s7VoudpxaonG+T9lrBOiG5u406Mz1CxpAdHLb60T60ARtAzVvFyrQpQ9aUTtf + hH1BsBDF87NiieORTd8qgTp+7lzOlUlBZIQ1i1mdA+Eo61c00h0OdISxYMCHmAn1aXKROuoF02SB + QboGXRLMW9D2E9llI2HVKFmalmPZ/YfSJ54Kc5e+DsOK0hKG5RATmodE4K24l/2kk6MER7k6uh/8 + brzcoKt3WOlB/fV2h/UjHhqetZPphnn4FY2Vdm/KCKvs2EDXhw/glhiCaGsohny2XUy7NdZtpQol + wdChe+U0MXwQb9LxcWcrQ1c5Nnhcnxff0IkcDX5CbXrWgHphkg0KY/1JCHSFUStYVFqCeytWoW8Y + TCxqM+EHii90uCS1kKOvAELoPhMy4KwLJX0PtFlrZf0obQbjCQTPxoq1k4VZK0RTvPqCBPEPN+48 + z9tlHt3vRlWqLc3oVyxwGUqNUgcA9DgjJVtDgiDJ6StyibpHtRrrGjkpVMWVysBn3ixZir1gZyZl + 0TUOZixEhRlSddkcivmQgwBWZ2VHXPHyKF5gLyx5ZEmigqu8wPd786LMv+iY2TTfIQ2bg6FS7idB + wYbNjlcwj8e5xzElG1w9T1t5wqU8sJXENIT5QqL1L8CJGOB9JerQabIoPjsINRqcP5pNZGWlNGZ0 + DSxyql5ddZf2DIgNwKh2m425FWW6K1sWPcoPWQmiJ6PdYZ2Kl+aQw+pcA99+4ShYEWw5PCLeGpKA + eha9y+0FvVd8iyo33By1qZQ5MJPzzA0EvHWBxETlT5mruM26VSCZEG9IRXbl31UAuJWNI5eqhbZP + 3JJI1bZtf1rLA6g9gRxOnwJp1AjEjZpcKJeejIuFjhb8BwP45Vi2nMuPWo/Q3hWPltwrDFhxhWfg + ySNs3zwuLExqbyZvRFwJZrRLPat56yA2hbNsGaXmLQwZ699f8XiS2RVAXEdYQLGp70zolq5bXw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8b7f8b10-d282-11e9-8e45-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:33 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:33 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8b7f8b10-d282-11e9-8e45-001a7dda7113 + x-ms-content-crc64: OIy4cRHCvFY= + x-ms-request-id: 410238cb-b01e-002c-0d8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + zhfR3F/no9GvwQ1EhbveyF1LyXLgJIMAIWH06Se9ydTfpuvuqxAdGbPB7em4ghKcQBR3IxNfgnYM + c5uOU92Mk5faNahSDhc04mz7c98c5bF9X5zqSCYdTf4yUxbhThJp1XE0uoqQKTiDIRNDnxzBdtul + vg50pzAL6Bi1T2+Ms0fRrueOGy1Yk+k8dtpvfbv8iClC7/GhmnsdLgNxCWMMnMCpOh5E+E86w3us + iKlqRVn9yqMe+4Ak8pXOlmG3Q9l2f1NYqGWUeMbfwk7rmtYJ9lLBk6BYg9rbX6QrR5UbDHQtb8QS + w+pg732TmRtfpArWphPTZ+UBFk3JLRXYZRa0EARa8hN4paBOE1p12LOz3Q2kiDbuKhfMaCvQiBbr + N5kBTHfwsH5JqlME/a1bGFFDxK9ZdUI4sePUMHjN27ckMgZtJ0jlQhCJp1+EhF5iLxiZvlW8TPWp + bhDppldkfVzhFe3QfoQ5AcXmfNC/XecTIoxEK6VUW6vQqj9O0TF3doXjbJtwJOE2duImXC2cmWeC + nVnldTUo5IerrM/pE2zZ6nJTXjLdxsc8R7EjPmowYQfLP1tsTnxjlfx2hiyL1Iyu8VhvZTbjT79T + PPpJMagXTUoLPnpCsnt4xZEfmEXj1ZKQmLdCMFcSC6UdCs8dZgepDTdTyQTzFqu409mun1U94Puz + BATtqBnNNhbWCgZqYSxt4p4WLteZd9RKyEjp2rFD0OEzy1P1xpdWR1+hLmlYAr+nv5bKD1nd1GAd + YhdcyLBqRjvTydYgvLNjKUuvx9J+lKXzdpvgEhU5Y3YjeALud66YI/izcX9ETaAq4IYoL++CDo85 + h3mAGCEUWRBS8002nQAuAqQJjQ/xY4RKm2G6V/azuWibT4Mll4z36HwRXzptMYuSX57TvqDwlHKl + W9EXbPe9DcIDfSPJIyNm3v1+6BRSXErZlwbXbxi02UA0zUHIDfVJ0B20Zo1+pHrT12QnEbdFHah2 + U6e43v66InsmuAExFwAEScClI+RgyHDHu0pkPJJxB2lUO5IGJG8s25lfriAAHtQHQJgOyZWf5CW+ + NfK4S+0HqvMS87OlJRfFg4hnWN8jGzkBdjDBgZ2t/TcyCQt9oGRtCyBEm3O4o/sn2as/gvanlRfQ + ZBUF+QE0YJsHYHqeS9o8j2gghlIwzcLtHfF0m54DHj2F3f7cH1q8hGj+4fcLVF6G2B4Upr7f3rR8 + 3RN1GVR8yB7oudM1YS3f6/aZOlGGWO54mmh49IGaG9LUeWBPLlUd+3v8gYUpHRz2aKdd/OovzLWt + ChZwaGn51ZgU4Yu3XXSYLvm5nKcSaJQtPsUnbcwAiobHuoPg9NoYHKoYgS18kDZcCIBNU34nMg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8b8dd54a-d282-11e9-9711-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:33 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8b8dd54a-d282-11e9-9711-001a7dda7113 + x-ms-content-crc64: TtTJMS/wBoM= + x-ms-request-id: 410238cc-b01e-002c-0e8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + AKtO30K7De9J82AzVsI8URBg3kdPXiEEplHNXtFAvjI22hPSzJCAfDq6AdMSiu8xoN6kUoHmonbM + vpWa/PDPMrOCnR5YrFn8dAWwJOLK/lv1bgxWh424iXd/vMsM1wG6jq+fqhi1IlGpWfiI0qKC6YSm + ahcKYUogRpxO14gJ+2cG0ohSXt8OXzMsOmd0D5t8shRs8495cm61oyMzFH9v8/CjLHQ5bZFvr0YX + v1oGMzuhlvRlbZxZ1QiMRjndaDaXQeX9tMRhITiAGmEPECDrlwQWsXM2+6bGTOJgi8h3jW/K6vK0 + o8TuutwHQ7O+KyIEuUX5O/hIOdAGjSWJ1QQLSSUSbmnDlPgT7GBo/Jn3obzBJ4SWVYLiA0LpyGNd + oMIPaTHIKgO1gl4rzLNwJwehCRk18Dgtr4CxK3hOLheB6hDeyrViZBvd5mf7FR7f3NBrhPh2FplY + EdrjWTkNQ0iXnF1kHBq69fyuqK0ASgyzSBIPIPt06rgnzawPtNMUa6PCAApigzeYQVd/vGQ0lI8Y + XcETwUkeR1urJ0zvu6aK1NAB+nyXiuq/uAIxMAVIJCIM6UksKVQeJ2ohaqikj6Mp6u3yXcdUFsc+ + zPTG1cGYULuTWFzBe8gDSYr7VJhbWqmcEMS84oUYbRqu/s5ys6ywGLzx0ThoWlSQYbyoiTSTLkPa + 9SGBiAEf4TaQ+pabas2FEtHIgfTL3vRa5WD4iaebKoKAPZNmUgEMzSMAAhkTBXpc3r1F8RpmzTU7 + W1Tl3ltIgB/B1H8IGY/UVxcAL05sy3Ybc/7jmUNxspRvQoFYH80L9PUM34lURizrh0fuq1hPf/AS + 0gI02AvUvmNE1UUqqh1Nycr834jbLeo2ujyMk04rUGCQqeug3o+zUhxGL1FKd1gbBmOqebOxVdKC + rloXewPAl6XfPFM4KyMg3JShucHqadkvA/xzx4ECwaTt8Ee39ozrl96w2UzoMdA8ntClbhQ63CBP + OxMoEI8hyzuulu5CuW3mAjXtroWYInnHUzCCJWSPaePdXB87o5l8HJuJvdTsMQ/Lh/E74htR2P0l + cqqKHExziKppzVqvtdJ9rw7NLIvJTsaDKUpr8+cfla3+UNg8MdQwBdnAFd3UqHQYYvFOVPR4zA5q + BZ/D10/BzyV3falgmm9qyg4xoy79rxmgXrQmn7IdBVbLyFAoHhOibFtgMJvUHRdaoQ6SFxNJn6Qh + 21y2wo6vWma2bbn7cs66t+ZBTapAeMO6BrZPQ2+rQfJeGfGOqTyKlzMca2Vim/uyDDtxzmQSi9Or + UQTLvAMmzu8DPPug6cwGzWCBo4aZXiQJlCPNNMyujshAm4WBC7KL7WlY1FwrBZjqiOokcUyX0g== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8b9beacc-d282-11e9-837b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:33 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8b9beacc-d282-11e9-837b-001a7dda7113 + x-ms-content-crc64: dWYZlmfAju4= + x-ms-request-id: 410238cd-b01e-002c-0f8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + jsG8NPEfjM9pdHkeCINIrBR74EcEy4wmDc6kA2jTHqmTmfAKi7/qsegL8MMFSeAMwJI1f/ckRvZp + z9IwWcqGbOt3Ih/2slD9xmHFtddXWgpO8BUjqatzI9gYgr+Vupt7FhviKr1vusSi6b3ZBgqG3KCG + 5Gsah0MbsCuRd2qFBlROyC1JzvIVnwrsMPvabDgzB6luNGOtyCK48A6nGeqJ6g0VcOVdF4NBRJE9 + DD8QJJD5jGNnZVOLw8rD2HTV+n6S2Xx5L3rn8+ahBPZVTh4Uq3UH4ifzDJpfXCflwE7z42Wq7L8Y + 2ATttv1cosSVesiqym/zeveTT9e/GvML/azPGWFJexSs+9KjphPJf8OpHPnX3F5gGdwO4+JazG0W + TDMgw+4rzZyl6UFl2qMgELzf+PqfOWtOW15ClUH+i6c/B04ssTGcbJ7GuDefKNRNW20DUkpYK9jT + 4mDQ/uexKTC0lFnXAEoy9R85/DU1eDs0MDhhCxYgohcElGQA9BaNmnBkIMqc1oMSHYVlta0awZzc + xTKYsBAoRnVPWzCefuKnzfviLXpwdwyJHx8eiZ6uY8Z800Ef2AdxUq63Cqzo2kNtWbS6yZMnJGmN + qa9VWiieMrdlQ7O+mtKwsZv4nT469PshtiXaL7XwSWFdmCt3LiBYApvqKKhl2Aj9V7avdgDmQm8P + 2eaIol5DO6twdG9hHsMcX2wzZowRSenuZbkFiLjYk9h+KxaiQ+9yrpQqY/DSDPEeIG4wXmiPqMkh + iVgIC6dr47uujn2CoGvmio7STNVW07zJ4V/3FybYb7mu4DpCPSKBzMuNXALxn/HIbuJgwavhO7LG + pxA9y3VRQkktyLgnr2/zeUu2J4eCzmDCzi9M2gZx4VWzLxduRSjIq0URj75/mK3PwNz4LZRIMT6e + fdRXM149shYZPqipLw7NNrUosb4rR1iMESNz7Zt1SMlw0y6ucRI8PcbCzB5ik0N2td4rG7WBerIm + td6lNaEHylQiVN18tdgTmqTR4Mhvg8wjK2ZQ1206k8wW1st7drbBtBctnWeebjfbB1q7v/e6AcJ4 + 31y9j8Ewpn9+SAEE0OJ2Dqa/2NJQRRt6tpOuK+yNupBLep9/B4pZgN6RY+fSMqzxw9MDW4EmFQoG + IGvAZeGDAhusZzv7I492UW4+bQWzjHEkjQPseI9TlmPJRWfkPrJ2GCgkVmuOzaGcN7GuCb4hB2AB + mEOLE/wXnjzg+LksnjmbxsPt2xhvvB6ZWmOEbjrgZGS2UIe8AxX6oK/d3fa2D56lMQgOE8nB/BR4 + SgZa+tM3KlziHfTW8KW3XROYvZy74HixGnxMfzV+ODRT4c44dXEXFb+jcHnbBW1aneVOcOSwLA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8baa38a8-d282-11e9-99dd-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:33 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8baa38a8-d282-11e9-99dd-001a7dda7113 + x-ms-content-crc64: brXclxPy3+o= + x-ms-request-id: 410238d2-b01e-002c-148f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + HaOtUm5pYiz7GUcq7iS58CDllQKJRqq+VHfDqFYuW91s/IzjXC8kqZfpzweMiGLWJPL0qd4h/HZq + EgdWdvfRa2PVrKDP1CbQWJCBaDdoBri1fFvjB5qZ5JWVAkhTZVl4v7CRHmtVxDfAhpNC3ukhUrne + 0/vEKia55q/1CKAhxroyBjNePtlZ+pQFB4Kr4dZnKLyuCAY0c+6xogLcyOGte+3GtpICSi9bforO + CaPhKMDEnY4XwH1qoRtJW0kL54aSmwLtz0kvT0eaU+IIdDrhbhlaCdRs476qRD90nQJPGd/misq6 + 2kSQUeC+R1FalVRFJ1dVmxiQiMYbvj/mqswaF1jaHkBTULD7d96P5hgQTo5qO/Cj7QiEraIGJ7qA + P8JMWRgRSBIhwVl4e6tDRQVOVVMliCsYT/DDRyLW+VcnoI/YMunFufMB49Sau2V+o3tpH5Z/o+qL + 931rkeP1HIxv7XB0zlMUcVqLGakEo0qhbegNjlIwqNxnTsYzQoZ/RvXRw3a0GtKBYVoTSXbq+WyA + v4zcM0sx9EKDx84d+Fy5nGWZvJmInOLeaCBLu+XQN10QIkOWu6qyLNkrN3dmbJdpQU/YjjttdU1S + sCT2D7f7qK2cy4WD0NMyqctJ/dHSckwmRTr+DFQ1eZA6X9lx11ON45CCmvBVF5MwoSLGPBjCUns8 + OZ2q4U82J8oqv6Q7PSwNuKKC2oizyvoVERiicudgMrexfHAR6cCuJmPC2bPT37QFpe3ZOTsXv5P9 + 1WPoSXY4szPkERjWbg+sgarIu+Skke+BEMV2WnGeZagnau3dS7WewXRMRM/iIO2TaRZxepQnmp+W + VIEGx5vEKKxh2z2OAx5ymLWaB5B+rTHEDzYooj/CqqcpVuy/qz2hu2kNATS4gJV6IZ93vuCuTOKg + xz6+D9eckJ4F94g4VmSmymJBVc20oQQ52n9kpGRC4xuBhge1ajzsLwwU4sVelQwHybH+GpPIgUIE + Uq3QLi+OlcgPJ2h6xD67Cb/aZevG4T0xuhqK6EIUgRVY+32FVamEXK3cQm9wIGh97XrnoBN3tFMm + SVm6Ei5WsVpzptWBExfnIMM7xSroJ520k0B+jetESZCfn0KRaSQjwaDBcCz97BnW5fXP7Zc0Vs0T + 5rpmZKqrLko8UfVQ0NyzAbIG9ATMNuD5y1yZpgW1wkQPVqksc/shXC4IwJY1uzLofMmFASk7xtK+ + LnYZth2zflRGFBGQN5kTOJe3GW8Li8l9gblj1wEKUA0tl7QhZlXWHQHTl8jYZqkpxlYLBGJ6UsTg + n4t4vclJawRo2RQi8rvqwTdHgVZ5XWcjFMCkoX4EdekAtrw63p82aVqfBPDw03QJ3F/+Lun4QA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8bb7fd98-d282-11e9-a7b2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:33 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8bb7fd98-d282-11e9-a7b2-001a7dda7113 + x-ms-content-crc64: kECAEZivUOc= + x-ms-request-id: 410238d5-b01e-002c-178f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + LHwhbB8GEKL9fGic9VHopcgqdwoEpOgRKlp9g3B6ptvHyIhztc3dtioCLIAS0Pdmn28LWLZ68ewL + 3bgNyFYNCVTQIxUdwmeCaQS3V3vswbCDBBviULl3mfkSa2pF3VCvJ0/BZ2tePDkKtUKB9DZ+3BSp + RdrHEvkzYQyUvhywh85hziN3yqiUx/oiu8oWXV0LG66lPb5yLzN+GoYYc3RmldFRUmKs8Bf+XyRC + pQobcyjEGCxmscx3TmGn279TCuhx47kPwmPWzHg1Ll87G26winUI1kvYDJF1jUzXT+IVj1x+PT6T + 6yFyexp0SoiYFz/EAsc+1tsH2Yyc+1Kgjj8bUobTRJ0/WLgdRfIeWdoVZFY+GUGW/HNHBYoYmx/u + 9o7QdxWr1+2IKOEguNDkreGY/nxoweqUemO0aN7rCYTiWOEKCb8DzY+AsRon96qi5Soq0IX2U/5x + n64V21Bwbpp/PLdbLxM7Hcy4MWYSh7hQi2F55cTQwS6iTQ3cWYqXoCAepjw+owBuOh/50ehi0H1b + tipkbXZMU/kwQXAqKnlBcFrgDoCI6ENIjq+PvBmF+g+ad6cBo3C3W4aTb5DjQRdpc1wimYEsWN51 + cfV3BqSCOzwpXxMhD4D3BzB3z8lRwS3j/X4YAJ4K6sbiF+EQFK+un7TFnNf6QAzdLaAx3AKNbyXv + wY69Peokk0H6f280EC4bZ9AgInoK8r1LxiThIw5vzKCGGD4Bd+FNPjcZOrL6nKVDgkFImDU4YFr2 + Wigu8YmRpOBBvPqZPeqBw3ZTCr7fLXGJtTodXWgvAUHTNnPMjhGUxVNshAEWpLlfmTp/pTQbYfaa + 1k5cnGdaTzJFcHHpROvwy+tI44bTQ3z4YPVFlYGmNHvswME1E2r1gbMqfU5EGLr7GHougQ1PO7KN + 8LgCXmJuw7xMYEPqVrXHKMvOxmJUk7XXLzkGWNXcvK4Md07emB92+7hiZsj0iedKUUHoMT/rjcJv + 30mJzb6JstjQbPBzMgihTku/InqK44rK1ZA8452Vo7vDjfKxhBXdLEZnUTRKnwPNXv7YYiyyLbRb + HbwDZpkzhUgdIlncrYBV6TWLPb6HFfvewwzGFjfTEmC56JTKwMldxjF7bsnnkDWAxA8PomM1bvuW + YgXYusuoat3Cbro2dRiWrygbB/RKhHUdGYPS0isykPa3zZZ+cP0x+LXXSWyv9u+pXynnfTftSk/Y + h+8GcxZXUjqw6L4yNEIlB6dINKr2FpwYWjGkT6oClXSMjYvMhWyYWPqLB/c1PyaNVvYMroBHIL+1 + RGcqFv4d8xwPXYw4ERyx6L+sJu/mNaYQx5JWOhQOZnVAo/t8APsCf08cVTF2rRFSPgQ4TXQe9g== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8bc6ba54-d282-11e9-800c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:33 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8bc6ba54-d282-11e9-800c-001a7dda7113 + x-ms-content-crc64: 5q5MCs35pNE= + x-ms-request-id: 410238d6-b01e-002c-188f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + ObZZ4gVJusZSVLcun3aGUThjZUsHxF9CGRQMa5XoxYgyehyEQN7sE8ievSIy4CssXXmKJ7SJ7JXK + GUKUsMj0rPgTLBtk5KyW7CQmwCFSTqqINrlXHAV5U2UN9TCpeXMAOZk4pGZj50gZGOmE95BZTtbS + UnLtPku2KDNCrHI1jxD8/CME363AQvYXMELdlvdhApiFZHB6jZ66AqgKa42103t1fIBtK6QUPtLG + LApAEF1rb7GA7lUmboFo9YJ0mI7F5kxX0E0bfp1xSFRMXTp5ZgSkVP3rYB/UrYhSrqoEvoEkHzux + ZGUPcBKFgFY7SWLuBw6CpSM+WYcp9cdTlgBbtrdubXpHrgrmtuoiR/fp+/5K5K9jwcJFO785gj7b + t1AnwbFa6k2fXauQLKNxVbixp/BD0sT8a8uwYSOOUAg5rErs19W9ay3jO/x7a+hjyGl57RnIVTcV + LBC/UnvGmnydP6uvDzHspVlYnVW8C2Ip0Sk8C+oZ4pl065JZhWF/mQstd57X0qk9ZMr5RXq5Fqe1 + heICsdyQkErufNhwOLGUhKd3cck6b10UxyEE2Y5yS/xCJEPxVll/SPVUFxxv6VKkbLdnjNxJ8GTo + +0PuA86tnHOXi1ksFaJVqgH3Xgl1fPsNsusd+NYDEki89AEP7oE5YYmiUBKBqSzkh0R31vCl15Xf + 8fQrP13ASNkJNlEkREe4iprIFgDTXGhFyRmELnyinDaElHqC08ijlMfDJ3ltVfvHP2pMmK9hVB/V + Nhy2qaaWHpsmcMEdSK6NTc5Fr8y9r4pQfz7KdaOS3URu/gJ3meeVdAxiOEcYR3Z7lkldwJVdCtJU + 42QTkZQj+WPagaj4TLH8nuFxIZ9GggReXVRNS4RJbcQJ+1FT6K19pP7M26km+tV8+57Z9mMnNoGu + b48O/WSTGGB2oc6ehMrKrH2oZ7jRibq/BpxPSZ1WUegSqJGaUnKV1BIFIPs9m18Hx/ch8HJyUlYb + 9y2ciS71VleFYzZPzZGGtmUKW4UVc3pun5O8Z+GdYyKQs8fT/KLxDS1lvFluAV+5n4VAyVwYjfcl + gtsBMXoFlLVP0ErkIwze+1HuyGI86uZVD99B6Akq6xPMD9SFPUdBgVkS89nUXixYuBzReoXuMalz + KRyZqH8+P1V4IT0VpBdBiHVtSeeu078bzbcIFwYqpxg+h4hvllX7nR11tiotGK+Z477AxRa0sR5r + lj4+BeHKSkxfNrx6EkWoOQluiG2M7VQ1Ugqw5HHS7ZjAN1v6OgtA55obMcxGVR2KZdGdvafznmzn + CECQzKDrVrmSsoEVHPluKrDQ/lpkapOtBja6I6A0xgwKoQe/ZhbpNUMyyaMAgat3Hd6Eq+ZsAg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8bd567ca-d282-11e9-bbeb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:33 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8bd567ca-d282-11e9-bbeb-001a7dda7113 + x-ms-content-crc64: 3Q4DVOLct4c= + x-ms-request-id: 410238db-b01e-002c-1b8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + h4cKoWMFI09C/gLEtdooAR22IFX5hg4Or3P0ZbogdFHsocDfe8Oiqrv2CTc/HLHPci9Hzr0BV883 + ESNtzlEcMCTFwsKZ723CkgpIWJyk1gdhuRQq0xt6TYbYrd26JdvVcEOwuKZGoxpbsqK2ExeKIOai + ixAcpK270FmjVqreG40jW09Ez3QkyHHsyXPyZH4Z12G4voJwBTYfLaGzT8+7wvjwCp6GHHj8pVw4 + 0DztZnMneApSKfSX8A2S7kVHCyenIROTm4dBTV86e7WU/J3LIIUCYHdsgTbzHxeeZKk+umIZHnzR + hr8vuTz+c6LaIbrskTjr2uAbEaz7uvgglNUT86D0BCXbK0Ra8KG37sfID80rcr1CLbPRO53cJ4O7 + L4yLcEUkujCAoS2IDflNMVmCwKy5Yle6XR3UfNSvQj3VHzTzKoelISET8J7hz1Qpm+CUZEwignGb + 2ARb4tv3A4jWPl2+w7sBTtaHM0jlKsmwlRrEGBHmMgHJbMh2ernKGBUI6jKJw+N/oVrGQxHw12XI + mRxZlEAx50plCfh+H4r2raw2zr8oUBnuyUEaAYG9Z2yLEO0hRdhiL1kDgg4mnPz11uh6S0VgkScM + 8U97asBlccZzVrPHAF+qK8YENq8tZNorYrKbreLbtw6UALidC7r5ah2hgKTVZhSeYKne7RRZ9Wag + fr2sPFiEsPdf3OV/tz9X3/T3933JuZZKs3sCO50SrmpjAxf7OocNdxvlsJbka/I7VTtRyv2X3AKJ + ow7KeFPalGPppiC1QPnYAKAh1E5McRCcTrfF9YcUzxXWKvLGg9tfd3icSSpVPVxr4rvnHgzJuWpt + /R61pwApj9npdX2MlgIZrPa8ZlTBbbCzN/jdPghFiURQsDZNHp4x15/od8P6XlvwZMKYgeeOM4Wz + Or8oy+MzK6OfLyCrbKx1Kp2a4ZJ3TDRsuyC/OURd54ZBvbJLALVfd/ro3J4zge3Bbyd1IEep5xpd + je1+K2V9xtW0Oj8zaR25eyn8n3HsfvXs3z0Vf/ZD+KIienolOJaxlgKg1JQC6DpIDAyKXf1LgbyL + OP2cJk4BjhVjNg5e111yog/Fzzk4uG55yiYVxrTvPROJAriHFWcKLPd1S01mdTtNiq42N8CPASOl + bY+p52ZRNstXGvhekpg/ZNitPbtd3oEoD2sPhH/zGU2R3DJWmUJ3hLlc5VwecEmSVKI6LQ5v/so7 + PKamjJ1Va7RbgLLNLjh/ifgfwLi/PqMepVF4efYQAgdm+Im2ol/2YBZdhDH1AnlLzmfqY9CMe5Mv + yLvgRO/XxIoD7lL7+Y3GRHcFrE63Yi9b3jeLdjiIOy2o2ASMdYK/3NzIEZ41TsMLsevFseQlSQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8be60f70-d282-11e9-a8bc-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:33 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8be60f70-d282-11e9-a8bc-001a7dda7113 + x-ms-content-crc64: Nc5rnswDHSs= + x-ms-request-id: 410238dc-b01e-002c-1c8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 32jpWtwSDxoiRPSeayhjwPpv3a/7f6lpg0MVsySZW1Di9ugqXP5fA9o68tqI14bxy9FbAzqKkfJI + u8QoQo4y49GyoYjkxe2QUGYe3jm5U3HQRrUMbdphzLDDQ0/CJRlWivHEAbLEhPxu7sjh00PfUa9Y + iFh5J5/fbZb8TUNfZpe7G0Xj0N7ShQhI3+6VIhLEX1I8lI/REKZwsMyQRbghWJNheAigBXxWY70E + 2DH44lV31xvdh9GWk9rXvxhr28OieG4qYw0symHHQ7SY+XsoS8E+JmbACKWASIElQ5SbOBjbpflM + l/e+QIaeIiigd+KpB98QjHEx90QbDh/OINWWnTcYna/tKhGtBVmqx5JF1QmJ5JZppXvoRThtLnqy + z8hf+aaQWOGD3xGRTFkxlKdqddwylFCS0hOTo4ek6chll7toiCjzzcchgPZCePmbuDaLuUeVyfMv + 3StJJHcGJa6Xq/iron5Gwk+htWyhBDqecqIsas7aQJekJmdiY5R03QPc/d1ts8upGziHw4pyeUkb + P4+ULtcMHY0k5gEPikrgrNnj+kSZpM3Z+MKHxwmZ3127v9YbZPSLpe4tTq5yO/AGiD6D3b1L5Slr + TVOfUgyZuMRsBnuQSvssSFiNxrtsM9391gFf0PtlTJPSFrIifE2+BNdarF3r/nCzIlrfWsg6uKXs + DuMvEIvzYbPk6ib95AEP83IxXO4epI8bHDQEs+BDgAl4VOzhdi7Vn4OZtCRhkziemVIqZRtN9A31 + eVJnXtVvsCxFT8tMqwfHkMtqhW3Z4dF4qcO4ZktAateco8k7WssfLb3jZnqpKxT3+7safD38wxp9 + ERfb9f7BFjOzAcoaC67L65oBtJyEh8DXptT9Y0c9hI4NFqJHoCw/g9xhcXasTW7DsUO6VgpwGcX7 + 6tBxjlUXZq1M+/ebjB+iCsPMXU98spSeKzU3ZsL5eOOVBKt6TKDFRbT0hFh17c5oiW22uls38Dgb + fwiQRiRhyeptPe4M37R3LCm+tenR/iJYo8UINheioyBC0MLadGxrxl1CqSCxG5wbN8Pz+jUM3Ts9 + zQnW9u777MVm1Ec1BgHfrqOkPR/tloBhTSLhaBHFAIG7WPpte8Oh4Sdvt9EwO+BnQMshNpBD3q6V + r0XWt33IgGxAd2ZSCYLsDH2d4tIasQCyryMpByl3kt3nlu2iee2gmruFwXj4tywC4J69ajkeE/g8 + Kys2qSrDyWTe5CudVuU/zmC9HXAuNWFqYeDehGytWcmDmHwONC4c9++DCqE7LmZPL3IfpsXmWucv + 6VWz8txAazQvOV0G4GjsGNJHvapoMNvFxhLq0AlLGxfuqNjfF1IzBKw3rOSlUFedTjjnnwcArQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8bf548b4-d282-11e9-a26c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:33 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8bf548b4-d282-11e9-a26c-001a7dda7113 + x-ms-content-crc64: ki3c3lw6btk= + x-ms-request-id: 410238dd-b01e-002c-1d8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA%3D%3D&comp=block + - '' +- request: + body: ' + + TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA==' + headers: + Content-Length: + - '5246' + Content-Type: + - application/xml; charset=utf-8 + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8c06fa8a-d282-11e9-a610-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?comp=blocklist + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:33 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6704016E9"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:34 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8c06fa8a-d282-11e9-a610-001a7dda7113 + x-ms-content-crc64: vR2LUEKunLU= + x-ms-request-id: 410238e0-b01e-002c-1f8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/sourceblob798716a7 + - comp=blocklist + - '' +- request: + body: null + headers: + Content-Length: + - '0' + Content-Type: + - application/octet-stream + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - 8c1895c8-d282-11e9-b9e2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:34 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/cpk798716a7 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : 1B2M2Y8AsgTpgAmY7PhCfg== + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:34 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A670685F8C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:35 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8c1895c8-d282-11e9-b9e2-001a7dda7113 + x-ms-content-crc64: AAAAAAAAAAA= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 410238e1-b01e-002c-208f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/cpk798716a7 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8c3f62ca-d282-11e9-a4b8-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?se=2019-09-08T22%3A49%3A34Z&sp=r&sv=2019-02-02&sr=b&sig=s6lWI1hwJC9PD9apDka4kn9KqZaJygYETK1iciVk49g%3D + x-ms-date: + - Sun, 08 Sep 2019 21:49:35 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-source-range: + - bytes=0-4095 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/cpk798716a7?blockid=MQ%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:34 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8c3f62ca-d282-11e9-a4b8-001a7dda7113 + x-ms-content-crc64: Oj5cqLDeKOk= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 410238e7-b01e-002c-248f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/cpk798716a7 + - blockid=MQ%3D%3D&comp=block + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8c7ac158-d282-11e9-a6cf-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainer798716a7/sourceblob798716a7?se=2019-09-08T22%3A49%3A34Z&sp=r&sv=2019-02-02&sr=b&sig=s6lWI1hwJC9PD9apDka4kn9KqZaJygYETK1iciVk49g%3D + x-ms-date: + - Sun, 08 Sep 2019 21:49:35 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-source-range: + - bytes=4096-8192 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/cpk798716a7?blockid=Mg%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:34 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8c7ac158-d282-11e9-a6cf-001a7dda7113 + x-ms-content-crc64: /DIgYP9Vfv8= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 410238eb-b01e-002c-288f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/cpk798716a7 + - blockid=Mg%3D%3D&comp=block + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8c8dfff4-d282-11e9-8332-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:35 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/cpk798716a7?blocklisttype=all&comp=blocklist + response: + body: + string: "\uFEFFMQ==4096Mg==4097" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:34 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A670685F8C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:35 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Transfer-Encoding + : chunked + x-ms-blob-content-length: '0' + x-ms-client-request-id: 8c8dfff4-d282-11e9-8332-001a7dda7113 + x-ms-request-id: 410238ed-b01e-002c-298f-667e94000000 + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/cpk798716a7 + - blocklisttype=all&comp=blocklist + - '' +- request: + body: ' + + MQ==Mg==' + headers: + Content-Length: + - '104' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8c9c78ee-d282-11e9-8c9a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:35 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/cpk798716a7?comp=blocklist + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:410238ef-b01e-002c-2b8f-667e94000000\nTime:2019-09-08T21:49:35.8847537Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '301' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:34 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8c9c78ee-d282-11e9-8c9a-001a7dda7113 + x-ms-error-code: BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: 410238ef-b01e-002c-2b8f-667e94000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/cpk798716a7 + - comp=blocklist + - '' +- request: + body: ' + + MQ==Mg==' + headers: + Content-Length: + - '104' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8cb07f3e-d282-11e9-a1c9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:35 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/cpk798716a7?comp=blocklist + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:35 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A670E8B399"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:35 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8cb07f3e-d282-11e9-a1c9-001a7dda7113 + x-ms-content-crc64: jBoHqXt/R3g= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 410238f1-b01e-002c-2d8f-667e94000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/cpk798716a7 + - comp=blocklist + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8cbf3c58-d282-11e9-8178-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:36 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer798716a7/cpk798716a7 + response: + body: + string: !!binary | + 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 + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8193' + ? !!python/object/new:multidict._istr.istr + - Content-Range + : bytes 0-8192/8193 + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/octet-stream + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:35 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A670E8B399"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:35 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-type: BlockBlob + x-ms-client-request-id: 8cbf3c58-d282-11e9-8178-001a7dda7113 + x-ms-creation-time: Sun, 08 Sep 2019 21:49:35 GMT + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 410238f2-b01e-002c-2e8f-667e94000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 206 + message: Partial Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer798716a7/cpk798716a7 + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_snapshot_blob_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_snapshot_blob_async.yaml new file mode 100644 index 000000000000..5245ad2c51a6 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_snapshot_blob_async.yaml @@ -0,0 +1,173 @@ +interactions: +- request: + body: AAABBBCCC + headers: + Content-Length: + - '9' + Content-Type: + - application/octet-stream + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-blob-type: + - BlockBlob + x-ms-client-request-id: + - 8d3459a8-d282-11e9-bc99-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:36 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer41751013/cpk41751013 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : Yge131eW6WNBDTvEtqQhiw== + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:36 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6716B9FA5"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:36 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8d3459a8-d282-11e9-bc99-001a7dda7113 + x-ms-content-crc64: DTngHrtvLQU= + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 1fe79458-101e-001a-748f-66f3e4000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer41751013/cpk41751013 + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8d427108-d282-11e9-8f1c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:36 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer41751013/cpk41751013?comp=snapshot + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:1fe79459-101e-001a-758f-66f3e4000000\nTime:2019-09-08T21:49:36.9571412Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '301' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:36 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8d427108-d282-11e9-8f1c-001a7dda7113 + x-ms-error-code: BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: 1fe79459-101e-001a-758f-66f3e4000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer41751013/cpk41751013 + - comp=snapshot + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8d549d4a-d282-11e9-a45c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:37 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer41751013/cpk41751013?comp=snapshot + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:36 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6716B9FA5"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:36 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8d549d4a-d282-11e9-a45c-001a7dda7113 + x-ms-request-id: 1fe7945a-101e-001a-768f-66f3e4000000 + x-ms-request-server-encrypted: 'false' + x-ms-snapshot: '2019-09-08T21:49:37.0478662Z' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer41751013/cpk41751013 + - comp=snapshot + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_update_page_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_update_page_async.yaml new file mode 100644 index 000000000000..f6b997ab60e2 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_update_page_async.yaml @@ -0,0 +1,2557 @@ +interactions: +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '1048576' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 8dc672d8-d282-11e9-b8c8-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:37 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer207c0f24/cpk207c0f24 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:37 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A671FDF52B"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:37 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8dc672d8-d282-11e9-b8c8-001a7dda7113 + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 91e84edb-d01e-0015-538f-668588000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer207c0f24/cpk207c0f24 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '65536' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8dd4f3a4-d282-11e9-86e0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:37 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-page-write: + - update + x-ms-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer207c0f24/cpk207c0f24?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : XzlqH2Mr/sCbi0Phl862fw== + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:37 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A672230934"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:38 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 8dd4f3a4-d282-11e9-86e0-001a7dda7113 + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 91e84ee0-d01e-0015-588f-668588000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer207c0f24/cpk207c0f24 + - comp=page + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8df96112-d282-11e9-b673-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:38 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer207c0f24/cpk207c0f24 + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:91e84ee9-d01e-0015-608f-668588000000\nTime:2019-09-08T21:49:38.1261878Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '301' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:37 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8df96112-d282-11e9-b673-001a7dda7113 + x-ms-error-code: BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: 91e84ee9-d01e-0015-608f-668588000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer207c0f24/cpk207c0f24 + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8e06c276-d282-11e9-a7d6-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:38 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer207c0f24/cpk207c0f24 + response: + body: + string: !!binary | + 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 + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Range + : bytes 0-65535/1048576 + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:38 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A672230934"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:38 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 8e06c276-d282-11e9-a7d6-001a7dda7113 + x-ms-creation-time: Sun, 08 Sep 2019 21:49:37 GMT + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 91e84eec-d01e-0015-638f-668588000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 206 + message: Partial Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer207c0f24/cpk207c0f24 + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_update_page_from_url_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_update_page_from_url_async.yaml new file mode 100644 index 000000000000..cc896b499e69 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_cpk_async.test_update_page_from_url_async.yaml @@ -0,0 +1,5563 @@ +interactions: +- request: + body: !!binary | + H47QqHuG6lz7N9Kev9Nm25zzt8msMJmEDbNO6oRo1VUtNEhyXvM/rDyhxUqJkWzBHCosTPa3lwNP + dcowoB/vUvMQxRblcrALe8LTK0owbhZivBi9ikP8FxAbfepnyLyNRBzccRMFo70DZwh5Ey+wFEv+ + WbjYz4n0nM14ZlWmyBgfP28QqmHVwHgK7roefaoeAuWyryskToJOM9Qw20cOmqZdHAJZG1QwlZOo + 9Nw2stskJ4AKxRC5BfFeGHTquO8idw0YVBMHmS2uLNm/E5DI8DV33ZQSzWA8bKFoXYEZ4DxMFDV9 + M38FkEOSEosRATch+ZhrzkUrzfrDQwSJ6TmN6VZLFrKI9cx4IUDQB34XAVO0GtLMXXBHqKEb0yxu + 3Ex4yCVpQ+o8h6iohmEdrHsSipHEBG8yqheyF6Cs2d2GC0hzPZ8kJSw21bqMCFga4rw546wmcBnq + f0GCrnyvVEsdq7TL/dE9Q8g7ajhADZYj+tbeF6wUErvMjVnqCIP5gF6S2Fd0TigUU8SdKNADgk/G + eiYHo6sKvcOKonCiz6BKAj5plaWPtfoNSX2WwxrEO+ObbtFBtgz8yh+NVYvk5OCj/H/Kuwu7gIKs + Sg+ZpWGcQGjAorDRulciC2H1/dDBxq4edc4luMj25o4Qoqcfbjr8Ixl+lDSJ6cXERkXHZ+bdILZH + B8f4D+RZNwSRRqd9DxImo9QMWC31uZTCunzgJ9CFSqWU4RWBfZMC8KO7AtBg6FG6UC71ZcnR7sHu + LkhZLLnBhZz4Nx1s1Z8asEJyqAWQv0iGvRQGUdOIyTDOwUSM5c7ZueGWkju1NOjVcacaPRsWyaPa + 8gSU8J2r+EGq8gE3Q9jm3mSXLIa6PRWx7dJGfgs2xfPayNuG5qgMaKnOCD5BHURlqKHv/IQ4Yq/i + TG860E96MnldmczvgOre3tEUcyYylGoHtcshfu86tGvpbIdmtPPrQ4zkfvcK3M6klD9KHtZNYcqR + BagYZz801zPDiT+NppjE3LHKJkv0oUcngukbWyvQXOclzcsdgicakw3TZiEIvsnWz8U2IGAMF/gX + hngFGTIpVR4k0pY1Ygu4JT+lMZ7l9gea0kgGGAHDxk0AVituCLCapKcq2uuguU0dmX3kkfwkw1Zr + HSgSiJpjz1mYuIkkuWw5pm+QZRIioE3Zjhvy9EQrxFqAf0J0vV0uHH4Wox1GJjL2YXvwQB47prCB + fqLAYyS69djA5SC9S8rj92IKjWBnNu5oXMNvplaQSUF6+uhdNHwYuzqgEgyRvsNEuMFJYMfqqsvz + aUTVOYPIXvw0nSPyOkAOfziELVMT6FVHFxTSEYuwZB5jmv5j+B6PU9C7AwR/fuJ1T7qiit+1kA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8e82470a-d282-11e9-b674-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:38 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:38 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8e82470a-d282-11e9-b674-001a7dda7113 + x-ms-content-crc64: HxjGAhtzypA= + x-ms-request-id: 0c1fdf05-501e-000b-548f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + fVUkiqtRdWbHr5lTiSO1aO9pQTRBYvbF672aErAwYy8F1hOzKeYv5vUaLxIDWJ74jwT0o2FZO7cd + IRm/NnlgPodLTE2veLh8K04pTBEs/VpV05AhS7rzEUAehkcZa36d+cXlZl/q9TVRTeTacbrG48vz + eeYPPGEVUBzD5DZMluQzEai+UowfTDaV3SxdBNjJNm3J6gYFCF0CRbvN8zQgTTvnKGp0ZEH7MwUX + CGOCHA0Fbz9uitg955Hh2oNKMj9GyMgktb7eu0/IOTWhXpfRqrrhCwxbUmxb832lXHy583jjnpw4 + tvXB3F3u/A4jgyzHEqqzT6r+sBDtw3ZNkK8a5aaEkXicF/jAkfxSz702F3HcOHuOO81wCr/9y0TU + nuFvOIDtjdqllzUn10pyJc76heYlqbgfRVRFb51qknXh2W0eYPembTlnO9GmurwBoE0mgRQgu9Au + SCc9Gb7UfrAaGjwD6GDR7U7DSS1IidCwl41E7RY8hhhJjqXi0YZokReFpBDVF2wgcXejS8U8bJvj + ZIeUvBsgH9tNAli5uqnwejc8biwi+JUue+aadVvZjpeP0CdoG1QswcGG2wuMhu1tHeaKbjf8RhvK + IJXK0HCRNgYP3bS//pXfSpX4IltWnMkjdX8N8K5feAtwxnBFei9YcJLO/VCt3Q1qZALhrmgNaL09 + +pDv1mwddia52ImGOvdDv2mBmtrHny5lZAIscARQuAWs7PgdxRf2HtH4G/BdBg0RaAlNkwK6E7LG + opaYNMRmqE3U5Jmtw4tE1452hfVbfvAUqxIw3abF9qtqpFfQ1ABjbqZgcxErFFYxz27GQj4k8Eyf + +JpmzyaYNfkOnri9L3upUih7Jt8ZbL4rtH9wy4uH1U1OV2A1Ng5Ku60u+92svTQvp14uDNRNneCm + BZOTT6dqJoN8VAfX9CpKLtx5VW2pKmjSL45uzvkbmMq7+q+YksovgFyAl8PKIJcuHUoi+B5bBzMW + xNet9TFpB3MC2+pp0vI6rOYe7pkRBkuHKknpClMpEXhIuR/4Kp9wbGH9U/EiwXrksqSJAOZcQgzL + VUBQz0qa4dqpv1GOotJMR51i86vhNeSou5SNh8efj/NTQ+E/bqv4FgnDSRSRU3Vp7LcszoJ4tcea + MOccjAd2sxGN7jZfqVz86aaX2oDxbePQJhVNB2BW7I4maKp/+7R/RbA8wbeBxTh57M4Q8koWTMTg + yxR9hbkS5C5HaPr8qbhNHEfuaLAQlrGv7aMCug0NjykY15SsMRfqlzL5L+9kPY2TiLwFSUMqrZv4 + K/XvHUt5tRr7IBGToD8KyOyNRKb2OrNXupJLUsddA/yxj4D9s2k/WDG7nr1TfVT1r9KoNftxhA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8e8fac94-d282-11e9-8a44-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:39 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:38 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8e8fac94-d282-11e9-8a44-001a7dda7113 + x-ms-content-crc64: 2X70DyUxyVg= + x-ms-request-id: 0c1fdf06-501e-000b-558f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + TDkCDhvzKWj0Qsak2MHKPDnF/FaSOaIpO2bJ51nLcFlSK7cCpjjTChZCZRYzuytl+EHzwOxPlkCe + PmfQPLxfZUTJSS7rImiWtneUiAuSS+R7oolePSjBu5bkWB7rFJtKV0HF0eil3UN0jasuqxn6BWJo + 3NW7lwsEoNmoCVMrkH2OLhwk50yfM0Yw0eybmCCMxf5a04gf8a3objUvV6V4IPAzt5wLYfSv+ccC + DpH5Vu87PK6i961hvbSe1TBVuPlnA4/SgAHJVXQ9vMvEAbCa8rCxG1rWfNCjfoxeIvXzo/xiI8fC + Fvqzipet70pc7VOFT+c2itzzXx8vTKeG86bOagW5wyukToX9SIqi8diN6RmMOW3pK1i//PBNXv4j + y1ZMlwaNQq7SgnMcGCRp5B5Imzv8FuLygNKlB01mMJmV1A3MB20+toBzZUak5l8mVzUkheiT6s/s + o8OUIh27Y4sAwlhP4u41vAV5zX94AYz5cErlNznUDEsDwvuKWvuQ8K/4+pmx9sS11jhJ8aD2kQnh + od+IkDIoajhZaxY9qgxlOvrc9CnocA1L894/xkTjMKldpezt2dJunprfZ4otxgVfoVBbwEPHIOpp + HszZ9okO2HfBSoBihDTM5/mFZRfNEG+ya0ncGRVdxWl1udflQRssg69SOYjQFrXDhHsr8vryXBta + Cy46LaUgjI9on1u73suQecvNH6QOXYEl8uOfUYfuAYtfA/XnNkz65u5fminFuI2Wqb3NtfKubJd/ + CEWuStSCmU1ylpAQqlLrezSQLzyp6VUaNIjIO+ARZTohCa9THRwde8/ld1ag1kd1do/u9b1Uu84O + eJzPFbHgzrKEGXj4We27iSEBi3pNO9aU28Nuo5LObTy0ZhdW65pbtcN2pqHpsTFyL2dhhFhsmB4x + D4N7UUcxO1veDhnK6a/A7Ftrl3bZnEKgesE32cmsyvjUCpzc411UEY1YXshzABqtBV6TOU73tbjX + yMWQ1aXdajWUA6HhelIcjK0YSw8yv+nh7qzY3ykSxE4TOExWCDNvu1e8HieLjb8ytCGnVtg3MqCm + ZqMl8gSTuJCcKj1eg66296TtouGSt2OT1z0fKx0lQintZQdX2mOD1MQ6ooR8QK36SUrWU5TGbl+t + BD9kGYKTkqR7gbcqACOqqgDHgdkZ4Ql0f/nk21GlT9XXxY73VREamTq8Cwx1jbRLmSxLFRWQIOzl + sQxsp1reDKZb8ojRJvT+/LK7PqA64GXyGHF6/JUt7txtDtMkRNbPIwIjyGAoTe8Mis/7gxAPH2lR + 9FLcz9QKyonNgiqAVJyVkE7p3i6sBcJifqDYkXDxkxyIdJ24g+rPqEewIsPJJMaa4Nwdlskscw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8e9d4e28-d282-11e9-94aa-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:39 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:38 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8e9d4e28-d282-11e9-94aa-001a7dda7113 + x-ms-content-crc64: gy7rgfRgMTE= + x-ms-request-id: 0c1fdf07-501e-000b-568f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + GX1Dui0Avp3vMbQUxAhTV1tMkCfjxTfTV7ffpUUe2knbZl7VEIiS3fdqZBIeBV+KUCINva9mZ6c6 + WH2Xk4Mp5PH76oa3GRZGIlIINaHtN1DCidVtuBOVJL06CUZ0+p2dCub57oPG52DrzbJo9D5gZH+U + 5UqtI7wah3qdWW1mCiZFOp4nFrpfpFnzWAbuSbbFgAmzzToZFUp/fdI7h58Y1Vp5UXo2EbyO1wSz + e8qFlvg5W7lg5xD5ehG8j+DTv2zRFlc++YpM5dK1BvngyBfzYvkhuaUZKSDrtYPlrOcoCD0yNrdW + nC91O+nh8Z89kWjMD3YfhlN/qqv9JFinJ1VMPcCSPcP8NAblF8Px6/UPVzhDKxVXkWpzEaiX5RQQ + lHIciIMJh3f6Q3HSA6fAy3et4WPWU0/mfrssOIto9VccIEDFGzifk4ty4Dr0zihAEnfd7Ku9rh14 + W/z9d5Wgg5HS5YNtXiJapSDFpKQUVitHy4F18aKdlkpHKshe8wDKku0f8IGU7piuDwnwAVdY+0vf + e1gkqSWtJmCVDD4q9acePH/Q7JUH3AE5K9EHmafKrxjvJQCeVx2QjMJ7WsBs2vbeamdI7yNzxnfV + YFDJvwaBKtJfBJ3WhJOJr9CkDh6kJ1mfeBskMQyqQ8GOd0In217ehsbwuf6lsOJEcwEL1oDEoevZ + hHFUMcAXHl0sws+JRADRZYtfTGeJCoH44pw8qfp0stO0yQSjjqiquZfJyGHcMgEGcKPQINpisHfh + 40fgvwvP33Dg7NhAfW7uxMfBTl5EVPRMypspwRtOJu1bVMjAxbiGxSCOfR5QoIG9gk1xJNQczfJT + WLxRGK6MSMYPtF8p8HKUPsaHR8PNVYrVCmpZQb691GwEXhquu7q9mVSkNsKUNE/TFV2wkgzBtMDN + m5XdPTBt44n6cJRS34Lf25hQqwZfvNEwLNQ4TBueSIeNQTQB3WbsLccG439Q84icV6cYJt6Q7cxv + kBuOp7YFrswUdcEWeqcViTREwr09AcoD5WVa29PT2XN6QqqC8Cl4KNbWxtBOV5QEqptplNORAA9K + ogd6t/jt2Gmu9TzGb8vxfqomuQ7ys+Sxu5YxOfpaDId4g6htpInEn17RLATtA6QDcpO6aNrM5J+T + i3zqz+VrnCsnivSGcm51Rt0HBLdlku3QcabzRTewoafRBWJ5Syqj+oJ1POI2M7+VgSLKtKFTfY/N + xmRX4FAH1bu0X9FWjrK391AxoR+o4rLMHj1uvie4QcrN341fLtQov42RFyStwPaFKzF9aeFKe+RI + pRwMmnF3zFA4lUxwtvY3tew2bygUa5oaKplau/6WvvDkIElzo397kkFPUZnfrzKPShazVseStA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8eaafaca-d282-11e9-8309-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:39 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:39 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8eaafaca-d282-11e9-8309-001a7dda7113 + x-ms-content-crc64: EtMcOq6CFrw= + x-ms-request-id: 0c1fdf08-501e-000b-578f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 8TT48iB/m83e+xDQR2q4sBofc4Pc+KEOs3m2OCRyVF9bsH60/YqB3RuppXLrYNIP1fV7EMWa6pyi + NrvcJWcKTjGkA1lxIDk34AoeAwtQ+EXyI3VhBIbcgoWOzu/hAGet7ykSphMLN0oVChfULkG5mzaU + hSdYV82rw5Y4wOhjC8PNQwGAgLvWR3ibP4AUbv1UN75p/I4H7QMWjKQnt7udteEBKz7CL1F2DIQw + o6aavW4/5994kzyYbMOQA3wqrJm3eOHeRHWPgAl0I75xIKa3C1VTXJY75Vyx+3CRx1rWJJ7NhMJB + dWQSE3l98MM+1pDpwr0e+KV0fYqfnfnd/DmcDHfCnIxS0UEw6zAeEjyO0lYWcl8z/CsLSvcqoX+j + rMSnqr6xOBktekrmnqNbqk2+XY2nMORBQerhvZrRzBq6/QoUr9vvvv4xskHErsvVsa0iUOSkvtgp + 71c1Q1MxkxZxBPKsoIGbZ6f3xwvuvRmcW26kmQ2hHjNlzLT3LbBi/SrJ5xO1b8n86tBgtCchMp5+ + sQwt/HmzpGOp6nOtUtkz2LlkuhteyDa/KfyBVZ9vVgzDPqYrCPlisZ8CsbEMngdJVcubX5Zsobmp + tat0sMRNeL6fsWG6XeoWCnPr3idBlaIdS2Qj75j0cu71NOc5tgWa1HsflCTG7IrkU9q0iBOk5WOA + 8VmHUahs2oSYXxOBS9wGF0N1VTud8/oozElDFWZuAdSgjDl6dGvBSqbmRYUfPTGAgo7+sSw0McXg + ubGFBHTxrAhrCk9IdVPakl/1b/KZAKnRBTzY3JPtDgTF3Vl6qUI09fNbf+O9dWhzxsOzGYK07DpM + jM9W4n42ZYV8H0FJKDlYPxUgt0GVbPu9goc8n/HWPaUEtkR8NuqW0pzcnXo2XTUIWGycS24V9PoM + Ma6LRtPSG7HTE0GYajrJtvXCTnLqOdp3etcgczRNhd6UpvxXgEo1k5Ee1SrkjXvMfmjaKwMvu/cR + sQCUM2yJPnHLCeNUDAhfCb4EL8VXkr3V9FMJwlOFDVWbHgAUhxN9JNXwhgE46Sa5MrMxcPnnLPMY + G/qxEtoVPBF7zSjcppe4AT2GDf1DDmjqrXqpvFogBTYa2Of6ly+UeHn3VuETgwlb3ZHnXmjXEopF + Io6AS5ULxwBcxjOFdeOtWPFOApIBn1vTMc+tsoJg2zwg2yDuIiR19lOuGqYYBWRFfHH7zSPeLTlv + jRu891lWKjHnqY8v7KwEoDXAkvSTrG1drR+3bJFC8fDsBnj9D7uIrEAEUAtSbG1eLoY9tblnh8xV + 6r0fSveDW/jCoPF2+ezx6i6LgjK6CMx5wcbxIRMYitdPnOfJw+cJCTw3VC+diGhhhMmqPgX8aw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8eb8b8ca-d282-11e9-9a38-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:39 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:39 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8eb8b8ca-d282-11e9-9a38-001a7dda7113 + x-ms-content-crc64: k468ZQQ59eo= + x-ms-request-id: 0c1fdf0b-501e-000b-5a8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + bGH5cFfpEGQlw265N6B5wr6pDobHb81MlZ1btfSCn+faZHlROPydGwP0S7VF5sWF4pOCiZgMAjTv + 30M4tU0im69R7TJ+whCBN2/Mzrs4V6PxeNuSUGe9aUJUDPYcTd/vIig6wV9oE16mf/TzeF14CyCa + n8iWLJ4LmKE/Ch/RoARaZKidRTOXKAjSrGgIM4oH4ef1VX8qI+q6lRO55mgV81W7VxTmTXJXyEXD + FegCp9JgcofodTVWly4sPGJIHpSQFd/4E3pXJGcvJdY+yQNquR88yEdUGIVZQNysE+wgRlYov7YZ + 2v3lnoiL8D3SnP6ZjNT1FmAhNFlJb5zEj4HTpysS39Khw6q0i3HNoS0F9SFp9vlQ+InF2H9PnrZz + 6IfvUBPWdGZRQkywtl6nhy0Wj4zjukpTlxkEJ5qBy2sbsUNfTc7RNizp9pDxXbL8k/SXtT6XWpoZ + 7vVAtcWj9TRN21mrYwscsF/W7HTGktZIklIfrimuz03Mantovc7nN2LjFAIAbixw0/0Y89bOCB/z + ZZpSL0mcPH78SmhGpqhq7TZmldmTYtpuRFwktCe4LtgNLtWnI53Dec9maXmFhUKCUJVPeMnXJ+rp + xG61yNgjNLK1YT0fg7bEf0xeyJ7m6YnzF/fgxdsP6LpYQOpka5Cv7VJKqCV23atcrGS0cQfTGfD4 + EkhQViSKI17NYf1SWs3WPYmrkCS019/AThPa7MGfx83GwZLaCDosEjEGuOpzVolYlM+q5msXEJQp + +LnPz8v+NQAByPRbRzdCpXyH12cverbDFTEoSaxgk3TtTxeUzmIrST3Wcp6po5O7lXkzxidVcltB + FUVdpjuTEqi9Lcw4Ixd+tY2UnCFefEchcpF+n1mwZPOsFsTnvbc4L4sllDGj19oZexsGHwfJAyZ/ + 1HDoaAuEd7YGuJJ1dIoV3Vf4R6r8ijSWGhiL6vdDjXmsj6XQVQKP5/Mw4dVwzQFKUfhlAqlLa32t + neXPUNhmXj20ZJWXwVDHscSHFhqIrP75cJEiNYm6JgWPMu/pGnw3vMRKwfBHQGiC8dTtjnQvKdoq + 1J1x+KffE3s/HJ05h/knDryT8q6UKv4mzmZcY8M5C+xgomgmARoth8hL2UYoIr2fOU4Gvs+1xCBv + Nzg/GYNGgR7Ht5gk6NLpcw/Ket2WMYieBRcc1OA8MgMKMBlscxYnLYs+1AvjSUOfwwud4f1cbGhI + VRvT77q8BR1HTrSANd7BLmIe3nIL5eqF1bgMPxN/PORIkhKTskZS4lPEiHSPKcFfnh7MOCDBJAxk + DE0JBccH6VJo70OouV6140V05r4ouMljyGb05QOPPFY7pkhUS3BniqIPB2+pZ4HKd3pq13EX8w== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8ec67c86-d282-11e9-ada4-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:39 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:39 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8ec67c86-d282-11e9-ada4-001a7dda7113 + x-ms-content-crc64: 05AuZb+iGDk= + x-ms-request-id: 0c1fdf0d-501e-000b-5c8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + nu3qNE37u+OkNYG27lQHvHSaVmKzz4Rh+j7oM2/jw9iYpPr5XMmSgIGg5xSpEf7VzfQZLFrNxrbW + Detxn2KcO4VA4yTZ5jXsvmAOszOe3q/yU4kPi2pZbY6njQU+rm0FTUTGEtptaa9q5ryrOlUIJRJM + 0Q/jNX+nDqbvRR5m78fHGoVGzk9Xq3+cMp+zmHdXlRGe9cQqFT133yeap+nhG81DMRuvMtjhF5jZ + vidBeJIv7UftIdfaSsYo+CFibxWMpd/fW8ob6N+ilzupeUQctPP+5mgcGChGOd+c4cH++Wuqn+79 + Di4Gu0ywegTA91y3rDDcFg/ENeWFXV7B5RB6UJFC0eIUJ5KU7WiqZtvY4f4TZOFYzpSEWKg1Rkxl + 40pVnl4RdTvcMI4hEAS+hAwryI8J0xNMW4M94yVKZKuPUjyq9QTTUbuVSm4+xX/EY9xwj2d80/Y0 + cvVBcMfAjljK9HMuU8Oishys23YXQga02GMdT1KqnM8pwMlAIbA6hKoZ4MNScLG8Tn6StUbvN2qG + wctz8IFNxw+r+DupJta7KTrqcmrXqZSTPTXN7kRXhRfdMXPKQOUmB8yG+BZ4ygLD+xBNbCKfF9CG + +LQSfevcYo8fLlh/19v4tuKW1U1xZXyxwF8BvZqaYZnYAjh9oKLcCrlHL0eV9CJeu+MT0d+NK0ke + KDrTsktxPFrcFfrhQWvMvkSpRCeLHAxrhc/BrHq2HHQs0b9HFLAwuaWwTGVwixY8kuFp+9188wFp + +WRP6xIilCYyZRiM+yHe85ckecb2MXfThfeThfOyunOP+LB6uumOveDrx2ZJeFhqw+ruFsE/VCzG + /VWdDKFphAnQGlJdhthDrYpA6W3HeNt/bbs4msoHtE54Mfrh/NcwKIPukuDHFDaKDqsh7f4KGkjh + gQ5/HdKiQO1X9JseaJGT4tS0zM1wQzSWsDBp8b8Gj5VCN6/uZft7b36+RHQVifhxdgQKZBZcZDDZ + uYDUPXy/1sEFiCEHdCXy/qRciC6ysVo2q/tdOlF72brJBvr91BMpe1KhvLMXQHfrqfIY2QnymrSV + tBWMZGof4UlKRV/ZbvORCETVcqE6UlkQr2fP9DQUc2aBSXIUD7OXPkf38Wa0hpEzHIHDnj6gPG25 + E8cawm1qxU2RUcVD6X+pR6+4qRqqa3KO9a1SptrGlO7Tu3DrsNjCA9JXHl2j32VS3dIY0Ex0Jwh3 + F/hgLWlhae5Hkezo24GWwFclptPQJp8sv8+I9K/48ZaO57HiBWjcy5Jigg80vVASb9PCLYssFtli + yGVSVhu2ktgAowHtPh+aPrEk+7Gv9dhsaRQ0LvmAKClKRphV1tx/7TT0YmCSRyvd57dTWTxJtQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8ed42c98-d282-11e9-82c9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:39 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:39 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8ed42c98-d282-11e9-82c9-001a7dda7113 + x-ms-content-crc64: P/htFtrtwnU= + x-ms-request-id: 0c1fdf0f-501e-000b-5e8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + ohUfgykV29n8t7EZt4dQX56JfMjLx0R/pEwGo0BlRucpnj0hnfRABVUubrOchgQAjb+2khiKBs4x + P/Sj8GG6aczAI529RB1Yb5hKPVb3PJ8Jnbk+PEnWEaPob4qOZPVGengfwUcLRHZDw7qHZd7V3sjx + Cw7CRPEOrLK4iJMnCR0UUegskjQAu25ckZv08EjrkIte2I20rNaTepVmG2jMkzrToXaeZlLpfqNF + U8qzBgpOOQvH9k+8z4FlBmwMc+ikML8SRqw+lIArVPmTBQieURsTOcycJMHb3207aW9aU3RJACPm + LvmlVek65J8ruN1sj8nmhq4mXdceDgeOjtcSB1QqkhMUXmoNcNGNFIw/JuqDYsuu0s797kZNo69e + HDoRBMUSWjx0IbhhPmY/Fm5DlG3jxHNPClzck0TxVKdQSFhCfXmFCOC/LIK/eVP2BSrlTfkpw/0s + +gGiqBt87Judr1jfGx9etN1/1JjzDgqkMGSbgQscw4SjZ1jBn/I5zPuZeD0iDEm6lKklIrjxjcir + jxwjDx/9tv3ScWcI0qOTKC8YiE0L1PmtOA3F25Mkuhtc0FJgOF7Kcoo5p5W0Vhjkkku9k+l17mYL + omYneJStV99FJwohsiKTbqObHnvTjkw1bVtkAI6uQX7vRzqMMp+MCq3TCpQuTL8pWiHF86zKI6pe + lc0KTMe83vmH1Mvsnw/Li8L5771KatCAcFc3cvz8AvsWqzomtxDQ2nIokeUemFWTfqhgTGcMtDn9 + qbUOGsdiA5BprW1czmQcfBC3VzoecXhOgMAQ72WhE7+coxLaXd/HuBzPS+jsELhpZ/eJhsa+maM9 + lWSie/DAVP4osH2lt7TWu9qJplZidLWjplC5d5oP+L3Zhkxcs2JuHYBrbFhKFPsZrq6RrdWcY1eD + gCY7XnJEfNP03IQhWMUM037kYVSj7xpeqcjL7Wq7F5lbU97OwDy5TSRCLhzFNKnwha8V4lKmsrzy + ogs1Fipsi+lDjcUGpdcOAvOYV/E5EhtQz1LbwbyHFdtKy2qF7yfYr5rmp6esRM+sffYGKMtHuecT + DpiHBr1gOUzJlyjyhkTq5haecwsuJcTvbIzNXR/aBbUE1s56lIZ86nKRWJaFK9axjsUkYqeq/pzh + ry+STCKLciXp+Dtgalppe6zzLP2OpZqhzh3qSC02aN/wmmCcm3WAoglq59jhfQiDXTEHIBDBx+Nt + kkUf5/Onih8Peam9SsH5vmxeeBDCyDHxuhgp5ZBHLYLeVLLK8X4g7UQSYHofPThgHzv3QJ0a0FQY + n7QSzSb8XHk0p37hjIScRgja9vXEaVL6vXVkCM9MP6qfo2Fj4XccMjSrst3TUVGGdxZqzViOQQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8ee1f65c-d282-11e9-b755-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:39 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:39 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8ee1f65c-d282-11e9-b755-001a7dda7113 + x-ms-content-crc64: 8VzKyv+XAhE= + x-ms-request-id: 0c1fdf11-501e-000b-608f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + g+9UmLGkAN46Q4oimgKrK/7ef0omx1JIR1vOwb4kEmEDhgUIvIWn7eq9mRNEaH7sVVxK+hJy+jve + 00M/1wUQcHJrhpEq7hZDcDwXvtLE2HvheJBGpKCStEuz2WB7745Fcio5UfmPr5Xd3nq0mwxYemE0 + LEK0+avY7EcLFUehg+3kw8Q5CnR5R/JGmBLL/So+ZBJI68vkM/Djv8muzVLUP+/fsXagX4kK2iat + zZrx2mOZw5nYPdhrlVPaN505JutdUVD6OBKDoZwqXkTEtJRIGQVtvEf4lk2sl/hIiT92HqrY8fpB + 2VAqZpDLhOcN+qN2TiN2o55h3khugULUNC/N2z5bOERCqk7XgpcMdlVoU7FTs0AZ4LjLlx3hqh0c + Cpg9pE8VXEoKsfacC3Xp56DusIhQKcXrl+DXGk2udmwcFXOJp2kvFSCK83h75W6vxHpYI2/Z+SYl + 1MBC7B29gLKkq3WjC6lJ5QrEeSQoTv2TIcz8Gc25HR+iVIAQPZr6vSMQpr6BGABWxEcblxCxjDyT + nsWz5vIJZYaUnSWnL2toZBHF98ubdjiEGpKz28htLlHjLX25gdoJ3esuENWCRvNWhsV+7H5WgINz + CiFxO3NpKOZqt8FwUgdJyTklpaILtkzsUkPrU1DavXd4YzlZacmu3pGeJwJyyvnq/np9BIhUiPUZ + fruWxoYNWEwQ3Mgx4GN7KFcvnxYdBF2QFIfZj2mIAuBhYfhkIAA9QFg/Dc5zNdNpaOz59s9toJek + 7HzUKEV9Q1YRXWui4JtkMfdMnNxL1M2oMqOC4frilGSFi56LhIE7vHvAlAFohYC6Q6kEFtX0tT1y + +tdtTr1vO7dlRVyFwnt6h2/VkoVwA/IN0GzIaz9NviAQ843HXxwMDwBhK2DRUb3EjMOHoo74+3Og + TiiXfppO8ki5lFhmtIMBwSv5nESLc689wrMtv0C70E++g6cGG+5Q4/gpYOkNBL/JOuqzOMWCarlF + Q2qaFbOVtk2NjifQcHlumR/cB9K+MWjo23/ki70Qis+HM8SlsQ44VKNRaMnb31DN2M943EtAqQRE + Nih2GbuNTo+UO0Fn+Pthq+qg3FTAzF/MuZL35xZirNi/7tuJWR3z76dfYWNS0l1k3JJuXzx7HABK + wBsW4o50cLvE75a4MQ5C+BmVSfKq1h5PF7tOEToPoM3iJ9m8fP5LiRENk7mMbshw+G7ckipTpXlB + WcVVX+8xKea7nOfXqD5w5MVjeyGWqEDReUZqkP5Yd0PbNMtQsMdu2SkoMRdenzMRTvcRM1bYjmeQ + x5VA6JQRRJjJHZTP4ESmrrvArWnmXoJdzldHPxfyvHphIT8RolEuQsY8A7Ks1jE0QPdjshKmrg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8eef1066-d282-11e9-bce6-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:39 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:39 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8eef1066-d282-11e9-bce6-001a7dda7113 + x-ms-content-crc64: z3Lp1iV09j0= + x-ms-request-id: 0c1fdf12-501e-000b-618f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + NXRU3YDRSlxywgJUCb17M/6k1R+Tb2KM9CqrVN/83D3XmXl5GKmtMWrPA/Z7emGexENFEhv1DBaD + DASlNfHtTQ3AyBmpKriDpitHgR/3QBUO1vaq5WAjzah1XtFlUqEdZoNswjdMPfR8FwK1SwlF2X5c + S22A6J8md7KbImODvXSE0bEX1qEGntBK8XXEtLzhd843FkBVraTGO2rACAG5O4Ad8AZGdgDroFnP + bpBGQTZUiT883xe8PxoZDzYIwB0UwCs+Twb9rKKmxtXYBW3f56eBTSsYOyp+x7cIndBf1Ok3HvaW + GTQsS0+Yg1RT/r2ttVGqmTBR31g5z5LA/Fm4gle+ZUvYDqDTGr/riZQtJJVPFR5avjQFlv4v8eHj + 2dTTscKaFdQymIV0Z5P9+d+qLVxX3M/oZLpxSka7WTkuwhVnmyCzAa7PNKvUtb0mRVl7KvbvazVs + Vll8+Aoo9/Q63Twt2JgdH326DZPSp3TxqFnTBNwd34qfiT+xhnUCf8K4L7Cb4tzGpLgiOX8iE31a + P/lh5QcU4VJcXcPObeZUOLEDW2TW3C1H7qklhOPKIMiJzDZs14n7M9MRwPk1+xzMfnMfaWzshv34 + L4dyVG7ebwgFAXq9gfeqm9XucPzPoqLq325AVJ8MpN+y1Ooe53O6QQVzzVa95ra5VM5fYVcXXtsV + Yh03dC+z7FJ4oQBTclRneCJPbe8z4xCuwB+uPFkzCvP4kRtWVFEzW5awFRkv1wTj9BDZhqm060it + VVvDy2gWvJ+Og/Wo1xCGjJrUzW9HPd7DKyD1D4Op5J22VDS7jS8IHSmLjT5xQgicUvPuq7MRvmbP + RftPPtBKZOg1D6/x6fWJS4FBVhJCjkTFNCAn7kbYs8iByOGHIyXRs7DJ8LiMkd6s2S84yw6VI12W + mKuwfIMLrMrrBWmDyQfnHOwueRk9FIic4ttF44LTySFGf4ikJuCZqIsxCkAXUFD0lTaGDPNU2lW7 + Qr8izMC6ySTGDHStD8hPdfFSOcmewvoWea20fZ7nwRsTlAJpcqPv97Dcc9tHMAsdT0vaDBMrfFFs + EL8QBo0m9LDx8D2OQ0nwy+02RO1p5YdhRrGKiBRpHDarPNuq5M/N4I2WWkAcyyAT44N0Pvf7UyAK + +d/O+RHMXwkTOmwsXlI7AWgGaiP4hJx5BCL4SHf1FImUnu3GFCn81vihQoquWEp1Dkz4xueXII2P + DIDSGYE1p0mOnmz4OO83UZZVBT6ODVPPmCPpO+6ptHoaDAXa59lCVN0j5x8GRpiotJ4+WsN7CD4I + 0WKBsHctlJ9lmF4N70Hmw9JR0d+ziT9x9yPOLz8RebhAzik5FSUj68QVM/PbNagcYB3to59zEg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8efc8a80-d282-11e9-a37d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:39 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:39 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8efc8a80-d282-11e9-a37d-001a7dda7113 + x-ms-content-crc64: HcLS21310MU= + x-ms-request-id: 0c1fdf15-501e-000b-648f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + QG0vFc61I58MO3RePtYEGpGOZG0ZIx6Jpj6sHwqB7+eIIhZmcKQieD27l8EANNotoNuLqAcVRIwB + dxS6lGmUGDgH3Z56gYZYGqwPWzcOTju25aKm9nfYo3w4OXpN4kd4ADdQoR9GWUqKBCStFZGPOxTb + g7yXHS32twkeljviVos6W2gslqbY5RayxDNH32B2gCipRZkjKrKDJbOdWUjGAuQeDYrgpPBEorHh + YScqq2/zGRqqpobNpjeLgqUtrV2TKbZ1ZGZsvUM+KCyhinsVFrYc73UiWFFjwKWx7yaHG2kQcQXO + NxQHffOW+WkgFHqBEztM7sRtfUaQJiblFHmZOqSjj6Jg5CLxpCbjInlF+/cI21zFmEyEc+phTSKh + NIzh+O009c1drOocgpgSezz2rBoML2HbPE/JxlVi2hp8alVBnt82nbeSSCN7behys5/wOdRcWySn + FlO3vQcJTimmlaI9WVaY+z9/z0WwJH/g0V5keh3R8+FBMYevliy0RnHCdzQ7i2FsqdUHMvi/c1tx + Ib/P/tXx7LYt+GGo7EiCcrxZZne80AK4UbkGZfFZyz7Xm1xtsLGFLQ5iIUWT6/AlWrUgwYbuTxHr + NY874bGVNMNDXqc0svaKF/NwLb04VSfzuCrg+8Z4RrQ7f2UUSMAk+seFOCnt50jN0p1+JEyiGlLx + NerAfdVM209y7co9WERHGbOLERxpYpglxy/kpeBlGVmlYG35pq/HsF3bajvAwVIdz6YEl3cPkaqh + K7UcBbaIOFAmG7ICo/KpUcJTSbFW28glOQYlUFNq/jkCztUeIM1mbgm6TIPqiXUJOo+N+47F+LtU + F8XTa2Q7vd1QjN30Asj1KRGGrk21KhsqY7e6fbX8emu7oG3WqgGS7CYtTsnlRZ5ppHr00fS8OEAf + orYLEC/ec6HGr4KkPfzQr3dFSjaWtq7DBA+IHWbrmJZTsZdP239dscBPB53KeOr7R28kQA/Ya7lz + bcFGQWuUzFmnUSuTazGIicIXVToymDntri8N24g970+ryaPqBHogpZFmHzM/PVEOLk5kIw91Y3v0 + WIMuJ3MlWXkS/CS2pUXeJXQTpEJ/t5gjqmGFFTOtC5d2c+l3gkugQ6VLTsnnAQViHxHCQu+8SuA/ + 1Danz69VKPbi95pDt0IsmB7eF+QVIBxeQyXiT99w3hvZLnfmXdMLVNEqSjIacDigz8hMclBkuMYc + t2hfC+rIRayf0MQWf/ZvODHPieHBYgDIvlqehnWH0gRi/J6FQ+tfRlevy1l678AaDZ5k/FM6nlPL + DiEDOYAN5Sx73lVHS069RjD4LGQgSTcGeYlnCB6XJKIMZoQg1sZiu0E8JdDhgLra408dUNJK3g== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8f099534-d282-11e9-ab39-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:39 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:39 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8f099534-d282-11e9-ab39-001a7dda7113 + x-ms-content-crc64: F9yJgbO/BBg= + x-ms-request-id: 0c1fdf16-501e-000b-658f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + /ujgT3wm07tjl8k9++1tycaOWmJ4tjTwlqbYFXp1W7sSpiwbQAg4TWbOpTQfi6H4LVH6zmOb1+6W + Eo7DVjihpt7CXMPiu63wtt/27dTmS4mJY2qSs1YbpTyybxOh4ZIu7h6GjH9Lj8FiwyJdhutdM1Bm + 7PZO4fOi3ab5QvI37Kpsc32uiiHGNh1y4axZc+ptoHJI6ylPmmL9GZ7DViW8DqEnjbGYwG6oZoNY + ScNnrArss6RpYx6GPMePHf09zyPIAqcrS+QFFxJVHGrRgUoxwR/Afq0oFCeJ4wcPdcK5ol0SFBLD + /MVfKgWab7jkLdgOW8b8USWYR3cCrv0MYI9s1hFYiOKVLctrSmfNobST7S/dVDXD6SGEjEFf/JlL + NzjXRxTYN4MvjyRA5m9svXiTPZSpR/2gVWAhvLBRYGftdOKOLDi2SjkSjvdZoJMDQ0ma5Wm/SR48 + o51LdFnXfZt7rFNsJSv7JpsIwc63kOnq+0s8tjukTYuynimDmGYLfbq2rzN2QeBhoFbFdMRXP4md + IhZ/5zwhGbrVC4TgJVkQxwPS1amOsM07niHimHQ3EfrKAObGWpDUQTWW4hEGRoufvG5yHqntXRrs + iQZVT51T1nkpMUacUrWA09iSUeFDxZu+a5ompFINQgB1GMQ/TVe5UoK2kXAgiZovuoKYQkQCbaaV + rzMz60XabLD9UOpWiTL8v2T6ION6ZEyu5Or+1ziezulPeY30mXBagM+OIrzEjg8steBDK2Nbz7aX + ccdd/uxmHYNhUL8AZynKgFCbKKabKQkxstJ6L2kKm+HoGjNHFnyRoP2ScejrP02U7Dh3n0qWRxM0 + yyM+ggJvSP2hrAP42Q/tq46DJNeegyoR00p5l4GmYIDqzYs4Aqls9MWx44X3Oh7XBZW+qbWV4H+6 + TrppYvaXzvle6WOPkehT65sDgWRadxN0rXkJyu3cGQ1NNO3FMp6ddE3ZvJ8qr4MS+uDJ+ACAtEFr + ZDAlZd8xw5eyd43vq4OdIA7raPRHCJyZCa+NwX+t+8SSz15RsX8oAItyFfAAVGTdy8e31LXvYy8Y + GXlcZPJ0vYRy9FLjXp5Yqc0FzRIoTh+2ljBfMYtvCwZZUC+tB3pCDdTy5SaiI07vwXBGQhX+Ii/A + j/7bvbOuelF/6oREu59FKiqLRZ/myudbVyzKkZEr/UhO/UYuPWw5bSuJ3ikTdnJ93zgIfRZLd8ep + xgCSipozIytNxrYxxBrcZH+TOgAWWUkvhXRByVKu2Dxy1jU08CsKKbaE81wLejK00q8YErUJnjTp + VUgMws8kkhLc55Uc6jDaE2aU4vonPBEk+ysRuIvw+26k7qbiC7dVsuurx1izxPYIuEFEiQRihw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8f16e124-d282-11e9-8397-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:39 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:39 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8f16e124-d282-11e9-8397-001a7dda7113 + x-ms-content-crc64: tCx5JrldEgw= + x-ms-request-id: 0c1fdf17-501e-000b-668f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 9CFNeXE9XsUKr21M+PMl+UliKwdV/Ph4IXjfRVMxYkTyJU2SZq3OStO750z3UEhpCe9JrPLRZKvX + VlXKvGmOR/m4Jdgpzr8htK7+msbs0RIG1y/rw0JbndBop530sCGpXZU22X68wE8DzJWsi3ITWfPC + Lh52efkQZmV2K7syyN+T0OzRT+sCEDEnkKkuyioxhKBeoOMZJNH092nTODMQSBgQedmKldopCXDE + DPA12T9BtIblwsC/L5gZohNI4t0H/MQSVFf+R0Vtqj3lxvcKkw6TD6bnlmjVYkK4vNi8sEfLfkdB + MG3n2BfDHY0BL7XZGY5gbgwBUxGf8x6Z5zrT4YQeRcUtDPN8UN1uHyIVgmP3UjwOCQuC5KgvVtoe + 4/H25Wx27SgRt/iVu4jNUk7a+kmf7y16RFCQ8NmBjCAhW+ht1TiMT7n8ItILHhHAcAii8exbMQjj + CMOsBwvKShXE6J54pG9RXvaEaWtzWh35aBGQpDOk92PEQASgZs1e/BOopmEsS3hJ0hAI7/P8p4B9 + bxKyInT373PohPv+Dc1mpyegHgY/acp6JqKGgsEvJ00wlT+tR1qrGL3Ct9j8d4cQ/tL5L+1DDVEg + 47NHNSmRIDmy2VkDKd5zqBQMxqPYorWKIxxw9YP71nV4Tzy75j08SnsqiKu4p15QBc+rjiPvzcOg + 8rGv1bR2rbz52tCXDwXyZLGvvt/mvtuI/tZhmpXnb9xFbkLanD2V7Ch/3LFHT06C/fQJa63paXgm + E65CgDPnKeR8hQfhGbqBniAITOqGbaQNvAdA6tjFb7wZblhEFxz3bVWJ059BsjaGsxnZMRvbD/A9 + QI9VM9t3LzjwqXiVju4nfZrwhm2zIrpyM/c1yBo2YPDBnt9QS34T/XkBt8vf937gVFlXXeboD/Jg + XrfNSQVN2KEO8wrzh4GIPv742GTfd+zpeXkI2L6D1+1C0FRYiaij0BDPWoJ/57VVSEiMtI0Bm7rt + WaXvoHS7j2tPnj1nm98fH1z59V67U2uNzQKT2UgmuMkChkmkGjU76us14uWnZLCMqvaNqyKk8Ksn + xRRmHgfkCA0GoVV+/j4UoeBzfbmvZQCjLveRsaWrAfbKMTSZGb3t2BHnPtEKb+wVtnJQTBiCSN0V + Gt8mDYKIPducOST2LT3pp739eE/+0Tx3trrUhBycb5Bjc4J90QUZmCLsY/y6MYPn74uQmRnf1sGI + Mz9bkjN3f9BvOXq3CgSeEKY3hm2RAD21VqwxlRTGluaMFmjG9VPU7GozCBEbwPjBJ+D5kosuw3JQ + FYU89hGTARTVUK6iWNVbqH2tMQCF8cBZbL2UzcJj+fmjiM4GXfNYMQfIjHH61/645wfPdhCzXw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8f240bf4-d282-11e9-ac9b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:40 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:39 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8f240bf4-d282-11e9-ac9b-001a7dda7113 + x-ms-content-crc64: tCywtbyIVQI= + x-ms-request-id: 0c1fdf18-501e-000b-678f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 51iCpG6Meupn+5bsnpWAFIqfl5IeWVJ3/b8taiI3xYHI1v2Uujk4RMYdFXwqUxt6sQua4WUK+4Nz + tbfVZWKuv07gkfGpuR0pfpWF1QJo/vM+BWH985I5A5F9CwTpBas+lLpqB6EDPywlXcFqDA2kflEC + B98kBLuEiGj6i1iuBKj0hxq7y83XGVthZ7Zf5gs22Rp4B5SzrjHRolQj85vw9eCjHXlYihPhi0/+ + A2YfUqlcF+SxfVKDclpeKVuuKBlST9uFGnlKI4HNEZmbjaRgE3DXFPQg+V519NhP2bCrqfrwK+0t + WVXn4WHyXCE76h0EVfreZttMYvGT1bb58grtXGjRbxjNcARFa+XWiCm34oziucRNqHR+RWgv9YtH + t0BoE/7+HTd7Wx/59tF6NUyxKmC/8cXuaZ8aXAGrnro/BGLRsvxEYkriOdqqD+ipS68n+HOVCwLp + v8D3uTnHmaYbPERc0gUCEtFlmO2tcL/t16fv3802tN3GsqBnyslGRme7WT2kKOqVxUkgzrd4WllD + utMC3g/MWu2Q6kc5hDw6BcKc+TwwYqKXA+eDjpiqZ52BGwKJwNrIUqQkmk1WOcPpoPsxL/Nn5NAt + YkVB5D4B8K38KloABwZTfzrp0Plt2EEI+8RL4kEKSFLLUAYdUqBtCLeZtA2YkqYqqJDBIhF1cjAt + Y/pZfyCOErIr4cs+9ms3EmVBA2D56i3fWjM9DV+6vhFxF7CpByBwynL6hhL5ROQeSO6L0QtihCoF + R2Q93/yAID1rXMYpggRvQGvvRQZNFaqOyupfP7nOQFg6ZvNkOkcoD9zKVj8rmxe4795Ye3VnpmEM + P4Bf0HHlAe2IrRqFep7fApZKhNaDvt28oAqqPhgpA6JW4GUX3vQ5gSGUVqLkQIIXvwwGvi4cT4Gi + T/bKYglrJEJrYiEZ4oVILEZVlXXOswDnpbp17cypOEQ7wlRabEjFY/y5c6MfgKysC7oF2NlTDgGD + CMUeCOMZ/alMok/WFGkvO1Ojgu/HkSz8QRHaICE1V57VylokXSqwQ/ykoMoXrmoUGmh3kNAIfevS + 6r7BhgpiXBCAmBBwRzKPG4i1dAP3JdwToUH4HBr5BbEFTKbFfngV1jOKfarI8QRjU/2QKIU9aPib + w4x2Qk6aGWmFmpi70ZkLFvKXZ077CTo0FgcZwTjhepVF8TlnGtdY0Z9f6iZDsUAYsvkLdgn3ekch + zufyaA1iDJkw6IVUdd/BDe2qv0OOyXt0aO1CLsZmBpnwWs32r5NfC7ywTzfUevrvUCeFj+bxm2+i + veWErj61iuO90+ZkdbolFzQtiMycrPnwbkYmo/IfOxx8GkXVLgGq363Zcxc3JYNVrlGT2iZkeg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8f3120a6-d282-11e9-8b02-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:40 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:39 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8f3120a6-d282-11e9-8b02-001a7dda7113 + x-ms-content-crc64: 5l825v20qcQ= + x-ms-request-id: 0c1fdf1a-501e-000b-688f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + /rCHUTMl7hO8QhHGoUF1KGumOnBD5KDnA0CA9n467PlHKCIfztIc0FvzCZPuvSW/C6TdzQ6CwAxG + HYzb8Xd7kc76eh4kiuXaF6uZSYF4CM45Guh8+Abx6Plih5bZf4lRNNF63QKYX/A29KlTdiAxD6m5 + MFnOg7R3NLN7yqY+DxjMT4WPJo9wHTRna8QiYxyH47h4QKteEuNBaGxqLpoMeLaLU1WbJxrt6rbX + NWXUu8uA99vwpkuNt99r+vxWfoQHpgCELwBBpoZYq8QYY6lAqq3eUFKxQZrSAIasxpiN2H+R7spl + DAYdzPXZDiDG1GJ9H0VJi70y7trZY/ebEKeHw3ZoB3ngP4fpTYjUORweoeMOpi+l1C54UUYbW5S9 + kfiuG5F2GkVFziqfa6gNGykc1cJ7vaNJ6sN6XUKbKwlC0MEv6wL39Ciq2arVg3aHhpl9Oxi8NkO0 + ZdIY0A5TmaE2W0ZqckIFnwxeJn9Wwd64dVKLeLcUg733njJgXd5+mqVX9haNQcxiJJr2CNHLaYVE + jsAay6uzRtDbaD/Rh6RjwHfMoRja0dmEq4odtpZI0mzSg+dQijOpuWKjysN2nBJERN8fdUQp2QrJ + K97p0iX6BfO8/pU4NneybTrkMHdkFjc8q0LnPuWZK9DNB67v64TmIWGN7URz8N2wNgcS+9CQgR7s + Z4n1iwkbm8vG17WtocWYfa1zEibNY5ppQlGQDHzZu1QwLtppOspbsnNIxxEK7QeHDWVVBtGmQIuM + GBeT9GiKtLck0bFzAJ0KfC/LaPi3wtBEHqpevWZUJS7sGBquao1IJLPeJIJBQy+YExWJePypE7Mi + XxOKtAIsvB5vOzFqTep5z/SQ5Lj5FCARMfy9sWVfdA8EpCMcKVBqSA6Ud/Bahx+zhn2W3J1MXPRV + ZMVN4S7L2tHrfg5nu/e6fasEugDDBixHyt3nnZYCzcDY1Vtq9gwv5m+90qbmSYjnGeBGnngNZIcJ + Lwlih39b2+W4XO1FzVOYCG40RMEVHn2qu06KF3tZrvZ6QDs8lhPXwydt29BlNyrw1+yOJMU0vSDA + M5j7hgeCYNYion9tnDzy3pdARk19sgpOdPBXmDLm8TEtNk68vbdOrCMtEvaiPkxZAQYPnNrnbp2W + pOFV9/1zN0t/FICMfUv32JIWz5EuocZTEqZenFRJbkhe1+WU0pCEdZvTarXPOzOTCasbwEZ0fMmZ + FTMA8HkSM2dMGhHzIKL2MhuViPXcehiVIJwt9KqG8wpHhoEloWf40kLrdMZn46pGgo6BN4W5j2nu + WDe4f5wY11upRQ9/68mXj8/Y/n574kZPOqY7VINX1UPeWXa23E8SkPe7xFyjWZ9kZj8JqQnZHQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8f3e5fac-d282-11e9-9421-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:40 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:39 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8f3e5fac-d282-11e9-9421-001a7dda7113 + x-ms-content-crc64: JwvhTIXEKes= + x-ms-request-id: 0c1fdf22-501e-000b-708f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + KFyuzK26j5gaecRTCberbUTsxqe7UOHupBSxX3aGlz8XttZYmAt0OpJV6QctfekXY2CGBoNnbtpl + OWVH2fIdDDiBUywtKrzLWiwrUEt+/p8pJjvVb+cA3O773BfpdmesUwCFxu7WNFx9hUZtIcvl58fN + qI1q/L3Ys7X5Dk5jDxaEN2NBS+YZtUyboYUYdvX4s8P63x+6lN65/kY/tI4fQ+/TT/7+cN12P5as + 9ZOR/hu3yV5/ljl6zSsd08nKPXOTFhbiPC1Qr1UapcRYlEeVrtueDVoLA6w9I41b/so/u0o4BUJ4 + /K2slhyf96NTh7gRMcBw2jjTYnrlN8M9nkxqrzCIcuBwv0mAM0DxvpBGTwKNclF/1o1EJji9aKyv + 6PiN+jpXYj9zuydOUu26Obah8XbFVA971QSZdTZEmn7ZkBZJVlJMLjlrtfZ6t70BiJTOCF3KD9tT + 8fkTXoHLtESObzpxiDkYa6MtB6W07t+0rmFERLbzP3p1WTzJPWPvNJgGn6z3rjwMXaoZgaQwtDEg + QgtnL2Eaqx4EFJkj5UuZKDz8Xwzxea1adp+cnSEIWuhtWxUUa7Hp9+85bz81ENO50p+hszECbmdH + 9ELkzF2cmC7j8qv55N5YH01LA42xCoK1NdaDHDhcndug8kmpGjtU0fUs+QPmbAt0m070INelqccC + x80tF4xkyv4fK9yZL3lRDxhMxmNIUkhQ6u4Wy6Bm0sfZUuxGx0rXBorxpUIpD0sT+wrzpsNmI6TT + wQZBoWDHKOghbrkighpHToIIVLEnqcluZz+oyX5CrFSKRIuZ/UwIabEKB8kkZLLSiDalPUvbp/Xi + LNwcarU3DJEVa2565NZmOPkQcaD40vyU4eRrEM0iTxA77ADQKkrmECQgCmvleXg9tx8aMdunmCy2 + ujIq/pj5suGhpDLvCWrqHSWLjR/8d5LqoaS3CCXLfOgqITkp4SHBIe3lrfmZ89HBp4xNtieMNvEM + Mnj6tLLM4a6H4B9lkMhkzmpg7jpJM7UO2WeeQWteyfXceC40nkSutOfXFilSNmVfjNqw++ve6bQ3 + hW1phDP7+xRmuZoizdZkxxRDpKcMFca4gA7VYBTYus49EeNpVNn6o9Dy4BjEbr1tLec1TPNZ0gom + 6gqKnnVWWx8cfmxix0k67HbQ4K7NmjruId4PYMZE+G7CK2kEvKb+bufWxy4o4NSi28GMHgh1Xc5J + HHVZijBi1N3gusLD/rgvQfaEM8a5BI/lxp5QJAJAAIcg9H3ZVJ6zIKmxwVmYbxc0K9blkX3w3kt+ + 0cbxm4mDvv2KtkDWZhiu+mwtNGSri2ZEfkUeUw71eAIKPQxALu5pQcfupbon+Q6J1U4qgzsQBA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8f4bdaba-d282-11e9-87e8-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:40 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:40 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8f4bdaba-d282-11e9-87e8-001a7dda7113 + x-ms-content-crc64: yvlJLycfEio= + x-ms-request-id: 0c1fdf24-501e-000b-728f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + HInCGHMEHc0GssfGEj0ZJkqRL4fguqJ+RE1TFm9ydI24u1zJlEqZTSJKqwozsv3Dd0ES6f5qc9mr + zdxJFd1/qPzwRO4aDP4nRXPr3+gyg042v8Yc6NprCdy8AIEGdGjL2PnRNFEgLFHQSRQErkhYb22E + dbHqq70avCy34sTioRKhchv0aBNvHCDWnxZNNUsraceOolzQDk5hOFPXnVugqbhtbTEsFOFyaZ4/ + oAvM2nYj/YqFY85po/vX57aoq38vAVLLHB5vVDBu9QKBGQHM0waX3tUnzh46AG/CrIHgWJBFHNrJ + ydiKmAvIiGovMLyWUZyEeiZT/RseuZpBFgy0d8Ll1fBnwJnOUbaMLna9ETNMKFPoFsE0ZrIKeHGu + sr7QK7lQa+DBLr/z+80NSDAGHHMDOz9yE5eXjknNYbfYHu58yU0eH4fEtCdNp8qLRuRo7bt24ylY + gtFJAlHlDLLeRkoR02xGnNnmSukn9b3jZp41c1XNgediJ6nu/fpoByuXBFaI3gU6kgAicy70NkOS + +wlcRTXjn966G7wGjESFKjBTUDmDvXrep7DYv7abQ9Fp6nFeQF4YtgI2zY048Qf5ph1krC+E5VoV + n5uOu57QNTvwcjj+aFg7Ss7B8J0BC5dBNiaEyU5oe3J83fJiFpXZdBt+VqYsFXBbnnT6fyy9yBIv + 9i1klx+OiZ5pDkZ7T2fTxuPrTUjnIe1/aEaXaqTrM9rgr7Mm3poWYj/7/c5mWqhQOroTEzeBq5tR + 3vZVBo1QqzrLp/f2Ro4IKt8lHGB084rRcPwch2lyCHM+6bUyoZeYHFfiITvZGecfm4qmGAxQObGs + Q4cOSmD50o8kN0o/hjSRdgWrx35xN+NCTa+LfVKwfOrFYpm35TiLUAIXkKNwioohipl1GFJ27eD7 + zdjZLCTTDfVuGFeYb1hn7tijQg3BiDOzijQnSHXLX+9h+rydhl0K7FgCApfL2gS/odW5/VdYCR1s + AiUZE4eOrVW/Y6PPSprhajSEn/kXbRCuAHLNZiWxZBClncMUvPnomtat2Cl72gLEXQVFIII9MqW4 + FU/RGPLKpOAes6BTUKyDL/Md+kJpwIwwm9XyvnSTfy42ZXLt6uArjmaVIJ827pCJw5g6pCUuAEBX + ApiGKX8ZOJuSDcS1ODLSzrzYcK/GgJhnfL68XXUZuDTJAS+IAamtOmFegfK0FkdL4UlompgZK06O + hDLZayf3evlVR3eu/NtUzCG7palsjfcjFkaY7lbqhTVyEmKrF4prIeLizrKwEDiODXtf49GDeko5 + nQhLaXh9te2Al9xsktjzJnyst75D/m5zuNm8A7n39FpnwVgBm0Q6TAQZMEPm3xVyA8QGZADtaA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8f5918d0-d282-11e9-922d-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:40 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:40 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8f5918d0-d282-11e9-922d-001a7dda7113 + x-ms-content-crc64: hXrqtKK0MjU= + x-ms-request-id: 0c1fdf26-501e-000b-748f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + Q9lGTA+kRu3YhYphLYlU8b7poI/FgOCifIXoCXLga8UFDZhaFwYQW7ij7okWGRjHCFow2QBqCNOR + RaaBkqWZlccQdG1fvUSTRileO/IUz2DAZIWtb01u29SLd/wCJgyvFSwz7JGF5cDFlQXvNtp1S9Ah + IKWteN5O0TwlQIREikqBUn+tMypTaOPr9njZpdLgnKt9yeNSlZkiv5E06iZicPJzGXRYzZMoz9JV + W0qmk0aYxGcmbVJb2Ghb8elMS2BxU1OuhSdDNvdbORF5QwUxjahQUENeRQYMqV/AWe8lrPDv5wWv + ohZ5eI8Ht8FzWZTJU82z3pjwpBlfRvnxnzSsfMsqQC0n+WQ2xnhO05ImzteZ7I0CD7AvsawKipOM + MYKwbBnmDiv+S7dx2OGG7fwDKf3ZSJ0ZpF0CojY6Q0nwIwkHSKqiPueW3hcDl+VimbLdjOyhXlhI + g39T1f4zHPJgbrtq1P6pRxZ0u9rBIEpknFGc8J6bXdJ+GPGIdeoWNjVEG9nYb8UxmrV/8o8myM8S + o3Tf6/d3psVC4SuUmdj6W7VqnNi/QZAznngE8GecD/KbCFTJnsKj03PiWIFJJomp6y+0Exf9QGuO + /GmvLoBALiua8ranXqCc6p7ntu3WkHERMzKh6vZ866o5qQwyvs9k6TRoq4Mw9dzqDXu+8sGehVfY + LYx/G77OU1JzjKPoEu4cUn5ljQ6u088s3JCEeGIkRS4/pd6tJa2Q411QMjkpbFPU0dqzgmSvs0iR + 6ygeIqqtTmoh0cZ1YFNeviGQDSKIMk2EaPTlzv2APoS6I9iWHiDcEDR6hQL7zpB/+82efnwmbi+T + iULVI2YiLC6kUsKJ18D7aZoIExmPdNcn1G2ghV95xjTDBtLIf/05bMaLUlBoVfPo32b26jUwKFEm + QaP4XxPqijDwOClfvCIRp/qD2D4mo5nLBScdQzzjLfgLmhTzr5ay05qvEG+2RyC6NtIUA7umA7f2 + YEPrbyvdpMEzwBE6eMd5JL++EbHrM30+5iZ6ekgIIdSLXAcy27h2z5XKTuOt0/VpZrGDo8m5A5er + 0aiQlDZQ5KdaqsV6Mft56qXro/4QLgpBv2lwuTHAKWVNIYvUFQ1lPBixQQzoKqYKQGdHVgM4pdes + 0cBX/uwKkHwTia+8XTPo0yyAjGgc13/olWNjPuOHiQPBTdcW0DkziD+MMnrTE1Y2IcjSDZnwuksA + 8ccG/hCY4ocCMe4yoELNeU1DU9rOYUW+hsG1hPhaQ6oJYAYscJsrgr4mcdF9beCiI0pRr3dwUnyU + 3pAJ5L/1OdO1R2hq+ZRwud5nyZpS9jpLRUK+lkcojA5/bhoJGpUiQKlAep5py3q6IpkmgNZowQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8f664290-d282-11e9-b3c2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:40 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:40 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8f664290-d282-11e9-b3c2-001a7dda7113 + x-ms-content-crc64: HU3lK48Ae88= + x-ms-request-id: 0c1fdf27-501e-000b-758f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 83ro9ESJM5G0e+mCCh0CiSJWn/FXTwu9u4tQFO786m0Az2gGssuQgvFvRUcaYQT+JavB4qXBQowf + 2T89GufQgHo0ZsgAMFozzaUwhPahFZyZHACiEsmjCYifDzWJHDFkI7hTeWJvOigsZoJgZXdWeIQw + SHIDFJAdIi92e+O06fhSuKkAWA6DddSHSuVwj5vqH+UFrK90lf4jlmCi8mjf4cCb5wxieTzsCpCR + l3aafeHpwgxpBBSamfya+y7I3Qmqx8aCpCvstQ5AY54Cb1QpouXMlnlnYggJFxX3CX8FUMjAamVZ + 1bAyyFpzxJAm4bmA2lSdRVO6hvolpCOxonJm7bApaBdjWO1/n8pIPUjJv/CFq34Z57TfbHrYiEZh + 4az46EM7JzbRaIdtpTxa8rJBMsUdWIo8IJhcy9N1Le0i2ISXWdNKlpBCbWKARbku7WzQUHMUWasE + 6AiJLVot4AE2P4IPSggtPOroltj1WVpndHoG6qMc/KpffUW5+yNTabu2KqZ6zsqe24WQUFXVJ7YA + WaHvK3Xph8RQ0yj4qPimRk/x/UsO3LMNfxeAwOwwIcaKL18KoEdT03Vo7NSKV6TfN0UbCELNK1z9 + Las6yW9gwQnLL4xR0kWnU+gau9l0O445U+2D5x/e8LjvivK6/A8msHYzerWzG5jB6fBl1Xg+4Qy9 + d2BH263HnzEaeiDLKEpqPbwZ87dW5fgammU3686HP2sD43cvoFBDSKVToMEfmTB9DphoLOPihE+M + gw8qnECsUa9UYwJaDfCs0Xeif7vl6Bu1/HMGORx8gE9vbWb2xfZa5us1WiHuyZNW0ESGkaRU4et6 + ARPHmd8wvjv4KwgQgUeKkC9awtcHU3YbfZxupyWZ+4gKLrfVSjqtwapz08YQzMAWfJ9r8ZKCfc0j + 1JpyeBrLBacO0hJatmsMdrycV9kA3reqNe9irJ7AzxsiCfhxcdQcmG9hoGF3dOdQ4HtvaBxQgfrd + WpLKVlzEk8mcG6nSx51420aPCCs8h5QUJTF70rcKczjJruJxz54zj63EFkCeHjK34qWvpX2yfLHG + YM8u8iahBRhtuK/H1DQ2YmQ+0QDwp0cev4VybYqgWVJuxa1Hk9+c7asFflAM6dfKqP6EGDXvUaGN + i4OXH9n7UoqVwDctwqzueeMQIa0HQUNgT+bdm+wQOwEd4Z/q2soL6uxXBPcEy0x6XNAPqAQMNjdO + WhLCqgxNZNCnXHrf8fNJVymHiYgD6QIQWnDkjYQuugQiuId2ROTxGT7E8Jyd2chog8qmi0MNQ+x0 + ZoAhoAMATT0b4FZRYhhVF/pJapzd7nnn+Wy0YtpPlhI4dTTdcHKtjuAdTaFvQ/u6l/BJsRvTRA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8f7321ec-d282-11e9-aad1-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:40 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:40 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8f7321ec-d282-11e9-aad1-001a7dda7113 + x-ms-content-crc64: fC9O2r9awi4= + x-ms-request-id: 0c1fdf28-501e-000b-768f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + lt14z+PU9mEQMERJRgnbalWohel6HuM8qF2T8mpJLuk4G8+QTspoNjHRuFK/eKe+5jU2PVjuRBN/ + oHUNBlsjEKOAL6Dlb5JYfUBwahcx4GPI7YTHH6HbTePntKxd1oEH9aljFmBaCnyfcro8Q0/2IvZU + g2kTvAdv2szQwX1oPsKqXNWA7H2n1fTmRjvm8yp/1PbE+OPkN7qxrhKnzaHFS4p8JFAeJWsgs/cp + 876rLb72FDUZJZW99gM9Ryml1F0JnLCxRaiZhWiwPxts0aesrJ16xJpYVI4J0zGoHbvJq2h2IE1s + F4SZZM7+LgBHKOLhE8qaHMElV6EY0DXLLtn92RLBUFfT7cX45oG0BMep/VmRhgus2IGVzIIn7UPP + e3jglaMbl/IbY+bgbNsSWxMfnVfs7MUZYpKbOI1osOn4IFmT1Cy+RSkFXkdxPMpwsMErVEl/6Y85 + RH0oyqfQJuFwnUNBoGCiwlU4jDQa4bhfsBbhauogg3aqZXkbEYep5RPO11uLmXbtjd90CedK/XVR + 49ybe7QzeJnwsFnzTImiNo6Rhl6soxYBx3TZwhEbMbHPY3FuHdMDbUelGvvK5WKop1CtpXBhkJ0Y + Ar+5tHFWPan1MZxgxTzspx7NFPIugLn8vYWNshOxLwZkF07cwrbEVDsnK17QuhsVcgBA28ml7EH5 + dGqFKf58eBGsF4vYpG31crecprTzoRLHstRy3w870IoZdp4786qu1rBSQtXiY4baby5+w2T9CBpW + 995vDOUNUOmrVzZyF+U4kMkvImX2hiqKU1aSLV/D888jkpmwPZ5NxYPgd21a2/LySeO6SiW3DIaf + hZf6cZLl6kDPOEqdtjgcfwnKEnptq8VAqD2Y+7SKWpBk5/Ie0iZqFSOv/qYjwxwNRhguVQuVeC6r + Al4SVLTe1DmZ4I297aBWILhBl5sq8b1FdmVOcpwFBI8xUufHNzL8v1R4MPJ/coN9qQDGkuR2Yzup + MHL7s3iPnasZAT6Te200wWO6beGcmisrBlJiOWRwHDkkN4B9EtfVgiAXcGUlgLRmpDYbMZ7QjTD5 + R8MbyhroWN1kqGQcqpbQLl2h7w79BUdK2Tf8tOraNPC9hzqgE1Cyjo7Cg4GgsoXE8rLkiQj5kTe2 + ejdnjX0qa2a+jxk6xKKXsfLNnqw5O/gokmwMQD1c0dwm2FyixNszXK9ZE47nz9qDvOJliN7JY4C4 + KhyWIvMWShiUZPYj1Ocp7ZaM85O6gFaiM48Pbvnq9FaEMyQF7W2ueo/km1m2bit+xd9qqm87jd8e + A7aY/mIYXkRWnkUwLZLiPZNJY9ifHk4DypvRoBFPrhCkyxKitRfA+aFcuFcHr6QgKwfdwFfa5Q== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8f804a22-d282-11e9-90f8-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:40 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:40 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8f804a22-d282-11e9-90f8-001a7dda7113 + x-ms-content-crc64: iWNKaSKjK7c= + x-ms-request-id: 0c1fdf29-501e-000b-778f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + YvR5gqRCzMQDge9TvaDyPFQCW4jp6mW2CbZhCvk0LkgPkCpDrEphDSgZCgsMXsHqRZC3t+FeoY6y + fQyv1iZaBTFd0jJ7rlaqYYOyARNS6WBynIgyigyENR35cm1/3amojrOJ9cWid+0piopvaaUc2sek + OtRupyFPjmR0dzsnCfpWp+vGx6rUROInNImRymN7OUj36Dv5lo0z0vrd23IMb9EhqXdQs14gPQft + G4oXjY0Pvxxg2pDPTyKyMK+FTjjWVVYx5HwGGXGvzmg0IOpLSiOQOqfCPT1NbFACQXDKMdD5siLY + Pa551GDuvRI1NKfSRngasxIOAjK9VHbnM0RNARv7ePs7SphxQ2Z9gmc0v+yQfVNONeQR3U1JynFF + uOfoCgmS/fqCUh7jEU19Jcg7U12nKaMrzgsGgP0zbIFumzgfmrHZNY5kDbNzaJr1noRtLN9/lbsA + UoWYSgNCQu0XVm/JkMNf3wIOPTOCOJFMGnRtECRsIhgJI5IL9n3ZnFW5TiwQOmRtN2C569f8izj7 + qjYiTZaIV4MouCpVYIVR7EqPRgAdsp4kyLRWauC6CppDZ4ykY64xkS97jBRwsWoL8GRJ6YNKWZv4 + hJJnLRWkdoMFlafqm6l6hz1ZkcXxpLJfa1IyfNrhcNiQwwsB3Rr9b9kDxe7XD5sfFtbCITRd2QgG + KmiX5E0XMIpOYLCQ/UxUoEIfOzjZ4qgl9Gzqe+re3or2Olh8wFkph8Wz7QLuSVUdtLTsuc6+7qao + R/fJ98RPwffrKmTEfd1XZUig5vAjuuDUARCTMLYgvnt8Ch6/dJZpa8UdSHunrkZmJAzx7wtESloq + Vco29u1UuEifvH8qCT8lsN/bOYSYCKVdILFAz3zyf+/SPimoMkPo/mPAlVTwbC7phwmFwst895QX + 7JVtU+WGbRWAfQUMbr2YiZg13UZHlNC3pyzpTgLvzhLZuRnyCAUGHOzfODs/VXZeTlzpD3VJpSE+ + IZqsE5EDVN+tTG7giThSawDoI5ir0hZU8JV1p6RcUUK70MlWIjDYTvhTQ2iA0dKPg7pjYryYj7vR + XBtGh7+2KU67fwqqDQkUOsR0ULKhw3UZ1hTi5aI/hcL3Z9pezZSPIZ3XBvvJiuXGCrEwBrKRXj2x + 6+TqpufK6NOlwq/90yvTUXYlV5xdVQE1FPGsaj73U3E8H1pJUSh52XCah0fLsr57uFk/FfGAd7BA + 4X0FSoo/2oBHRQ8SqTZcahX8iH2BZ17SUsK3nqO7yvDRd+W//KP2rXW9ce2HZ1NeiXdigSxbvj21 + gohUPg9eDXTuf1KU81yKP3zLqrUdErC5yzt4cu2O7loPcZjp3tf7owaHTzJK7FJSGxG6wmnhXA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8f8db15e-d282-11e9-b531-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:40 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:40 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8f8db15e-d282-11e9-b531-001a7dda7113 + x-ms-content-crc64: lzqgsgK/YNU= + x-ms-request-id: 0c1fdf2c-501e-000b-798f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + oF5J3Hs74e0ql1Q9HrhJkzC6e0zzdpIWgxNj4tdUionHThBOQIaKA1ZgQzViLkWKJy0gk+BlD94l + YVA66trPIXRuJKn3GvgQ3ds9SeQDTVBjrvZCvGOrbKFBHvmNs58cE6fsEL/AfSsaZXfxOFtVnMl5 + tvAsM6gYbJpgZ9urpV4etJj2VRULyqvpISZ6MKA7kVvMaD2FCtqcE0kq0aMkBiR2rQu7ROJZE6At + LNYb3lllsswu278jW2L2EZ0k82sPB3eJ+vxdn8ZziLisCMQe5JgbyoPpxW7tffE2MUdUKNx5GY4n + CAPn3y6ZNSwaxcshbWfjAjI9IZLMzJ1GCz+Wb6eyRW0iCqZCjH9BBr1iJL78iF/xmwXfjCGVUpFv + uIp5xeJHehstYHybZ+cvUmAnWkicCRZ7ZdR4wnjfHWtFnejeq8MFvSlUr/v2N006Wv4F9PEnVPNu + ui68jdE0uC9JeAue5zP9iFUr8cJV13mIX1ogYxtEGI9q8XTCeYyN4UgcyhnElVBCr3JvVuMn58Uw + KQGC6NN7I8g2HxBT59ydzA4tigVC+hyNUqsYplVclCP3GH9iJLnKr3OUZgy1roQL4HSZnH5/Xq7t + AEc3BC+6SOLQzPbUcW0zhQX60p5smyObGtrCHUVYhJmuf5CYhhXaHDDw+qmmyWc6Nkae5RgxAW4B + EzZhqBhivScgiCKYQn/yslB6T1+e5LwBf5svvwFb6/DgW2X4mkGh1ayNv/mlyZtILEMrXatJmVcU + GlLkRn/MAomxKxoerr+Tgwn9aZa6zix5N8c58KK6+9mnsWn1H2VvZqoNDWQ70xKjCg90et3s8QbQ + YyEf+DdW83hvEtyVcGOgIjzERpNMhKzpP0t8oFfKI9yhrMpk2LkXlGcabXiHWXEcfpL1NV2H1ruB + ncHoDzvIEsyYfcqNEHcfa0fB7ys/wboTzsh2++nN6hZtwlQsw8+DHfqXicdZgkWnVguGLd8dAWVa + 8RIO18kmz3Ve7pTpvepugYMq3sPtx5bWa+LZuvZIXSlwFHBdQsU08YCHpp5GX3vCsisqtGC0RhI2 + ji+YfW0+jVt8BIaVHjifmLreriLxeETLAtVXDgfFwASWDbk4rBllxEuKZmj0IVrH6nuxgBaWDKOm + gVYzqgT13hLe4sykqwmFEZpnDOwYZPqmJWNRFc12JQyu4btSH+8cle9D+zrcxRpwdEqcXJje1hFd + naNZzuzwoDiIXc9SUACEj2sgp/Vhz8cAoostuM7WNidkVPMkjrc5XHU6P9nsCGjwfLU+2TItNH9j + 4lG+c0mpNVrkgwGTkhNSo1m+wE1B4Nw/i+rLtZRd+M8dxFCdz1vb3h9LFwp1XnXzsisqN8ck/Q== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8f9ab53a-d282-11e9-9f48-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:40 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:40 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8f9ab53a-d282-11e9-9f48-001a7dda7113 + x-ms-content-crc64: 9Tc7TbmlkUg= + x-ms-request-id: 0c1fdf2e-501e-000b-7a8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + Zhe4nHwXgs8VE6c+jLW/SDQItB9egAxKzcN+EpGF/Neoqm4ByEKJlPXQO+gygJ/IW9nVxMzz5Gs7 + ExbvKOUkkpJMK94QhQzxR8/Ckd8z2/nTKmcWVNT2yWwF3YVm8AfgeVHAydv7yy8fnImndCMEBjOD + WztnVYxIq6WBeIJZlD/gDeSUz46CuGUidioUZeSfFAISnBkZ2CMqLm7BcNDogD/X4GF1+wGngqsn + U5znJyeK1ReQeY6rBfOfj32Fb7wQTJ7yjymkCSObE45r02qQSmUIjl9laaCZ69BSJD4m/p0hJLZI + +raia75MhfEvAcU2i5IQxVa65O51fTXD7vwF3zoziMqG7OjYNBM/QDhdYHIl3nA3zEhrHDfqgNdu + fqTl40s38L9by7lLh300vf5f7KJVOhzk9DACsFCSfJOjAQ7dPLEnFJGheDzkQCqoBrPP7wzXwcel + HPyAq8ptLrVRcH8xuYXtYKk9z5OgyKJtzSmg/c7xw8CfuN3LjZn6qSUvYuf1Pj0tRFHGLo/uhqay + uqNdKL82K9PaoeaBr3D88JUB8uqRXpo+yxM1Kd6tJugJ8h9siqiSYR3LeI4ziXdMnvOPoGAHImPK + bovj5kqUJ3vuqEwM2MrsDwfVmrCl8A/6JdKLeDArkBhrC9vML7lpcPE6LMNfwaKCzTOIYxPKc6Dn + ImhCjHq6WZ+o99izQeQvG7TeZ5aBeFiKwj0idHfcOxR1qhgRo+RPFqgSh8pP5SHMs3WCwSot6YKr + nEEm+uOQ0FWxtLmqw1Kg5p3rha7ZiL6dxeyOQ9WL09h6NeS7LluXhFy21Gyfc+GJRKjCR4apW7q7 + +4Y6c4H1TbGtGg0qIYGwfTM3pqASn9uF6Kh/GE8sVwDhJeUiF3OBHjoSaFKmBqRMwpaEUcqkMQmu + A35sxMOrV613Eq1pxCkrluLUvAfPK1rgjF0+GVlE7PmdODL3a2z1Er2ZbZC5dS7vLiXUt3fIJF7O + xb74WvTXgwWt/c+la/fWqab0p48CqTZOfKQTiFHbieFL+DOFjJrEo56IcArLgwc5LCQ13Ue6yrvR + +1rYzUKFD5RlQnvfgoTXeK/DqBjFpjiRKz9RML8L44/L4tzLJUIb9w3GJ1N/A58I34XfBNKpa74G + LQ1kuUkVBg/KlbasfngZcMpX6SN1bx5D9y9Dikw4/h9AAYYymzT1GDKWKfKNhfZrcPMvW6IyomJv + hn33iiLrI9hYbuE7GW2Nazl0+Tg3Pbjzb1cDvm8weHuXOo9matzzwV90YOZ25WdR98/6n0GhP1yY + e/Y2qcpyzw8CwHdRvuQwxByan9inwBIj+ijUVZfcLBe7IBIJpAr+rbp0Lu/v+HYlKPqWnaNifw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8fa7e3dc-d282-11e9-880e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:40 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:40 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8fa7e3dc-d282-11e9-880e-001a7dda7113 + x-ms-content-crc64: 1oKs3CkAQlg= + x-ms-request-id: 0c1fdf32-501e-000b-7e8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + Rs181TrMX+pcexMooE9KEpsP1PqgHx3tue9XIc8nnRRB+vlXAIRAzkYB/DPcxDplsOeZK8ex1U2Y + VzAre9lqL4wZ95G7d08eINpH/Bu6IRwnIuz2Pva2u1zaCFBtbIflzoKDwyIIJjPlHekgyN+kd6Kr + SqXIUORa3cm6YxukuQWnJcOWtQXjwlo5ZLQ/22iq5/VSASUkgP4ibGyZgejohvNuVhip6bAiLW14 + GZEWXS3muOMnl19Ac2C6m/oiyQisnsmOcBU0nEa7yrggyW8xVg9H9AxZn8b85ioFtwU5WMAqRAib + DCuurgnQE1Q864KqwI4MrHSHoX/j89OY6QLQvjyr1ScKovDVH6wLSce0NCK3wvznK0e9trCcxvXJ + gpX2dWhE7uhwfJvLad6IRI4f1zD6AaDLrg9zsHKaMbWdLBzFCk9W19aHZu5YQmsNNmAipUfjbbWO + LEQgX4pwILGcBGug/J60urM4hu8OFsVy7tcuJKD8y4C8eE5Bg/5M7A564zt7zdFHD0buUD50ExAf + ox8yZqZCozsg0VYn7GeLOTvMbmtBsuCseaK35X03WpqWAx7o2QG56gMNMVnmCrHsdy6i2O3HVmy8 + Tl4LZAEddFn4nMjDKUy0YMW/lERPVR6C8+FCb+QaJPIrypgfgA/Yz0exX7LAq5HuhPyx8UPs2vRy + OenK05mX0180M2JnY9iDoqnvtKT72VHi3PQY1jdguHVV72q2SAvAywNSynDhGJadINg+jR63xd0u + QSnH8q8nyit1QQ64IR+vTgYey7gk3fQNEoYS36NxRj5vP3c2tVKrz9eNNpRNgxjARUDH6yKZVdzi + r+1p7iFS1VyYo05gS/eraXnyud3GqgKJxtVcMe94rauKewipIRht4OeXiK65A1cbF9x9ekF5Igye + IBR0liTQkhbdDOEOBjjMLp4hDD23ubLzbH7LW0KYcp8810wgmJhbzsk97NDTIGJHD+WBLnbz2F5f + mrGr59JL8MCu4orRIuyLm4ZXVxBVgYTfwNs/+Sqvm8miUe+1aHzNobLNriRR7efW3Iz0OLVBPVKg + fxSV6YIBR61saWuEyYNqcviIiliF8qowAtkv1GUhdTrNHEmU/ESaF0Gljl+jg8ae4TOW4i2/jjQI + WLuQGVX+a7sAMvf1wkUWYLFjXh79cuhOW6kGdFgpsS8P8M0/Pludv/Sbv1DSm+3watmLEyaVBcOl + dmTqz2wtmQk92yG12k4hSI2k4xKHlzZD1DzplBod+cABdlICBwC8wgvDnSXZrTQLh/2zBxFS070e + sHtgVTtfTg9yKVVIKPV6BIzjgvDl688+FQBph8fecQtlDzjFL9GdRrzDe1O+fhXi7QyfucXF8w== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8fb4f2a2-d282-11e9-9381-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:40 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8fb4f2a2-d282-11e9-9381-001a7dda7113 + x-ms-content-crc64: 1fq2R+pg3BE= + x-ms-request-id: 0c1fdf36-501e-000b-808f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + Hl000S5XwMpZzlF+Wl+RDWTLAKW4EtnS4WEcO309ZCZ9efak/h6QkFyBrpHOmRavXky0SRlfSsfT + U3Q+J+0MYS53x5dGLq5W/u3lyc2lKCZ1N+lKbKQdgDHVVwYrAiBovrs4mrS3yL1D98SWkIOGgJLJ + R0jDQ2dvmqaecczpMkmF9bs3Rv2c5tmVwe8TWKXc/gohiKp83XEOVhUpDgW2QLHJnlgMIKWAozVd + TBlFPped/Vpfa0Xic5bbVwcIg3ugkB7cENBKqup4u8yC0MWBgbEAVIFpEyq5F0hEo5tCIC5Kqqth + SIFwLp06jaDV6nPevpM5WYbyhL+8U8MikOiTd2iFbaTzbmlRUpAvQohzN3JapGG2P9ahXAlDQAuq + X2si3Uu6kGLQ+jRYBfs0mkSEVtyLpASNVi92wYWo2iNpycY3KB/kxL4G2nScB1YanqEzC0xFM5sD + 7rqoylcQNDhi3BOhhnwV0t6zFzDhGok9zbQP9s+2iQVrNT8X76P4ap3+Pg1HODUC0BUfN8KgMPid + eGdMJax0PmwtWqCnGzSntFo6V8uYdJT2LPSs9o9PWqiAxqzRwFQf4MM3z3HKqAWRSWKqziRnaIP0 + nLiCXOqG5MKRY2ERtvptIBnwovezoG+qH/Sa3MlYVs3ZPsd3nm4+m0I4aOZky4aaf0c9el/dS7ks + abCoORjvveZWwFaDNxNzYqJ4qfFc8lOHicAyA+ORAtdufR30JKq+GIfEwAAIEAPaV8KN+dh9XdeD + TQgOPCrvG3FZ06tWrmHcbMVfVp0nsgWlscdPQ8d3cAdjM3qPa5x7j3uOsVfP9PoSucJ43RWtCw04 + qRBETI4+CIY88Y3FizSER0jSG92v73zeVihLOkX54kyu9OhjT4XiBnROEMDAEaZHcezs7KO4pMCW + IyDYlQM8R4J8RG24EZPX/JZ5CA3fCyIFmx49a3wGPQiSwpnK0d7NWYdQXWlvJxnPBQJq0JMIY2/0 + r1te1sNtp6OQXkofsdTnaRh8zwTvvhYIulR92ayr+HW3G4AqpE7EqioXxcnd0OJk5jMyTbJ8I/wZ + Nh/fMu/V7O64i4It13RReSG3XRViMyhUrhkuw31Cr0PAfWusCtCfndGxXrwy5y6F4ylanNFkfTLA + ZGorhcqT0WkPpVBhax+AMlACJulgj0Re4kaXYUESoqL1fVeyie3iLSjA1WOBNjPJHihFc2debkcF + tJvsQrylYWWYY8ov5bj04zeoBNhz671Ji/zsQPctxenGi83eI8sOCv4AokqIlohs4cG2KYbDV/7b + 9Wk6c89EHRpvQtxmlsD+qDT1mBjvb5k0/vu7lXPhgXQ2W0KBviBntTWV8N1YIRjhOOH4G7Qs0w== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8fc2585a-d282-11e9-bd00-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:40 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8fc2585a-d282-11e9-bd00-001a7dda7113 + x-ms-content-crc64: EeO7tCjlMTY= + x-ms-request-id: 0c1fdf38-501e-000b-028f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + kPKjxudqUO4FsA0zhzDf0sqqwF2mvqKOph+AZLyYREEHif3f6OUomZTunhlVUbcvmU8cyx1w9/sl + qw2RTVnPbdy6ybGdvy4z3aEc3vSCeOUL0EZcMG8YvRtILvlQM0B5XZXFWkgXwX+jhSetG1koUxeG + aYR4oWSiadlBwe+QthN7iLjWvaNkn2l1lGjRhyTbZhLMEtiPNadzR0trN4illIwGi9UUQ72k4YX3 + CvpRU7z1ESY6AA73yfONNsh6Sry+2xdVJiCaoT2k9sZ8Q0p1wZxxAmVThuVb7gFGS8eGQ+FkNil8 + l+ZWpCqQgl0NPnizlVBOP8i/9CGCJQuQsoG+dR9nUjKeeK9yk6dt2Y+jSgl0Dk3GGkdbZkzgoRew + XGWM3Wh+PlkKwY31/pOXZd1diimloF/fRRyen+l1cVu+GilvjjsKHaW8bgEM0/HYeE/XwyURutF2 + Db3Nk5MLUCETF7ejFjflYRkX0lPWHhtlu+9gcrUk18hhw313heyA9zDtCjlK0A4HxRFTzr0fyZlm + sCTF2Uo3F2zKj1MSwsncNQo+I1+3Uu5e+LvdcYdT01Xouj/zLymzcWg2muffiIn83iaoVxkhMUFc + 1yFK6iHOqPINR8hVzMP4PzjUH54C5HVBWH7NS/ElL9tfNKDZqgQt5gIVhEA6A05b0sqbv8thmWjO + cWX2ydoY2mRS3upWBaTtLew2PoZ1bHAaIACEXhOE33/9A0Er2K6TsDk/fBD9ms+ym7OvMo4kKf0v + yK6yOmSWAV6FJRCmSOCxzfH6uHXhQ+ToGW2YG/JbgK9ipgOvPMkSeSBBfMKZPFYkowI0SNQINuTu + H/1waGg7QIJIGDy5Qt384ikFjLVC5tNsy8shhicSi5KT5ZbVu/R7hymuOhcMr7i1eDaIttJX3opI + 33cmZmIW+jaPuYrTr2kmi5WeUYhkNka4/L4YwN5er4ZdMewObxcV+WF5Mv7nr4Lwwz42MEi5bl9A + UzLZbpQxmldxiIg80Z7N7O849xi3m+PoSDWxTohtrkcmOhBsIwLP+Qj2gDpjF6Nx+Rw6+NO0EbHN + L2/A8kI9QhP9Ev63pm7qlvzCvZx7SK5yqhGGHgQX0CgeVTS/SXBfWev29gdpN91fTvekZBfnaQ2u + ePP57JzaCCJsX5nTTof6DoLW89jvrxggxXLoc+xMQBEyP+6d1eoBqgv6Zay5uMYqwYkPCx80P19T + C8pwvwzxZZzyuUm+4kI46lEQT+r6deQfFPz9dwSGh9tiIZ5NiO8Wml3Ml/2+SkJnuHh5+ducsCfq + KmbKEhbSF1GKZsnDGgb3RKHHqlNMaeTKgw1bEnjZgMjajk1g1yqeT714gP5d+dGkY9J7Egc2ew== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8fcf8490-d282-11e9-b224-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:40 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8fcf8490-d282-11e9-b224-001a7dda7113 + x-ms-content-crc64: NtPEf6MYN6Q= + x-ms-request-id: 0c1fdf39-501e-000b-038f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + phmykB/Kjb/5Jsv3w6LUkoLKYlC77bUuheF0vCGlhFbNuZjqxxeeWAQE4jwD85gEQLefWlh9REX1 + kTYbIQs2EcAXpNrw4fNvSYeJmJ0HHLzbRWnN1DCkX5iPXwmjjAzMvIcIqBg/zm/vWZHFVO1GhwRP + KUkzHqlv287xzv27r3HDBpiF55wtAI8lHElSFOeN7Ns1GBbV2+dOnFjqtXgy8r9xJFEEuFqkNayN + 3SSlaOJex+l/2CqL5z7zmMiKoR50RTZ0F3+4s2mmyar1vfqGFtjCq3FAqFtIFVxc0ejUk+SW7X6u + URWqP+M3yc9fPjSLTf26RR87+jkwwRdM85CBzAwZk/KNXW0pX5i1+7srdctpzHEgtFYkODt8yd+w + B7Ox1B1Y60IfR9Fv+ScYJxhrk8qfDSU7CayONY161zK0jNol9dfA5rXt2WQYktgI2z+b2mfQ4W5p + 6KeioLuZgW55UoSKvA3s3abwqvQWVEu+stBzSXZmdpErKYkAY1zeljV4csvT651nJxaz/M+st9xi + QgeLIVMydtxP2zP6mV+iMGOeQLlLvN/A+KQKeUqw67mVzLQhPHVSJymQilQJzgGtCQWXXO6fGgJI + ZIW2h7sj5nab6DIq9SjDKhT0OOwss8OLzbNtdRydZ3hnrtVXGz9lgtTJpecXtJCn09LYNbqYdMIm + RFbuAvVNxMU3AzCc+nHPuW+V9F0HudrhAiIa44iaeKKstBPngdCa3G3HFwCXcJm8jyldtb3tj7k5 + hMWlN6JhRnopqo0xd1FqxsuHSctaLbnKhv6XpUReg4gXl07VgAAJxz1+JkIzuBi8X3NCptMP3o8/ + WVp0cmTKJ8tBWg2wkvCBiB2VWjcQfhbaq8EBkRx/1pbC3yDncX13SM7he7wPrcrsuSzBGWWDW2Np + PqQO95SBF3x83KBQUU6t4iaxmQ63ttNaJz7P+NtVwQh1T9suTwqzWVUKvaVbuLIbj7fRSYcLrohS + phvohMCHsIurXbT4M5E9oSKo4hi/0UtHuefrAATo3q5oxhZE8PLFfa+DAIjdc+a7VdrKzUBqtmcx + LwhrMj9UjI8VLNpdsmU2kdoc28h4tW8mJE+ls2PQoGR0x7/8Djayds/whzM1bh7Y9qO0sUm1VIXg + rRnXL29LUVpmM3P6sQVOA6Lb8+6lMVwFCdmqWaVN2bCBzjG3aCBySD/IV6GA09CoE5Ysi17K+gSr + 4T6X/JE6xi3xKLgQFOtj+YcLvxhxtgJrqTj1UmPHKD9TBC4tz1kA2qzDislgPprhCx1Wmv2uME2D + pxiQA2Sg33EO0M7co36qN8u6BlK/8+dWddh1Zr2oKiOchYSXwjuwhCTe+MmdwIQGpRzGLhoG8A== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8fdc8e88-d282-11e9-b047-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:40 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8fdc8e88-d282-11e9-b047-001a7dda7113 + x-ms-content-crc64: kJHv9yMZ8i8= + x-ms-request-id: 0c1fdf3b-501e-000b-048f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + aAhkurVK4RMnN+9RCxR1du7Tk+cKmttRouzXYBCJKhQJ75DEc50Dj/wdypGHH9mU59cJcx4YVVVr + xCHaXWCiOmXMhrNo8fLrtWaspeP65F69dpiY21Y1D6V2gfL2a5aphiizoxah9VrQEDTgi2vMTqZj + MdqJwI6WvIa1SQVWGrh0npjFCiSSNKmGd/J1mm9gqVrhL2Kxef6YzbPr42u64oTAHYfvTaaZkSsV + p6ketssaXT+Em1iNt2MiPA56uzoWAEw9aTS9cH+ryk7nlXVgwNuRIl0TCShKeAAe5ovKZiXH9Qml + YFnHpJTVjPT9ibT2PdOuJ373S8Y2mwqnJV3w7d06CaC59MDUoUV2epUf4bzcgbOw+YPhj/XRjIpB + K/5bzRzzM4bpBbordIacbu0y56ZGWGZH3g8MImkWRTU2U/SA6ZH8p016LW7R6zQww07Lcqv1glQe + kLDLaaVSfhlg6VGKgFtY8TgoyOyB/fpthcArmgIR2vltyIDhk1J58VoddESlcjRvdeUiKwD1xCop + sWLsXq3nGtDSXV4EJTrJddwYi7sXYZqosBV7hWGO6r+R56WNRKkvx+zpkKg+oLXtQ8B44QaXmwAB + g/d+/Qi1ww0Y4aOEp+2s0+19e6goXvNB6B0VSAcO2LeRgqzgP5L+9T77b5XQ2YZRO3uq28cPJjy9 + 4YHvw5BzYQkKDWyLfFVjtbnzV/UqUNH9zD5MFjxL+TQRqTO17mES3XY3pCg4dHmKlf6jBygnkRSk + a/VFR8O0dIDcBoQjoz4PapNQaj2r7R6v5uQwrjtDytVaD80iaKHKsByyauxGikf7DOCCN4MvaiDm + tpO3HntDqQ4xJjmZl4zhXZ77LOmTdWzOCN4C8RoXdRAQnvl8VsTtIeZyvpSgRvLMy2wnd1/Jp7OY + eVIKJJYk4riT2AseAfYt6N8EczTIoqJeR3RL8sWFNuJnJ42ad6MHbigOIesouZQSkQMYogBIQ1gU + mxBcbq7o4M8nBuHzti6WxVeCytaW7HayUfw2ZoGXPc7eAoZYanfN0jr6kftxveY/LAtbvJMsSNCL + dMZ0UmT4hYqUTRhN2MJekKi5E2xT+LzZF54KPJwu6hfREJ1pBFKQsiNKbJR8Hn/0Shxm+PZYDDoy + ldmrjh/Bzniil0+2h9R0VJ338H678uGsLfumaFXArHjjwrTdUCL8zlOJL83ehJWgKt7792NiFzcx + YX7ncBBEk6uTQdpa9SFrPMuBe8CRX8Lp4Gu1Qb6mijrpZHB4Um6DrqtXX9gXsUep7qrJU42xeDBY + dRXbpzm2jCjfRYSKdDRE/JrDCeZRtLwiZFRw21U/EIvzBJEIO/hwnX0eZlVYNct0CYUNkSEn9w== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8fe9df24-d282-11e9-b440-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8fe9df24-d282-11e9-b440-001a7dda7113 + x-ms-content-crc64: FSKEb7G0FYk= + x-ms-request-id: 0c1fdf3d-501e-000b-068f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + IvflcJ8Fh3v91/r2w78NepXv2Ev1rcW/HpEM7UFpu3qIw1rF2GDl4yZIbpeTvHut1thReeoF8mqF + CGAzA7/Dc6Re96zbewxfE9bf+YWhFm8AF9+7PPTcZIQL01nJPdZ3TUzSB+aiVwMScRvIcpcI/KJ2 + UxdJyhRWVovnFY0PL+6z57Q9WOrgtV8jW0TsSNzK8VnbrTp0aviU9Yqe7uoB2D0UHrl7tg9Zx25H + NI/JHYLiv96rmgiJKC91eFBQFM+8z5nw55oLgYvOZn6suKF1xiyCZH3OmdebwG7sCAlBT373uJm0 + stDeobuFhZNg+1KHnYk1mi1gGgrZwVQ3HI3mdgpfleRR7T+6H16mXAKSr/BZw0HTCi8XnhGVfb6d + GWOi1y5JGJ8Thn6XkZ9tPGYuoQyWmLzWfhqDXSonM6dGRW5iuLbJYOJQDeW13vF4iQKbntnKcoJY + s/wHladzylEWCDCkuTjFwTQtDldOGJDIHMmgHtgah2mbwzkz+YsBLHyWs/XUkTzyRLrkG6NJ/Pbx + tfBZgb1c0XMul3R1S4qHtO6krWCeRuvDaEZk3ISyUJCU3nl/BTRYClIt19cYrr73GLORzBRzcv2V + x/o9CJfhSnV6TdEkOoNN3LL5RPDBhDDxv1fJu2dFd0gDP5MiaufLyhi6WXYwe3ebu7kjHeleMkv1 + I7z6ENO8eK7eF/3t9zXgb9f7UqEJh7eT8Pj1NLB8VqQTQy58G7ISoiE00WzcNDJEQq0uGa5NQL+z + nTX6Z7zC9aNGN5aGJo2/CiDyU6C+jppbExnNBeSGhopsqZ1jKJL8w3yPBJl2ZQsqlde9v4ylxE9l + sHbOMe+wDH1Xqc2xPBqhMazUq2qH0ptGR442UfDVQzJT6+r2ObQyngY8ZsCG+h3dpoZEZQvNoovS + ZVKDf349xxdwa8EXt6CaaSqdMQwOGqw4AqR0RuvwLnI+mvltnLIGdLjCrEFQ8wLgGPTmGOJG1miS + 5sf5hRBnnFDFItRumgxr/ife/Qk1mqRPkjv1MZLIY28hk4zGkSF4Y2pYKgYATZq7hhGOh9y+TcCq + IwqtC4/CtcaIXAnTBeUmzdG6KxtZVwZ4Poa00h1t19PIhHMUtiqBBEVdIKnYkdyOj9yAgGT5o28g + +xHlw/KYCMyrNsEIURqbyXhQ+49slDNuHKr42/ljRKCljh5VIVVqRVUBeS/WGpTtMzJjcxScaUcr + 09xLaflD57J+LaRXOQVq0rraeyBkUKSm8Gz8M1OszeX1aE7NA6DH2NNNPsbLdNCnog6E19xb9VK1 + o1qKSPaYNphisWSw9FNyjYy0z/uqDtihDcXK98k2gFfBrvsaRD2fxyuSN+irnWP1c5BLh+LHoA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8ff719c2-d282-11e9-8fbd-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8ff719c2-d282-11e9-8fbd-001a7dda7113 + x-ms-content-crc64: dOMUebhAWPs= + x-ms-request-id: 0c1fdf3f-501e-000b-088f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + kUov5msnYhTRIHGdS7nHrPjlXZ4H4gd5oTGz/ZE/KaUCKj0YVwYaUN4I+C2utzuupsZdcQ2fEROM + ZBCZOhuQdKVyg1n6ap9WXruN5HuSzYR7VMiuTNINGhxviUc+68ZO569MwzLFILzCTYRTyJ8kOvNo + 5Cx0DnCZrb8f+2UGeqGfjwQx7RfG5d9ckgaXBYxiELwhurKM7iu76zUa9C8yRyIoAjQud6cMwLX9 + mGjGDC/ol37gDawpg0Ax+Gca+K/HNEEmWwpJW1UnUmCZOEDMujOKfhHnKnzgbJuQ2rtCGidN6BJ1 + kPnJBGwf80Ct3VuQnTMODn0iusBn5yG3wrg+y3pzHwAimbJ6lfCe+/ToC1ETsmz9YuTUHoW6fnZY + iNZcXcTrOFGDd0E77g8YrdUvTli3rKbduea3G68y0YkNasFiqEwomODwfKaHbK/QuOyMNTTQ7t7s + PUuS1TPPLgZZtRDGAnBWshwHNYUeJXbF6hobz0G7dQtwPC+q7J9eIRAUBH9Vozy0u5CsU7q5bKiD + 5wfjvCNSM8u0cQY6qNSsYoy7qL6+3zy86aCt4O6SGGNqAGj6e8wmSfPJZRRHI/Tc+Hcq72Huss5Y + +BI9EHoksMZXyUQ6P/cbsdcx3lyjC/daQq+d0PCjXxaM5twjbDcNoJ12Km6LEJIpno1Lv+4vV9bc + nVWecZ+eFMCOf9mMqG04Hfp9UtKdwOgIVulMnyZDkZ0L3WJiuTf6hOx/sUT8An/ZST4+M5hbpp0e + AJyCuqsSoMPOBIRVedrOz0G+gY3Hr8lw2qqTEa2eeIuKFkR504JauZHOnCpOajvGoGgbFSabV2c4 + USSBEjvQr8VBazKTZsoSJ7Ld+uFyhoY6oPONfT+9pyCoAmoUs8eAPNDGmuR1myBCISXhaEMBPhaI + GTRJv/sA7XnQymcbui/g3Jxx7aR4D11eO7u6rc06HWxhfNrmPGvtuJAZymGlV+G1YBxjZDYyqYOs + Is4tP963Lb0Yve0hYrPUaWF3xtwMC8gDu/Ay9yDBDMEEFNEcZ76CslwbAbsb/ZluRZ5hn2eM7bq+ + HIh8TETTWuclPT0CptbSYdMzJwNUVLqW3WPSaabU5zCC6hLrHRPIxr6AocbK1wJCd1igE+HGEl8p + SQEHBu7i00JMATxHmk/UsQUPKa/1Ln1yGd4idPGrbTEmzkJIV8/bt/iMqeFgIgC+x2Q7qnzS6Dvg + 8ov9Jc0zcTj5iDQxRlmAyaDpR3j7FB5Q8lox3UDgyuixrhaGHkIjdIqn8/NZY+ahkNBIyNc7bwN4 + 2qFsQIkwv9hH1ZFrTh6X+cvRK+ElBiTpFZEEFWesywod4WceheJORon7p+5rRCrkS+v6QqSh8A== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 90041062-d282-11e9-9945-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90041062-d282-11e9-9945-001a7dda7113 + x-ms-content-crc64: cxk0RNdSOUU= + x-ms-request-id: 0c1fdf40-501e-000b-098f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + YKq9SAFyI+w2MBG/zw/6lnoa1Yu25k1VDtf9p1XC3sJ3jJns5b3F2bhwDI60EM8LKjO9ZtyRejv5 + 7dw6tArzgia5Ttyp5NCvwFlb+JWjhXVFUUpytaq5sm0fDhga5j6PdcB/PTHJ4b7Puo2lChY1SrQo + 6JxSdXrqR8wc2tKeRrWJbtqdaTr8XANG3idNppW0T5WAKDtRcWaNYrG64as2rSx9QCjXyrt8RGXs + aJxyRC2hrdRYvC+MUiTPLaAZxELk13C+E+vTXoqyGb7u6rx73YLZrsmPutkGkhiyW2JY+l/QBqt4 + y3IR5a9H+00VNWh3v4KH7JQKyc+oiPuhnYhTAQDYdMLtocqgOwlPZS738Os9eqc6QCzyC4hbEAuo + WiQh0189pmuPcR/3aHQTbh4r460hRrAZYNuDRIJfFMF1UwoGHQigXdnzLr1nEfF+T4/MoZpT5RBJ + W+CG+sxPweQK/a31cs5TVHzRMy3FuVXr7EsTlx0XU9jPpcUK3UkXFyS8yvN++lMH41tRFAy7Tbxa + RzctF7onU5wVVZ6mfcX0x5X9N2KPVfa42Wf38aqIMROCtd3XGthbdaFe7B6KLoM+a5khoQlZENob + utRm0VIGKcaPX13k696/PhLBuxTCwKNAqW6VrVC1t2Cx55+LjzW9RFWixm2gMx2aSzcGj7PFanjL + kV/kMzgjh4+mLeIf1ZmbtPoTio+ZDgnZKKMMSJzl5Qy30DyIvDM64xDgzaMskcawPlyOOHdCm0aw + +2hCYxNCr4GVPL3Hm0xnzFHJhEmSWOADg8EKF5t+6R1Jmw6/BkNlvwhqbmuble1Q+39IeHUkuRV2 + ryQGOGT5mBRWDYXQBwrbwpvjV7J6lpiXxiyB2v0DP0tXYHDxINkYIWw5LGr2XQ+37D3XhQS5OM6/ + 4X85o3Qx4R7tDNgfKRl6uINTmO6pRd4a0bATTtgObK2ONmPggjI/z2zTf/oE3zAmdSi1fLGGRdK1 + 81suDLUPoKktj28nViOfl0dQOgZN7OEK+JxertxZXKaGHGhhYqwM28UgUqXCwNG2+N38efWeokU7 + 5ZdOIgKJ9XjjT8JmclMmLFUrYp5sMb6ZeYEthALxOdjb3QDSQLHq0HuV/bXRnfSeABOIHbSkr1MS + l+sIEILRV4QvG4f3qfXR4VA2AanBGo6ymKk700u+cfc+fU4ZDjCNBUMHzK4KDs2xJNnudRIa4kKw + xPbEqMfxp/HPNJOloSa4P/qoxgNqqAieu8tuwMRkbHhswa4e4PMO97EZyryd1u4O+luDnqqveK/Q + QpU3UisOLKvSs0Ijssld6iD+vKiLdjiUw66iBGW9QfsnvZ9IphiUlCYofn5JskIZ/rUcXsYMFg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 9011a52c-d282-11e9-8846-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9011a52c-d282-11e9-8846-001a7dda7113 + x-ms-content-crc64: 3npQRzh8tTU= + x-ms-request-id: 0c1fdf41-501e-000b-0a8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + npfvm8D+ivT3nGh3UtXaVBsfOOmIflkiO8EooTVFP1lvl/X153quwBjL/Wu7o9V3MJWmY0gZM672 + 1IffW2IzU4+YSpcxzfWR1inhGpihervyPV7CkaBdvlLX6RLngJ1VEz08DfASuavzLBHoxpjjFp71 + UMm3HCjh23zT6DqbzlYBv2tdRzXrFFy6A5Mq88POpoGW82ZO4woB+fweJjEz9CWRlnZqEjPiqqFk + RrWSobUrAwjy21vh8Sgwwb6sIylqJx7qU8MYOhJ4vOQy01xfhkTyq41+YUyUJwm8At0phR2Bshlc + mimJ9cg53xoLuH+dotzGSQG3gZNvIFGlZaS5kuxqHtc9lLYeuNpZdMwdhoStoX3jJk7B9kLed9U7 + XEpNNAMQT1Q1htO+haSU8gtn2zSnori0WCG1ckRTBvHIzZfY3nH5lgVjPJ+KrhAhVYbEbV/MdF0U + CTyB0hEnrH92gdpm2lyA0PhHdQqh0P3m7NhdQ+CqdT5HXMVatf7Bt6ytYtDYJrUD641ZsgnVc0rD + 9Jd4nRXiONugeAUGxPaof172ARrzuB8mNlXYgvLWN9j0JpikPLpoubTUKcA+p2jUJXHvUKx9DDNb + +HN4kQZg8waCo6DzYGaEH2MI0U6q58oLHexgmkMK4NLvI+8VMPbo9yfZnNcfIlzkY3ronjH7/rJ3 + v3jAtfImykmFPp3xp3RyJPWkPr1sTDj1RwVtCFkXIuLNZuXMI/xGZs6vkQjR5nO+dsTHwu48k3RM + XOJmJddm5HomSD4qoS1Oe1DKqDpSzo7JPzY+6DZnmBV0yUncS16MESlBW0QWvMrUGYQ9aeoqkirC + 0XN+MZYdo2iekNPbMGFxx/FpZD4lb7KGK2GT37V7wbd7nu4vk2NRGXctFSgtOkGAB90+OYdXYWEz + z6YtJR+Ii7Y72Fiy5xSAAL8v9MvbEZrHZxBhrI1nVoA2kSrWuv2iWnr54lDH0dsJTm6cFpSNtkIp + olCMnxSIbXsi9TBITgBg6lrdabRYkZD+K8Xl/iQeWdFT/TKRBDGI3MypWeFaNfdNtQ8lfcxq7D7n + +Nq4jxOwdnPFFaQo2vZkmDuq2zCrzoc/9Zy2XEXX+otgpgTN2VxtxceqYkXU4mQ4p83EHq4k+W1r + P6hstV8qJN3wnua4/g/jgUamIBhFB2pLh2dbRpqwU56WAovF+0v2svtNL+eNHkZ3aazX0Yn+BBiy + eF2uVPyGDNmZkODeFTgyEl0Yw9CmjPlrtSd3IzNwakoLOUGStkivNgZt91FJSrVCYwhtx4dAgfvF + L3pxlAEwLPqdlM0iZ42uSJ5yee+Ix+sFEmpnbcBnvEyARD8kp559GWVCT33OydNftq+NlFPpRQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 90212138-d282-11e9-a2a2-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90212138-d282-11e9-a2a2-001a7dda7113 + x-ms-content-crc64: 7b8XlbtOJ9Y= + x-ms-request-id: 0c1fdf48-501e-000b-108f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + eZYZsTeLZ1c7cZTFCOOaFKAnYB1gbzkUfo/7MHIDRkQGETHcKE5U5EER5q5YSZwIzYgmmqBLm/mx + kOJFwKWx4Jzij2V6bJODTcSH048UxlPovMTzMzXjAs2S3MQBezSgs2AaFuVY25oPg+lMlExrmlcf + waH4gjXMxUM1ZjtT9lKp3f4Sl+eSg7M+iQO7TWurfriyAesenoklVW2VB/RtCffnYo7OMIh7uQwx + i56aSl2V5kvxe3GjsbSeKZ19kFaRcjmZ1LOomAbUrq0E4mg63WsVsQjqRFquMHyVvdPpfXI8MZaE + DpOfMg7DGahbBR5zSw6hK8bi76SdbcEuR9Rm51R5yQeGYuPtYZjZSMiBtzOcmCzTBUtg5Rd+MRdg + qV61xbsKCQLjWJEk5u3NSqzFlgPu4Znv3umTe1Bf5DIgmlWhxHMfrErG59iXqTNJqy7qFgk7MTFf + 5bZLELkl33CQ3Mb26gFwjUa6NUd6Ew1kDVFPusuVb+rDlB6r9e0wwqQzXF1epeHNKstNbF/+MXDv + oil4/FkHiuTdTHyZaporS/7CYgQT8+GsYHs9eTBqqF5BgWbfQtnskQuoi12mFTr4D1jjqifZS2W4 + XcXrfl8oq89jjlTxNuHKwrl19nKVY2EyBtlBENvWjQaXPMchIFOyDY3YRtvBugNNf0i0aQssbC/f + yboSgFMlrgAFZuI5MvtKBcEdNmEfVRIGbAVtqZYP5NlqkQ525CJWoadQPXSgci7dilYD6MLSgK2M + 4Ut8O4fwdUGnt5n4AOeUt6t3h1RsAOBrlWe65dtXFLB16EBECGLmIMLkjQ+7WJuekIxQl/xE6IlU + D9nHM7hDdxg8P6sOG7XYPDvw2aXlMlLHrru+lfnmsPXrww5NbiKm/T/wQvs7lA1YQtP5fZkcV8cX + xRADWPHbEYfwJ2nspV28JNdJJgHfYVaBHmM43tBRstK+bUfgaExTVw3l/M0niVO/Gt8PiyAvIGzQ + xFAsxrHg+cAtr8Nk6hjU6SXwuVD1AJbO7xVsieApJOqxlz0yHQnx906xwO/+jMeETx1FzfWLLZam + O6AIK5BPz2EsYOJBP30Dg2d/jj0Y6u9vNVo5uPppoCq84rAoduTT5gBA4s4MxYqrSrzBxNW33ZuO + U9ErVS6DY5uuwUhU4wPD+lzxKDedpfdGj9Yu16Cf9ezrXMGkNB9m6/BAzULtC0geVV1qXMzttTuV + dLq8Jwm+yGHydbOOwulDJMqGZUnt47IjT7sUzvXuCTtgA31uQPj2tvV1bavN1INIe3KDNTKPMP4e + xORHvCTb6aILA5CMGO3rw/Ag38mq8q4aKs5Zhz5YLTtJyFJxX0e2XB6OqmHPxZz1amXKi1Iq8w== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 9030a1f8-d282-11e9-a287-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9030a1f8-d282-11e9-a287-001a7dda7113 + x-ms-content-crc64: fVI4qXSKgNE= + x-ms-request-id: 0c1fdf4e-501e-000b-148f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + Qn1QdWYcy0opfIiPgJ26ajmfXC28hpCdEVT2zFnAHD5xEHu6WiWinEJXu9jtr9DermpMt7G3707C + 4BAilPK4mIvpa/c7S/CKMURgTvj4fRxNM5NN/lbxSC2MHEbnTn3ne8WhCxiTgl0yyqkU3FMX39l+ + U9iZUT/x98MRl5iKoj7U2oydxrYh6VGv9QhsxQ3LZpAhTlYeHNE9G8QUIZtpTDJOdAz6j1VuIKaO + lslvNgu1si4OTrzfL3JP1s88t72nto6f7hYBWUL5dMt7T0bb25Oft9sK5PL1EjSOxM3XLhX0LJ9V + 4wNVd8V8t5W1FA/HX/NZ2EjA+dnw/fWH9z6zbc+5r6soWoWUViKi+uG4aM3DXj0k9oX4zVkQ/rrP + Ps7laJwo2K5ygvRZ2r75AbmfCK9i/hrYnOHCV7zD85FM7AfpHHdszV7rm6pmHI/zYFTuo4nXLaz4 + OB99qXzkl0EwgSDGIdgp4YLktUqrHpGATP7LCkD6DDaSIfe06rmhu1B3Xy8mw9yeudVBJOuCOGxK + 0MQEwZmdtnlmrblGd4sBn/fPmniM9BfSN2akq2ggKFRCkOE+0ZR9cwlJuevAtmpV5dglQhbCHLgH + x9kjiMM3HDxIgUNxEJlkSjYxOX1QaRVOJ4u3iJimCisD+IpHKad90fKAtWTKm5k5UxX7uRsAZcgF + ZTnxVnS83dB/ArApK77shVxYqyml7zzZRyb7Z+PAi4MwwXxNbZ7FjJrOHSi/IrwGw3TC50QTIvXx + MOqvnyFe+1jZYYUD2YLVxNl9vRayD21SF1v4fGxG4+veWmHtKH6QIGe9tcTPFfc/2IxkfYqRrPor + HRt5/CBxmGWAbKNhTT4kB8QR5Y+X1W8Ro+3FbId+Wc6z7C9TNc6opHirIdH9/UgbmrM6dXa+QTjg + UMZTbhtNRwICOIIwgewc6+U4SjDxPVxWJIkE0gjS0nl0iJTmFMpR+OnVJfhQbAi+GRqUgKzzG7La + KjX+aI1ylIIrSalz6tDmCyaXVbHvbl3Wi0yw2vyAoVtSQqjey2OW7njmYv1lH9I6lZRWbaBB+g5Y + f/H0+2gv+OskymVyBwU6AFsA+9A9BY0axD66eHXD4xH5Jc4wglR/GhW5Ng2eMGR9FQNFnGSzFF76 + AFxcFstMpgkEQWoAw9ouyQHEC8Dms1pNtO6WLhNZcAQDG/6sXpCXq+CsF34p+IRcK4gUI6AE6LnX + 9vTnisSbbKwOjold2cRPsJM3KZm593su2bZ8amPv7Z9/GVTAvoWGjNeOHHunTXGkKWsybKd/aDUa + aHqPCUJDG+2+npMgRSvctaqa9ZTPdkNlgz1ca6U/OONqwmM6yj1BavPt5OD7Xtw13Ui7tqbTgw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 9040761e-d282-11e9-8ca5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9040761e-d282-11e9-8ca5-001a7dda7113 + x-ms-content-crc64: aCh3UkkWDc0= + x-ms-request-id: 0c1fdf50-501e-000b-168f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + DDGzX9rnQg7LJ82eUgtxNYkRGA1UG2OvVOsw33zJxuU3iq3DlNDOkL3M2VgT4YIfH1pqYlmoB/vP + QbmQfWmV4T93fhTCG2NBCpVc3G4LpslsbUjaG4FLmJJK87OwsvGYvQT6nga0+maWrylz4zHlMKwN + zhQ2NL2CJw8ZUVQ8XzvWmkHCHIsGitI/Jl2j4zV5f24Nfpzpun4ttOKr3jFp2PLDvjxuKj1Cfs2u + L82yUWgdlkciyIo61w4tpY2AjEe7qb08eGkV0JyVYl5m3hKqyXk/XbC8ZqMqNqmNUj0S6N1E2lZZ + h5Dbv9n5C7nhNTcg6Z5/qFu3qq0tTgT7qnBltdCfWV0vnYpcoZkXqdSsI4x9Y3DOqjQX1qFsHVm3 + KyAsoI87tXAWy3cWopixYiCKiLwSfTQgFjkoIXHzs/MoMN2eTXXEvKFFhrHYcV8v3kjNGKGpxANY + Bp2imaROqsft8Ho9GAlemDYi8kg70TQFur5UcrtIsRINYO3r6+v7xuum8aDCBOHDxkoV+ECtmL6v + hAHq/IsuQk0O17wu1aPB1XPbom0Lb8QcG7pkwPJr0s5uoCJy2md0zqxapkmAIoJzfEbXu97v3RDh + C8FKsTyRpkInn2bVZY1mMTnpTh+6DB8kxUiSzviEQEAwm9j6UQgplFwuw36YBImCh30kNn3bCYAZ + GLVSLPdWW37UDHmOYvxqsUE3MVmTck8RLilfuaMUjo3dQ82PHOViwFOfpAibn58VcLuLDZuCkKxr + XDavtpyMygT83iB6SVx1wYSYSeyVWUdaZgKhScvoS814uGzuC7PffflXeAHeUmn0RgNQqQnbOyol + mlE9HcvdmfnVEb3SrjTN+1Yl1UOJ0PgB1OHdrBUHbeRGprXXcIezI56WejgQGnwyugj5vpPeUbbI + 0/xMoohH15KyNPI39v3iKjKWg/S9/CznvYOZ+FMMh5YTSKi1qyaaPkRtPKcOSzeVrVRxVMWrRVEP + sxr5OmHAzN8vIrIZDLEAcZQgllUukJ9fk3QfRWNM65bbWSkclHJiqzqaVdzC4g1syQ4DXtXFZl2k + IzlZlw09DKi49D6Aq8ns5/OiAPo3eTerbyCYWDLzO9tu/cUNfSKT9YzooUB1EcHRl+gCmDvCNdqr + jt3SeVhPjI82iCNVlpVdUo1GsSluvqdc5s5u9DC+EeWUYYkzl0VXZ7Sz6iqNDMGOhQASHOI2qLEQ + LoataUHBpw8XRaCwaADeGzbcBgks4JK8KT5or4oiUS80lrRUBhucbxlElNBmGoQZLj4MAqKUA0il + bOi7AChmvUoIJ2s2D2kpptrgwQc+WqwgdR0XbSspsnfTBGeQa8C/K79B90BIB+kYFBNvr/ljTw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 904e2bdc-d282-11e9-9b52-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 904e2bdc-d282-11e9-9b52-001a7dda7113 + x-ms-content-crc64: hUTs+MH942A= + x-ms-request-id: 0c1fdf51-501e-000b-178f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + UKZLlfWwzxc5v2fPEYlSnYEEjkGVyp5nqbh7zrDBJI2sd7uvQY4/K4H0Uf1wtsHjXDcQU8GshCLc + rYddBDUzaNB/8WFubNFicJiDiZGpyaX3iIVoY6NGVXjY50+FN+coWowtzZG0OyDVQENpFKcUnZsf + we/EY+vFcfxj6bp0IBwtRKPRfJzOHkxEatbMLPThhXNhP3U/Nzc+8p3k62aEFpQZijLvOt0G5XVX + obMppE/WTUaeeYUJjI6vMegI3j6gvt4hOWDPJf3lllFEZnsJuNEelL4HrUYqsyW5DsPVsdhro4ZG + embssG+4iyyjfI+h+nFAj6Ft8jnVEkSRBrgPWnfOQc0QIZiA2skiGJtZP0MS0feVhjrnsIt+rjeF + VTJ9vmMbPG5hJEDn56amaqKrSCnSbotOj/LI34QHzEjtUcqAdmO/4jV/HXRZhrmOh1djF4+eTHKa + 074w/tHKdNhIra7Vofmu48oWXCzbB9rRBn0CND9pFnXc0r4TwaslW60LxlKruewL82ZKZuUrTwsg + FOZK2MOWtB/ykFaK1tDibLmljiBx/quZIbpj96hj3yBy7DmIU3n3Xc/V37cV+vz6ct2nSFFrexhe + wmPRdt0hI0oUlbyF3hpIK0QYYnHmtxbsyjstYfLrBb3FOd8nyYbxFk0RJDgXDlpPJWOsWBrO/cJJ + koFMdScXi9WCw6giDHCRt1t5k6L838eYVHLkpu9nL2DXlHCCJUDUvaQeyzHhHOQVkpud2n/b2J4X + CYvROQlyeGX46czfLeiu2Nf2ofVeI3cWnGE9Dm15FEYTPaxX+Gphpzp1fpef3de8ifx4E/ODk7Cw + Gn504IjJu10eVqJcDj7CVJUAJGGjNcHDe/xU6yUIes4OIP6R+BoB73IPSdVoZOifG+h9ArqnHGLI + D6bAYPUA3g8UeJT8odnIxGfTdeboeS8atUFs9sWy0spf1Q+KIePs2xcZ3kQP4A4LjcqN4lYnjbSe + ZT3R2D7KvtxlLSGR788ChF4djr9Yi90nbGWlmrk6Z8s412Yvx6hPTWZGBF/28LV6ZHk/24/J+lje + RnPlpE0axv16kVfxgp59pnYpgDW11PAtkFtWIp6s7ObzSYg4Lbi9H8QZi7Qlzry6KZBSzh8tIQHF + /lDzupxr2hyHWCfAYOJtYkvPZWDGHhyqjYvRJJL28h8raA4LRSxKErzESJrs1oBTA7+n3TybIgVS + HZ0FZj6cJdNkp3hEcBB6i4Qxkpi/YM3nPsNJ1ac/pERn6fHRcgnQWvUAY4ReyTf8nvzk6jcwq1tn + Z7j+qHmhD4wmxbq7iDqjdmir2PCxjlnFcXvNirQobATv3L3IU/YkVs/v8B9FgW4hemqpyiIqZQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 905d15b8-d282-11e9-8e1f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 905d15b8-d282-11e9-8e1f-001a7dda7113 + x-ms-content-crc64: SJ18goNPng4= + x-ms-request-id: 0c1fdf52-501e-000b-188f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + SSb4eGvTNL4B3vqsfnBcB1XZxyD1NNb5NOdOH9KrUgse5x6hGmgrVckDztDt9EgOJgBSSS4GV5KS + b6OY6zdXsGi6zSw8SUxIMY4kKQt7aTpWIBrUxET0yvFyvbiuizINysY8CyiRWae2vOKmsX6fQqNw + uCl1xVrFZKGuLoaHsiaQqbwI9hZz5XIf4gW7wF3AvV/Gsfi0DUNrgnXlrASSJiNyEvZhmK6qVOH3 + QMcd6kjNqRQIZTuk9wUtlkX7lJs5A5pqJ7Y5LF6AZ02/LREtf5zzBJA8N/itYcTXKPLj8GY/HwKG + wVc/jrkAKBpf8hXyKplMnehBISigypH6eQOLquAy5D82kpI0s7L9a8O4ORRXuLLaUYBrAhxSvJfK + WCRa/epnP8P5uDPNxY8QmPoa+HsrhYCRc7V0ipz1C5khLwHKtR3K4SVSLsa0qmQ6sVj4ygKIS0YO + 5bCekWnSX1IvThkjpy9tvO1bKYTiVyDOb+Fso+SWP33Rmg+Ju8+xs5xLZ9kWIBEkxyEBJWYM/YIh + dE3qGbh2D6Idz1NL6am1WSXgbdG0dRO+wYp3XJxJKjXyW7rvYrXlCiUf+2IQxNxVvY6LS4PkCdu+ + 5FffohUJATQE2aSGhbyegVVENRF2+EMw2D0biKLL4IlKj2beRBaffZL7Q1XNqZNTfrvaTROD/NmP + RofWrZ44WCrotKVJPGIJ+wa4o7X+DYLWoHSWZ/TqdAvdxSNvTKJGpAXmIHp6AsSY3iArHKljhbwB + dfmHWgQDgS86QWOCsfslUu3sZRf9J7Q4vOkRQWbPU0fvluchQQkrNEpGDQic/UPQZhvIpuFYtoAa + J8UomuxGC9W7hkm4Vd7wazH6i1tUDxqDcN9JSr0K/Q6tc6p1fDDjxBE6GMuq1onWt4itlyDTIqR4 + TLwOgEdIiePxfoeRsiyiIKwF5stJbxXx0iJANSyhCee8ZSdSsAkpfu+RGnTr8ltHEofsGYJLsI3i + yJ+H4YH+K8D4sFGXGrWFUkMlNFr0Nym1EvspeLeozH0ji7BoOF5Wat729PEhHy5W6hRpyLuYSAI5 + sv6Hejy7bnNT4rqmisom9qJBKUkw8T3Lqi4GeQRGyofH1SBXKt38mvwe0MRHYFswTNcFVnORhmVY + OvNG9CKEbLCU/vLhKfsCHFqbzWSjiqIxV3eEJlIBi9WXf0EI/e3pUuU/09vb7/X+WQSPWzEqpoFK + KQQnEU3IVs1HQkT88cKCBPL07d7JKh9BlXUk3IFpPH9GiWDzCflL5WbzOmQexLv1jnBSS8vXxBjE + aXrhi/vSO74l4jH61ZyxhjjbQ0OFGA6XniHghptc2YdIqAFfX8ibXV9NGPs80TRJqHZ804tUxQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 906a8fb4-d282-11e9-b631-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 906a8fb4-d282-11e9-b631-001a7dda7113 + x-ms-content-crc64: jLUvxUzm8p4= + x-ms-request-id: 0c1fdf53-501e-000b-198f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + z3AQRU7xp7OUAEjMxWNmYk5agFL+8UFzG9AO9waqOdF+0i5UCXYjOmcCupW/cHrm9AsnJrkizr1G + TQiYn6NC8KgO3j0XijUinvXBTZ1bIH/tslM8AQQH0GcSlmzZekOoqslgOexjFZUOXu1fnJkM3Dhm + IskG3fV+G/GYUOjnWXt7pHHtORxI3WNAb32RivcOTTFr7PXR6luQHGwyhyk/ourlD3lIjBjXW4UH + vwCm+kngX/pVm8U34uOAw+WS0oKPOvRIRSOnHHBs1tNme6tJsAEAJDrqSMqQuyIGw66v5FajpXKV + Va/L8A9SoQ082ty7YM765mYhk+q6vy9y5CNvxxbkByDSONWhMxCjh1yBptnwgTCHlLCYOLRlUKhX + lQvDGn0O5PgeRBNYHSsPopF3GxDFdEsDPDIGKDnDOfV4YgFoxawzqzKKCacOEbbMrbA0659igNIO + WsltftNNUDnUupuSWJJzZINXjfLrSZQ3yENWKLItmCJNG9MXvRBZcOX246oUZAClInEHV+FCEyv0 + mrgRUF8oLKvTS0s1Zs+6IhuOH16QkBuqptiiZsfi+Xe+PzPOOcFOqdzJbCmbj2e/a2eytK3nJg+n + Udz5zYzZqh2fRJ9Tr3THmobT5vXD72SEN3f+bkVFAgK2iaYcUg9SfEARL36C/NTa0AyYRa3MEHzD + r4r3i8l2H0raU7xD0S/KKqsixA0ea6d60FX1Byqsl75i4jaZohoMCLQZPQYigG8sB0PeeZO8UOeT + Su1hzVh5ik7QhzstbxeXFY01CW5FmGWG7vShZiJo/sIshlSvKJO78oklLtae222UNJNQpyh+UoMJ + B/puMj+ZmWnCWO+Jb2xVMsyN+d/LBaSFKuzxqSoqz+kPAZiUxqmtQ8PhkAd+kKJmOphUK2GalA+n + hy6UFeEMmHcooEOkgsznxzdHPWYUr0bpljARueRSH57PEbhBuBiK2LVvAUGxdMUE3rDkqQ8EllyY + u+kABQKCbvV4BgjeP1ytuYk6H4wkT4FnM4/oi+dIFwRLGOkRLkwPwnaugNubXA6cDxI0X2o3ooMV + Mez0DzAeEowDt+ItXvSptOinEFtzbo5oQU474mJy1HKxOVk2yn7ByG2QrAjCOywj+5HJjsPdOnwX + QGyL3hWLteY8s+J5NYuzZzlXNo8HHuR7q8caREJreSNkBaCVrwqbpXt9zzbmpphD/cJypTjfXR4r + 3jC6/PtyB54Yl0sRS1RpJ91IwGjq9s5+Ei1Ffayk6S2EpZ25A5OuWz6lS6rWbkXirVw6GZNnBuXa + TbwHAHHtLX1gh63OjYExeDSJ+2uzYOhEiB/YHp43impsf9QhSDYSnmpgvUxfuCpXaweLkA+VPQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 907976b8-d282-11e9-963c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 907976b8-d282-11e9-963c-001a7dda7113 + x-ms-content-crc64: wvDtfmv6kow= + x-ms-request-id: 0c1fdf54-501e-000b-1a8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + qEps9O9IDBeXS2YJqQGCQI3sN+R/Y2x9D/2BokU8H5kuwkdw1lGrzAqrRHyiQ6POwN31GFI1fkba + FkJr/a1rg5zc9EqLoukgx5wElW0l19lz5nApUbmvk11cwMEqXUVem01EnixBxo3I/BmrckoUPfOG + 8qB6koYjzqPpPUXqY+FS40YVaaBE6/Reuf189WvNQCQNK2e0WhTf8/WMDh+6mWl0+rkVkRXagol1 + FX5S1vpN5igAB2ENcHpQDtCqGW3Cv9AUeY+IDoRpphrnUwzL9wS9x9i5lk3bW73oRq3ucRZOIb2R + hUCmOXzd89BvaKQP44zocb339qUOvszEko76YRiyQ9MFchRWXwd8VR1lGuPFmfg6wcAOVuCAlXR6 + ZqQUFat0ljCNdaVcT2P4TSkZCBqlxLBmdR8VTXMI5qxR/piO3KQ57egaiCU8YhsgMIX88dCPK2dX + SbMEjjVIiy/QcgPMAnNW+E7yrsTYwtieJpeexU+AvT5gvUyPyC4WUXf4jIVEKz4CLYw7lW2snZod + 8CgN4n2SAIiV+fqYJYGdlq0SQWsRfmmvzjukdj93iC47Lqt3Nfn5XdHznK5F8m6yfIaGbhXeNOpm + moHwQ3JlaMO5HMZMn5Q+8vnAIxE+LSMwWpg4B4mSnAiOb/jQ5IIJ/f0V9Angsj1mV98hAKcw5qDS + 4h9oF7kZVrvJYQl63HTvgwHWpDY7qCoDw6cK8kOCtOm6G104K1Ou7nZKZ1V5cDfbMGHCIYbvXpfH + zTJ7B+FUXX4xqQjQEVeqCcyPUzVf33BnEEh4BljQ76Gk5dSmDvmayTMwE5+ev5EOi6ILZNZxEbhU + erOnWYcO/RvtWJMJnvzI143CT7+6m5KmCb3ef2YlIqKaIRtr2ZWeDI/kMqCXw5DrTGSDzMi6saBz + +CX2yFaeMkoO5DBcNXiz7E8ZsmIWimCKQqQtr1ufj3CG649hUDqK8lEZm5yJhu8TEsLkf9Q82rw8 + 3unqLbV491dUDN1zCMHUB45drb6n5FgZSJCVexLVUXT7APcAgSPVLSPhJ2xxBIQ8HMEcpH9CLwDE + tuZmsbAciwSDGs3CZrL2jKDQtC/RQrEgv1NeVu5D0y2lIU3nAa8AYDD6LcOfiOFzKIbsplWWIGP6 + XUS6ZrgrlcXhR+XzG8bTK596UTttERAQMxaO3yBdh0UIF/NmD2q5YkbgifdvB4xJjQZ6+IScjmIy + D+cg4zDvBx+1D0tx+hzn7Raa5NfQh+ZufH+sgZiHQrUYEn2pg+mK1Gz3lU+iKfEgVbGTIhLu0gjv + UrL7vtC0a6tCemavQrr6enAr2pYUQlmeILIyQOiSKQ5R/TpX9XYfWK9f67+VFAjWfBp5qSbjuA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 90886a2c-d282-11e9-9c28-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90886a2c-d282-11e9-9c28-001a7dda7113 + x-ms-content-crc64: ajdIV+c9tOM= + x-ms-request-id: 0c1fdf55-501e-000b-1b8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + DrMFc1BD/O8eDMe5ZpA/JwMgQB6xMST+WnYp6sX0NdFi1Di3oLw5cPCZRSUCpekumrDSBjJUwxIp + ucphPXP+je/66pfhD1Fs/q6nF+LUWk0TTYoAOo1Mtr++M/yxuPyA/B7b3RAJPRJyl4gpvjo31WvL + Xvu7sGur0jwHAT4qCMspgfI94d/onrQ3exgamHHwHUhRCFTFZdVxypk5htUTY8ksfSDyfAsETLoI + hZS2j08FgYD4VWO1PVce7iGACIS+EFi5ICTOl+8oShdmwMqW8gEdMugMcYR+NVi4SWLAryknKNdw + pyk7YBnyqTstWQWzTQGXrNnGzswhagZZCYLSSJmCs8zsSHCrCrMTvjhMKwVzwniGzqBhjjAZAJwf + p61/6uKpv/jOv6b8R02RX/AXV67EISvi3+O1zk7k4mwntNQyFBZOeNmoKdc5OGcSj7ZgyAzajiwZ + L/ZNNpdtFEV+PYnLmMQnyEizNK3rcc6v+UcfevCo2IRi9zHNxavTlP3fV7rVUEm27yKqb7bq2q3F + AqVr5OynaEB6dpZoTW0WdsQrH8HOqS+n0osbD89CBHo1Bhv3DAy+bJNOaxdBeMLHm1eitqPqTYLt + ZrfQQ5sM6IcuKLF46McbESOtdMmK4HMust8x5jCK0K1qhbfTLYvdgn1UIVS8iD/B3ahBVLnnfqRL + C2KXAkN+WhjTYGwVszxklUvCDMDrFGgc74yoQojfa5qcP0kMI0DpEkgBNwz9Evypcl5orvWtIjTX + I0EU8CsacwpiYkIhcJHEeqpW+Lsg5rK0xw1lacA2fkPke80YXLIy3BUywu2FdIUdfZvAPuuNxtIQ + arAMP3BdqenEZAENWF7WwnSXtBy01ADLhmQ8Tqql66y8Cnh60C+txhYFN3hHnwt8pHZNsiAfgtcr + 1sSreTrYbL4l2wguHPLxiYqJ4ye1XWS8OOBMEuddL+vxKp3BXZqP41pXQzeR+FCZvH0UallFnnRf + bSL4vAZRQCVssP5VfWqJ1+5FJeVAnmmdfatvH8sydq1lNN6GWs07c+K5Tjmtv44RkR0HqBefBKHF + tPEYh5RKoOvc9NfmciMajNK4g/WSnCROdvbbAWsdqe1VVDkikePbBJ9jUYKPv7KvZ6vebCGax8FK + eyTRYW+9CULWyrNHI+VL3nbJjM5rd21z1FMBEfN36N4sGh6TaI4ptoGhsg6V1ZM1dKDi4Iw96E/q + tLbSynoKMALP1eu36qrf9XQTiMKFBjW8jcd12OwcpBIFZLBGxZWgyqSr9jR+kEWKKO6lMvr+Z0kX + Jw80cinR9HfR5mnMs80FCMFCu3GZTDSfOtDo4OJS45pLmrXrf8oPKjIdGJ1KiWP+KYpWwqg29A== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 90981328-d282-11e9-bdd0-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90981328-d282-11e9-bdd0-001a7dda7113 + x-ms-content-crc64: McVzhJ+H/io= + x-ms-request-id: 0c1fdf57-501e-000b-1d8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + v/3B/I4WazlYn3wCEjdJBs6/l9bFMx5enQpgS8whrwlVQ+9bUvda+S3kMb3oPqdH92PROaC8k0tk + mfaVi7qZSY1vQ7Lo3h7Eyvl8qF+grHouVj2/NKQNJ1CBwAQgKgRo7uyKRW3v5ms/isd7gjlBdozc + LYFDCDE38gEF9D8cSRl9u5jEIew16kdfq7wGj3vzDvy1l+mn8AiJrr9/glVXScJkRdfbctwITYsG + I8ldDf3WlZUg5htFG0nHNf7kevymWWxxfTtOMON6ukASv2yxRTsuqDfQSZZohA/gmwoq5/JOB0j3 + WAUAAZyOn1VekAtT8ro2KKbBnOa2t9y/uzTSissYkvE1WX/LHllz83AQKRTEc6L2IV1JIXVBiuBr + 8GZBucs740f9b50k3kPLZXuRL4nBt0tzN2vn9ehL+rWq+qjnIMG0Z4ZARftwB2BiFHvcaFI4QKuN + zm+1HeEzwkj6NigVaL1yaWVchpgKGnnxsADxbNrVNJkjvNzOYJB/G00ALD+Fis9N0kqs4mNdguH8 + BJQiyGLxt9hxuO1x327SSH6Y7pC63I6wgm/kKD6LYxucFQKZZwpnjCuavPPV3pTCpB3qOISZaZHz + lxitzA91RWyKE/iMcAFHVn06HXVljk7ZNnxhGU73xh7X4vOnHRqy5WrdsmNZfqLCm8JW5TFp75VI + VW+ocFHcChF6LEWVLkXYvcfUuC4GeKBi17JzHlFnYXYvrAs1WDof0ai3dLlZL11p+38/Fz9ydY0S + jLTjyuzM+DVB6ocIj7SUw8Qb/jSdu6F8IjVrlPqa2kY6SICgOCahctYL8aj+Kuh+eVoY0h8BsGzW + wQz6GJnXkbQawVwf3S0BWROLGKytc7XpHk1E3KcpCSe7+rhfx/hL8cxMS2HUw6F19jF1hiz8ny4o + XzxT9rexbnF5sKDt5tpcLAqiTjdvSJnY91wyDiuNj43JLQCGsfKItGhP2VxjeXgV+bl7yjG/+r7T + xMJHL/NCLR3aG3QDGUTz3HNl5FGswlIQLo8NO0IbJ2sDwwWeegsEXnesE+7wdIhWTkFs+nr+l9FD + /U7QtMgT0TCQ8CVcAyEckK3dgrc5T/gYX/VNvq/F6v0KQjIMLlV5E1MTlBYxH++xCH64Bvhm7GAF + ILOGRdpsgR6Q8H5iSZKPDar1cmD7aIozp29Ikg23EfE+uWgmuHBopuY13SrGiFFTDcEcQLVCTxMo + k7yLH88NXeJwH3kBC2OF8TnBuIvjXZW++IRE4iZqTS/lSDlF0OCUGlQfTh7xxVszC4N5ESnY12jE + pBbJtMPcS1O33Gmmo5MXlknXDv4O8crunWHKgVnnLbUiardvEbXk3Ldz6rmw+vnqODmvdskAsQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 90a700c2-d282-11e9-91a6-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90a700c2-d282-11e9-91a6-001a7dda7113 + x-ms-content-crc64: Bj3uf78wn2Q= + x-ms-request-id: 0c1fdf59-501e-000b-1f8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + uJTaQQ75z9Q2UNbjFQeRnTB+i/TaYKi7iC1AKBrPP7kpuqR97F0PhcgTQ+n23OOGTzu3vglgHYoi + 0Ok53P19QKZyuy1U3PBpzuWZjXYvKrRBtwZx4rCbawtiP9CLvHDfauo3O0F5l79D4ro2I8NK89MZ + m/YhqNGl/XH3Xpyg8PpQJasMx8iH/SM/3lr0jtlpC8HnQSbQa7mZ3P65MrdwnNOs+6y5tJ8dl3Tn + k9JHuGpYy2FW+loiLioO9beGUHlb642WR6qdQJEKRR6HQ6nTJqQdhQIvmDe1X+UFMkbyvD7hSKl6 + E9g7cXWtBGap6MmqeeglcnzFlb3W3UNfSbpDRADm0qRqjN7ec0lFBcTnNjwwWucPl8RqKwem5+d/ + Z9Xa265q9rNmYdwaF3rdBucHeZtAzEFsxIfg4FBHTaRagQyEcKBsqy3DoZOoiuXgXcaE6g3P8saW + VHw+xwtAAKQIZXmBM0UBkqWv/VCldZyTVDKlZcPQOZkGuliVD5cE+RLWt5l9yiz1G7opojIVYIcT + 3T9HDr0WPIrGcMcr2dk+1rlQ/tbVJPniYGVw9NdhgY999+o0lg6a1Sk2ViTPc7+xcEvsVOFpaeOP + nsGOuHuWZfUUhgUPKWQohBgp9krdbplI7zhTy/1fGvGNh0EYTevjOaHDmiMCUeNRSNU8qQWqi8O4 + 6sXmMajk24IUXYT6j0xLoqCTTM4TgtFoEZwGi14EjXkuZgtz20bTv5CYh1EJBQufa3wU+IvXd1UF + jGoFmY+mgvkx/SA2cKm1wbXF7fSN8reAg2tBLIJx9Lyn/MVCd8HOuXI605dW/T5NLL3YK6VlsIyP + fD+QdQ1MhHYNiYlrKxOhB6rTLcOQNnzLbS5pmbbgN7jy6tmmEAgb6J2aZqEJp7ZJp7OF7JKR/Oen + S+joqF17+JQkgjTpuLm3a83y2HbwZQnBgkTqxSIduY+3umd3z7vqgeIFHkRbkcuMSDf95OmP8Njv + E4tUkFEWbuhNSGAG5O9D7rezWZKIS+kOa94QqUlmy4jK3XjbaCZ3YZgrAnc0UJr861n0R2kKax6e + eOGReH5a6e5gajs9UGlcQ7cy6TvXmDGunPnVF41p/A759Q37hqznL1/V+VHkx61Ok0qNGGVgm/pZ + umGrIQxds1iEU1bvHIergE4g9gep+IqSuTnBWJL5mNV2AmS3N/WVPwlwQuYGdyGyR/E26qIM1NMu + 6otILpsD7yuf6V30YvZ4u+6ApDPfFkUpgqwmg4mWwB3Upf6/S01Tdw2zxqTQkzfJcZKELcvvJeVb + pk1K5YhtFmxgYUMK2U55V8QorriSZrKzLpr6NcidK5CpOhzjML/x7oi1s22/f62ARass6oocEQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 90b5320c-d282-11e9-92a7-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90b5320c-d282-11e9-92a7-001a7dda7113 + x-ms-content-crc64: n0/6w0oPOVk= + x-ms-request-id: 0c1fdf5b-501e-000b-218f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + rOS2039ym9TeFNLz0PlAPUvzEdBVM4y/GMXlX43oGi1ivPBHFyEC6cuQgN2k46YDz4lFCvWp+xTV + uOQbQfE6491YwGItIHoXLKUR48vBd9Kml/yRTGH3VTtyj7geYbnEG2RPT6uqgX2MOznyMhlVO/U5 + bd750WwIgN6vWlOnswNjBnMJePzNM7TJukXdn3GZLi8UXPaPLKd6cB4AcjhbMKxvcLbqLxHGFZmA + HFF0MWiYbvnZRo84VHIdtt9UuX351h4TOcYRFzRhdtL8rqmQmneQo+ySwed4NzhE5uic2tc9M3K/ + ns6jCObVUO58BRdhcm0AcKQnIcjfM9Go6k036wjY4mxsHbKx7+B8KeMXwUtOaR45dlousOmkMQW/ + 5cBx9fTsAC2rrQivgZdY3hyOoRgIveCHock9JmBvQZVO/SuyZ80kDDMTQg/ASnGV8SpUBojEPKXO + uc9I5fQCppgKLIs9wOv0oL3KvhQMNaBfx4H6dv1ViM2LrprOw7rI9Y1OLUrbnrnb3Yig0SjU9Mo0 + 73Vu0zKbQaQBegzLlHOXX/4NiQ8AI4pIqrRnE8UDdd9hbpDl/vm2ha2EuXEHxuU9W9TJp4mR01+v + MkpGmLjJm2Lq1jfM5eIJBrYHkt5YW1cgBmSOWvhbMzqjbeQ1h1USvpTUlJNuVwt/WYydhrd15A6l + AM3ldRV3J0xLryHfxr29vh81yqSoXaG1XR24xZGI2pTgNLAUsjEiW1DD++YyK/POf9QUC+/mXAC3 + mwliIvFapV6b9qweeGSOKj1dn4jyeZXcezWcwUNuGzbrQYIvnMFG6O10ZybYjuxNKqiiB6+Tlk97 + t2Q2nNxR4/ML9EvC6+r1b+bLfS0za/sUvPBrDcJ+LSd08gkzopwWCSXiNAm5iCGjxaah2HGuKX2a + Xr6DQ6owzMKRJX0J9CMFHwfczjv9t+l208OyR3WgYZIoKAJ7Q7ezbrIGLvOHELZrRfJah/5shVik + ry/HvZjm9CB/yJkoDvGjbgV2M05bUGlMFxHUzvbdXmVujZnlbtinMldHannSt/eUqUwDuTqZPkG/ + XWBXTCbQrnhPrQGJw16sEwvcskzlUty1b/P7oaserynwRdRC1HTDecsHKcbs5C50rqh51qysBu3g + 71e9n2cJWRZM3UV3BlgDjXbdlIbfUvVEXkUAVhvOLQ37mzY7hJV8lftyLSU9maar0JsY9pz0oWYQ + 4rcQeyR6H0hSCqVT3RyJIg+mFhlgBAhq4pEPO5eSSsBcHNyEsm2YBA4svlXvPYyuiVx+ARSC8tDI + NoDECosr0sAU6JoayxmJhk5GIGq7lxkmC6ZcT/3VwDCbETs28fOtlVDTxE/WaqlXgN+1Dz/WuQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 90c406b6-d282-11e9-a9fb-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90c406b6-d282-11e9-a9fb-001a7dda7113 + x-ms-content-crc64: AuNCNF6PLrQ= + x-ms-request-id: 0c1fdf60-501e-000b-248f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + g1chNCn4Uevqxj8flg52WMaEz0XXt7NRYrAlSca/1GebhIv0UqOP01JPPHWcs6pGzO4gAIEr0p9j + ew5fqX4+VrvEn1QKfQwvHwiY0atu0IVPiEfZvuV7rCh+oiH0a/CPR0AiNi5iXYjkRMKkrgI1efxl + K2CXQC1KOAOGAHa6rSH4uJ8GhxIm2O/3x4SrnbrnnNsDBovsOU1MWvIPQLC6BM9+FPB/bEXbSnaO + g2CWm3Xcaz9pLYljG0eGrDXXsEScMtIwEfWOktcXA4bpBSN43z5WZVc9AL5kOYYU58wptwTiS2Fz + X3UGbT7HNxn+1MrSb6xbCbXPtDVqESnjmRsT/h1IxsHYRg1/oej5fCI6PGJaRj5n9JadalsJ7X8h + daIVTNkyBVy04UKHci5jQ5LNI39suVC2VAfmrU9CwlnwyF9lfBHiVBTa9EkSDpjkuUnGg/Pib7Dm + 5Pxm+0/dF/wvLu+Drc8SwqUrnnklcKweTzidIXcsh8DgnP4DPbpec/UBzPY7i+NaAlctixeMUz+3 + U85aXFrt27wexZN26mIj4cOY+nPVqMijGKGrv5gQX0x/hCjvqWMbHzZNhZIW39h0mwTr61vW92am + vWRMYC+Gs+RgxtJjUFCB6DLhVykvNQE+E2APdP5i/a1lCYwzd4Macf6kaBERHN4sbS21+DrW7Gof + nFN0CKtwMEFU7oRlKwyPlBOSC9n04ceMJpc0dY9CfTfUgT4arq+EXRWtNrM9xflrbIvEHevtNUG2 + MuBVM8NgwrCH/fubR/k/6X36RUIcQ9eJyV999CfPNlHFJ+RoEYwSkZJIomk+6CBdVaNGbllykvFa + 2da/cECVAqQhgJd7yAubCIAW4jRM5NiChdRf/TWUSMeRVTo2XPqFRpd/ZEvLiDOWm+GG1R6oE2YQ + z/Au9uq3rNJWOoiSOEGIXcI+gxUxtseZ6NiRLD4SqI4qWcEMBPwN5Ke/+haq+smyEtZwUj99pP5e + q8owBMVt1kibq9IE8jZqUVQWivUvyms7HXA4t1TnhD7zgVBBkWWdNKdRuS9/xMDW6ESWsjnX9R7M + bNXwYlbUjq3Vb1FXNNDSqMHkZNlMyFWbB4bICRm/Y+K/k6aO20KWvhwm7ed76L5k37EDe4Ki78AR + UH+Z69LF1ZyvKzXn71Pd4dLHZf2EOlA0zR+qm64ClMoZmeyaWorU3TtKLeSzTGEq8BBaaXbrC3Zb + Ken3qqY6B6nA1wUZGTsttj7z+x4maBpi100k9wiCd7Wx6RBUsgl8f1IvXDcskRCpOhw6dJo357T1 + eH/imduOLkTj7ANPO7r73qsFJUojgOT+Om+mNLdQDxdROT/0noTMY8gdAETH/Rp1iCO8i1huCA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 90d4c85c-d282-11e9-9a68-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90d4c85c-d282-11e9-9a68-001a7dda7113 + x-ms-content-crc64: AxZSEw3q+nw= + x-ms-request-id: 0c1fdf62-501e-000b-268f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + PegODON/09z3MtXUhY417zNpwh0PztcDn/qMaT3TRRKgg1KBpMJdrF2mEJNgd7EmwQry4XmoK1C3 + OmJa8XGgaKt8n1zzx2ec0AvpUOrbGGRvsfLeZTYuIapXaWCdUVIls27MFuP4NfBWpcNb3RULD1Lw + 8tbvhU9x9uYKtZ0MKtHZ209+xkmR+L1Kp/y3o+XTw874WAp4SufE9HFP5Jd3BPCBzO32MIMdftmC + CobWxo/0o+wPJDpvHqOBQaE7MsFNds5dr9LFGtmaxuziv7+9PO+Po5B0+TcDlmX3WUfpD7fsYqAq + 9K1jMXVPH3imri1raIVTEW+7vqRRA5S+vFnWDuAllTFDV4IWmEvMmvrkQWqiTK9nWX3vzD8cNQO7 + elDvD3hK750mhh0T2t5S9wYHiTIv8ZTeQw8BZQKPs2u7UglHq/JJIzArn+ggNrCkVlHJVYIijEAe + kAeP69304fTgXomdAC165nCmURqc0FwBhlGej7SnheGy5ErZMBIO24IjAdKSlmJZX1AR8uNR2F8p + tIJAIkL0Wf6RFuu2rjUjezaQDOlgjSyySc0eH00UusUD+tYayICr2bndDgjFFIFyjC4QseGsiRcO + kfI68YJcFM0S9koeh1vTJqXjadGp2Q15izr9VOvd0BLwVfiHp8q4A/7NTQ1UH/XlDJo3cGZ/Gaya + m3oOzbwe0HLJPoOhbObl94OoPZGjq3oOQpo4ecqaWSFT5XXFxpliuGuRhDR1YWkezz8J8azgYBZZ + xkDym/muDp4/rEhjn3CwysKY4d7ZtTwixdOA+twKfN9FswrNtgZzrNhl2A3BiTnICmFyyL4CR8ax + or8rrN9EMocTQ9De8+Cv7mwe0MmqxlMexFrpoQ+55+OcEY3+jK5hBZUwYxzKC9MHOaM9F2cONcAs + iTab0U/gYZoJ1gG/CjHGn2mgzWu3GNPaBun5NXTAUU/nQ4dpvanKFFiEumHlML5XtJL2JVrlJ+GN + Ph4aeJGIj1fvWXGZ+k4Mfvo/feVy3HgyH5Du/UvzgKvMxc+fi/eN9SniDOoLX5QR3XKeflAi7hRW + 8/QjZtr4Fj2Jxao8Z4tb8nlFvGfqpEoswzdrMYf1UYhegHuz0oy9gvv9zRt38Cr5xegcpPCTDZQl + sBE8kl57Nj8ICPoOVepklYGViWhSECU5xvpIfxhgoahcJ2RJFNWIpW8OVBGo6fk9JBp1s7BmR2i3 + jncKQIvDtWTJnqP89HmBwXZCP6ITiNNTOyiTi7eOXtArJLZZBAGTjuA/YXdQBaTe2zKc6SSSCz3W + wktLNXNIvmyJXs3MWi4xuBySTeO3qhcrBKHGJrxcY8XapkHN52P5tUizDx9DB1Dc9jzbPbTcXA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 90e37e10-d282-11e9-bc2c-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90e37e10-d282-11e9-bc2c-001a7dda7113 + x-ms-content-crc64: S0etvrX588Q= + x-ms-request-id: 0c1fdf64-501e-000b-278f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + huUJdiFn92lYrhIQZrUAtvIYzVyjAadj6FjkEZCP40hpo3RLHw6WI7uy9p2uva89fAPxROo/4B+O + 2Kl+Rs2jijoV6LXVVa1Y3jnGl/c8yuQQJFBHyhf8Rx5WYf4PYcbh0kZ3zuQPwf54SWaA6mRW0UHZ + klNnMU39fmsSUgFFHThUwKsBhqw9xUvEweG/y5NqVKZ0a6o5nAX96GgJo90UHDHJwf7V9L47tDNa + yWbtPAE7CVBc0ztPCeq54H46zDvdTHKm8FmkxvsbSiPmaFrxPjnsKdPXHEWKohjotl9wRZt9ZdxR + Z23WY/Cmi8ppzlmKfSIoycBV00bB8V8VXPNL/XHvn8A9S78uOjqmBc+CJ5G1tWwFsVfWrcx01MpL + 2yp+0FrRYhh4Bo9Q4mSXdrWHxcT2u4QIYODz4rSLa4ttA1lrNpI6UzEBd8RKZvTPXjJXi0+jaJoH + +LJjERR9oTJSPJLcYseVAqfN7iarSYgrgSjUZ5Hg0SDnChEnYilK7k6nEyOQRm7GIQ4SeVH4SRVA + 9repqEtYlE1oSNQ/ttXDe5W/802LVGgHHPMrFpEq5bxCS4qPcG+mmnTZmqDu2aNWT/tCWXKRzqlQ + OF7Gmq15kkAN8QuZX2hqI27A3GGk08IQXH88hOJCq4Uw3V+U9rSSDjJPCKUxQqg8JJnlW8uAg5ih + xwmYdYAN7hXviUA2KngDLc0I6S/j9dLldkZkzEyxBNp5fnceAef4TFvC2p/SfRFrEcyn5HTFPdxs + 9O7gmMNrpmSW3srX7lNGZfWeVhqHtK5ShG8QQPAXcGMuHbBhgOqscS8WF0T3bW5f+nrekJ9DkPUJ + xTapqD/Ly3c0VcZOgOtfzivedcrU1pPw/MzjEYxr1HjRtJLhOx/vHZfYcNggbWgbAt/Q28Sut1cO + sueWxs/Yl0/R6b+eNEG8Hwp67EeFeJ9BvOKtgGyFTZdyJd1QvasWivb71ganwzjCDaHGUwqciljN + J6hQSl/LjgY9FVQZqxO0RjY0kWHODy4S/M08c7J8tOksuMKZ1OPx/fM1A3lTFArTHJW/nOpb86TK + PR5o/j9RA9V/Pbnq1GQQgbQSSBgpKTbzyajjsk6OZyfcOiNpgQQ7K2Cemhn+figYw6xfafINjyQQ + KmU5jcOkVOnRnTEiT3tt1mqRztcqDOrAQJXi0TJEkwydI9Q2zy4N+0ScZUmbH0URk9wDay6+3Phc + Ek6MKYMwao3UiL5P0gs0/L7kNt1yS7BXb0+hYUEgxnZfsrG5TIe83W2DKfM9aeoKgftDhf5UbcAd + AD1IxH8H0yMAkpNP7sLtxuuvgldEot5w69w0k2fsbSHx7RsSU98ypaEa2nfi/tv0PfjTCpQ2sg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 90f1eb8c-d282-11e9-843f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90f1eb8c-d282-11e9-843f-001a7dda7113 + x-ms-content-crc64: tQ2JXlKFuIg= + x-ms-request-id: 0c1fdf66-501e-000b-288f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + fHBVES/hAWlx4ZFop4PSN4wS8YapHNHkpBdWPoooZ3aS8K8DJc1azaAon8SAEI1j4QtShojonKmu + Xzs2y+hr2yLJ+KszNoa5zuwlE1/cRbaNgzSouOZRJcrlLCSvWkFURooMzvsWcV7G8xfcS5vySHWZ + VvRTkZ9rg8MTFlMZZYsnobLr3E/3YohzL/q9d2jXpdK1+PxaJschEAY5/hbhrzraJUatyHzumGeb + E0TU3bCRmEpUBS1h5dhff3C+anruCDLbcwKJAHZLlkqt16ifsnkJze2NDiIi93Qc3rVFkegzT6Bs + ZekHYs50AeuF5BY7pkxCYddx9CC0C0yQ0EYn7ed9fBrL+u/5bsUGe2OOj8xLo6ck0jPjDFfy8c5u + oRweISO/YgjZRPlf+nGP1UIQeZzdnK0oQvhKK4LX+mH+5ZPJm1VjioeKCIAW5M8NA9xOKGx3YD55 + OsAR4fl86TyWoUfk13I1JGZt/h60Dz3WeoNMp94kST8M91hus3YkOFt0fdpm96bsnbBCfdsjoUjt + NRIZV/j65JP2PJNH6RRv668vroxvWqAxg1/vU9KDcJ/ISfQZAlmPD2/0PPi5oDNz53sYoySTUuSS + l/7JBcQUmtUrn+bQs+8VEEE7ljXBuGKu47EbrHkSy9VczyY8v+3Ou0ma8Rva79BrvluCxz/l6alm + 40h7xhLtaFdDFhREDhOSHJCsKF9LJJ7BjBS/ojzAOJMkb2NfMrUzKHzoroNSFaHSVYMjE4C8IoxK + /t0Yz7nyKFIG+peSQjRaHfSrFxrPF+NlB95A7CL69tp4Pt3NtGfY50RXoXvav9fQmalxPOdRPMcE + Wv6IF+KzDXGdOaWJ3n6ota0WESxrHlvFD3thKLZfKyXB+tqtbFUnyYIc1fJE1CXaMjPACqF+R+oH + 3IUgikC2PjDhlYbheVAP5RBZ+M9fZDzup40B4/NuwYN9BHB3fLYH9t1TXHIdrOLdfR63zQC7IRp5 + VAMILQMA/V7ss9OT7sJ9kZvqaeh2x/m4lvGQZ3m0LMQb5RnXC6olJj0rbMqI/SPwl8HOf2WXU0I7 + ThMIe1Jwdz9ketXiW1HoHdNSAQkgtlYf9OkStcBcqBUAcFl9X58wXLnhTK2Ffa6dQwneWjuUFaE7 + PNpEWzeF+ky6eCQX6mJuq+OJrYxXxqr9NBzi4Sc9JKHG0UcFHXgkpSLgBDKfplK5rIKBN8ZzKZ7S + YTGKXHbz3f6MP+PHlchAbtyYsmM4Ao4ri5ulgJQcvDcDANl88L0Jp1hD5mxEqH95Qfg5xP3DiUDG + DHtE9xJH01lF2gRZ7h8BWgPH5Q2RlGDc29VrfNBGbyUsKsX6XpLB0qfU4k/ICXo2CKMJeca9ZA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 90ffcb4a-d282-11e9-9d8f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90ffcb4a-d282-11e9-9d8f-001a7dda7113 + x-ms-content-crc64: AbCVDXQ9a24= + x-ms-request-id: 0c1fdf6a-501e-000b-2b8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + U/hXW93gFdpQH53cgjlYIq6VE0NQPsr48ItwXSZ72AU60fZL/Fv8igaU5OtCusqHLb3v8s7IK+Bv + Ct23ZAqgiak7xtODOWE35rQhCUYUc/GmznSWA5U51AHWD1FbxvgV6eEHmRnlNkTMkoZpUlJqSK9c + etFmjYztH12Vp07dqw0wOaEr2vbZ7tThSevMkQhmx1pNIbzgQ9KyrUrHM4EMy5fVTBzfospke47g + QwN+OamBkOwCDDaqNx0kP5DV3uSghA/XYm5wfkNGNp31WOsTfLNBO+vY/bQQiNPYqk79ppJxsERf + SKLgHBqKgQv7x8csbF+vABZHj9lGtDejb59UzU1qFV1AWcPGvJbZzn1vdAWBkagyBa3aHdvS/AcQ + ql2XbLngXl1s9wPOsPg2AT75xgOJo0U2KK9+6UW9A7/h7NWLu4/zLTBDfG0m6IojLQym60Oa4m9S + srN0ExGbxdZpcCLMyovb0eKwEHsDf/AQ0GfD+wnDVgQsdjfFmZhnxRsTmcY8BhWWrVIe0VnJKBmG + HvnE2jv9rOOE4pqILU0bkdtTNKQ9D7kmy+yqoNu1NuVxbcqS2Y6sDcXr7PIebxziEbT5LRJCmlAR + A7WhYFJ6IwAJlGc2xwGMJtK1TSDNkcSWWsH1Gj046l8tFvj9VFgLV269ro5Tdm/D5YUdNbRKyyf3 + Clhg+RRiRmuMu1pK2tzYhrJ9f4jilvXothY67Z+ZERtNx0vRNUu5OQJ2r+49JGXhH1yA8sgqia4O + 7z/fHnrp3hdGdG55QewxjrbSuwaD+dnmqlDfkEnfQnbo9srxx9yNnw4yaEM9BdRYmTWsWpap3Vg4 + BO3KvzLHkGOIeoDVporjsom2JMhge6Znpj6UoQvfEy9u4nNfHpEeSuMJWXQieITlMGwVivzZT4Xd + RbcxtfROBE52lYJKhpLzZPpmd2FYKa1YpFE0VOCLyHuFvQl4c2I4Xdbj2ACIAirQu90t3T0hOBKI + s1wFXBn2OML4eCfSTP24eHMqT5lvaeCWA99G6wJ+XxSkwXyYx2ANxRnd81qlwa+v2wAdRO3WWpZt + 1AYXlWXP/PRiKgfrSSRmD6ihCu45nnxcWwG5OlQfuLNfeTwjZMlNJZBmay+XlPfk+0HTXGtjEDAB + 2YN6jvide2l3taZoqhjQSjzr9r3nDf0x04Z/WQxpsxk7y/TScEUpe9/Rw0VHdK528fqHiyXrCS0p + L5Yk0tP0zds5mrfzlH2My0p8Er45rYd+04K9XkBMv0wWCsgLUdDH8rhk3++kWBIuR5AB8D9iKF64 + 6wqxRc4dBaf5LzSgvsDb6v0xjDbS7Pvw3La/9DqDf2y2jTFCOv2jvW+ntohX+VHoNL1IJFgmXw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 910ce9ee-d282-11e9-9a93-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 910ce9ee-d282-11e9-9a93-001a7dda7113 + x-ms-content-crc64: stY+ySp2CjE= + x-ms-request-id: 0c1fdf6e-501e-000b-2f8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + uMEtad2PIQeBCvvfaVshO/V5ywsWCephbpab2CdgzGtzzvPzU0NOgNvtRXSJd+xyjUHbZbtVjG+a + WdKiG0lg0w0SZkIwBpWyqa5zkZ1y2fS71Hu59Rq18Rkv8xt1P7nZfpQDQ8cX9XlY9tRCLu/oETGu + XC62ZpWk91Bx2e1o8B6VzfIC9CE4gOCjMCBZh534JoWzNYxKY5twiFGx3/28J93hpIiFQXNIqx95 + IHIwh8UulRXCPFOKfET4Ngt6WTrBCwerS3184XoOicn+mS/6OZHhGH03YExMBUFWApzmrjV+hsON + W7Mx47shvBVM8W2ubtMxBIIzGm7cmdmvpm1acDiel6SVBi74/ScqlPxP8S2/ZP09PFPxtTCBQHqa + /tdukQu7Z8JvMVb5YF/OhfWUbabibYo+UQawzVaVtRKON/XlV1uVbpmqLTE8F9imY5FH4j4XFUMZ + fX4DT2pBDek5aQ+QvDEZbdFO3Wg/400e8pcvKovhJS5kzKbbllpTJz1U8OxrkFifa2fzsnQZGfo5 + gq9iMTNQ+DzPtO+syO9hYB4DZtRNLcY+FM0AoH6aMxVnvpJvLTDsmgcETBSOqQVyX8sp6AHu+YLL + lfKA8tj9w6Pkbewy2Vsub/BxpvkOaC5hfwSuTP5QvJU/hFs6JkduItWy4zB7x05AToNk6dhZVQPm + RCnT1V1FII/YNaniJ650nBhpQNyYg+JY4zAWopcxBAlT5bBHIhedy0lQAKrCECpkQDn4NFqUj6Lc + panRTRE75BYq9kXqDRZz8dC6dbbBUOmCrEpaoc2xYUCtqUwHIuktxqegVCUSdg+YXZK3/jP29+rs + OHsnC056GTyrIp1WXv0wxFyJAtdi90oDh0U8x5QjId+ivbv912US9w0dlFXBDNHhjGPkrai/tFpQ + Jsst9cHQzXHqORg/TlIa796CMPXKvw+VexRSRZ0HUH7NK/Xwt43VkGNnas4gd/2azXVWFPxDRORq + kgzTTSlTEHJkwKJei3N0Zn4Eo/frscSghvO5rWnKE+n9V2ZjY6w0w9OpSxB4CbJabTuhopAubvaV + Bq61HEnBZNO/0VKQbFe5yIekTsUGckjI6Z1iSLLCpAExoP1xVBHIHeeQpQSScWV7ubkzB0Qdy/6x + kQQBV9QoxXalAez11dpJWOBrLXn3bp1j9RfmA61N7gxOq4CPpYDl5tVWZatOc/hxp0i1+dCMV2Dd + oT+YhxxixQt39wMdDPKyvjjVL8wL8rmmAtCT8TqmpwEjyC01WAsQ+N/rKoXtbvPcwvaemxDoam7D + DOhoDScnFYnqBh8y3jI9Ai54yPm77EPPNQxwmAmcs6jUe1EcTPOkQXI9yCxpB8jGcCCcmU4TqQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 911aadf4-d282-11e9-9356-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 911aadf4-d282-11e9-9356-001a7dda7113 + x-ms-content-crc64: ILOC8TkFjZM= + x-ms-request-id: 0c1fdf70-501e-000b-318f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + o6FKVpfMIaFI8nIRtilAqwEaaUGjZRnIWM2nkIcRadINYOJLoSJ0K5u11WV86bWTg4xo3FC8Lrft + zH17J9ICsJInksHwlLDzEBDFcyWr2PeKxiB+ez5WcL03hRCdezJb3ozbklpc6Th7q9A6ik+RzHNB + YteKlMQyEl6W7ckaFar7T7bKDEXu4b6hPwPW+JPZr0J6RMCTFGmP3dogXuI2BiifRHW07wS+FeCx + k8+S7pgOP9iI3RYQZbS52ekHSS20hg+N0OfFg1o3RWb4NN5FvTGfRDiAvDL5GooVLErNGLxhdCe9 + ow166Bg9Y+bODhVE47jM7gPGAtJeWIIda6nadIw8xrJSiTjXPFC02WmGhhrGpfiuiblOFAMPw3Ow + V/PcB33hz2oZXiLuvCk77Go/nJXdd0rgfdP03OZDGUHp3FEWiKL6nWTyPDEVNWX0IIQPS3GUoju6 + PBzBl/XN/CFdrk9CZlJk48Q9vj6EwZ4wCc5IVHhiJcNCeL3ptCtnO9WBWxV0ytm0Pjsmvjy2KRvS + zc6w4Zc2k3AB1/RDvMH4T6EdM2VyDZ8gg33NCWVAUZi4KoYrY3KmOBu+qWfNQaNpFnyIc68WEI3g + VmlrC1dvoVHD0J5ZUg3pG5EWg8N3xmzjpPX0M426t/iGzqlvF8ibRL7DVaKhYNyga8BfM6hI0JTA + WvGjrRLqHbXd9AMBy0ZBWc/ajAAkrZgt3uhu544idxTwQ/KyOBopE93X/ovqLOIvqh3fjVrVqhJa + U5uktQEaqaz0JyBIZISamHYUYu15HUm93MJNM0DMHaWONoWeIN1UDvjZLnCjI4dAg3tVgmZDr8bL + 52WdnZM7uTFC+YTtpXJPs5kjpUjTORfnOzHqTP7T3L3T/RVQribzLNLbaOLWI97vL5ymcG4xGoTn + F1tIFV779BIfnhTprhJKUTANSBtiGevhC/yvFXMMfEx2qTmyYGRa7V0rqnTL4o/ILszGKmXiU3cu + olznywaIdBWBtyEpwxlI9yGhOz0v2EZ4m9hYj9XoKI+TddTRnonX+gXmLWHMzmmqRoLFmC14ec4m + RmwoTbdqyL73e5qGPlb6P14LCEEXRnOyltxnn0YzLFYfdHnUfsf6ykEDY79SFYsLdnG4KytyHFA6 + cIyF+m5nVjOw/CouQRVP+o7I9p+Jha6Swf1hRlTTBFtxuFOKfd8rNuu7DebLZ2kzsV+r7IUX8CMA + VsDjq/cdEUTp5Pv5oD7bUHy6Hhq7AL8BN4g6hLtapyIML/6dEXkKwCyW9GFUTcP9NTwCwDVLAvXN + cLeHBQoJQn75lHjLNGfuIQlBO6R1tuy+lCEbRet/YVtc9aupx59IlUNV0XbPleCfVHMLIUG0FQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 912a9262-d282-11e9-a11f-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 912a9262-d282-11e9-a11f-001a7dda7113 + x-ms-content-crc64: tSScJEHx570= + x-ms-request-id: 0c1fdf71-501e-000b-328f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + R3bvbLppvABFPihPtfCBft6sd0rRYCrh0Rg0LV/6iZMyna9BWVnHH8+V+iWzJRg1qpm+Wd4WHjEb + zHQq9OJH+MfmzLrBrk6EQOAhK2AfKnsWmYJb9hJjnBXwvlue4+zQiTmU1LOZet48gwx4rnoPASyA + HtgcU2IJ1jz4zOPhhPAqV7FVgWZ1bfTE+CsZOVViGLPHZ4hhCy8P0ydAinFWs/caAQfzBp1vkC8o + H4P2N1YwHGH0G8ShrtqlwDVjWn2u/bkZK8diRMNkxKdhP4wR0I7hXhwaHhuD+GwyfMVvaMy05fpE + g2jvHLccWKQDMn1K4lJjodshOqvVMvtd1G2ssz049BiT4XRzasiGBGq2MMFCFeg+29OQ5K0eEEK/ + 8aglt8abdS4A2VdpNV7w4uJAakd/gb+cCibkaeKzBFPPWDIQ4BwFdGXhFYoE775iDUFz6lBd4WMO + m+ncsruNA3eigun5r+Fteps0wnpUQvY6454zsFhNWnvqcoocsilepOC0HHVSzr58Tg6sOvqUEouK + bJuaqtEM0MJyic8OBTrYWjj5qNTZH+IEq4WuATv+2pxEsy9VSWDE0SqNeZVnqmeXysYpj84442GW + 9RRtDljLeYxE0Kn7foCP4IyjPLhxHt0rl+N9A2iQSQ1bnlYG/HQTQnr4pV5XYwO3n/TUFHTkohuU + 76qhB5pY36fGRhn179YOWHdVcEwTRP54zpadlS10K1Pr0l5JJP2wORuZABrEp6V58V11DxvKIi5j + bvE+BHNfwgcsPSBumtFJuzftUazYaGJ5JadROKN4ILXnVYKuSJ0TxlOrzhDWbkM9kBNn1M12ZrSG + vxxIKB39NIm7YqE7NaQNa65fqBVEcseKh2InnGWEzfoAY+gDNFrMEpeHS3lfmMOarlEuYr3TWCX7 + wCO1huT9duwIxuo5BLj8GY5nenwqLXN5hU8zibY8fJCymYptXGzJDFbMRTzBlZyc4lZIMakaUoLy + LjB/k+QL0U59pyVEpxQmbJ0JJUrgACfFlUFpI4KLGXDllodU35zPai46Kv7yvqU3WdOiz7O2kdjr + LaxgKQ41tiX+ftWPMl10jBR3IzNRodyNF26FBW4H3PQ1N0IaffoizJoY0Y+w3xWpgzbKYwQANFJi + YHMrjNJUu1UME89HPb9pRRdBZu8n7a5M+Vp6YW7UHQCZRatlRpRXa8wqSFJnaHn1Ej7am57RFKav + agpesMI8yuIngfaS+tXVlRgF0lmghP3IgsuZkz7QABPjM8SWRUJZ1a/w6X1zJFc8utdxPS4BE9ix + ODgjB3ezgP7v++PhxIEqRu8+3FBFRDeF4FodXb+Sgxz5ufvJ9qIsHbkqB2KlPRc2C9+u9sTztA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 913a4d06-d282-11e9-bb72-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 913a4d06-d282-11e9-bb72-001a7dda7113 + x-ms-content-crc64: 2mzxVkC5d9Y= + x-ms-request-id: 0c1fdf72-501e-000b-338f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + ZY+hYbdeHnTDiPGqcF/FIqB0cwzZyaYbuoGgwt3d46ks0idH6Sbs+DZp+OoCGNCvOrLksVrx0hdk + WFu7O2j5I/R9oH3NozWsoCl6ZSeLt0dyUpoGJQEqDMTLoNQGZ77yJf3KCFJa4QbCF4Y+WmJ1rfGG + GL9qqRWAo1XCZpU+NlPRZREceVqAc/d1jdqcMicXaepTT4Go3XOXVc2011ZGQHzlebEofUP1Ndmk + iwSA7R+Vz8p2mJp5OvHTLy8XauTJ41NJvFjJgnk+icC3wJYk1A9Z/cEqjyGLAZR4c6P1eedljzDX + vSS18kG8DM0cLFyk+I/R5Qx+4TRScok06srh9+x7lZBP7HqYYlwblzQAjiUKbX+G+/J646oLkoMK + wCx2Z6GZD+MzzAjXH/k6IfLcNxt/AGTIVciqwZova7vUmCh3i/fYdesMsR9TKpy1t7OGhjq5VFms + jI0oVCLxpwQCEiHh5/FiM9MuycSFerapVYZtXA+LdG1LlPT3O82w+3xQGs8cbMnUv+aUgoVZhc5S + WH7iO4P27Wyunm3CieuCg5ok20I8LbcUgTbWMh/FMgtIQ2urss7cWqA1BlT1hMXK6BIxrvUrT6TS + ehjLA7NQnELbmRHLXJvCQ/YUt7VamOyVZTsEjwNUEyHOfCPjFC0YcTQZZ5KMjuU6IDNtiUEunp5w + EE9zDr/JONnuhttA5V3LXuQJeMPiJkjnIiDZcUtg7+K9mE55RRp4oQC90WY62zLmvvs6iKEl7WcC + ekkpXh+U5oNZoWxivw2uazxlsvzssF0YSNmilc13boEnkHvXzjLApFhhWmHVjuGAgdXmNhSGd4vY + rKWRxqUqyMuFOG/brvt0SJ7HFqlIkbZd13Pp87Bo7NLn6yULITm8HGQQgaBPHSJx98mzrgTTtrOp + J+sAwc3iIiWodDKiBGi9Vj3QR6napV2LtzQcBR2bZNFKqp20RZ8bzd7QIRhii0IaRBuU2lphf52v + kmtFAc8MQH10cP2TbQ4LFeLwninlgYbMAteFQ7+svkR0mZCsJnlFdCg9wuon0arWIWKkNCRC/cCP + zcRsI9kCgUybxjixG4ww/C5lKsbNNazEqhJHSu0dv1+Y7dQ/fAw1sAM1j7Hh6m2PZdEu+cpHYazw + CL8Fhg4Q4fOyntgfDoSTa+KeHnY3fkHcg/osy1BVTsUelMe0QBSp7l1qjp/jcc4mJ3yT5UwHxLyr + kNab5cPQUaCpfDsM7kFeZs/vGEY+2qPHu6eGCxS5lQnnTc2kRkXGCiD8Rx/AT6qcumHE52UvUOr9 + NP51T5K1G7XuYOVwdQmDW/OcGV8S1pkgIBJi38YxN/aShU5jZPiFVmfoiRzMS4Pd/f5OrTwyRg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 9147fe30-d282-11e9-96cd-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9147fe30-d282-11e9-96cd-001a7dda7113 + x-ms-content-crc64: YVlqeDiKWcE= + x-ms-request-id: 0c1fdf76-501e-000b-358f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + AMp6eDBmeJXGhKvH/F4hiwr8+3fI7rdYb7IiDZes+LS8IyA/CWmh8cdCcadtozaqgWo/iq5WSYne + 4ojJBjso9FLhoMfWd3vdWGJ37G/tBk8YGkhpDyX2veaOtUS17MSbedM08HL5Kb7Px1OJpNTmrZWP + EyizSA5D9wPvTMLmDjskWOzC4jvBw44Q3rfztySFgESJPRKWAKJVtXl/imkafu08mqTNdQJ3fd9Y + XmTL3n8vRJgTTMt3MvnlXN0SvnP1uskEmEiTMQgldK2fGLJwXiIq0eAgIUfrUlrFqhh5AGJ+lYd6 + 6MVqN5cstLBxf0WUDGaMd5/zlGkcaoxHzHZyWYDH0WC7OTyGkT9X+eCBOOvsqzX4wskWbkxmGgyF + 9LKCbdk6dwc0nRxYSI3TnfYmzL8t95d51cycFWyNrtsludEXryDllgIeFzxHy0TLN25GryF11hzh + oUYDiXNZqWz7DTHecf2DIj8bbfO/8xKtGiozjbnvYaQswZkz4T855/pAWkt+dZZ/uGzBjH+1H3oc + 7QiCCkeWcUIGc6IFkYcgmrefPnBxaTJqa1F5cxiEs8/d+YdtaGVSPCOt1fLGqUw2T3Qwp4Z3yqBl + C+nD6NuidLa0mut9G41/lE6xQnYYkadUgTOH/S5LwmnKgt4+5rWB/ezysgqnMIbT38F60GFWta0K + xLLsK+9uml8nRm5DgDaozQ2AJndr0c5Wt1AtTxmRNYRQuzEP8IjVqDQquwOIfqMvYFC8dDOx5bmS + YUQijeHWr5C+4piLDp8/ArL7OGcTQ0gQsghRBbYSZhhZfhNGSxEdIRJoX7FcEa8V86PbGrZwB6Qv + rz2OMJx7gIqVPUxa0e8PCkOqDApg3JpS2CzS88TJYBgnOtdN0rCgnfuRRFOhhkXLbbpjAUTJ3iUh + ECfzUZ9jdljYzwLJ2cmvToJeynqSIeyoa1ZViJ7WiDDhAprgAZpS3y3I9cVC2z81pYTAtXAcYkw3 + aBj0DLdUdbGES5MJnlCEyKLS09+o5H6kIJWKssNA04kM4uavwWH1YI70PKdXWgRpkedtmJI0nxgH + 0RW8qE5Lzssqdb90pMYrRswkiBOlsl8h3g7XNZey7qdCLUjg9JNUEfCe4gGAqgPa4228hKfWuueW + W4vF03P2Okh/7z3zxH0ZX/ol+kuq3AvKUMD0+Gnyez3XAGFSeDch0wUAwB2fODkkBcczjQsvtpxV + i8ml6hNF+/5maRbOJZYE9OaHxE/pRBOf4OXCi4rZdgeE3vnsQLbgthzeplJuBZHoWnErs3yzM+Te + A8D7jbyqv1OigLJOu7UePvlMtP1XOO2JjhJiiAPsiflGdncDFdBpuffeh+U+uloMGXzHx48O8Q== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 91556270-d282-11e9-8ad5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 91556270-d282-11e9-8ad5-001a7dda7113 + x-ms-content-crc64: ERClNu/5yCw= + x-ms-request-id: 0c1fdf77-501e-000b-368f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + P5wuFLhbSRQV4dQ949DmUVHDdBbfexLk+EUel9zPPVbZ7o/2S2KuAdiRGqD0K/tv43ciQdYt7TJK + v+JasxDtTiSVF0QoVBCYj+Qm3ikfM3rUVD1V1sbfm9uLpLOIH+085CGmlzQxyZCtQVsNlOQaXuME + +rWaGuuZV/0AN6rOyKqXiwutiVPbwtZk19GwU2JYATtNWuP4zmy5WR98c8kElbXjqy2pmZkf1BHz + FfhbfT8EPMhpnp/WSUQ/mGvKy/JPryBSpOmd3ck+GLunI1wtrABlO3eWjsONp5xESKrhdPyRbH0h + NVdJULeZndGjQe0bDMxTw3Wc8arS8wYEko7Iwo45jpCH2Twghpg93WGnWmqMfsoKhu4E6lg39STD + AlOVBTdSyzYTxrnorFERJ1ueicJqSi++MCzG5MUeyEh911rYalXluTWg/AEGZypTew6BA7vuLCG5 + v6rgwHqqJuMtVxkCsJA6swYUUz2dbTHv28ofr7D6SFFhlUmPzUImyiJxjYsmHT3OVAgkQE9pxnRI + y0zOj8nJ5oFGjKuNM4uLNshnDoNrHS2GT6PBjOSSw8PesTwc61PAZ8WAbvXxoEYFosobMRcjJ/Cm + 8G9hINUee6y0jpqiVn8U+sKY1BBEPMd58yElk1SOrDRhlZMf+AjR2NaWozQzLezpB+jzv2xc9g2b + YqtXLB1A0uUyZRsifeYQfEc908ThRBwqKxwOTy8urj8norsHLj8vr224bI4UxjaSYWh7JNsM/Lon + Zdl3K925HaQGDbXas+JBeg9wuHz2qxrzHym2eQlZjGGOjgim9Bs9LFfFj+HX/rQc6/OuZzIJdkz+ + VJqG6zVPKDGlGLN3a9T321cOdCakMNphimEG6MCtujfTseaVOcvrFe84lPN+6uItDtoWihkp0PB6 + 4ekawgh5hYrvlccM3GQdclAQU8px93EcEEACALNKRoiPyYj7N3uQgahNC+S/rxDYAhy+uZluylZU + ZaxTKrAZGhWXwTptZmkB5EpjYu70W2uXLvR+z+cyPnKgmayv8MUKiJ6iq1Uv180xTz8DQRgqnjXX + VDCZodLYN5IKxxhjM0VvdPG0m9Ht3LxpWT3Ion6Kj8R1D2do7pPPZuk5FwFmSbgwXB3tPXAgx2sr + /NCJjf5v1wHVdcOr7S4aKXYj1gYVZIsbv0ziK/h6orLs2JTW9Bt9HshXgNXoOO7z+akxYHYtbadj + SAnWR5sxElIUGtF43s75dDiRoASvT6IhTBA4CVcvq4HKmNYblPeReZ/4Ea5Z7s9KkL5yH54b6QAf + ox6t5yh1lTjhE9vxKsS+wCSWk8nH+VmxfHpSBnoNHWZwMNPp6+tMJcGFIVq4pmtZky1ADJCKuA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 9162d930-d282-11e9-9d8a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9162d930-d282-11e9-9d8a-001a7dda7113 + x-ms-content-crc64: V5CDloiib0w= + x-ms-request-id: 0c1fdf7d-501e-000b-3b8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 6u1UYau1ujCpamRVecmJZk/nBYlXIS8zYm4OqKgYJlfBZFQcOsPlOlVlg0IZQlLH6LtJf5F+HH83 + xCtnz5AZ+XQKkYlmHbrh3k9F4NA4hK3vMjervCCU4tHmhkfgzVdEG1CYzIKJv0wixDYTKALVojY+ + vymwcpiGH0dfCx2rknK3lFuo3ecavsGw13F05bzjs9sJiEMM1GJPoZBqt3zyPWKnwkn64sYWwDB3 + Kc33jpc+fFOGce/e+7AUZpKQDLO8OMEs0mcagdhYxzYoqSW8ZLM08PHb0SBIslHzCpYDn0Ce3FB/ + yEU4amsHWx7FEpRv/Em3u6coL9O2uXl0qsvwfwx4lVmlbtf7ksVTDOfQEuRWj5ABTO+hSim+hoJe + YgdDs3uHiAVjcSNEso3qA0TYTQIdPtV1Kdr2p6lIettJEUeFqSWBowFuVRpL6kgsjrdKJwTvM2mp + K+G8W0OFAeKRNzH2A5v2tW7JFOw9++vCX4odRIAZvv5vWjuazCMdPYKH41Vf6JywdtsiwHalmmWy + GpxY7naQx5cg6mO++dTUtqaReb2NJvoGRvTsAu3jICI0872Kd2KpCRdSf8O6Zu7YteS/dYsWRlGx + rNSzu0eCcr0oTDjuCMlwgJg55nOi0rtfSu4VXb++Nc2zc6/WgeX5vSKQ9YY+zN80Kt8WYVAnyo7E + gbYuDWwfGicHBivM8WGEi6FwkHE8iXCktsQPYhvixTYWCDqZjNQ6ZpTB2D/fj3eNGJM2JLeOQ3sb + NejEC9SPdsOi4SfDnLELi0a9GM3Q1/P7LUG2oCwGM4I0+277dgTWnmVkvyVU5hD3W59cMWYY1C00 + VmhUbuCaVjwjUU6x8iqYrMoVRJpnYRS0RoPH5VXxOyaFYVJZlB7KhyKDzdQaZgF5dzAF+9Ghw1ql + x5Wcw1BxvAjxIU4THj/vUqfMbZV2ZX5XFyqMuowjfQUPMGsnV5k/L0vnPR3OtrhVGCMIvDw4rIFx + aKgcIyxhBnd0E0eR7tHFUFkpwGgTtdVPh4+QztCeZ4H7n8YlYkxsww3WnGfVgDiyEW3hfpkWoEwS + 59BdH6Y0JreTNUc/Egg16ez+rEwe4nslLdJXR6MojY34QWQTq9XYhvee9MwmLLI3Yks9tTjh2wOF + TGF0dkaKbrCe2syzHEi2MTO7wdRR0KEG/Gz3W7YMNcu488gbEHIzuV3VjhtroQc62pdFZe/bWwpP + MhZ/87q+g2OLibDW9WqGjH0Dz3ApSAhGNE4qlconXP55NVy3Y1ipAFuHpp9VU6z59VCSfLHUpfPd + CNLZPvEly2+1zomGoA3myFKaDAysRmlL171NJOOxBhz2lvkB2Kbh56qwWJ5vED7e3iMioKwBRA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 91703606-d282-11e9-afb8-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 91703606-d282-11e9-afb8-001a7dda7113 + x-ms-content-crc64: aBR+WksPBpw= + x-ms-request-id: 0c1fdf82-501e-000b-408f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + ancJgSZsiEWWuuXsk3xC7ZMJr5O8HIRqCe60O1MCAYWfjEVqI9lOfofcpvv3MJQCbXN9BuAdkUzH + cbvX02lZQCsc77EcKSgDHj0vhpxbz3B0ItKHOMSCEUlP1Fr6iJm3jEjrIvNwuxqAOZvgLbB9YzmK + 1SjY3zU0/A2BS9zwv7w+VDz+jXKlPS4CZFs8fDKe48JCaurR9Mq4jL6FW+I1EtxXBoxnXkzdbiNJ + ltWM/Jamhd8Qb77eQ76pl0PquGJlaI9mVFxq793QSVXRhuxfZ09t+fQmHoW5rbvYSolmkW1tpq6g + nLp10P3MMoxxCgh4CtdWhYePLIwRwa66GrsM1vFWE0jDLhlYdcbrpulBIfVf7iNMjEYcgu2Zh1zd + O7aVAkhKtONfVh2A17ylL6kA5t19q/w2mLOPXNd4m8TIj+rLbiK7iuCdQ5LSjYKHhn3IHyRZRkC5 + AyNJw4hgD7fjUtbMrK0LeWLJgqb2Z36LQxQMR/s267o5h2WInhF80TGY1XSyrKp6NOKMH2tLtDqz + trIHuVRkRNsA3MITKqBNnOzUJyMtymARywPsIzdAQOX137NiYVhDt07GUWVaGkC7qiAac8218Buu + ffvPi+VyvXCBdOoL3/MPhCnxLHGBnIT4lI3Uw+tAaOPQBg+hCnnF/S0rdHDZ/PPhpZX7uQVqyfKT + W1/ZR2sCiNK9nIycgScpt0Rp1buapMTzxGOqYNfPsLnheJ+hz9qLzkNRdRgsw2TiLeCNVaE244vm + xkwlO1FnbXUfxlAbwpYKtKLpVRTtVDpKjFnLKZJw2pgfCkI4QhXCnaLbNjF/SnvwhZbZnt83iTht + yfgPrjVeJkpH1fky9JAzw6SobamH4IgCEiMppXTHcqcgM7PV1O4bzcsl/Qw9T7TzE/XbzbbQ+IT4 + pk8XhGyePRYUj8AqHwmMNus8xRoYBQL3jKERv0rginNcY7nY4uQjd2KWaB6JOnI6SAGCQwLvIZrh + MY9jEZIoeDQAfrxTdTpTRQZTH8svv23GOEOxO7EevygencsBeCzc5Cy9BFuUBMX5Akge071lodYP + pRX6583vFfosXCU91kND5UJFqvmgablSuVLtHO9hnEbUMJONM2fiTi0QRtYhV9joVHhsJk/ShLiU + ngAaX7LM0G5iaHK7p5sFwezCnrItN3DGY2Y4os8mktu1IK6kd8nUGlnkjtGPxfQhi1o8Nhd18Fe/ + OtlKtwRlO7M2oJ1OpbCFd2aB8U/TYz1SY+CJNG9djsGmUv46504G2IrJtsE0y+b8Mj3GKR1roIzp + sHENEeDOLMENW5UEI+jcBYTVJkULNGbALHiMRH/WF/v1NkpVRu3UPTxY1z0o95vU2tYsmEv2pg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 917de3f6-d282-11e9-8ae6-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 917de3f6-d282-11e9-8ae6-001a7dda7113 + x-ms-content-crc64: ux0QN+DN514= + x-ms-request-id: 0c1fdf8f-501e-000b-4c8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + sYf5ILVy94TmbPSoHmGxdFqleuYZrMWCvxGu2xwThCCqjxJOI50ql4yv8UJP3yXvLfdRMfxjdTRC + va272vyxudEqWLIT+7L9FFNt+unrN7e9SGsRX/FWE8iwr7t+Pz3H27fCBBw8PzFYS2ojPKVKan4p + qKNZrWmxdfmAa+xwf+3ln0TVoVZpqalVZvZ6nk7vbXGgswLsPm7BISwClUCg4Sr9A6PrZXtUeHLk + wOOyusKUF+NfUa1Ljce3DTZ4lyh9qqGFrENFrJJcLKl7zwjyfDdv2GNpLJg4x274mLeTAiol8eaE + 53+EKXVdeu8YxJmVZdciJbXyXaxYDVv2kbM5uwfSZqDw1PmHIwg2yjwHwQCEX6AOvLxl22lJ7h/6 + c0iX+MdDfbacO+z32AMK4A66fxAKxtpHkF82yuaaR8+6b86mTzSfZ3bEESCa74zyTVoJigbF8tqv + gR/JiCJc4C8pGWOsSEMg1VlLz3mua3YZDCPLnLTnxBAp29wyq/dI8IeM3X6qFBH4Eb7nzC15Zxpv + TC/w3dXU1SAJb34BEvjlKeOwKxK/VTVdC/ZNajmfRg6GBFo0i1heEVqfCL3T7k0Qi89jTY7VI4zZ + cm6psLWymz/ayvMmEWZhIAZAV/pEMKsapcjcnerLAgggB75/vwaWsKn7KNv8K47BjPtROY84TSSW + 42kzSqNZ4Gk1daQ/Wli6KQ91Wkd/b1MLB7UUCcKQueo6plnfgnDbOTzXv6VDgMYGUmFJp8NKxukz + WIHEtz1fg7Qig42v9PwNnALLKdhQwImnexOMIjoXSKF+bftECTqBI0XmclLuO4Dvu/VVJ96W+gLf + uC8w7AnMNoYUBx2ZfBv7LE/QMDk4QtK+qZB0yO70DEyHea4osVwYIBLTQnEwu75KHhl7YD2CGDPN + 0n034LhbPHK/cDU1+7boASK9fZ/dB5rnesAhVuzg1vMXm/iwz6iHyZwdS91DrK17sIN7q+TxtPcw + a/zkjpsPe6cIUgdAeKZveNNxGJtuHV5z7D0LgDjSoyaY1rhYSO+6clzAg9X0bNJQHvDs1/oe7eer + 0nRYifX5rMljyo2ypoGkjpCnECLAR/GyXrI7Oxl/I7mJlC9Mx6lDxhdErgD2E3O1/Z4c+708vkn4 + vl3TL/qeZSRzYceMP8FlWQRwk926xDR+bKNcfWXHc2qtk+42/gJ1l0ROXuOypEtM94t56OdOMATA + JkfiAGtRTTgiCVZ4tWfmMNuuhyq54FkJRJ0a8Qx3UqJXCokhVIsBeS9m8TK2kaafpUv1b6hG2rql + 2Un5uVB/nSkTmz+aiskVDO7R2V3c2ogPAG6hjTI9QqGYzWRZgr+T4mzNaWkH2+2qKZtwF76eUA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 918e2452-d282-11e9-b13b-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 918e2452-d282-11e9-b13b-001a7dda7113 + x-ms-content-crc64: lEWwuajAFFM= + x-ms-request-id: 0c1fdf93-501e-000b-4f8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + KSXWGf6VuBXg+uZQ9PacTNnhUxpREMsHRjIldjXDQeDY0wuFsrQEs8OfuOU4VBOVbUBgcoLvZjIo + nsk8g8Z9QVN80JngoHpoB6NUIpNPOTND9XbxGL7LAwSP/ljyjqTZWN/nCCuXuEI1k7ws2KRt3Ned + YUdFI1VZB+RdBt9BP/EO7bhJDd5PGKbljsafM6N3FnZ+anFp/fNhl+eDSLxhobp5J5HshHJ8d+rA + 4/TOGmqFpDU3E2np9en5FkM4ZZ8gsbcYcADtTITQrA4+dPzMVa8CXMd7lPlWiHX7iaCTgAq2F5yY + W+1wVDyud/xRce+HUw+rkStLwoia1Xzx6tY49XaJxRlx6/LUQSrt/S4gjTRxWzB6PvQ2bwBe6Ftv + w3Wq500IBm2aX6sD1osfySzbWEKD4WJI7LfiXJPO2XcOrjlpekgI5LtLzGKXeeX0ynfXFRrn73JG + cyDkt0HTCbqyRCgLN3TOrOox0VzdzSdzj+h54a5LDEJPSX0r0QznfaRwmRLfomO9uC8GWkNWQL6g + S/HkQsLTr+zwV0b+Ai41ttFijbQLOTqZMiXT8+LR6PB/D+h6xgRgEPNl9OfEyne4ZZl0RPXEN9dV + s/5kARJNNw23J+RxtYjbCSXF4fE+7QUYpeQkEvun+Rus6OoeLzahHo/grExEEWlPHefOSI1jvbA2 + 806C/klVNulmeDQEWeMy6KU5syfp9ao4QN8qJGHD3YUTE5C9lj6V0RWudM5E7Ep8prgH3qQdgsrY + dtmnOgbJSUVjiv7d7o4E5uSgO9uKx45ouWTnJ3YttTIDItA8k4F9hnxb/Bv4SQ4dzMJZYcm4iLvJ + GXUrNyN+mxZA0FW03TtZM3abOEm0sHOrOaXQrn8hThiYj8/sDNVL20QNfEPuz59rVuDtWfcWyjtK + FxAIV496xX7a0I1dZYF00Jx4B/h+C9qX4g9wSk1ZVbRIjRnLs4pVGY8JrA2mK+v3VUfLy+Mf8iha + XVCJAf5TCKXrJg/ZxI0DDhcSPu9KHBQnavcSAVLkSjK2HrWdT22rIajuBi2TreOepuowcrAhqWh+ + K0/ZiRHbVsKzXmiiYeSEREJM6kqe3knHlUP8UViOLDRgfrHl01U/mVW1bPWdZ9CKo9Z+3UjZrUp/ + QdGWh7VqdiFCeSJ0PrNnKPzXtoyRKOepuGF6SHHHNJyvF8UbCxUymkMnUIsCZL+lAwxSmdbF1bEu + ZqtBFWfySPq/laeEMbDSE8qjJmZzk9S/QCDU6DoGa7LhTcM4pbczhSJXZ22k+NybcadsdZsbjggB + 49pTfz1Jfx/JqPCfX3ra9aLkMM95m469ZWJhdtsyYhrPpZuBWKaKGBh8mh1407EIWNX5I3JJtQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 919e12d2-d282-11e9-a3be-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:43 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 919e12d2-d282-11e9-a3be-001a7dda7113 + x-ms-content-crc64: VEa3RvV6mMw= + x-ms-request-id: 0c1fdf96-501e-000b-518f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + twNEVO0+nsGfWxWrMD6LkwPqdLN3qGx9pudrZPD7DT2ZXyN/QxNYmMce0wu2IJ+8qvFfdV3G1ACQ + xGYJwv6LfLfE9nt0V7vZPkLlIU2NTuEEtB35Y9OdzIY37VAWAmt/TJBn0JCOSc1ByPEjgIQbigrq + rEjSWxAsftXP87gaUliuVrql9n0TanN5j3OGl631mWIZx67BysKRRxMFL7u0gCAJnPbBw2zzaqnu + xipX1XFoWISKDr6P12XBqMXCEviPbwqdPNRFq1eiLmkI/kW9Y+iZiBLkzUev2w3Z8siRGSeHbpgu + sTmuCd0nzpXhohrgHwEpfyoHaUGhfFuQGO04+eSLvvxy69J/QMsXB1IkyoUHNtssSOxWqvym50qx + 8gHSMu7xHMGVWW9asb3LY/upxoOH4c0AM9YHXjOHoKmRZz/1vxZg08i0GumjUzRHlCWLfr6b4CPi + xtRhROGcJpfp+NqkzL1KTFlD3LFQG2MPOJiRXMl6AG2l09F3bUcBfRUCAQobP4OCVyPIBASHgU4t + Ef6kAK6K/soNJjXvJi7GkgmNI+HQJp9ZTuVDoFjh1Znv/ETSal7fRF4kHv718i+9qGfnwzrHkEeq + nLLPbwg2n9eDuNg+yUBSHuByz/w5kT9jMtpBsBHbHhapxMYbJ3DGupgPdk3zMSFHYu5Qgb42RuED + EKT3oebQbm7zfGELeqU4pG2O+De7wtT93lrjRunEmwg5/VW8w2uIR5fPf9wLrYS9UFijoQj2QKCa + w+8efg+r2uyUe8wLRvw/7J+n9TsZLVIVnKizVpjHhmapxu5gPyCD7TfD/Hn8Sz3M2/KIcAgPiJRU + 4uB5LnGgxvMLV6Ie4yzTMsmaNRg0nyl6pEBEvlfXXb3pM+QGOwsHxc26dR2UnvznDCt5lTkx+lbC + mivmWdbO2i9nXhNv+U607tg4faz4YkdxYLc/EuLbdACXFD6yr+FFzlS1sbNYjBlYAe51tw+XSMcJ + X99jlzU3vAM/KZqxbi2a68kUAwzfqAyVIykU4uh0ZccNIbIAbXp5KlH55wRDuyLfDxYVjvBjf9l6 + FffzkFXeHhmCQy9TzGxcdckD9xmfVe8+e1zXNkPJmVqWzG1ocBI7fFhGsbZGBfmM+ZCrSBpRnWe9 + NByQLKZc0dinvWm1/nEveFd+Y3JZUH4e3DOvzwk0/u6HtEu+Nj9LTZ93rw4o5/uv5CI9pAJPfE4s + 4iwo7+kQ09h1BfjMcfwtCdE44/DWrWLVxGWcdLy/jxE3P+PhBtLWakvC/L1+bHVc61AJc31abJgD + aBWYe9TZ69NlHJejEM7Qw/yAZtBf+2Dakt8MDUjQTO4Aqt7MseqznBqn4XpsSpcm2mci5x8VmA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 91ac28fa-d282-11e9-a177-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 91ac28fa-d282-11e9-a177-001a7dda7113 + x-ms-content-crc64: sXApesEtQRg= + x-ms-request-id: 0c1fdf97-501e-000b-528f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + TDPxTpwYsqODIL5we7dBKbQHQ/vN8K7qQC8UHPO6l0LONMbhJv7lNbhX4hD80MoLUoGupHVVSa+7 + plRafjAo4WPR9ii0CbH34bptrWUbqCOcWdgG8cSnLRriUYDzs3NocXmYoxItMdUJLUu3YFpTXIVQ + 1NgqD8420u3TceshUw+ERh9aJBj2LIPnGJ3d+QLpRRM7VSD8KnH6k0HcjoEbkZtcmDUDMS+AONAE + dk/sGR+jSNZ5n5XoP4BQRxt1Eys7cPmN0bIlfHJ0vSQamJVbjU9CjYTCxFvg/fjOg+hWvU5wJ3Aq + KxoeONWDM/3EIFg/AtHeNtd9fBwKUWpII7i3SefIWn5sIt9Gq9X5QJ24no2hCq/4uILrj7N/6pBo + /H0RlaeeW9/Ha8Pm6PeRGC0TqawK8Tvw7s5NEfxM9hkeJkiGRHFf0h2mGizfBwQJp1WwL3Z7aw+B + yDplvn+WJPfILdb+Noe8lMTf0UtOO0lI6agjJS+Xy5wkD1jWaYQGnP3XyVJFXYnhL6ZI2Hs6hWRp + TpHuH0kRVa0cklZ4sPkaTIooz6PpIha8yy3+dMkwVd6QytPq+sH2NCRQmtjWHKb2PaUu0lzcUNl7 + QoiqXjMutjng3NY4WAKUI0WZ/mEKTXiVOWt1pDvoGR10F30iXDcda+cjuSy5VrTDfmKBvV1urDZG + LPDhSJ0kbALsDfvJimlB9ItX+OiKfJoJTzwgmJ1TvoPTa9ztsHxs6raNlI4Lw/e+cRfZM8cEpUMI + mtNui+dR8v1cImWKARLbd7K/EbCdhthMc8HxX1xqImP9q4TPke1UtK/cNhPi2fBxkK71JiB8Mz+Q + 76SopFwex+Q2H++G7O9cTMpTWPYnHBJb4pLOFrZAk1eGc/M+3Zdmb2oZy3ZWg5rNpFog9Rhkq3yC + Wqx+FBKV5Q8AoFWog20tDqMyQZVRK8oCnG+kf6xJcURU6kFYvcCoIC6LUS5UxaUbNmx6XTNkOUW1 + HdFcyRV9gFT3uZGIxV+ZSTZjcWF5HTyI9eRrc/6Yp3V9UCgUT9WE03UxnE7QGH5E/hWfXQOwHBlu + 0rom+d6mrcZKAfrooyD1V/FfeDjGf289aWtB9J/LCu3Eu+NTHjC0jhakxRq8jjr76VYCeiJq410R + 3rU8n4Xg/l+FY9ULDU0AK/fkFhwpTtjndnByzd2sCK2l29CXYG5AUbNSqeTgpBlcsfUHxA5x3boP + RaszwZqk6jQm8mI790hUXRgP5QtWFzYBv3V6Cns4vXMKEa9WfMrI884zq3/2Cnz9dXzJgTbEaSOy + 7Ahn3Z5BjVfYdXRpScgmyWAhM2Lj0T29MfwWpY5mDPL5+kK17cYNuY7SF4I8FOiROGJl5H9FdQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 91b9ca26-d282-11e9-814e-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 91b9ca26-d282-11e9-814e-001a7dda7113 + x-ms-content-crc64: FPrqpMw8sdA= + x-ms-request-id: 0c1fdf98-501e-000b-538f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + Bl0yIaLMtFVnpUl5aXBhDQri/d1jaV7nVGNjTNUkSn5vTmE5OCxkRt3PGIvV7wcoWIdqXSEacfJ7 + HjT1m4fVGmK7FVGaZ75aIlByphRuYKC0ggHzcyXqHrwE4MNyuLnuJ3vhpuc/8HmvGPjH4MR8Pp8h + WwBHtOtu2C5OdrZJa/3I/nbPZqYsxcqCPLFbq3Fugzq2lgI1bBTAnmUdT9roJLaUA8fQsDrtpsO8 + HIGGO66Sjt7+7k3ozYaslZ3kivGAcQr4pTNdTxfakLe5f76r7WTYEsqdNLs+5ilvNfcJpz5FbBkL + 11v23Kyv90W4Gno6UH7FLuqdiSPxXC0Osoj4G8Q6OMzmQSQLvcTlpHZ0rOYKmnUWLe+2/EgDuDyh + 5ttqKntCk9RtrHSGmfsafxs18tPbqqhYfmFAbpLQft0ZDHdytyPE9nSgEjJDtEJgOlT+BphbnOkU + dwLnybFOB0C9R0nMtuTtmCXhhQR8WsAy1ZdTV71P64Rg2mz3nS6IE3RU6HE7bCkvmfUfgBVohqmD + tyY4A1eQE9s44ibnxnx54Z/tzYjUGha4dzkCn4PKPddt4lKoFSNymTsrJAeZRniay1IWKF2AsjLE + pxVYBmS3HS99U6Rg0bgc8OyWIGcgIFyycPQCA/aV8Jh/Dleyj3MJJqwgLYtFdsSFdLnszJx+Kr/s + ddyQtsarQz4O5gVT3qSYakPfLlxUMUYN0A72kHh9UYj8kdsd93EpSXaLVl28zZdk3fxmz4H96lSe + neDd5UNUVCx2uwHzI/v0Y/h2Hc0mvRfmLLqu8mGWXtskrfYTxDC9ndOfi/lezF2RJE1b0iNYAnnK + E59rzbMGcJ1ldAe0BSggq4l1F/tVjh5z8+5tIdaWXrhPmHQU3IJPJdYK9q/HSyjzldxNEetCRC2K + e9/nrnitJvhmrCtvUeCUWms9I2Iq0eI+rhCp9PXsd9pKV2FdVr6mjITS1vHObhryG+Y+pVoSo2km + lJwnTu3A49qgIje/CagLbixv0rSgD2ikSgRYA5MkID4Y9BI8LzEOs1OdzCUrnHOG33lDO/gUBGCD + Z60DtpUBCCFJzUTQyL99y58WzUNul0zLZkfCC65VCmHF6LwH0TKyuP7cXByx6odsroiepYm2CwPy + 9JwgJRB7fNz7Q9u7OIIK7o5Zo8mC55zyS/6lwZ3+goEYGJUR6rLcFGpz3/F0GKT8dL+jtgoh0855 + QxfXM3OQq64RJTMjH12Tgamdy3JXJcFb6b3fE5zMriQ9BoB05jbdxH6K74PM6C8lwgQNL9Y0R8Uo + z5ud479E0F+zufJZ1Qo2vWybapi0CgT0e0nU91++aWOnowlKOyWou4pYOvce9okcX+hUb0BQGQ== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 91c77368-d282-11e9-9f62-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 91c77368-d282-11e9-9f62-001a7dda7113 + x-ms-content-crc64: L+xTH+DUAuQ= + x-ms-request-id: 0c1fdf9c-501e-000b-558f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + xXUQf1108GnsUetqHwI5S4HaFQ+VCHhQWylVKjgNG03yLaw5R0h/Jw1tSGuovrG46bZFdCYatAKX + yC0AIV9xcHDbq0wzROhSIIMPrZvJIODU+fh8zj/U7RmvGJwiyoCjdyB65Vu8nzn8/IfcfVLUUmGd + HeN3KDj88MLjnQ06A/coQCJXqw4xXy2xy98Zn9uFValAQ54sip94/Mi6MvG4P8bcR5B1XljHe1rJ + mJEFCGVG8i4+a0g30Rek9tKbQmYDEO6AtBTbsTX+/vcDldrAFB+sJQB/n2fHSNQdndyqtv4LqazG + oovu4hj2CtuDOYXbYnBR8OPYg99l3yPI/cqVwbr+QSJAYSK4D5mGTKpsCsFu4QEPDU4EaE+Y+m5L + UJuPuMSD7QQ3hVnS8RxRhRn01zrvnzfi+6ysJOvnuFfS82wn0i/cW4KbuqZZdXs0XYuxnH8ey8x3 + 7TZiMZaAUyb08K8XBxo9petXVvbzgkslN6zSDkjuXw10unMGGxK/G4aUvgW/0QptWhcp97Emeuc8 + IRGZrIMGktPyrexkFfdRON55B7PHSGeW9TPLyO+ptM0ZI1gkXXkvocCycFeIBghcZoeXXwQwrzEa + wFw8Z4byy6Dkt24CtY9idljAlHKiMI+LnDJqI9yPWVkQm5ep0hQULFA83adXcZk4G0XHxYDTpXSA + Bnp5sY2PwgXY9myXygd0y4LXMFvK3FijOESnAmTJ7BS/i8MlSMU3du79cfbdwX7xyIy3WV2DIS4t + dCVqhA+I69WcVlBxswKNErVf2SYMs+3PpugNlSAyScpqdfwHipSWqMh+k6KujZVS7lzhiqmsjJcO + pZ4hXD2XRiSwpUTKSKrecFNTeWGd31Ytk6SK7pL1aGQXZQY7JhIh8rasv8G3iK+Uh4JYNBgpAFlv + YfJ1bVlgxoJ29q8cudBROHMo90LCtX0+1Vg7z7Dqm9cPID/Ni9CKndI3C7jPDZdDtUpkIkv6NhcX + KCszjqSNqhPoxaEX1XDXDAFTtUORMwJ+Y3+UX3qzYLgEg9jmOjJaGfVno96cx6tzEcANCBRKhVn3 + xIrEs2ybeLwis4Ae+n1otu8u2UHDpRns9nBRQB2RjNPEQoUY55v3/IsweOhVkSqI1Th0wVNezsTw + tp8CiJ9pyZxM2xREUdgPYdndvSKdDOL5vbFLYOP7SQLmVxxOoTfmmOOlW8vxn0A3mwCAV9V6wc3f + VASpd28V+RE+lTmoLCvz1PheYZEjjsO6sjIdjd2bWtz9pIibL+3TxJ8U0YncoEwqDmVHLSBxSUQb + 8ZvEvu9y8S5ZMPRHV/Gd9U9GZhP5nayzefSjyaiKKIQwhM343jcjWrMrLwK0QFTmmARDCH4OUw== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 91d540e6-d282-11e9-847a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 91d540e6-d282-11e9-847a-001a7dda7113 + x-ms-content-crc64: B06PBIo1EtY= + x-ms-request-id: 0c1fdf9d-501e-000b-568f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + sIBGQvd1GQMvjl6VYjXu4eQDXYB7eiJxl4NeTh7tf5mkvaHXS4mIZGRIFUhO7BHG+C0yfeFdmmMT + e/faA3hx8hYCa7wU136dPpCH4WKkMUP61muxznB+/DT9nBV+6WcyUyVEISYL/M7fKj9+9HScqHg3 + 8fnzjQsjzYaPB0aKFgoCqTEJwx66Pc4Hkj6fQzBoEimi5z4xmvTfKauICpfPHBQXCj8iwjrii8+E + u639EX7eUOzJ2l9zcmW9aRAUaP4aQ2IVdvEROLboXsyuw01jTbrKR6MBTfXmqaY/ddX+5hTnQs0j + 7Y6pS0WP5g79EdoSy1JV0QtsxMTLqQI5EOY0Y5wrBY7PqGS5rUfvySCxm7hHTs76HcAYEbkHOL1c + g1U0vOKLPuUMmSYOlnNYJtjfA/OCkpy/MC0XBNMUtU/5sXh1G6FTMXvOFqm/uCCcRbHa+IiWKuxY + wOcshzrkZr6awFHD253rE1025x7kJn6YwkuQ/LHI+T+XTxH+BPqOZ+TbZPx17xr4pxHWmm8ta0NW + CeoZU7/69Q9KOUsHhMG3Mn7hX6X7ZpuNUDvAg5JRz/pkQcimJqzXKOHl0woyNIIPTeBjbt9sTXCr + kL08t35OR8zRlzoHEDO2jK0LrmYWLQWlAs7+YsMcfUnZc4hvd8qlCj70Iz4b4Pnug604hN27DiWo + 3p0VZABvm5lvBgmPT7Qd3jtY3HgULIKzHdKN/KzXcehh2h3Uz0cYpJtAR4C5ERwWSHkLZml+7E5Y + hHoEz640chKvp1iEuPVej+Y1nbk2a1dxPKUt5Gkh24OIAenplPznsX23xg14KC5i5GrXsvhEmFLm + j4fYOLSonP5cpisd8sgDF/A0xDpDcz1++BiV7RoVDByquh1WgGU6wEdJ3U8Zy8wktLKOXt+RkvoZ + p728aQyIVJHAZOBg/tCIVtUEytUfm6C2lKTAxLhEacg0FUedRIM0ej287OkSLLYs7rsqDC3G5ltP + CpRGJdomfjhIMeWNZiEvPoEyZyYAnXaEuYgK8YgoxDEvXD6afRZDCqx4ZBACJhAFFS5yfKykO3iT + TJ5N/h8UHC5ra5DRjqOLRF/wDiTtu1Gw1LsC+/BRLQFuuyQDoRTJDNrQP+s9vLnFQUzV1iQ46fM7 + eeJpapfmeE0MclBzxX8NtmwTvL4GaVhbJfAKmgRDmtqcwx8imwUjXQc/F/g7X4+r+sR91TMMYJAS + CdksWr4KYgaB03k1wxEl/kI5YzMNy0ScI0tJpd7tnn7e4s/GtHVfHZrBdkbBEmsUYcoKgZUtdoS3 + m4p6Ybg2NjgMWXQV4YAYoWlgwqXCnirzlDBx8kbWEPLESbTXy6BvVnEkg3VktsX7pQrLOVR99A== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 91e56028-d282-11e9-91ce-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 91e56028-d282-11e9-91ce-001a7dda7113 + x-ms-content-crc64: 3d1rBJhND00= + x-ms-request-id: 0c1fdf9e-501e-000b-578f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA%3D%3D&comp=block + - '' +- request: + body: !!binary | + 55b1XPpysfOc/drUaZYe2c0zejrOTxG5Bd3Ov+KbmX6TnetSSCvTTJNaxYgUDM43/gDQ3JYMwmph + TBQopp/2bHESZIus581O3jtrLzNhU2ICBw5Pgxn3SQOFoEgFmm3sN+SoilJQu3b0BKHANv0tYvOB + gopYJE7k75MYxZ37TeoYVu7+cOqK12Bg46x4pIfOqDzcqBspatY8pLGw4tPSJmzVCHWXB/OU6Auu + zvYZfXef36Y6kk1hrrJftm+CdLYwmRdICf5rVD4dleGgRg/9oIfmOTqXq8wPTE4z/rHcsvs9p/Nq + BFmknCXkoUHUgBda2XLVZaCmxV0p5r7OhRKGQKX1nA5LGFOXWN3+P1d7DE0Y40tXCtPkItijJPop + 9V+HFHNy3iGLJriO6X84AkwrYhv59YPHJ4ri9ZuGTfUe84+FjlmQQn2/VcZ2P4nQWlxqlxGXZiFf + d1FJsJuSrl/S92Pp2/cpox6swBBw9eUr1erVtCDPut5lIbj8LWEjh3eGk2wGh2FSv+B8hYp88YWe + I5vDDOPjUTCTVEAkmkePw4W9K1QlTvuvC2DtahNT3z7J1+rYRcNRAMcN0xHkCjgmC6x2QvdNz3hi + dWEuRvrBlt4RhaQ6Kp0fQ1XiG8F7mHQnL0+XFnjnbYixqCt6ciATTYQOiFN2RBz8Yh8HaLmOkkc8 + tZGOSOhI3gF07hgjbPyzMmVbTV4o927Yz1ME7z+GtK+Sqp+r2amqhEmPRhwNxn81Ag8Yj+sTOocG + sfWda/e3+unFN8lgFW3FjZYIWi82QkxpqPwG9MG6YK8XUmQ/26wdmine92v3cS2p9EvPulKi5YWt + ToqhG/sTpL39IuBtxKcSnhwxEVx2hA69haNJy3tAADZdnQ6k5AWhvYLY6UZdjPNa3KalLcmrG4Zc + Bk3KCP64WhDvFF6nRM/zLwppGDFbdTj+n5MpVom1ZyC+j+7SAkXB2O8zyw2YEudhK4tns3wufHJ0 + VCiasTT0eMn74rPk5ycFfnMgQD5EyIygWa8iVDx+clGd+DT66LSjfSi5jpeYZyd2M3mEPa4AycHw + PvhWjFprTmCEANCLFvBECNb9mNh8bV5/snJVKyY13JijuM/Y10E9NJ86Da/X0CWRgBwRYX4YWpKD + ezIh4+fGfI5ntKpBORVGvGjOqHvqKOoIxe6TYOZpt+9A6xIwDB0SHD8zT5aq0m8WIO5K1Ap2pcmv + lte5fs4TXJRAnz+/msm3fmX4A6v+cG8nmYroHtwIZVbnqnR/onM3CazMLFdkpocSEsSY1zc98ZQ2 + XJPJr9tynr4+7ThkQ7qPBcSk9Z3pntR7THH7cAFXkPgF9kyvV/O7iKAa852KfFbvr6Xgn0MJmg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 91f65d4a-d282-11e9-8ae5-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA%3D%3D&comp=block + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 91f65d4a-d282-11e9-8ae5-001a7dda7113 + x-ms-content-crc64: mi8pW1JxCyA= + x-ms-request-id: 0c1fdfa0-501e-000b-598f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA%3D%3D&comp=block + - '' +- request: + body: ' + + TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURFd01qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURJd05EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURNd056SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURRd09UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURVeE1qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURZeE5EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURjeE5qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURneE9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURreU1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRBeU5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRFeU5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRJeU9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRNek1USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRRek16WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRVek5qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRZek9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRjME1EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRnME16SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TVRrME5UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpBME9EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpFMU1EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpJMU1qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpNMU5USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpRMU56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpVMk1EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpZMk1qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpjMk5EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWpnMk56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TWprMk9UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpBM01qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpFM05EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpJM05qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpNM09USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpRNE1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpVNE5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpZNE5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpjNE9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXpnNU1USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TXprNU16WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRBNU5qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRFNU9EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRNd01EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRRd016SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRVd05UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRZd09EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRjeE1EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRneE1qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TkRreE5USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRBeE56WSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRFeU1EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRJeU1qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRNeU5EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRReU56SSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRVeU9UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRZek1qQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRjek5EUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRnek5qZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TlRrek9USSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpBME1UWSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpFME5EQSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpJME5qUSUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpNME9EZyUzRA==TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TmpRMU1USSUzRA==' + headers: + Content-Length: + - '5246' + Content-Type: + - application/xml; charset=utf-8 + If-None-Match: + - '*' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 9207684c-d282-11e9-a0b9-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?comp=blocklist + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:44 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A67640AD09"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9207684c-d282-11e9-a0b9-001a7dda7113 + x-ms-content-crc64: vR2LUEKunLU= + x-ms-request-id: 0c1fdfa1-501e-000b-5a8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/sourceblobbb8412e9 + - comp=blocklist + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '1048576' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 9218d958-d282-11e9-a9bd-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:45 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/cpkbb8412e9 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:44 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A676528616"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:45 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9218d958-d282-11e9-a9bd-001a7dda7113 + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 0c1fdfa2-501e-000b-5b8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/cpkbb8412e9 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 92293502-d282-11e9-90ab-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainerbb8412e9/sourceblobbb8412e9?se=2019-09-08T22%3A49%3A45Z&sp=r&sv=2019-02-02&sr=b&sig=zADsUfQo3CH7KJ2GUcI%2BwFooyjCpywnyBUxU0pxi024%3D + x-ms-date: + - Sun, 08 Sep 2019 21:49:45 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-page-write: + - update + x-ms-range: + - bytes=0-65535 + x-ms-source-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/cpkbb8412e9?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : ejzl4vxjFeLN+xn1ZLi2Hw== + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:44 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6766D12DE"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:45 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 92293502-d282-11e9-90ab-001a7dda7113 + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-request-id: 0c1fdfa3-501e-000b-5c8f-666950000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/cpkbb8412e9 + - comp=page + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 92430788-d282-11e9-ba44-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:45 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/cpkbb8412e9 + response: + body: + string: "\uFEFFBlobUsesCustomerSpecifiedEncryptionThe + blob is encrypted with customer specified encryption, but it was not provided + in the request.\nRequestId:0c1fdfa4-501e-000b-5d8f-666950000000\nTime:2019-09-08T21:49:45.3196027Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '301' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 92430788-d282-11e9-ba44-001a7dda7113 + x-ms-error-code: BlobUsesCustomerSpecifiedEncryption + x-ms-request-id: 0c1fdfa4-501e-000b-5d8f-666950000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The blob is encrypted with customer specified encryption, but it was + not provided in the request. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/cpkbb8412e9 + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 924ffce8-d282-11e9-981a-001a7dda7113 + x-ms-date: + - Sun, 08 Sep 2019 21:49:45 GMT + x-ms-encryption-algorithm: + - AES256 + x-ms-encryption-key: + - MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc= + x-ms-encryption-key-sha256: + - 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-range: + - bytes=0-65535 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerbb8412e9/cpkbb8412e9 + response: + body: + string: !!binary | + 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 + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '65536' + ? !!python/object/new:multidict._istr.istr + - Content-Range + : bytes 0-65535/1048576 + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Sun, 08 Sep 2019 21:49:45 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734A6766D12DE"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Sun, 08 Sep 2019 21:49:45 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 924ffce8-d282-11e9-981a-001a7dda7113 + x-ms-creation-time: Sun, 08 Sep 2019 21:49:45 GMT + x-ms-encryption-key-sha256: 3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE= + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 0c1fdfa5-501e-000b-5e8f-666950000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 206 + message: Partial Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerbb8412e9/cpkbb8412e9 + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url.yaml new file mode 100644 index 000000000000..cf337d9114e7 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url.yaml @@ -0,0 +1,698 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - b2d689d0-c911-11e9-8394-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:29:06 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource5dfe10c1/blob5dfe10c1 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:29:05 GMT + ETag: + - '"0x8D72B359751E8AA"' + Last-Modified: + - Tue, 27 Aug 2019 21:29:06 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b2d689d0-c911-11e9-8394-001a7dda7113 + x-ms-request-id: + - 7e9aaff8-e01e-0031-061e-5d7328000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - b33d5712-c911-11e9-8bd7-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:29:07 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource5dfe10c1/blob5dfe10c1?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - 6U7CURKckeUWAeHajkKphg== + Date: + - Tue, 27 Aug 2019 21:29:06 GMT + ETag: + - '"0x8D72B3597737AB6"' + Last-Modified: + - Tue, 27 Aug 2019 21:29:07 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - b33d5712-c911-11e9-8bd7-001a7dda7113 + x-ms-request-id: + - 7e9ab010-e01e-0031-161e-5d7328000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - b352ae0c-c911-11e9-a8a2-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:29:07 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer5dfe10c1/blob5dfe10c1 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:29:06 GMT + ETag: + - '"0x8D72B35978AD31F"' + Last-Modified: + - Tue, 27 Aug 2019 21:29:07 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - b352ae0c-c911-11e9-a8a2-001a7dda7113 + x-ms-request-id: + - 7e9ab01a-e01e-0031-1f1e-5d7328000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b36939de-c911-11e9-b36a-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource5dfe10c1/blob5dfe10c1?se=2019-08-27T22%3A29%3A07Z&sp=rd&sv=2019-02-02&sr=b&sig=2d5LJybNBZIN4mwameJc/S/QQZi5wseiXjxH3zgD798%3D + x-ms-date: + - Tue, 27 Aug 2019 21:29:07 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-4095 + x-ms-source-range: + - bytes=0-4095 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer5dfe10c1/blob5dfe10c1?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - OLsxuHlwendldtLW/EGYVw== + Date: + - Tue, 27 Aug 2019 21:29:06 GMT + ETag: + - '"0x8D72B3597AF4B4C"' + Last-Modified: + - Tue, 27 Aug 2019 21:29:07 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - b36939de-c911-11e9-b36a-001a7dda7113 + x-ms-request-id: + - 7e9ab021-e01e-0031-251e-5d7328000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b390caf4-c911-11e9-ad68-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource5dfe10c1/blob5dfe10c1?se=2019-08-27T22%3A29%3A07Z&sp=rd&sv=2019-02-02&sr=b&sig=2d5LJybNBZIN4mwameJc/S/QQZi5wseiXjxH3zgD798%3D + x-ms-date: + - Tue, 27 Aug 2019 21:29:07 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=4096-8191 + x-ms-source-range: + - bytes=4096-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer5dfe10c1/blob5dfe10c1?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - JAtwAP34I2OgpYmGHu5Ovg== + Date: + - Tue, 27 Aug 2019 21:29:06 GMT + ETag: + - '"0x8D72B3597C54423"' + Last-Modified: + - Tue, 27 Aug 2019 21:29:07 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - b390caf4-c911-11e9-ad68-001a7dda7113 + x-ms-request-id: + - 7e9ab035-e01e-0031-341e-5d7328000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b3a3819c-c911-11e9-bf4a-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:29:07 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer5dfe10c1/blob5dfe10c1 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:29:06 GMT + ETag: + - '"0x8D72B3597C54423"' + Last-Modified: + - Tue, 27 Aug 2019 21:29:07 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - b3a3819c-c911-11e9-bf4a-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:29:07 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 7e9ab03c-e01e-0031-3a1e-5d7328000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - b3b528c8-c911-11e9-9e91-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:29:07 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer5dfe10c1/blob5dfe10c1 + response: + body: + string: !!binary | + q9pxJEc5gWhN0KnWNGx0g6LKQiRtTa0BoSIt9nirfJJ9OTUydn1SIFWjiF4nGeEE4OEKLCWnWe+b + 2SxVBic1WnGXvtCZBJa0RzbQYOmHn5IGwF6q8mMLFD2UjFwQlWyb+WKduxNCpIUIRZWbqXLD9WXo + DaY43NItCQRN86WFZNbgZ6w0imHH7i8UVhQmKZKTLs4dlnFAGOp0ScIg3rcSMWR/8mBFBly8pg8G + C+h3s1d7is1pZh+zg3nD8Zonv7zikB14Cd6qPNviGjD3wwoeUS1WUuTUZeKnHGcfdsW7UZohDIPL + HjqCNyEcnMdVdA70jqc6vMkZ7aEjOpx9yk5Bn9zT/IQNlbjmBxWOFuWmMYNhAB3y+ABKLUFp3Suk + uwvSJ5pAHqRl7meJXlPJR/olU0MG33HGxjyZp8ni2cqlnLYqRmEbbvdIjL7RoYdfPZB2+ssOh+db + /lnLWaEl1V9Sy2P8WhbUPPe3ek7pwuAsrv3cMaDxB+OthWlQOp+dfGQQhjvmymzYnc9N1yRcS+a2 + aZqGgpCGdhzREL1btV7oekjxgp7DkDjt4+O9rA+SWopzoRs3Grypv7HCWTu0igZ785NPCQnxup+1 + l0NFghDKSDNWArQHS7fESksUaMTWFXZGIrJuEqzZJztVel5btFNDKKparSzqZVDP5tiNdFzK9etA + Svl7mIW6NK5hVbxT63/kJKZ7OcfhiN0EQptVx8rKXdjOfoJqcaqED3SZ30uCrbV73RnbqY0D+IOs + +/b9qM1WfhdT+zLArb5GFhkjs9Qu2naJVaSb32/WwdLOQp7OTln0fry+pXexRRNy3fBR+ADuKRG2 + i7uudJ9KXz4j5nzke8A5Cd2a7DlgyQvqQiFVcQIRvWatGdr3LEXWo8IuPhuJDMDN5Chd05wA1vg+ + toAff5f4b0yC8mzTWoEgym6Z1ECU/BXdcWf34XkRbhjCb/hbNKezCHopdhX27Dq8DFLNi7CC4uTq + tDC4X/TySNC9xyMxgX8DXgxnwlNrBRiNGrcIFKGMHiMdnu/EjxPS158SQ4f8iBKQuaMGrbl2uNPF + 8sRt7YKLe6MCjJQlCPG5zKodV4/1XMj47uHU/eAXxhbuRJqRXxLqVXXXCm8qiZqyzA4Yp9ULmyXM + R6o18o+8jDAq9bVR4D4wscqAHxVVvHCRiaWPptNnXhkPJA/bHFOyHUqYKTd4mzoaakFY4V7S8Azu + FogkIoTQ6/qtd4ovBb7p5TGWtxih88sh/uIjzg26ZMf9WtJCW6/mbBAAoC7WmBKx3Y0Ifxhs9ed8 + WBkKYVGdNT6Y3LAutyxXlAhxRENmhC5kfD0iKJ3Zo4ykby1xELsHIZThPsqgML4481yZ476xxMi3 + GAid2GK6iXzJja/bOM+N8k3OtYTtXd87F4wOT302c7LaT41DJK2vB3RFU8rcZUeR8MQ5L7qgOni4 + jck/aTG9r/75fNhqh+OrhtI8Xh41gunv4Fsv336GuX/cD9d9GkSvP487uCSnsTGyiy1NRoWyOmXG + EqZ8e4oh57WQNHCk42ZlAGvGR9KNv19loyUjgVOiBpzFJA2JBscVODheBvmayGzFOmCZkmOcBxTl + ODAAnIT2dYhC+Q39FrxpR09gX0rAEYRSxWUrY0RvvQ/N1SSqaLQCu56U0PNT7wLh9sk7CW6dUJfm + gPtBsrZbWfa6gvUVksoAVI1rk4dhVsFNjH3oYSnV4EeBVLaF20lV0HDNJL1IVlCENhFbxZHYeSsX + 775R0ypXsKLwQNvJBMk34J+p2ZqKEL4kX99Bv+PZv4YKMHwbQ474qbgwZWZitXj8O1PwvrHEqmEJ + CFleOwWnSFttOgcIZ6q8huR8KC1ROVWvXsQOBTgfZbDjq8xtE9ib0CIwhXf6la4cIEnRoL9J6A6J + q+MyZYlhOyxiuSTPt1JIpEejsWftAjtxQfXR4gjHigOjbsk26tFczh3WSCS94AkrVKggYNIzPhSW + UOjDEhh98xPBgLgntM/NMiqROO4LFqwPM650N/FfLv5D5KO4VSFqXGDInsukNf4cdFOwcPMjzPrX + BC+c5Is2WCUIsssDOIAyCfQaxxYeyNu+7wTsXvyZ1ZIX+ulePKo2869bwAdRv4/jEjwsEXD0rgcM + HkTfZk4ijcIk+1nyxbx8H00rqU8Q95sP7s58PhBcBclbH9Gyhx5m6sRZzTEeYkAsGWOk6gpDUzWT + m07lG41wLbmfxm5I0UkRRIzalzccjuYNn2PLLtBZgwpD+ND7n0e0WteXwuEt4UIKtB+f7wYtw5fG + UE3f/kYSYXEF+LwaU1by2oLPnSD3MgrvfCEdxQemzZCypFZIiS8l3egds53Fw/EpKDR4/pygMomt + AyflUExukRIRtR6nE6xeXw9YdCfEJVxTmt4x9mxUW5OfPH5htQ9cg/1L2UftFxvYNRaDUnAeLzGj + kF2Xce3PYNcq+RjjrQnuQSwRTJjBXT9hPQNqTXvXLPG3HFHmLRDvo0ho+t4IzA3r4Pn3XcKD7hK5 + V47qPkEfmw7ifT98jA0o1Qvcdwe6nRtSYR5+dQtqTpDYg+EXAEltc/NuhMultZkbe+nSJMLTU2sY + ap2mcTTDrSCHJBTUSux9UtwsAEFQz404ZKXbLE7VuPUIHNZfGbDBc6r7tYiupANFl/Rcp9ywQVmn + yP472YJMPCwX8/Su9s/U6SHUpba0o4ZILzajT0Ufwpp2AzC2SVsx0BP0sGyt+lBaXVl8L2WqjKP7 + 6U6Yg9mH13ZYiZ1E/bxMjJ98mO6b1l+CFWUsTn2UHaD9lYd15Ud+SH91aEBuazbnSBsDNMaQGMJ3 + Rtq3fMBx0yc9ICrPsJBy3+0qrjzjvyD33+Ztpjtgz4cRCRW47GbGPrkE3X5JmZRiuu6gGOAB3Jic + g7eHCOtqttO+fSUe4BvnwXWhLGScLKmCwVAJ16rOaDMDRVWzLGh1G24RNeSxQNM5oYYtTGVbASDG + n4HzhnF0GWZh3imKI+FMX/LAjSX0n0jdHnARnCGf7LZDaE03pnIxt9xLvzeUEcvb3r1F/l0CEzrh + vkfrtBOLHjeadtM6VGha6WGt0RB3SzXVFpU+ZP6ogpJt6JpmAYvnzwCO0rQZW2Cu07zgNlpQ+7ty + 7KYdY7QpfEHsI0Xu0Iy1ACf52GlMyXrKkQHLho454gJVsI5iujLKsOmycqd1tPgYsNVASTnQmoiK + FsKSIa6Xp9n9WsiTvgBc/ih9uxacsU1FqaFCYP7FryfwcPhZRfI4P51tQodDomFrW+DcMrc+AfVT + bEa2YGWSmMC1p9R1jnfe3hRcGFOLME5HrBc0mu29o9puLdj3SPQR86HeBIbwBPp+AVvke5xRYJkc + JsdNTRYgIuRaRy+qkXD9+46dKllTRy/J4tQS6OIsyu6j4BD7vUdea9rOPexS0svMp0vngPts4cEm + B6Hlscf6GOZP8DCN8bjcv1cp6gCJ1qU7meqSedMPr0t3WSu0OjIMeFCLn4GKoQFn7YDDzKdsyzE3 + mi6g+BjaLIEKVEO/53luvXTD/hoHSmHQiNL7LU+z/rn+nh0q4ktO8fDT2Qi6gu6TNhgliqpFnii/ + ykebSbkgM+dlJwN5UtgY8l1cNL0LKGcBcd1rbvJ/ikxGJ6BSR1UV6o8+bZqope/MPsu4eIqLTVmw + b7ImpxGDUmRWcuHzQ5LjSvyjRBVomPblvdtDgArF14A+eANWUaSJLDg+C5Imd2cE4V0kfDCgUBwE + y+RB76xjIWVsEpxnXzBOXx1sRYrriVJPtQ44qWpU81vniLmZRwh3DyVnpd82MlZXaing4ss9jEpo + GHmlSoc+sPuB6ty8FtEUZzFGBNdXfn6nX+nLduw4SzmSDg5Ee+eretvMn64Fdp48ELNfTA45n1AK + ImXhgPZ3qcWNcVjgWAP9woTKvzFQHXenINGIiP2VDFRtSweoAerWIltRKmUyf6OO6im6fjW9/UFk + uByWI+e3EOgUUlYZy3xbjOs5vCzsTS7sXVROiTWRS5KNzmsKF2WtvUeBtdzWW2r3vI2NcCZDeyHQ + 0KDEG5CC5Nz+QLWe6/Zrw3HnSuIkW6pbPy0sA2fETU4MiXWv1s39ne59k4/KnO4Jagu11rQIqsGN + 87wLPrsbSsCs1BcXT3wJvjamp+y06W63USv8gstkGpMs9yBwK0m3YBqByU55OkLQeTTnnuxhoPsK + dqjBiHdpTzOGSbqqTfbzxwU9RDxn0skDNwwg92yUrhz8tihvfRFQW5YomMiLJrWSKTknmImjFVaB + Khg+N52Tyg+/IADMg73YadTpvB8EbJCszHyWSJPPxlzlyEsvRQr4KMDSNdi6EH7EaYcqYFAn3zCg + FXy7k3jbbjE7M3/bDLjOKXhs4YNwRMX5KqVtQsPAfu6yvDS4MIYqrWEY7U0VqLU5CF6jPTFlJ9mF + 0PDnRhwdZCOwG20M59Jo6D7O3cLhFm+P23cRZpwCQ0CCGwa2wPbqcFlXwOb3Ny/SxqOJiRI0Dciq + Z0TAUwo8ZclZp4FB/pURvW7n6AWHk6HfyySqzEGxbeIDU22bueKx56Hrp1Qc7XQ1vxO8G0l4iFY2 + 7Y63cIiWkc/6MbaYIfBKhde/iWorfS2X+lt4JaRaRBssADW8MH4dj3K6fwJETuiruO9F58kqURlc + u6FwRPfPOZtZY8goYZd7zcG2TXrSBbN68+lHteYswkwyfIjFpqwmFYU0/mTCPLPR7ArB41TYdtVb + HwatfaVtWgcD8BNDRgh22n7bSjtIqsxqe8JkbXOQtbTg7bAthUt597ekk89o7MYu4qWdNMG3UbqS + ibDyqxezzWa2zkjRHSKnATtv4ZQHczyukILAJqYc25gg6HJiQZAEgs4ZumYHWXhVF6Y6e9ncMVml + skeUcEGCcFKLeUgbuAr0dJaL6hC5vRUupNy4i4alNwgwB9OLtcaq2Y8g56hdTxzEhmr50ktGm4Pw + rDCQTF+r+oNYvF13WYQGchYRrMEjTFxdHx6j/irapprK6xeio5Nlo28oxHJo6hyoaoTpCb7tFUrP + hWrkM2OOqicYgEQa1kXL1fAr6B+4zRrutsn7sDEoQYavOtDmM2BvqY/2mtvdAH3HXjbxMkauykvn + YJdoKDcQXyQzhCHRc2YzEvIYjEGsXIMWp4CmsceOnsXdGQfXUck+KSJcrm4ggO0ODmXNk1BLjeRk + 4cCiR39GlXUlcQDWa6mzHZfTCOiLRKPnXQ4/tjSjPAi8bbOiHfxf7vxmqjbfhFbM89XFtbZSSxCo + YSQ9tcKTM/RfW6beKPXF98jYRnQQgNq/no8U6NZlRILIwQkEArYc5eU2PMiHiOGZag7ekOwPp+Fw + +I71FCPD5JsiBa4/tWA73Ef0TEaeKTERt4D4nOuxe92pObyp5/cVVBCMtSrBpErb91pdpXRtfaPy + Ai5SBFjMDn7R8TX7zPsph/QaA8RQMIE0+TZTXPXPTlOpan/XGlfJ4hv360iorlfc8LiIHzJEoolb + AgJ+vuxysEtaYSSQjSYAUS3qxZzFy32EvWh/Or3zVMNWr0af1RbC4cqHVBJ5ehX6iBIwv+23OzZC + DHALcRV71LqKAT92bIKwpU0EwtdBX99eW2vIVXplyUXJeWD7ylWI3rWsc8Pm5Bq41KNT7dIRCUXP + SSS8OoZ7KpCjh8DnmFtzB6DXSKdrJc2unQScLho/CCvmpKuJTu8LxMWqZUVBRCL+ISNwDmhjFCWz + xs715nd2MyrR02zy1qDfhGFt5pYTF3OM7Sb3sEW2clkhiMWCepI7nTRIYBZJ1Qzt7/P37z9tU85v + HYkrtchRL5EXrYaSJIF32XUGKl0VQDj4IPP+zkiNKXlXo0ii8XmEgzXlefWPb+J+PTvdwHz4C8iQ + hN90yVcO6AY1On+lbLt6te91UwgDoxXW77NpKOrtAzQoI7JQ+JqJz6blKpm2tS/iEKSrRwqsJ4Rm + 8Hpi/D0FTPUYxaqOCA1gqYKLF2WsIE/6MR3Op8SfOZw/4pi4f62zcHW8Wzd6J0VEV2ub2n+NcJts + qcGh0g7FbXXl9fAn1WDdKbwI/px69gJbzt4oQ+YKhTF2mcgk2KOQ5ZN8d3gIlcbzhGM1b51eM8Zx + 31AlsK8HzAjPhqtsPrmQGrxcIwlMvtvksB/9RlRKpvRBm1iVOWovNhxYeqkTB8XlRDRYtqd7WBlH + NC/yuGwuwidZgCg9BRTTy1y4r/cLzN5n/GNOSj0RdC8BF1Dd2Ls4V/LqRa9fw8Q52Vyki7BvtXM7 + LUaOrdAIVD1cRPDzK/ZFJ6RsUhND8ULt0D9O9aQhkA1m9/IsWMhCJbVn5Cc6+zmhy1yVibzNz7Py + ul/lxTPI7JbPYE7qu4/xNl8XHW1ajKx3LyF/U72dXgBk3g4p38Rvz5MaRSR/8gcOjDU655vzIP2o + tkf0XrUvMsSkL9hBMPVaDYCLlTrnb4sTWQxA0usoJbBn4/d9Y0hK7A838x2BvedczQO1cQgEx5yF + MOB4vnA5nhl79zsGiXM7TC3xc3rGAvZhtAVvXlYdIFjkBsmN8zXwr8pehEv6BMdq5R+Q0HmXmrQy + 3ijOgSXzK6T7TIWMVtVObpw1u/nX9G+kT+XyxYtK5QCKxY+Y2RrFB9psnX10j6cu29HASr9Nco8e + djZXDiS0FcG6d2ON8htyomwpth1hxgTRL8JZ7TJBQ7B20STsgEMr9emboSlYeqwyWqiVBO0ngTF/ + HGldViMCfPsf4U3YfDlGWcWgxvNQgTe7LN1kPlakoJNx5MeQszHFc4SVpr8p86PgOaWVWDqaOxb2 + VTHHYzz7Kn8eSK8z6OwSnsxfH+7QA+qFj8AYEjp724KUmAxPMWmuz2/auJ5RKY8xufScdKvw5+zC + LRhIKgbwTk6gtVz4wORhGaNRxcAnApC7HP4VvIgID0MAnhTEtboT2rxHaGUkGsZjYm+DS/aAvajG + 32UUuPB0reWp+fRZGT083rgqAW86dhDuKW58JzOXe9Srugn18IYg0/d5S17NyLBtRFDP9wJ4O91g + +a6CBAYJKQqDlzfGogn1fUOAZM0NAO+GJDORKXQSWyD3wLxlKEJPjOdTtsG9MBRy4PCoaAWnkqdo + RgR7h9nG+HeLQPsKNKIM8jylkfJfX8OdX1dv47nJfDoieVrApF/qbjapXSfLO0/Q4ArihnYiJVEX + KvcNhVFaj9/aF/OE2XOA2SWTOW4Km35LOMr6Iik8GPIOl25BetO56mlDCoO1fJ/jOgMcZPHOPi5d + lQew+i700IiRE1BU+3sM2DUrboTCXRxE2Ekcplfouwmfo0+lZUMs7r6+92gogG8XpYxc2r34Enwy + YJvM2twArUlZdiCsjpC0lH+YGL6hSfnGZO5KGou4Im9EUULK5KvoQ1EvEcEenJifatrTv1LsQEGu + JxCFCzrSUh2sUG3zNQICukF51W9P9xH6EO+Pje4mBQQ3FMHv3n8GUISD3cq3/kpbVqGG1RRQPqzW + L22y8nfqBVx4PastyNhcIqIosuIeynW/+DEpKNpKG0Aox1WGmSMNiKORxpxiaWndfn4021BtSGhG + vGAmXcGTnhJKSvqq0s17IdiVYqI+tkNE3lm3rVaHz1VC2JYA+9+vJgUvnT/rZ5ByXE2VCrGpMVbp + sKfx08eh1OugYuVi3s5Ge612qUONiwC0afT0Oq6CkRox73AXGsMVuXjowl7vJBFkM9/4gWkq/I0k + 2VIuisIlvRBolw31tmkOfexfncIOeeBksezatNxYb6Og2E7px/UkpiJggtJzHAKafzbN5M9afYuX + FIHLAq6XNrIILYj12aZBToINAS40PtOEhPj5re2HW7g/AHNwmpF9rI3YyhvZXegN4NsBmPP750jM + LGhUF6nIpj83g26KaQkzBFDq5LJtE4gc6mPNW66wJvY+CANgJQd3Nb6xAzYu3yx28iTxmxKHdCB8 + UVLV/V3QGYgZUe1ciLMENWvFdgM9UybFu2lM9vSmxPc8u99dFuSWjrGO68BYhcDxyszerLOOuYmh + TNaKAyXcRFQi48e2oFAgBXN68CYbFpRFznk2tEQNsZdJw2Uitk5ElQvB2btA406fXGA0iMSUi3Ev + B9cr8ssx3rQHXu5DWte/c4ao2KWBUuoQZWx4YA0YND0IXekBd4Pk38kV9zlXTgHgJJR7Zn1w85cA + foE38uvLomC633qQb0iK9962z88osVxe4zCz4oaWoos+J77zhzb20OhR6+/F5b5xJJ+eAE1ZY6YB + LoFbIeCR1lBNiKotjge3T0CrFkbFo/ADy/t9RNQtntVGd+z7odrMaA+zr1OtdRg9EpgGrN3tQX+n + YY+SpjG1/DUz+gjHrGI9NYxhHHcfcaGhKI8Dfi4UUFJbn/xL+NrnGAPHWdBcRsTx6xCd/WpQ6Wsm + 70R9+N2YPxXkzZPC0bHydVQoUWowXTwWz1GKIzSN4yINQMwvc4N9AkljXoHtAO5XwfeIp2Gn2oNM + gQDgluuQgE48rHf1/AjBlpzxoQ4HpbCQ26fLQXOc4CHUgeGbALyPsPXD8UipZsa8XfS3XIgVsgdK + Eo7l0903FKeSEKLOR2fWlTe/2kTrrChCIh5BlDlqfIPfLgECYHSTdQUQrfbnx1WhBujeuwnQVOSV + urzs0t6kqZ7C4J/dGUrqfH0f0Z3Dy5Aaz6x6WpjgQGBcu7JvSGYioiQ0qnYQX4jIu9MlxS/s1wv4 + nJw3D2SJxLVYCZHjzZHmBviZDXCcOWIrOYpKS9idFFFSgUn3b3dD8owRIoB5L+gmGIiNZQ7NGAYu + s987YAJ3mNcy5jVGeE3qzwWkmW+zJ1hvTAZmwuE17lNAGohJOMjTcvf0c5m2dwrZb85UD13x8035 + hpW+bYjddtn7YCySI2+bekn11wvt91IVm+ue2W2ZzHPQU38c10dyjiYI6SyqBwdFPecYJDw6zSTg + 1o3BrHipwyOdxca62nADe6IUdm1n4FQmcXKl4Rw2jjjdONHgtYjasqhl1iFIPIEJj2tj5hHaSejN + 7mh/UtrvazoWbIHTu6Vvg4/1uzyMMUsesCFhSqXHGLif3QBx/IVOSVJk7e3rj89UNC2zWJ3pGVmG + /J+rYFHNPIm6BQwrnZedNiE0eHiSLcJSMyz9zR9WVxDgEF3WnjCxvbBUtLB68qiH33EaPwbDjkLa + KOOk9WlnblAR6sTKtX/r+GZB0ZNnThzhuLVDJhxVn7bY46TFSdMHVByIuafLswVqAIGOvCU8JemR + jmkl2ouSgACeg71Nxws6qjhWsCdBIoBGseiJDaAV8VEYscjLwQ3ZHSSBjUPR1GzEEMfeCLzqCWeE + bntzz9EqCBclq0DwljZ6QYNWx+vUaO32e5bBSUuml9ixFUqy/qTw/iDMSdPFJZkc3YpVlGDVwDzx + lZ+ty5xXAZWtwW/JHtUEoP6djsSvgWz2SdKR5H0Hn0jftskOAoWWBGvGF11pQTt31AnWeI2aCY3v + nvQAmldcO0venlCMoXOkqFRB4MmHDqRri7HJq4K+XTUN8ywSyiklY3ERdhaOujyb2Gx5FtAwExpq + AdLGpQalF7Uz/EAXZuCqxJMfpYbwrTbLiQTJQG6kYdhzR/JsMiGc7SPo2CD0xgoAxxqtuMWgHlBW + ufuZDyMjpDWEvsT1ys0QnP7ixanyclBtjSCquO4ouX5xf8pIEGo0F3i+pmE/LU1RU3O8QdmCOEyP + ZT/cbnKNwCo2X0PUkrOxonVh7zhaZQFZM4OTlPJ44YhKXUjrEA3Rr81/rH9GAqBkQCmZR32lc7Rl + uipsWDiAyLgER4dP3MX3ujBdk6q54AGqvt9pGBeTJ7S6pmBLHlla0O850HkbII5ZfbZJuj4r8Iz5 + 7/q9ERhtEmnir/ajfN9Jj8iIzbxw6lHg55gAkL/+8tKpTIr1PS6Cp8xbdcic3GygGT81yUEDmK8Y + sCW0m+ktEkUvLLDabdkQYAkoVQOIoYCtctZ7vo5Ev8koLhZ9LunXey1VlzkigFh2ycqi3/ThKS+y + wamuSl4EVB/QCoOmhlgWt6sisDZqgoOG5kZoUofmIUDuYS1Poxops4bpemuY3ruxM2m3kIH4IfKC + Ied1ENOXvTLaz6YLndWAIUPtJtieGI0iLimcRGFPAHynM7JpVhYfosZGD5bKrYAXYNFcv7Edhq4D + lg5dIdgZJ0hG8cbvSqBCtHBccXonxn/7fms5a3Faub21+Uba3EspUqPjNWw6npVw7SHnRE7p/USF + kY3aJY+89RUNk5XXW2GW0rRxmN0i0Cskfy0uVjQyWYl8vXL6iJrBn2Q7w/y3W5E8uCheyRvbvAYr + BkU4dKPAfmS8l2k5wVEce7i1Bh4j84c7tO2rMuDVh1RbMhrFXBSvbTnRufRUWeLIlWpH+4N3JTK1 + ouPCS8RunFMlBcZhy+TUG9YKwBlGYQDql7hAHrUXehm2qc1PxsH811qncLrfd9NNdlsEI7rxoyHI + yjKUw4P9F3addV8UfNaT1tdNsMGdlJSB0kNpjmYddQpaZ6mrUW5gqsMHIwxEZwVRGZeP85/vNzwG + 8WI+IwWNeQl7Iz9N1qv8JYLVrwQU1vGWVpoALyUzQwl7UH6xuBfQuDxaA9u30raEAaS0+VnFlwjK + 7HPrl7/jJCznlNrcUPIRl4h3oN1tbis/RVk5M0+vsW2aYeSJCD0/ME9auUE+24wI8JOhzxW87o3y + fzLFXzeQmQDgYc7IDO+/IRCioCJqhwbQHU8VxdehIrY31hx8oYAS93L47Gy57gENHPI7NbTYwR4D + 9pUZiNyer7L1j/LAYxFnwUs/M8T5AQ/SaIvVu8XCG1UkCFF7jMFamuvmmMEpHDUqrt/MHYnnU5zL + 29ExWzn7GUzGQ50Nqo6czzF0kNQaEOxKkG8VkXOYGdSyaU20NnRK+H24RkpkyzEplOueN1rtVYk5 + p84AAVBgCAlHGiyTUwJ5b77zEN+RRT9WxJ3q/czcUNY+0FELoH6nHRo= + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Range: + - bytes 0-8191/8192 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:29:06 GMT + ETag: + - '"0x8D72B3597C54423"' + Last-Modified: + - Tue, 27 Aug 2019 21:29:07 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - b3b528c8-c911-11e9-9e91-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:29:07 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 7e9ab04e-e01e-0031-471e-5d7328000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_and_validate_content_md5.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_and_validate_content_md5.yaml new file mode 100644 index 000000000000..c92b5da6ecdf --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_and_validate_content_md5.yaml @@ -0,0 +1,699 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - c8f7c3c2-c911-11e9-a3dc-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:29:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource83e11abb/blob83e11abb + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:29:43 GMT + ETag: + - '"0x8D72B35AD61D7A0"' + Last-Modified: + - Tue, 27 Aug 2019 21:29:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c8f7c3c2-c911-11e9-a3dc-001a7dda7113 + x-ms-request-id: + - 10566dfa-b01e-003c-771e-5dbbfc000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + +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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - c93fe24c-c911-11e9-8ee3-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:29:43 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource83e11abb/blob83e11abb?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - POck697ksqQFXO9u3k2glg== + Date: + - Tue, 27 Aug 2019 21:29:43 GMT + ETag: + - '"0x8D72B35AD76981A"' + Last-Modified: + - Tue, 27 Aug 2019 21:29:43 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - c93fe24c-c911-11e9-8ee3-001a7dda7113 + x-ms-request-id: + - 10566dfe-b01e-003c-791e-5dbbfc000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - c9555b24-c911-11e9-9d33-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:29:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer83e11abb/blob83e11abb + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:29:43 GMT + ETag: + - '"0x8D72B35AD89F933"' + Last-Modified: + - Tue, 27 Aug 2019 21:29:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c9555b24-c911-11e9-9d33-001a7dda7113 + x-ms-request-id: + - 10566e07-b01e-003c-7f1e-5dbbfc000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - c9685a00-c911-11e9-8df0-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource83e11abb/blob83e11abb?se=2019-08-27T22%3A29%3A44Z&sp=rd&sv=2019-02-02&sr=b&sig=z8PFQyNjQ9CP//JcBhEMxsfh6AYx81d5PTZsh8RNr6M%3D + x-ms-date: + - Tue, 27 Aug 2019 21:29:44 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-content-md5: + - POck697ksqQFXO9u3k2glg== + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer83e11abb/blob83e11abb?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - POck697ksqQFXO9u3k2glg== + Date: + - Tue, 27 Aug 2019 21:29:43 GMT + ETag: + - '"0x8D72B35ADAD5FAD"' + Last-Modified: + - Tue, 27 Aug 2019 21:29:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - c9685a00-c911-11e9-8df0-001a7dda7113 + x-ms-request-id: + - 10566e13-b01e-003c-061e-5dbbfc000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - c98cf802-c911-11e9-921e-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:29:44 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer83e11abb/blob83e11abb + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:29:43 GMT + ETag: + - '"0x8D72B35ADAD5FAD"' + Last-Modified: + - Tue, 27 Aug 2019 21:29:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - c98cf802-c911-11e9-921e-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:29:44 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 10566e24-b01e-003c-111e-5dbbfc000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - c9a37852-c911-11e9-87ea-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:29:44 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer83e11abb/blob83e11abb + response: + body: + string: !!binary | + +OvtrTxa7M0Q3AobsncAwq0eXDAVhBaat+d37S0bw4/E1LPYfQRApuwN7w5LMGh6TKy4bNsj5onh + cY0KKt5OQcwaizir8MUR7t6VY4qXKqaePvcdYmLg3GShckaeWiCR8YXUhpgxxDAViTBRPuLfDT0M + HSmW/APwAx1SWEgRNmX7JjBMe/D1lY31UzqMWzUTxzNYz5AQgDTiyp/R1Md4fclyg387uAEGAxmL + 0zXl4nG1Jg6vyC6P4WnMBCxPNH5rf3iCaCNuozspxIptGU2jMtjPUDbneUgv+q7z0lMULued1OjV + ebQBh09VU/6/vI8UOmr8Do0/hEBo5isGe2VZbR0q3v3uZIRmfMNerES4ZGLibB9YqYsj/vjaP3kK + RR5G7QkzgO7M1KaAcixpzmrFP1lJPJ9OLQOqwLIfRTpMDHSYNJTRBozBrYf2OtDK3eEpJSj+yyVC + Zn0Ktglw3GuC8i8uLqfwtU+tkW766JBe/sKmwO4ssU2VQoIgbefyuoQShN6A3179z0fzqdBEflis + yowoHDgRCmqg93wK61e8OBqZ9L7hvmcvYuIpAM1zvEdVquQRa3d7e+tOreonG2kuyRqNz0HgVWjy + W3Z79NzBJBg+oJKJi82r58KHo6I9Ach6skuRii8ycYGBXksNsZTvEfAZPkQ8DgQ62yFmfsxXbSV6 + Yg1nK3gUlZ3ndImEvxmGfUZxF2kWFDRaRwfNzwPAeKhwO4nU+B8JmG7r2jbEpjHJK8QGc6Ytfecu + GXV7P8giQ6uet9whMI7ljujviSI4JwwZq68EwOuqx/SlZLBJiPgcCRS4T8+hYpshpAKUINvd7tU/ + nYeeEHN1XfivUURaYcpQI8a9QXrgVhIdS4oI95eo9wa/bCtIPd0KuLJTvOrwzcEEo/qL6CBQPEV7 + l2Lu82Q+zFM/xwWyIj2ZdPtxG/lxFuKB5Ly+K98iU1eBhIttOeMBkR82+Erx7CAJqUjKn1attfOd + 434Kx23drta0v/L6aijbefVlr9bPsMYccJd5sAPmFlI42ffRNqrVnst5DDSrf8ybk3R1BtLvAv16 + tpQPKl3r6DEw+sV0tRWuvVXNKxZ5Q27PBhv86HYgDzqX3tytcSgD9Spe7mU3+e+PPyvMCUgzxPos + vGaThZt14zB7uFBoSv3c5DnBz6XbkNtr+HGrEk+1EukfrLIi3vn1RxL47hzfUD8fh+lQhnZEe2w9 + 9JYQjczRIN0OnOFZhVln4yfw7BKRe+/eGXafXxNfkc9Obb7j3Xu6i2Ytar5dpJVVn8xy7hJsjUtG + eHZRQxm7lqncYBsS+nqUGpLdEZXR5oCH1OE3CUwvo/zpTOnGUadprvuG7QQacEwH8v0Cndc+o56y + gLFvdBw4sV32aPQPBFGurJg/0LQEW5Y3kOJxUdfLMWV1jk9K1sKt0vp6tkqqQLGnxm2/ZM48hLLu + BxZ6tulsVCut9+rnF3sjKlGIwteoiv67HuC0ETxTHArdc6oZhUEk1jAA4Qqo0LFL36/j5w9tChKM + aAU1kCZLWytq4PTRzXXtjUC1LXY+x/icmr7M9cfnTXOMh0/0cE/QtCo+VtxLkyqpyfZLL5SWhIAV + HwyuplliAJBN2LVh0XbPJ1Q2QKsPubK3T7wXETXhr9t9bHAHHKKmz23PCA5mMOI5C9+mHhAkLHZ9 + blDramt2Go5LSgJtCDqiFY3Y5vZTloHcz/FV/s3G6ipXJO6AvB5Jl0T3BE/bo6+FrxHAvTK3kvp9 + ezg5M3UPWFGg4/Nxm4Kj8N0eUro1xpFYaZMFLealVVf5XL6pNi7eICne/J6bG0iRXrD6kwuM2S6y + hp1x8m8D9KIRytHj5XBIhSqxqSMHd2Q3YMfJPtRBsWKpVmzUmBVvWf6frIbFqZ46WkCUc48265r3 + i47Pj9YjqazCbUZR0ll9c7XMtWzJIwbLeTpVL8vEaO6VPq/ybjIaZ2Rtz8wZXGAPqWPDEHyVeh/9 + Poub1wZZ3rmg2+kproZMz0xbX9xHOVb+JKaqerNgFfUVC8oNzlRNliTe97/AHdGFocI88cOsFz4e + HN5YhiIpfkPpozMp7Cul1X9uXePgAPGuzhkYxghZ0Jt/lbhgQfMsDzK8t6rHB5XjiqYLMqmde+s2 + d4rh7870XaUl8q9iHTHUYMsED7gv5lPMuyeOqIdpJBDwpkMoqF/OdcVINuoPy1jZNXfaRT8CFMiv + yRJnkrnLWATWS2TQvlzOe9GDRcov0M0qgl0e2udY9iouN21MmqlJSFdFNjU8on7QsaMoXD1LLgeN + xlIAQBeeWWbDCgZOx4lwu09alhhNJaoA2iH68KBG2Diy2qNiz0Shp4xPjm4k4/D1+/1FJiVLcGX6 + fLD0ii1cKzbmMXukHcyEyt0Aj4puMWh0hEMFEWlgz4wkO9bTTI2BHIws0lIdrQpnO5PaL/p0lwQh + 22yVUTf5JFwswQI/jkBlhsu3Egmr9qYFN6RG2uVvGQ6KXnn5i0no6C/a4jzOqX1/YIG38YM5GAPc + pZ6yK3ILlNnPAPoK6RX29qgdKnn5e7J4Pc3OauXzcKeMyPLlJq72GRY49hsgvDwT8kAqpztRCjX8 + boyC7zLPORWnaZ0TIZG1JFy1beVhfiuJ2V0bQJiHRW6bUaPP4I9pPwKI/VlzFNE7nUYir5ehTz0D + RVrkz9tmRj9oERZWFwD3un0m9Xb1ZnrwmQIqRRiHywZteXG2wJUl7hJAwjRMM2vVXMR3t0eOa5W5 + vuJ8Y3n2V/ShVwhdMh0qaSjeaBDJGNebeKj7TJEmMcuE3ZhnY9J30q1fs79Y2Gn5ubly7qM+ZGBA + yrzGUs70towhZNhk8DexYP2UXNm6zlGNgGkwn0ax384Js2j7lXxHf0BOc7jA4fpQnMD1IdoQh6S1 + PtVURFRnkS7BK7dIW9zbAvRx0F8N9J5wN1yEG6L2Gn+RmPJGtCaBPMjjX7w7uYfI/dSGmRTuxhjx + xG5hWVUK6kFC5hbMYVWCz8CAPqtyh3WmCRXpLpBkrYDbj2Gqq437Jb0IVLFAYSZ4DDnO8uwl3vM9 + WJ8IKFOLt26aGpsHhybnB7wmF0sTAdDL99LG47CjroM2ynLiHr8MWDud+EK7l6jBNEym2vu8673Z + hReF+B/DYs+R99BZrPKBm9tsBeoF6fHXIOmoTn+DcsipFQFzXP7fK5D822edTAsJD+cJTS8LHJ5p + X2F7i429xbgrcJv2Nnug4epb2X3own+YbPp2BDX9X3PLUko7nfWKAkbMF3zf/qbqi3g+VqHlzRUd + 7xVwUCelEsyX2NmoRlWXGukZOyeWnIngXL8HfiQHEnKYrIcCT5aQb9f+iC+H+2CDftAvRLtlrKIO + cA/PaUFxa3G6+iAUuzaOdWxNsW2CkvbyyLb9Rf5Tr56QeCrG9vsUtyCzVs6q4LWJbeynxJ9Ev50p + bLcMLeuDOUSBM69/XdS77t88aAsooLNW13yzC6tsikgy7whzbwwEYXNeXr6kqiuu6h4+c9Jzob6j + kU82J+vXVYsURw2KbnD1Ck2jb1L3EUgtqcnsoifrPykASiIANtli/Bte2RZlD814kR9lIKHpH3YC + 2OMKYuGxNp8JzvgItyRZYobLy34d3EBkhWIeegMqXpPAEHP+2xIjE5pVn1tj3vTutdLxBjCXMWqe + pQzfK2JFjWoZhsWyiyen04+mUS8/nnC1/H0uLmCsZWtl/OVGM42P0lhHFtY+puGO2kcBu2CIMTq+ + Qj6nZPG48iRHlDpMK0Vj5szkf7MI5c99dzVYXjGxyWMxewllKtaBVlkDYEbMCTpNZt4eCkI2fn8q + 4nCjw4+cvm485+ojqhzTr1R+o6hu8Un+da95569nWbE85rA8bQeKKbSvfbDVdp7e8nXjXph1sV7j + r5RfKr7ZUIm0Md17eEJlgt+A93YKk0Jf9ejPF7eGvxl5VhaOKziwUp227oFRnMQr3FfOXvHaH+Ri + EWcdT07eNsYn+W04IDVRE3Tr6AmsLABhp6a17NvCwYCLALvH/Akq6dB/1HVvlW72IZzl26dsKQH9 + hLzfkagTKJlL0juvil82kSCb85Ql5qNZYMMPCvEcDIVU8qzwd8w8dof4rHwS3/mZoOX8aXm7XojI + 8H7aFhLV48s4qit6qs/m62BV4/cNZLVuijCNtVz+JY8hlWu0YoLxx+5LlAR1RDTPyZuAXaN9NgdM + cwRlnFxS0gCjoa7Ym/nA2zEEqFAyxPeXehJLddJcr3rp9fS1Bl6IM+GUV1icYPY+JaEj3siqVa49 + J5aKTRUvR1bErIK2Nynbz3db5Eu78GJZzkkX2jMbLqiSfahLQOe24CMCyH3GRpTekCCtpEHwnQrf + qLKmHFbBluxAfr3v0lv32NKlbWgzi7ZqkDacVLkvA5t3NnAxg3KdRHKoc43x0SgrHvdEJ5QRIsE1 + 0v1is7xTNAl8Sr8HTLp2OXQAXolcg7F+sJ3V0EFFHNJaPxaD4IiwGLRuCtKNzgO/+LYqqFGWPhk1 + ZNAz1CytNFGwjSebPeEx4CW+Y62mhPxmu5481zfgolNLLfybbe8BVLg0McNUZeudNA+mbpezPInQ + kzAKWtAWJmY1isdmzZQJ4wK2BbF6KF5Q8Ywl06+RMAMdQnjawqILgJDqCER6W/ISwSMT07+gNbRP + 74hoRj9xkg6J0576tMK3ml0Ao9LcoW36uGzB82NwbC315M8wdF22RUGyVBDG/sTZI2278qiG554T + I4qreadiURRS13QLM9nLJe0CNSdhhCwxGAkMN4DVAA+dZTok+6Td4Yb9UgZTg6opAd9a/FfyB2Tx + Md3f+WxpXHxyXWOepALVqdILSssbQYEPP8mtBmBs4smHT+ocPreqSgnCdSLIquc+rrBY3uWuu3ix + EAzqq2h436W1aTCPZ11fi0PNysxMCj7crMX6XR+RAuMRGLHGAXtatEp5D9dbs1cviglgSTXx4P3a + jcSk/OMMwZYarOz9EtSDSSPcmqnd1U79qtSwYJ2BqVIhaORwp1ecasi2WJg3nS/B9UihQ/6U1k9d + q/r+2g+CZpZveIhUHT/xnCmu5sZBkFiEuZDYBFvMg9rzKLH2lyd55LIezeVQDNHWOUZrV0oeSZrc + ENNhn+p7SQc6+Ssdma2zVSkwpyQU/H4cWphqa6a4h3JKSSYA4sRNwjaf72vSdecaoTIb4Yy7IWfC + cJBkh/LeOBFquqQYPV5yKz5qIYSv8YrnmjoOfLXjXwW/0UMxma9GZqpzxdpY4+ca92smdrhUv0c9 + ZD6z298+mFy8MxOK7kMvcUL+YPh7D/G7dw6Bq1P+VPy7BW/u+1FO9PCPfO9xVDfYY9In9MLTvSTd + gwBLf+MJRQ6DA58fAXGYyI7frrSRIO6qckLxzsRKsh89Q1ssZDq/VtneoGRGeRA2x3CZorUhpn5W + sx4VhMECTL2INJJ9GaLDM0Qs16AlcOdX7aQIBblRse8v4ggQlgk1aaLzgNF+I3aD7a13y3VvcVpS + 8DwELvC8+IUVvfTFuTJf9+RdrwpUQRSw4Q4w6eMMAq3SfVzuMd7LIvYHcdCwGsKnLGSuCuNJ7XX9 + YD1F7LFTgzg6S38qDEfUAF3Zh6RLFzIIEBCuJaPgeNVBEiACkk1t5FQ/H4d6o2tiDpD0zPAGsIo8 + Oa8teG4aHRsBwaSgzeXRY/J+rzgyVMzIFf762NQ3bWAAz5Y2BPzrvDQ2LBcekE3RDR/TVS+LXxNw + 2Qa9APChYCi2gCRj8Bw95IwAqgRIiXI6REz7xCOk6noUai5C7a706A0dk6tZFo44J4aXEZii+XKl + eUOZhtnQegShF78TgZxXEsdlQbJvFgfjJB1CyUnmTDCghgbJYvZshcUdarSmeqyUfUc9dwBs20+1 + Q/Z8XTf0zdW3Ba5HmClNMrjQ5yy1rOOQFozcfktVvScck9QpmFe44S3p9woq3BMnPpLeZrutfSxE + yDtxBIw30L1sjrmxAhlxDn068WU57EBpEBEVxDApIjuXBpJbWiq3QA07qcSjq8a4oiv5rRlk8Mnc + 48AniAfvPThBiEQpsaubnVDgMJnf7QnyRcgJrdV+pjJLmdThh0NLJAOhqWpLq+tCrPRMg5yJrDjW + JnroKpWfJzZOjrwO/RnepXREUvMqUvUoVhj5mXLp4qhIXQfB50sJcR1QWgd7s4KqX7z7CJeZzYLu + RxvE9AKVLsNl0GHVYNi9KM++KOYYvEvWOnLAKOiGAMM/tJVz296WngekQ/UBnnhjn5lBPqmrgaH5 + 1kL4eZd7oS5PFdyysbXE7esYUykeDtpjk7+QRl1Lv0zkbqWAAwi1MRUNE+xEXt1SXehipn+3kWtp + PH9AiEcOde1nE+j77lzAJFzms1VaP8UsNiGB0oBvxSJRLmYSerb+ojEXTzDPsIJ5HxNq2UruDo4Y + jA4cBYqxRHvfDkMX2gXM+uBCT578YkykP6kga5hjxgnKQwbqfETm0EbEIic/ugMUUMvmr09doIkp + t4OWRHGH2tA3VHwJzvkgU7rrl5GaJamiTgKdOuidKWjZ7QWMfbg6WMeyBe+hXLRjCAeNSd8EelPK + ZSrc3/VS5/ViMRSA+1nQNMoM65ovPj8VO/Pn1Ke1zwTdsruDQ+huN7+lDew4cjWDJCnWl20ZexuY + /mRvZM+tS7V+wCbWKlIxGzJP1M1liFUWhCeaUk3LVGtdAApH3Ezexhggzo2X4FCdBTVBoowj4lzm + S388lMAPR4chQEc810oKHNH8l4o/LolDVyhtNwiMU0G8FRJUAIejqSUpzYY1yFcf+r6dZE3Iepgy + YSPe5m5JI37rFTx0O6GinHGAA5RmSe3e1rch8zChKXkb4xs/SVM+ZseX7qjon1hWMrFbg7AikLt0 + WEpe9Z0hmQxjBa+pOJvRi7TKUrB2JXY/0FzGuw37R43C+8KQW3rs2SLJDuu5XUPHQJVGwoVG0K9t + 9ZmereR67b5Xvvqpckgi7ewxawlRQJmsOnNXcoKedvoHZbA+CBU31YOsTY0F86SwVvOJG+Y2qc0K + DS/fK53PVs0WLd+fkqw29UbO4EWdJNSAjFUZ8uCn51Bry1c0uuYq0ZZriHhp03Tvu7Aq6Wt1Ida1 + Yz7uoDgTEiGCdxk8YVmXUVl+Y1d3InhV6G3qqvOtcBVVIJxkNhf1QI4o4BLI0+AGswIkjP3v9wRU + yqhSNpUiBC8/DtENq+hXQpf+fFUS4mdtauP6UcgYcjm7DYhZn+dLA0g+2xbeBoAkYqI6rlqBDRU+ + asD1LNJM99nCn8crA8bzOlqOpRSAzSN7875zewV4h9KUJRF3f3zsE2uPdDeZ0S7WFy8Kuck3Fi93 + vdbeCAvx58T19fIdOOGuyycLohyccES0nCTb3G+myLCxTL33HtrbaO9qTHNtDZpAtmO3fFYE0StQ + WJKoHK4UCuE8R06nqseS/TSKGn3VFYIGp/Kk54fU5mpz2paZ5pICSToR0b0L7P2cJXgzc1F5dM2h + qj8TEy7XCH/n5La6pP28PsAM1Xy1BX5zxMY5bnS5qWt/DWJcoY/DNMfSXXk3biSJtW67bkkql5yA + r9gcr9T24w6qqaaKtMqyiYr7gfwcqmk4ITP4PrOvSTnLI2SCjudMrIAMcGnRfyz02tG8pRBmei/r + FkOpAF1CARlg2/xg7UOoJT5u+70X/sfiewMT8GNIeyMlpGBLgx7V7wq2fsz4BBCTzi86jm/vFYDB + +xvv77PvxUgpn86k827SxwTd7PSSbtvGXKUsVph7IrNBy7UEkZWVlPr7fI52is0qFfojDE2JYqCM + a4aSXlFu52KOTN8RrPvdOfJQtu11egCllRXaJGP2y53ZMOHjwCd+24Z9g98qTNywxLG5xl2nOkju + 6z3Ht2BPZOHTs8zTbWJI+0555yaNlcwgtO2oMaudBxAbSMulc1ahNW7RMTIHbsi0eO6mVm21ISuY + wIPxQltlcpqujfY94yBpVWW78x1UA1ImMFW2/RsiTrRvEJNBkjzQKCagA/GYfM/kZKtLN4/uzgum + TI4z5OUBiVrHDYIDIVxA1gtvbZJBUp/t70uKjWfvBg6CKPUr88DtZLBlqE8lse7fJXhEENQ+ekW/ + fNUqXGE0hbmlzK4oO78QJspvh4xa1PTKO9UWIvq2L+qlmAmvhFT5zsvMISfmxiZ7u2s6Hgjew6+S + xSBjI/MFXEs/LnF1EmutfpAkY2VfiMynrjfv7Vjva0wJuBqCbV0VIu3sMRI3rnPfEntBSLoEC8sH + HtDWSm2NAoe88ns8SrhZzzWWCbd5tt1UaPRQJEDFUxPBuZZKsSuDm8tqfI7KUZflVc3L5y3YWt9E + 5oUt1mjttJLGI0EpkxcT4m8w6ZoxxViHlr5g7WkU8IGXSmjiRoFWb1BG/XcY1mAd7a8ob2F3CuQY + ZyenYb6paszEJEtu6haELqR5PdTptSoyWoh2lILlRnE+rWrhk5PfAuLjwlKlDJhHE36SiZWgtHuP + qN0f4SEm4/LPUhJxrlUBCln7HrzlT/MRUHBlBZotJYfRTpcTGEzBe5EHXY7tpm5eBbu2q+Vnk2MK + 84hOuGk6dhwumBHuCfKFZlQXc9aSbdbtevl5G7KYMRg2/GbDkELjI31QVw76aGit23hsSpIMQL4z + LFlODRTWriXXObUZBi/xMhsL1vwhv1+/enimIzXXVUFmyv6cimJ56bLtWkBM1h9sLz4NpWUJOz1P + HPKDEYDJ3Foz5kLmbgz9RfWxS8HdgdOvi5bmqC/RtXxBLdzZGzDfzNBdBAgIWo/qCzFBE63RUM50 + EfkLVI/NoeTS2y7olZNeN/Qvk49T0x+/JGAy5k4xojRfs+9t7cTq8eeNyOjkV9/YToiQPkLsrTgP + pjJRDMdN1sJTXDZw2LlqyXuwkNYhLyIOiZ0OmPn0TzhK8wKYKxKvcvQaIMCceRG7A6v2VU0vMFIK + Db9ODAsZeqHACK8JkmuDxRThxGV9ckJDdG8UbTuqjSwX6p2sQTYCUQFABsT1uTTfpCoxc4nJH+uo + AMEHthO7CYml41lClEb5DiuvenpaNEfIwBRtTSbSfbeoTNmcTyswKWIoCDijTuN2kw6Rqoq6jpUF + Aal8iCjTJEpUUmHCGRrr8W+sEs3OclPBKU3nUZbBUM873HzaOOfcA9LN4OMEpsWh6i6N3lmWfuD3 + IfnXMcKKUcGTuLsKvYd26C+GEfe/aLv9g2zJ67U05KR4mcf+7RL8/D1cwpHqVmWQAzvf6/oaN79a + dL1SdQtV9pIOYtXp23gJx876O6BTfvwoJg3eI/U/zUFKJNRzjTduVSHGKATZQkLetjPIIpJtxXWP + yezaUt41a+1GyQvGscapYJHysiz2cEHi4y6vwFBF+pQZGVxfoD+oP3VZRDKWToOf9xJjC2VLmztx + 6lxNHSUgoyH4gYyFD1Bs3+Kvu78MLQxrOBzZ+vSVlvk7818TLeUjYvYt5wBdn1VMpA25ySDROGa9 + AMVsJ3WzSY+lPBLiwpnlAaWIrc6Zow63meTZaSAHaBs8fzPz+niauDCsmRLwGKoosDeN+3X9ZB11 + Liy8JJ0j0LfyWF1oB6AF+rM0g0wFN9qkFkamHzncNDmsw1NzOOCJQlRig1A9bt2vmNHR5UJLa5Ur + 89g5dLUKefekP1VIO5MxHEt10D5n1Hsifxfp6gmN9QAs0oLzE6Y6IbDCQHDYhrZn/QbRvHdvv483 + cFXw8wzl3wsL20DJjqW27KowHkDbeWDIOUSC0x112ilNBz3NjQULg2T3gOMPzH1W06IBwLD9qnpv + +PTey72pvhIV8b03PUqFnyuheF+wbOVzfTXipADq4CrKNskiOvijs2YkqYlC9SlZ0IV6A1FIPnq8 + mDVACR1REuQSyI0Bj7Nmd3ckSeW9UZLMRm4n+lzYF5BcC5SDfHC7JQWnged838p86fJ8yn8QeNuM + kHrw5C70bZOEBdyexjnhq8tgZZ3iDjCNBA8ijZJHJZdyY+hyncWLln521DzYBSIc0P2mEJXafyRI + uIul3h7yjfchUuo2AK5JMdwVRFlF14aJlvhsxgpheppOCE7xCOwhH91KiIHt04kNVLwOo1dbnz1U + AsM0XNQreoRd0G7SP1E3KFFXI0unNvIzYmpYF8DdUTlVJyoTGT3qBlvA2NWEc2/7O+OaxwQKifWr + QFllXghixuHpIytFFgimyYh3nF42jDBQsHOui6GwscpH0ZbA+zceD/GJKT7bieYnqKxA4WqrQyBl + QwQq8JfXjMwft0PEMcoADkyQZlHuJ4BU8k9RiHpIocCsHYjRTu7j5SWHLkpBZAG1Z4+zeSAyxEyF + NA2B2i6dQ/fkTO5kjpEBFJ0jdq+uo3bpYGaH8K2gdCwF45mb1qRwbAcpGXtIZ0ZEMgGYeUXiALCg + FjkGqpupyRGSy+s00y7FgD3NsGYMPKAPO5rSe0Kta/xRadywwJ+mXwMVVrNAY83OsvGskhdlW4SM + qaatd/d6n32u8b4Sq+ub74/+GAYl8qZOkvMDVmOpllLeB3rLlXJx9ENvRSsZ7QPAH0a6Oghieftd + Elpxy7Gwj2vsTGE6j1caG3/6EuW1LR6t7KQp8A9UIrmyBUaThuaOrkxE6CCKHdEMd438KAYCso8P + mIZ5ROBNxcsxfl6r+TVIZKjFukMWfFGyJFsLivkSPBllIrOi4C+Gg1+5gTufT1pXjTxdUTVFvJJ5 + tfh/NOqBHw2xC0dKyp7IdskQnRzPqQXQtq6JM/MNPOn5cqnAvbsgQzoqmepCM4G7awkFEt1n7pz+ + ui9+qJES+LzAfUWE+QGIlu4YE4pOOUuDr4Z5iIRBpj85DZvlj0MRXOiyNpf9gyRS+xibzD1OfwTx + PRGrYGnkXm8w026IKdrD8ymxMe+LJENZEEcB4mAmWeCcM54vYsJMBW6X6c1bQNwgg2lpJwbRSxSG + 49OHCjxLsuigV3pqPE1O/QVQLJD99Fth0evGQNtBMDrvzDOOozhhR98= + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Range: + - bytes 0-8191/8192 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:29:43 GMT + ETag: + - '"0x8D72B35ADAD5FAD"' + Last-Modified: + - Tue, 27 Aug 2019 21:29:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - c9a37852-c911-11e9-87ea-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:29:44 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 10566e27-b01e-003c-131e-5dbbfc000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - c9b50140-c911-11e9-96c1-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource83e11abb/blob83e11abb?se=2019-08-27T22%3A29%3A44Z&sp=rd&sv=2019-02-02&sr=b&sig=z8PFQyNjQ9CP//JcBhEMxsfh6AYx81d5PTZsh8RNr6M%3D + x-ms-date: + - Tue, 27 Aug 2019 21:29:44 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-content-md5: + - isbyeiguSTgSVIJgfM+1Xw== + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer83e11abb/blob83e11abb?comp=page + response: + body: + string: "\uFEFF\nMd5MismatchThe + MD5 value specified in the request did not match with the MD5 value calculated + by the server.\nRequestId:10566e2a-b01e-003c-161e-5dbbfc000000\nTime:2019-08-27T21:29:44.7435234Z" + headers: + Content-Length: + - '278' + Content-Type: + - application/xml + Date: + - Tue, 27 Aug 2019 21:29:44 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c9b50140-c911-11e9-96c1-001a7dda7113 + x-ms-error-code: + - Md5Mismatch + x-ms-request-id: + - 10566e2a-b01e-003c-161e-5dbbfc000000 + x-ms-version: + - '2019-02-02' + status: + code: 400 + message: The MD5 value specified in the request did not match with the MD5 value + calculated by the server. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_match.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_match.yaml new file mode 100644 index 000000000000..2e12994b91dd --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_match.yaml @@ -0,0 +1,761 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - efd42abe-c911-11e9-8089-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource73a21676/blob73a21676 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:30:48 GMT + ETag: + - '"0x8D72B35D440C9B8"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - efd42abe-c911-11e9-8089-001a7dda7113 + x-ms-request-id: + - b6eb5c8f-701e-0033-081e-5dcd90000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - f01f6294-c911-11e9-a802-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:49 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource73a21676/blob73a21676?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - c7vKLX4nwh/YiN5RfrKnEA== + Date: + - Tue, 27 Aug 2019 21:30:48 GMT + ETag: + - '"0x8D72B35D457D447"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - f01f6294-c911-11e9-a802-001a7dda7113 + x-ms-request-id: + - b6eb5c95-701e-0033-0b1e-5dcd90000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - f0363676-c911-11e9-a300-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:49 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer73a21676/blob73a21676 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:30:48 GMT + ETag: + - '"0x8D72B35D46B5C44"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f0363676-c911-11e9-a300-001a7dda7113 + x-ms-request-id: + - b6eb5c9e-701e-0033-131e-5dcd90000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f0497e40-c911-11e9-82bb-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:49 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer73a21676/blob73a21676 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:48 GMT + ETag: + - '"0x8D72B35D46B5C44"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - f0497e40-c911-11e9-82bb-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:49 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - b6eb5ca4-701e-0033-181e-5dcd90000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Match: + - '"0x8D72B35D46B5C44"' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f05bc12c-c911-11e9-8651-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource73a21676/blob73a21676?se=2019-08-27T22%3A30%3A49Z&sp=rd&sv=2019-02-02&sr=b&sig=pLN9eX08ULUPBmXFUHPfJIHUASOZFgkDUpaSKxnH6iU%3D + x-ms-date: + - Tue, 27 Aug 2019 21:30:49 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer73a21676/blob73a21676?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - c7vKLX4nwh/YiN5RfrKnEA== + Date: + - Tue, 27 Aug 2019 21:30:49 GMT + ETag: + - '"0x8D72B35D49811BB"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - f05bc12c-c911-11e9-8651-001a7dda7113 + x-ms-request-id: + - b6eb5cab-701e-0033-1d1e-5dcd90000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f07649e4-c911-11e9-b141-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:49 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer73a21676/blob73a21676 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:49 GMT + ETag: + - '"0x8D72B35D49811BB"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - f07649e4-c911-11e9-b141-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:49 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - b6eb5cb6-701e-0033-261e-5dcd90000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f08fbd14-c911-11e9-81ca-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:49 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer73a21676/blob73a21676 + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Range: + - bytes 0-8191/8192 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:49 GMT + ETag: + - '"0x8D72B35D49811BB"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - f08fbd14-c911-11e9-81ca-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:49 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - b6eb5cc2-701e-0033-2f1e-5dcd90000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Match: + - '0x111111111111111' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f0ac5d36-c911-11e9-95ba-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource73a21676/blob73a21676?se=2019-08-27T22%3A30%3A49Z&sp=rd&sv=2019-02-02&sr=b&sig=pLN9eX08ULUPBmXFUHPfJIHUASOZFgkDUpaSKxnH6iU%3D + x-ms-date: + - Tue, 27 Aug 2019 21:30:50 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer73a21676/blob73a21676?comp=page + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:b6eb5ccc-701e-0033-371e-5dcd90000000\nTime:2019-08-27T21:30:50.1588077Z" + headers: + Content-Length: + - '253' + Content-Type: + - application/xml + Date: + - Tue, 27 Aug 2019 21:30:49 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f0ac5d36-c911-11e9-95ba-001a7dda7113 + x-ms-error-code: + - ConditionNotMet + x-ms-request-id: + - b6eb5ccc-701e-0033-371e-5dcd90000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_modified.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_modified.yaml new file mode 100644 index 000000000000..578943fe73ee --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_modified.yaml @@ -0,0 +1,761 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 4817750a-c912-11e9-aa3d-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:33:16 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceb98517aa/blobb98517aa + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:33:16 GMT + ETag: + - '"0x8D72B362C81484B"' + Last-Modified: + - Tue, 27 Aug 2019 21:33:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 4817750a-c912-11e9-aa3d-001a7dda7113 + x-ms-request-id: + - 71bf6d4b-901e-002b-481f-5d12f7000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 4867289e-c912-11e9-b64d-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:33:17 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceb98517aa/blobb98517aa?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - ZYqvUp3itlEifScu+8khNA== + Date: + - Tue, 27 Aug 2019 21:33:16 GMT + ETag: + - '"0x8D72B362C9DF81A"' + Last-Modified: + - Tue, 27 Aug 2019 21:33:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - 4867289e-c912-11e9-b64d-001a7dda7113 + x-ms-request-id: + - 71bf6d58-901e-002b-521f-5d12f7000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 487b6e9a-c912-11e9-b616-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:33:17 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourceb98517aa/blobb98517aa + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:33:16 GMT + ETag: + - '"0x8D72B362C9DF81A"' + Last-Modified: + - Tue, 27 Aug 2019 21:33:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 487b6e9a-c912-11e9-b616-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:33:17 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 71bf6d5e-901e-002b-581f-5d12f7000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 488d0f50-c912-11e9-bfad-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:33:17 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerb98517aa/blobb98517aa + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:33:16 GMT + ETag: + - '"0x8D72B362CC3CFEC"' + Last-Modified: + - Tue, 27 Aug 2019 21:33:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 488d0f50-c912-11e9-bfad-001a7dda7113 + x-ms-request-id: + - 71bf6d62-901e-002b-5b1f-5d12f7000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Modified-Since: + - Tue, 27 Aug 2019 21:18:17 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 48a1a912-c912-11e9-a5b0-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourceb98517aa/blobb98517aa?se=2019-08-27T22%3A33%3A17Z&sp=rd&sv=2019-02-02&sr=b&sig=AqT2E0nnsJq9Mndfb0ePvq/juuDAqy1UpH82Q3%2B8xXI%3D + x-ms-date: + - Tue, 27 Aug 2019 21:33:17 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerb98517aa/blobb98517aa?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - ZYqvUp3itlEifScu+8khNA== + Date: + - Tue, 27 Aug 2019 21:33:16 GMT + ETag: + - '"0x8D72B362CDDE7B2"' + Last-Modified: + - Tue, 27 Aug 2019 21:33:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - 48a1a912-c912-11e9-a5b0-001a7dda7113 + x-ms-request-id: + - 71bf6d66-901e-002b-5e1f-5d12f7000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 48bb7b5c-c912-11e9-8d26-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:33:17 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerb98517aa/blobb98517aa + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:33:17 GMT + ETag: + - '"0x8D72B362CDDE7B2"' + Last-Modified: + - Tue, 27 Aug 2019 21:33:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 48bb7b5c-c912-11e9-8d26-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:33:17 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 71bf6d72-901e-002b-6a1f-5d12f7000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 48d48ee8-c912-11e9-905f-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:33:17 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerb98517aa/blobb98517aa + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Range: + - bytes 0-8191/8192 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:33:17 GMT + ETag: + - '"0x8D72B362CDDE7B2"' + Last-Modified: + - Tue, 27 Aug 2019 21:33:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 48d48ee8-c912-11e9-905f-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:33:17 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 71bf6d79-901e-002b-6f1f-5d12f7000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Modified-Since: + - Tue, 27 Aug 2019 21:33:17 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 48ea4ae8-c912-11e9-974f-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourceb98517aa/blobb98517aa?se=2019-08-27T22%3A33%3A17Z&sp=rd&sv=2019-02-02&sr=b&sig=AqT2E0nnsJq9Mndfb0ePvq/juuDAqy1UpH82Q3%2B8xXI%3D + x-ms-date: + - Tue, 27 Aug 2019 21:33:18 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerb98517aa/blobb98517aa?comp=page + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:71bf6d7c-901e-002b-721f-5d12f7000000\nTime:2019-08-27T21:33:18.1788855Z" + headers: + Content-Length: + - '253' + Content-Type: + - application/xml + Date: + - Tue, 27 Aug 2019 21:33:17 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 48ea4ae8-c912-11e9-974f-001a7dda7113 + x-ms-error-code: + - ConditionNotMet + x-ms-request-id: + - 71bf6d7c-901e-002b-721f-5d12f7000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_none_match.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_none_match.yaml new file mode 100644 index 000000000000..f98d5ad9699c --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_none_match.yaml @@ -0,0 +1,697 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - f6af56ba-c911-11e9-8606-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:00 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceea4f1885/blobea4f1885 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:31:00 GMT + ETag: + - '"0x8D72B35DB1611B7"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:00 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f6af56ba-c911-11e9-8606-001a7dda7113 + x-ms-request-id: + - 7e9ac23a-e01e-0031-751e-5d7328000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - f6f53142-c911-11e9-bb0c-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:00 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceea4f1885/blobea4f1885?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - WHM2SP9JVC0GznreZz33Ww== + Date: + - Tue, 27 Aug 2019 21:31:00 GMT + ETag: + - '"0x8D72B35DB29729F"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:00 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - f6f53142-c911-11e9-bb0c-001a7dda7113 + x-ms-request-id: + - 7e9ac23e-e01e-0031-781e-5d7328000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - f7080f2e-c911-11e9-84da-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:00 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerea4f1885/blobea4f1885 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:31:00 GMT + ETag: + - '"0x8D72B35DB3CFAAF"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:00 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f7080f2e-c911-11e9-84da-001a7dda7113 + x-ms-request-id: + - 7e9ac240-e01e-0031-7a1e-5d7328000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-None-Match: + - '0x111111111111111' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f71b01d8-c911-11e9-a7e6-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourceea4f1885/blobea4f1885?se=2019-08-27T22%3A31%3A00Z&sp=rd&sv=2019-02-02&sr=b&sig=S9bQLPXwjo0AwFUWaqJtMhMrSgZiIsbxAyl0a5%2BkyT8%3D + x-ms-date: + - Tue, 27 Aug 2019 21:31:00 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerea4f1885/blobea4f1885?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - WHM2SP9JVC0GznreZz33Ww== + Date: + - Tue, 27 Aug 2019 21:31:00 GMT + ETag: + - '"0x8D72B35DB55B2D4"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:00 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - f71b01d8-c911-11e9-a7e6-001a7dda7113 + x-ms-request-id: + - 7e9ac242-e01e-0031-7c1e-5d7328000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f733a950-c911-11e9-8f12-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:01 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerea4f1885/blobea4f1885 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:31:01 GMT + ETag: + - '"0x8D72B35DB55B2D4"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:00 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - f733a950-c911-11e9-8f12-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:31:00 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 7e9ac246-e01e-0031-801e-5d7328000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f745c506-c911-11e9-be3a-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:01 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainerea4f1885/blobea4f1885 + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Range: + - bytes 0-8191/8192 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:31:01 GMT + ETag: + - '"0x8D72B35DB55B2D4"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:00 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - f745c506-c911-11e9-be3a-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:31:00 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 7e9ac24c-e01e-0031-051e-5d7328000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-None-Match: + - '"0x8D72B35DB55B2D4"' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f7587cd2-c911-11e9-a6ea-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourceea4f1885/blobea4f1885?se=2019-08-27T22%3A31%3A00Z&sp=rd&sv=2019-02-02&sr=b&sig=S9bQLPXwjo0AwFUWaqJtMhMrSgZiIsbxAyl0a5%2BkyT8%3D + x-ms-date: + - Tue, 27 Aug 2019 21:31:01 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerea4f1885/blobea4f1885?comp=page + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:7e9ac24f-e01e-0031-081e-5d7328000000\nTime:2019-08-27T21:31:01.4277298Z" + headers: + Content-Length: + - '253' + Content-Type: + - application/xml + Date: + - Tue, 27 Aug 2019 21:31:01 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f7587cd2-c911-11e9-a6ea-001a7dda7113 + x-ms-error-code: + - ConditionNotMet + x-ms-request-id: + - 7e9ac24f-e01e-0031-081e-5d7328000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_unmodified.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_unmodified.yaml new file mode 100644 index 000000000000..3ee597812463 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_if_unmodified.yaml @@ -0,0 +1,825 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - eeeda7de-c911-11e9-a1e9-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceeac7188d/blobeac7188d + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:30:46 GMT + ETag: + - '"0x8D72B35D3546D6E"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - eeeda7de-c911-11e9-a1e9-001a7dda7113 + x-ms-request-id: + - 5dc35891-301e-0032-0f1e-5d924c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - ef32beba-c911-11e9-b93a-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:47 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceeac7188d/blobeac7188d?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - vG+sT4aAE7LrOE5R4DfdQQ== + Date: + - Tue, 27 Aug 2019 21:30:46 GMT + ETag: + - '"0x8D72B35D367F571"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - ef32beba-c911-11e9-b93a-001a7dda7113 + x-ms-request-id: + - 5dc35899-301e-0032-161e-5d924c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - ef459d88-c911-11e9-9844-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:47 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourceeac7188d/blobeac7188d + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:46 GMT + ETag: + - '"0x8D72B35D367F571"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - ef459d88-c911-11e9-9844-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:47 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 5dc3589e-301e-0032-1b1e-5d924c000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - ef57e064-c911-11e9-b42c-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainereac7188d/blobeac7188d + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:30:46 GMT + ETag: + - '"0x8D72B35D38C1F51"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ef57e064-c911-11e9-b42c-001a7dda7113 + x-ms-request-id: + - 5dc358ac-301e-0032-261e-5d924c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - ef6bf6e2-c911-11e9-8694-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:47 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainereac7188d/blobeac7188d + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:47 GMT + ETag: + - '"0x8D72B35D38C1F51"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - ef6bf6e2-c911-11e9-8694-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:47 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 5dc358ae-301e-0032-281e-5d924c000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Unmodified-Since: + - Tue, 27 Aug 2019 21:30:47 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - ef7d9dee-c911-11e9-b119-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourceeac7188d/blobeac7188d?se=2019-08-27T22%3A30%3A47Z&sp=rd&sv=2019-02-02&sr=b&sig=o54hWaH2aJ5ZUMaJm8L2K1IZrCqKe5UVCmwFZSYTTZs%3D + x-ms-date: + - Tue, 27 Aug 2019 21:30:48 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainereac7188d/blobeac7188d?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - vG+sT4aAE7LrOE5R4DfdQQ== + Date: + - Tue, 27 Aug 2019 21:30:47 GMT + ETag: + - '"0x8D72B35D3D584C0"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - ef7d9dee-c911-11e9-b119-001a7dda7113 + x-ms-request-id: + - 5dc358b2-301e-0032-2b1e-5d924c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - efb7d45e-c911-11e9-987a-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:48 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainereac7188d/blobeac7188d + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:47 GMT + ETag: + - '"0x8D72B35D3D584C0"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - efb7d45e-c911-11e9-987a-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:47 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 5dc358bd-301e-0032-341e-5d924c000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - efcd2ab4-c911-11e9-881c-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:48 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainereac7188d/blobeac7188d + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Range: + - bytes 0-8191/8192 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:47 GMT + ETag: + - '"0x8D72B35D3D584C0"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:48 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - efcd2ab4-c911-11e9-881c-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:47 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 5dc358c1-301e-0032-381e-5d924c000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + If-Unmodified-Since: + - Tue, 27 Aug 2019 21:15:47 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - efe03046-c911-11e9-bb65-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourceeac7188d/blobeac7188d?se=2019-08-27T22%3A30%3A47Z&sp=rd&sv=2019-02-02&sr=b&sig=o54hWaH2aJ5ZUMaJm8L2K1IZrCqKe5UVCmwFZSYTTZs%3D + x-ms-date: + - Tue, 27 Aug 2019 21:30:48 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainereac7188d/blobeac7188d?comp=page + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:5dc358c7-301e-0032-3d1e-5d924c000000\nTime:2019-08-27T21:30:48.7890311Z" + headers: + Content-Length: + - '253' + Content-Type: + - application/xml + Date: + - Tue, 27 Aug 2019 21:30:47 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - efe03046-c911-11e9-bb65-001a7dda7113 + x-ms-error-code: + - ConditionNotMet + x-ms-request-id: + - 5dc358c7-301e-0032-3d1e-5d924c000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_sequence_number_eq.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_sequence_number_eq.yaml new file mode 100644 index 000000000000..1e06349accf2 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_sequence_number_eq.yaml @@ -0,0 +1,699 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - fb9418a8-c911-11e9-b7a4-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:08 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource6ced1ab1/blob6ced1ab1 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:31:08 GMT + ETag: + - '"0x8D72B35DFFE0809"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:08 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - fb9418a8-c911-11e9-b7a4-001a7dda7113 + x-ms-request-id: + - 01fcbf80-d01e-003a-3a1e-5d8843000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - fbe05864-c911-11e9-bc8e-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:08 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource6ced1ab1/blob6ced1ab1?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - iMuRkBet5PlOtwuRzaiaSw== + Date: + - Tue, 27 Aug 2019 21:31:08 GMT + ETag: + - '"0x8D72B35E01D4FC7"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:08 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - fbe05864-c911-11e9-bc8e-001a7dda7113 + x-ms-request-id: + - 01fcbf84-d01e-003a-3d1e-5d8843000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-sequence-number: + - '10' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - fbfc309c-c911-11e9-b645-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ced1ab1/blob6ced1ab1 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:31:08 GMT + ETag: + - '"0x8D72B35E032D3D0"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:09 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - fbfc309c-c911-11e9-b645-001a7dda7113 + x-ms-request-id: + - 01fcbf85-d01e-003a-3e1e-5d8843000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - fc163668-c911-11e9-9295-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource6ced1ab1/blob6ced1ab1?se=2019-08-27T22%3A31%3A09Z&sp=rd&sv=2019-02-02&sr=b&sig=nux/B6t20j%2B%2BV2dA5tqYLZcYEBFa%2BRkKuRyNEtB/cas%3D + x-ms-date: + - Tue, 27 Aug 2019 21:31:09 GMT + x-ms-if-sequence-number-eq: + - '10' + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ced1ab1/blob6ced1ab1?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - iMuRkBet5PlOtwuRzaiaSw== + Date: + - Tue, 27 Aug 2019 21:31:08 GMT + ETag: + - '"0x8D72B35E0583604"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:09 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '10' + x-ms-client-request-id: + - fc163668-c911-11e9-9295-001a7dda7113 + x-ms-request-id: + - 01fcbf87-d01e-003a-3f1e-5d8843000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - fc362b9c-c911-11e9-bcc5-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:09 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer6ced1ab1/blob6ced1ab1 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:31:09 GMT + ETag: + - '"0x8D72B35E0583604"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:09 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '10' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - fc362b9c-c911-11e9-bcc5-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:31:09 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 01fcbf8c-d01e-003a-441e-5d8843000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - fc6a3726-c911-11e9-9e95-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:09 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer6ced1ab1/blob6ced1ab1 + response: + body: + string: !!binary | + ykGEg1QgkVuSWwFgThwUjjqkh0p7L1Ire2Ds1HAOvJFPDVKMs/FXONsRTmKSTlT47Y7jAdQKNZMv + rd9ZMvEkbL8n0fuVUZ6+T0b1gy53GkKmpqiPOeAneGw1MoQqApokp0QGkotMV/iE5yCcSJeMspuy + KErKiXtRBVV5yy6LH6yb406vKMQpqjRPhmvNseglofdN38OhSFSQxFR6Ixi7IlY53Zmb8PNNy0NM + Cx1BIyoXmt466Y39tbXzHe3puAdCRTv2bZDC2VJW66+PcxZTY9g6ynfAj2pmZ0gAs3wUoat8nomz + CrqiBo2AFXtMqMHLWqnpcsR4zuJB6F52SRY35wW4zI/QMyxe89dkoC+dBdk+V19nXmZhOks+9+de + Jmbs0wVWBohvccxoJn+/Tq78J9CekPPrcoAfp1xmRSk8togBw+zdZDzbAntiNDq18GuEUrHDdz7T + YFvXSWOs/ZFOhqNSRLNLz8E/lkr9yG7SuplFxLOnowRHMRHeEgm125llAdnr1/6opVoBKpTZz8ET + HGk7MHLlfsj7a+WRsTBnXF5kDx0L4t7Ye1RS7HoSso0J0qRMjS+Menu+z6ZtxqrBMpW1YSVpeFEP + 35SxPhfk9+smWQODPnENpCKsjFDGtxbFDVwQzV1ftLdHqgk/BCaw/uW9g9iNMhMb08IcSIefXokh + LXMngB5OcCryzOyfWKhAnS5eNo9ZK+nnKFXxD0rXUJHUvWLf3wch/TNu5MTzaXUeXBnvspGv2fZD + i/OVptkDyC4zmwG5weEjGTDmwD7uOqSce7TBxp+RPYeq0YLO69Vm3TY3GV+FtY21dAcA3fy8Whz4 + 3eapEKmaBOSnZj4l8AoNxbYNz8e5QWQMQXjyW57aYTIG5tfad0oljCZH2S0s5IHLk2sSHwuRzRGV + Am+enK6HALUYpMvO9yhshmiSHnq9dVU6zCprBG/8pOngbcv8MWkfyZB7lr7S9w/ACS9a4An3vPjr + AIyD10S7G7Q0TixOm+ixqO+RbMX8NdHm6qXzWmaCj3753mpSRLQe7/H2xnrrBVoj36VNIpwkipPf + TulSIvXcNb9gl2iT+YHWQ0Kof7Fn42aPFqkW8zXBT7um9arHM0mfvgD8OlHYHb29Sy/AlSA1Gkp3 + Mnd+MqE/0283VZSzKHTcewvrH093IZbL99eL/kNtP0ZCtBEVi2SO0BZ41RViDU1qybhER8LLr2Il + 6kLNUbBneahJVx3Rb+yOEIylS8PXHx+yc/hHa3/5Ek0TxtgazcMw+zQ1VL75YqPgmwiaXTUVKD2j + w7V3F+4uZmAqsiGF/avP/r29ZL1TiFZTGZ5qyDqqAItKcizjePe4zBE9+GVxgUnWjWHhP3qfJnZP + QtX41dFK3sEfJkMuBp7beF1Gkmdg3YGYujns206yY22dj6ZqfeIcnmW2nSWrstaoPbwaIpCGIWam + 3blnWnO1qD3tHs95nOxIk6Y3mezGnznLByVetScw9hZD+feUZudQS2UHgTPgVdl9+ALfY53KvE8I + d6JFz66Szm3siE+BhNKFM2ssjHA8Qq6VKGtCpFMoBI4ObAMsVAwFrz86SLJnKFe5wWsevwgYLomM + XyWcTQWcDk6vE3TR+q2pQMQSWM4V4A+8retTOIomzR2n+Z2tNhgU/e+ebErN4rwbPL4OVyqujVZx + eVfqG1+gTburO8Yxyr/OBkBW0E7eVBX4SLwa3QwR9639Xg4t0JBoqOlc3+7ikAACKDNh3krNAe+1 + ztuA4aNRsysNhCIEXQQrnCrqayqktwTYW34RmyYiReNXvzE9cQVHbWEJWQbHfrxupsBbqe6xVsP+ + plesXkTOy+2hCJYhJxnwTJ/aqIZRmFDSTdCmZzw3BgBBPXhTPxCUUqfoSRuEixzOjN9wed88b8RF + ITH6VUowOIcm9K0an1GVHY7DiUkFC05i3FgdNC+AFcKDnpxbO57ieCYjOVOwJASH99+AgYtYGihU + 8ghkrGH5jsxZkXoMdjK04K9erOTWymmzeJljMmxvWuXwzIt5zB3XDVQ4R7GDbgZKar54LbGnlu+i + GG2rlrlQiIqqeyT0uJdcSYjLAzMLHKo8Zngqm2k2nsvr8fHVyFVYAq941UMPRluJLS5bzeKAbOWC + kToHOF/tC/iVGQEqOGvGTzubBjeDGl6lvIor9S3yO2sboKPra8xa7B2saMqFhXcbCAO4Q882nbyw + szLBu7L0weO+wa+bKKxKyXhrleMLNiSCz5y+ub04bpgcA1kHsd3WYuDSE4xD8q8bulbLqPbUMiAV + uKCmG6OjosDpQ+eXE/uvmnTP1oiFbPloiqZYtXyFl97ItsqY3SGSdfz2W2IJnY5RxSoCHnVuk9mh + PXvVK7Kr4S2TaaOmE5YE5RRNmFpMl9iZe6bH2R8p66DO9/FCyH80eV6A6+u8FhghVR2/PapqqsSu + Pj0w6G6Or6JgrBRfJc2d+FG+v+AOXshgvmxhDgbsqb3iXurk1KBRbMHSLREMTADM/jyX08K8EMUE + VsLCv6s2mT1kNdZGUSwOsXN8aP3rjVuBT9/cqUsv+y0Dn6uHCBlA4hIpfZaXRY2ehLVsMIQ3L+At + N7XWRR6DcJHfL8kqoIYrWiUWoe6Lb9oB30Q7brsdQvHs2pb1HEUJp4Y8Fr2ZRIrXhM7l0PMgKGuz + RP06g2CAEQF5isAfcfxCyPmfy5zAxI43YIMpqw/ZrV691VQQw7ageHTvjCu9E0hPHVivu7p7sG27 + CEAAtzO1MVgPuj+WpCXyCl+dTj21NpY472eb26WP36gBptnsjGtdA/tVycbEc1YY2Os/X4aFOCdb + Fvy+IB0JfUD1zGCXgkCCyJiCOqYas5PSBou0fwgd03MY4MjTZHwDt/CmF47dF7GA7tReXEVBtgdr + wooKPjTjgQOZ4GUdpP2d+JHcg+FsZ5xn04bBX3CO18lP8h55kscHXvKzj/SIUZpICkvbBRcANYhn + 2RXcgLncouTnSJcfABwjIFOyJUn9H4T6iBFELvtIdR+1OfM25SW55UgZxP7HxSPddQjoTxKZh1Fl + +y+I1QV64yTryjWmnsityP69pHdDX3d02J0RIzbXzk1M+F/BLaN9sfCeRT/RRYTJRGddxjhoDASX + hpXbdBteu6LtAfDLGCtlq/26/Fy+E/dDF4B6laM5t+WCHiBWpHmDGz667v7jd+rnk40Py4TKdIV4 + VpIL+eXHnXbeMpnxIb2wKKITV8wqNpvL5rFNXtG84lu/Vq6orxKC0SH7XPSUSx+PSMXPzgtrEgig + fM0t631sjQBGyqMyBWcH7jIR23nFSfEYgzv6H/FNWdyBFv7Ejrqg2+SYItbMeXNFqC+5bKqhRGVO + b+R8VK5XHxXk14tkLRPiFb2nrf5sSOmKY/7gqCJ6Dv3kX8sbCfXZk/noVC5Atr2D9EoO2L0bF0ro + 33WgPUH6u0luGt0jwPE4F5D9ZdtApsroSTIZxzcis0JIK9B2AZLksSjC2ExWdaQ32Nt/Vk2mtkqe + IqNMuHFa1JMr4GPr4gy8dWg6MIWlVzJJ6z64Obcq+641Rhs6FEGO8BIhurOes/mp/mZ1hrNcUTiF + uBnBIh7ll7XMsxd/U502fk2ok3PRb1gyIeJdN6EXcAd5XTs9D5z8IctHysZZAJAVFiEzXUkOb9MQ + Er6k7ZASVd7z+SJgMHogiEFffhHK2kxXQC7RDQhenni1Ti3Pm9cizEQ7ybp0ohQ7/IcUAJZBX3Y2 + KBSmrG8VoreU694wavyh/Wu+SonkCI6UhycOKmHAFpJcycSduAwKUQgYVjzfm+PuK6+ggRJORXJ7 + X+SeCbtJ35LXfoSYpD7O3IbqpoBwSPue6QOa9J0fAiHAQeqx3MW/wqoBxSAUsAxT8uCwXf1WxUcD + wScsF7ZiwkMeoojbvxHE/NKhTyEHXXp8sANZd/UcF5c8NefVNfwlU+/v0jKGHJuZWsj0RWx2j7MY + eJWR729wGD55+BAx3uyHYLKRiLkN2FOObD59sx0lD7HPGFcWUTgs6e7GuaMHQjcPNr8p2KBV/gVF + EFIfUXa5bYmcBayvLSDjY8cACVNmIJYqoLRwxrmlmSZnzUU9mWM4f8QY8HPbgk4OpIfQRX/24VtR + t0K1vxDxTZidM403NAFN2cliZ4KR/ID9pqgr62HzCNQljBYo32+CngHOZSX0yXcnCRnf0t+kvc7F + jC0jNfKj5QEM5zzZFBFYlnYwUzENalhWbpes+D60EUt5b5izf6vQDZ3z0roWYyOpPJBN6UDVzA57 + 5z5LXk3KWAsXoRJBTFmNlvBpEd79kxIEs5iCheDFHr7MgpP8aHJHOhM2VwAeN9XFTH5RqLDbOy/S + 4vojGRjOEwur5t8ed7TLQQywkVzGW1fn4oParisGvdsz1yiv1wxDmnDTFtT1Ybug+ikt2Bsv/ppk + aQ7cJlt1Gra1LKq1R6AqKGny4s1N1nBXMY12FG7MPfM59l5r2eTX27fETEXcWYArcCtAS+3z5uxp + Rggw+OngKZk6xSu0AbMbPq8TaaD5fCFBfRgWQozrr1AFkZIdctz0R17ciDVYgC8XuufpJYnSb4US + dddXtWH8uH6cfoHhd6LK6GQcQzTJ0tiewNYdwm8+HSnXl/W7UeBocAzFcjxczzbNLxm13hbeQTKz + SH3dCvxJZjPUiD1U8gEuAe2NCrqOnKB2dULprQo9jZEVwpBvytrXDLUlEt9iJDAYD9SQkqn1WnyD + er4AYg0+lJGjd1ucL/s7vfHEmG9G6oy0zGaLtyuodzNLtXrU7VnvMC8ML0LHBWwAzAamTFkcm4Ag + ThJdgVdCmz1Rq3fPDnmO5IlnEeOdILl7bvLmY7aC7O9mMyGXgLADpvxZr1Jay3nGjJP6BkPcMkSr + E8kEZU0dTy/KIK/3wFQl3B+w+jYE0W1vT8qT4eEPa0wLal6pGBXJyU90gx5+7Bm1zE2t4LezdREM + Zh+dDisZoFrLH75u9wYYAWnVwKJZi8/HvqlNMACj9FTskxZmP2FlhzTzpRyu8BRpmCdRlI2JpBQe + 3J0oQHRSAwhi5pBo8jXQ63ebZ+hi0qYjvuTgN6IoA+IzeaqNdlBI82vbb70m5/Bvic8PgstgSHst + 9xHkYeX7ir+P1Jrv9VfNkEA1LEXuMRWe99ft0Fydp/mVfPdqguSPKU4uSYtJBfyQTN3JpQ720MkI + evvxk4HIfvWAhLqP6OYQ6xcBCrvKPlLBaJ8QCVqjKLFRU/gAatiennZvi6njcbXAJ6/8WpggudtZ + oCUZyr88b49UqR/I3Ap9swLJnFLma4uh7GXQBksZUmHdyaUkJjGgPa8sqX14cd1u1y/z/NeloBSp + ymvdtnJGO0AVYjAcqDiFpj5JFHlrz9C30EYaPR+W1gaEOvNIBexUa+RIiAc4Baqy8fR3CWb708Na + HeEsEHdd7MD2XNZ0jbzZoteHPHfWpCaMK+aq/EFgrD0Vnr0/ghCSxEagp73FvyTlvOk+TtVCipbU + erDmngHcZ32uaZKgLWYYNuHHCYxHUEp9I9bUtGYHdqnqr4946Zi8DF+74jHtuSdIUJ/B92Fyur2P + IYFdwAKwfh4w9J34O0KBJ1MsC7VJoZDntI33CvMdm/cRiJEtsTOPWPlh8nyP+u6SfJQMfqeCTpuu + 2RfM3H3NcnFCYLAJkQ3zPkjbNzk1xpFotapMtbioh0tHFU8pC1fmrgT9vRn3WSAt+UACKOPUiKf5 + 38K6WY8jJlsjQ4SQcJv1UzGHQ135cM4hWlfeYY5kWVNUaf6HOI09/HSvA59oQavNumcbm6vzlS+S + DSZ324W2P/2IRNHfst9TG2TyfjWwHGM02uxvSfk+tuH5jFX07VnVnZa+4terzOvpO2GJFYM18MGM + M6FUqgCWYWwPqAQ3S1GH8xZQxOViu65T+XJXHfQo5Q4SdXPvpa6lvZUPlVnxKbtTiLDCA/PxP3Pg + viJd4Gvv0funq/onoktktXbtmhe/41pWW5WNyQQbYKlkYqWjWmvlK/5Mofnkab3UOscbC15OvAcn + sy93kKRHJFlnKUyiRII9/XLrn+wZf7Koe+9ijpV0BOqzUt7T7t7cQr+DqzoqekVqBDStMCpyFAOS + o+xcXjrJH4gvmhsUP1AiawhDtrC4apqMFaK0p1ppplKFYacStSkdoJ2GY2jdHhMRwUDT7piZfBVl + HOnpAazQjwg2ORwG6Fpba6eU/oYqtRG1gjwJEr5KAje4NTz88z7Iat9VBlwXqTUaHoIzW6NWo/ri + CqptnjsM5w60NoqAVO9dZIIipS7jxMXdyDKMCzVqik65rZ5/0zapyyQwDlRzcsAVWDTYVXFzkbmg + 0QYlaxEfuwWi10I7Q0bpb9G9FP5/6j5cnvQlNhuqUNYlHFPWcmjW1O5xeAT2Vi0MJCzIZhkNFFMN + CCPTCFbRw70W25mkOHiix0oW+eyBrHWgTSe6XDyjw08OPBGuPro7QW7TweKJWku0ZmN9XLJkOAHD + McH7MrE8XkUb04JCOde42k5iSbjkdGsq+utiT+kiWU6HFW1cYMSoc+dfbHzSTSYnrxGl3R2STxVG + DGXxeQRRynVaL9KQG7OvHblHVnWLyCvMQODC1umXBs2o6+GYvin+iN9JL/YCjEddQoYGd5uaM767 + 9RBtK9Mj/j0j/CYlkv2Xtm8XBJvPksHA2vaBItNvjwuQqdHzFLNLSajalw9S3D4Utcg7lMfQiSb0 + +BgqmGxye8lQz/ROnVFi+AMvxHprTZWnGCPokC1dbu3YAH3iOD5NokypgGb3b8S3rey5uLmnLeli + e7tXxEvZLfOHM/BFXSIIXtV+aGDudDm8QWwWg9dpxL7Xn/CTH0dVWbuKRB2xeSabDD1Zq5IClOWz + ok8e6ttIk6yjzQYZ5M/4c4VYp2encrTSEBTzudPKOsBqLMG4dK0SM7bD7DVD/VJBM3uwtmtfYM4p + Yo2sCzVhEu1aQnrmWsPesa57AAq3+iQR45NHZ/Cac7cBgdf+WUCkkHzi+Soy6tUp6naRWtQKg6QH + GypZZVaT9J3Km2qEu99svCj9jEtgmZSfyxw6+fYJpYHgl6HMe0HW4dgCbAWNz8rL9KDPaqgrJN/o + CLsuccCrY4jw0zaioffIoLItF9x7N1Ox94cvNmxuqGDfjbosIm92IvTIpPR3cH39hF+I8mhvN85q + 79LxEO0+xC3FJ0Pp8T6sstXVk4s99m6I61Qy3dHguNuIUEi7EmvBZL3cfN1QAWpA6vqU+6OaamOi + 1zm5+BP1ve8V+binSvfmaVrsV/Grw7sfdWEIg82MZ7ygvkKcLAU5OshcEgEaL9QbSDkZcBH1XDvI + xb72iIez5CDgO9gwTvt1CiOIGetP8D+vhDDlvP2QOus2ECtpaL0nV+xFD4kAwwxIpt4UdZg39R1n + I8iDRAI6uI3Ar+LZI5uRiOldKO72g2MoZ9ctrjROESNM3jp0mJ1Cf748LwDUWAgXFwZdvB2X9MTC + SDFWoWaQUMNtN02nMtiq8iJjbWymjaRjk8plDqsk9WZNS7VgnKk9AUT4bCwIr2VXaQsG+cm0QF95 + qt+uihfSVHQP67Q9WMqasfKMJF5Dfc+FVy6BHArVOYZZTDEEvdyYWhN24KjXOzX0hSrGcGQpTYeI + HWqTOew62zJ2MnuXW+S07lu6V1MQ8lQdjEZsBANWkV3YiO9ghH859GjyzXNu9IdtRCIMPAN3uUpt + 66aqGiHv0l1p1XoXPkngyUPE+NJxE4W24kUULTH9YVyHT8vxC3uwvNwpM+QU2hWTZIa2SrfVrZJ9 + C1tvqEFSy8ZIbkoCBRjJjy1JvrfzDAND4zYYHu9Coil2tViiX+6H+igpLcXdGE8AUM6epPhBwK+e + EU9hpfd7Lzk7VcLamndGeSuneJwvc/KfsSY/ZoUoek35eEJ0GBKVSVs+7K6BICthF6HF1oa6WIjJ + DOJsBiA1s8YSGmLxfjCpc0MEJfLOcSjDhB1BXEQyIrdEr8LkTrMLVZudV1tteetAyWIeoT1PLHE6 + ObU7O01pf0xL4GngvYuCBkoUd5MCLYYRGVazaX+koWlKkv1hjI5AMG4Qn4TH3rDrMMiClUVqR92F + Iai5qljo7yLwi8gCKZ7G1CqkhDp4hIYcfoIO++RRRFu4qMQFmrFBUctFclR2rDAFv39iR5I6zcmO + gIfPSlLFUP3mYUKh577fQRvNISU9iuBHIliWaU93Bx+sThCwFSNL64HmT9APtrPGgKBL1Ann2XqK + ObFw7S5HwCrSMd5f/BjxX7ClW4GWwiKu1a5ZxJJYhIIC1rEtm3sRkyp6csAtr8sJ38+sXAhYWmy2 + 0dunxygxXCfkv++7ia26kumzo61oMKwh+gwNMM4ZD7+vTuCrACK9tlLDIypT/oLEAKZ8HPa9X9pj + DULa7hxt/ZbY1lwkCl75PqM6BuqlrtK0VxSAJVNHWq9UhEYQZFAEVBJCPZFYi7M2p3V65Tzx4mEy + 0s7swoNOOQDgUqQ5eEA1qTwXMLZJng8sBdgkiSxp277RuyA+YjZgNLLDTtzhdl/1xaRtm1dyO+lE + U51WaBr75e2cx0Ud/Li1bP6hgh5R5n6tYp15NmVnEXx3P0SfrFLwQvz2iDt4Rk5Xlg36idCtbBRR + COYKrIvbmBLXGKlP3LjLhbNBK4W4SEQZfUroAIMiowXWxX5wmum38wBOx2norCSJ+Yy1uNJD8gqJ + 2qerwBNxS6Gbe8uJ3TPiYzUnIWfafZGXbdOqNHAh9JIf6s+0wmcDUXQ4kisokGeqV7BPwxVabgEN + vPlFerdT5zvPt9jq2+RRkAVcndYiOU4RVTimc2eAvoMn3OJhOw5GnMbF3OFWbwGeAhBkRCQ2yEa9 + dGEt1hskAfuafZ8KNoJk0syemjRkrbCVBCxZdLk+6a7tb3WMZFvoceQq+lKrYpsfy+DJRMFSlI8N + fnOwKfb7HiBYNu1fDH4ywPnrsXyrzp4B1jXo1vfexBwhPnQYnBzDcTrg/IC+x7IbKMWzphIaXX46 + 58tdVvWH7CJB9as46LkmvhT4emN9yw1HoK0Zjoza3iWuW1oqbR5dXYbeFg++zMlYp3dedCGocUKy + 68imdVUhXUJL2qmry9VmQdeOlCzrGagkGXMcKOu26OhHkiMvXG5/UDXnfTKyR4bWXWB2IKVb0kHB + U5E3N+/A7ZlKuvdM2U4idQ2xUR8d4TdM1znoo7O2FWmSmbaS0p0BOw69niK678bT61/4zUsQ8gzi + lcZa3UJaU9Iv+Z4xV0XnjpG7D79yzxKlun9dZXDsLQW+Zpo6TqBbDXGfWKEXJ4eXE2yPzVNwjgo0 + JZKjGXi4IVUvNxyBDgvZaAsBb4iaTfCeOty1fKLZg4ws8UgCu5uGhQPFgq8QIeXPvp16Y+gaC92T + cl1yfMuTa271oqrW47O0dWyWsERZIbxkg+Mh+58smy8iiEORdHuidT9gTlRNMvuHPsGd6+GDoVpH + rjXY31F2eyKRi0mKwHxCfdMTqWrtREdfbjZ6lmUra8UYsmF7lmtXeEAEE7e+Z+oyZjRx6gXqBY52 + nWrfMtqmPRYQRd6ZJZdFSB/eoqqo65goye9AjfxF9TSz7R26JEwedEP96ia2xtM3PKFWkHb6D9Az + tdV/ZvSzpGEr4CV8+l3DgodjFjjz+R78EZNq1bSlgwVkVrWbEYRNhdG4yjKkhV/9RltQBgDfzGeq + IPGIVYo2juxpOtBBLqClPeyVoazchE6r8O37rROiyr/ZyDLAfNO0Pylgq0VMFl6PKJ3zsD8dvPGt + Dr1JEUgbkNvIFeMy3l1DXhfp+WTrft5G2psl6/f8Mw7hvOmNWorqyA5wRXRHxElaOhEFxotUYGPU + 1PA6LG1bsbNZFC/d5vSJcgI0IFkJKuyUCoZY0Y6iv34uwFvHgLLkOA7vbYoVzEWYgSAYSna0vJJP + vd744DRVP0QzfiSUMnuaPSxLrxjeg+tuT02K9z8oo2zhEX2RDmAlnN8Io3h8teZkJ7h+b85pC9/a + QlFJCwbtpT+PUu5A96nqxDHttTs2k4hrTQCH5XZPbYe23gP7NtoCZ6Y8cLy4yhdbw5QsSMIWUcS+ + Kq8cvjxfqlJBiD+lSV54gwjzNciK9XZBPDdJUahXPAaBUvy8n4tGbhnLGZ6jeO+uzs7tX15LYG+D + Iefd3dz08xcHEvp/V4o8dWdN1CR/R0nYAQyWalqadNuIJH2QMMan+UmZ8+bdnREsY6erGgqUTUO3 + PNGl+LSv4JDEQyGCEoesTvNTG+cNa74JAtg6qd9UB7UYQa1Bc+QBtp0yInDZ3Thr6tgE0F83sOXF + l4SSWbN/57CvCU+EI779PDqH71leT8Tf3la6yJEKk6ly28kNfWzS3GFXmC56LR7gY4YtIZLfLThK + Z6qWKrk0s9vlDcvI0IvhfkJyc5lyOLQjulzRPyifCdGJBPbVgX5A8X1o2q/23KPO2vrHaos6b9uM + jKZ7QL2pCy0WksrUPdb+whC8Iiug1SvniK4VqGiQKnYowBERzYpwzpPvjb2B/esS43sZtlUOuDRp + 8zQuhp1dbBGY+trFR/cxK95nAUNwVsRV6LJEw7miEH1ZJTCzhRHe9XxeBCCCrkUraj8lwKc+bT8W + 41QktOTTqU9U/BB3p1/hnbq5toexYkV4alQ0V2WrJwKo/iSZDyjvSmFNt27fuVIGLM2aZoTuCyaY + iWSHsKPMc7SDiE4KylqjM/Cj3fZ0HSV3VSBTPgpZH2htb0MaFcOpcN2HdGr5m45fEUFKqAegVMEd + vtEnhlgtnEryVjHsTnUeYjwv9c9Kgy8PvOv5SpynA7DxTWLv7tVmmrLhGv3qPAYekCaPEiWsKNi+ + 7Q8sjg18AMrjas5c5z+EjhwltZkGUPeAgqX0XOCTDddTrQu9W8nxKSExLuTr5SoNUwR42dEA1jTu + nox10SBnSt5z7xnamiUjBFsfiOA5a5itzxOO6NFCMppD4mSgwW1Etok= + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Range: + - bytes 0-8191/8192 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:31:09 GMT + ETag: + - '"0x8D72B35E0583604"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:09 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '10' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - fc6a3726-c911-11e9-9e95-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:31:09 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 01fcbf8f-d01e-003a-461e-5d8843000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - fc8d8562-c911-11e9-bd6d-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource6ced1ab1/blob6ced1ab1?se=2019-08-27T22%3A31%3A09Z&sp=rd&sv=2019-02-02&sr=b&sig=nux/B6t20j%2B%2BV2dA5tqYLZcYEBFa%2BRkKuRyNEtB/cas%3D + x-ms-date: + - Tue, 27 Aug 2019 21:31:10 GMT + x-ms-if-sequence-number-eq: + - '11' + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ced1ab1/blob6ced1ab1?comp=page + response: + body: + string: "\uFEFF\nSequenceNumberConditionNotMetThe + sequence number condition specified was not met.\nRequestId:01fcbf90-d01e-003a-471e-5d8843000000\nTime:2019-08-27T21:31:10.0554850Z" + headers: + Content-Length: + - '251' + Content-Type: + - application/xml + Date: + - Tue, 27 Aug 2019 21:31:09 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - fc8d8562-c911-11e9-bd6d-001a7dda7113 + x-ms-error-code: + - SequenceNumberConditionNotMet + x-ms-request-id: + - 01fcbf90-d01e-003a-471e-5d8843000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The sequence number condition specified was not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_sequence_number_lt.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_sequence_number_lt.yaml new file mode 100644 index 000000000000..bea4ded5a91f --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_sequence_number_lt.yaml @@ -0,0 +1,699 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - f88ccd82-c911-11e9-8b3e-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:03 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource6cfe1abb/blob6cfe1abb + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:31:03 GMT + ETag: + - '"0x8D72B35DD04C372"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:03 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f88ccd82-c911-11e9-8b3e-001a7dda7113 + x-ms-request-id: + - abadab76-701e-001c-641e-5dc05b000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - f8e316a2-c911-11e9-bab1-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:03 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource6cfe1abb/blob6cfe1abb?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - eTFg+kLcqpmIsCltsdXGaw== + Date: + - Tue, 27 Aug 2019 21:31:03 GMT + ETag: + - '"0x8D72B35DD22F9EE"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:03 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - f8e316a2-c911-11e9-bab1-001a7dda7113 + x-ms-request-id: + - abadab7b-701e-001c-671e-5dc05b000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-sequence-number: + - '10' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - f909710a-c911-11e9-83fd-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:04 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6cfe1abb/blob6cfe1abb + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:31:03 GMT + ETag: + - '"0x8D72B35DD4639B5"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:04 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f909710a-c911-11e9-83fd-001a7dda7113 + x-ms-request-id: + - abadab81-701e-001c-6d1e-5dc05b000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f924878c-c911-11e9-9215-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource6cfe1abb/blob6cfe1abb?se=2019-08-27T22%3A31%3A04Z&sp=rd&sv=2019-02-02&sr=b&sig=b1BtcwZVuuG5W8pkZE%2BhDy2hvbWPyAIO4hoXBM5c6Tg%3D + x-ms-date: + - Tue, 27 Aug 2019 21:31:04 GMT + x-ms-if-sequence-number-lt: + - '11' + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6cfe1abb/blob6cfe1abb?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - eTFg+kLcqpmIsCltsdXGaw== + Date: + - Tue, 27 Aug 2019 21:31:04 GMT + ETag: + - '"0x8D72B35DD5FB4DD"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:04 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '10' + x-ms-client-request-id: + - f924878c-c911-11e9-9215-001a7dda7113 + x-ms-request-id: + - abadab85-701e-001c-711e-5dc05b000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f93d7c9e-c911-11e9-be6b-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:04 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer6cfe1abb/blob6cfe1abb + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:31:04 GMT + ETag: + - '"0x8D72B35DD5FB4DD"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:04 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '10' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - f93d7c9e-c911-11e9-be6b-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:31:04 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - abadab8f-701e-001c-7b1e-5dc05b000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f9553a08-c911-11e9-9d09-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:04 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer6cfe1abb/blob6cfe1abb + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Range: + - bytes 0-8191/8192 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:31:04 GMT + ETag: + - '"0x8D72B35DD5FB4DD"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:04 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '10' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - f9553a08-c911-11e9-9d09-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:31:04 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - abadab92-701e-001c-7d1e-5dc05b000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f96d6c62-c911-11e9-925a-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource6cfe1abb/blob6cfe1abb?se=2019-08-27T22%3A31%3A04Z&sp=rd&sv=2019-02-02&sr=b&sig=b1BtcwZVuuG5W8pkZE%2BhDy2hvbWPyAIO4hoXBM5c6Tg%3D + x-ms-date: + - Tue, 27 Aug 2019 21:31:04 GMT + x-ms-if-sequence-number-lt: + - '10' + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6cfe1abb/blob6cfe1abb?comp=page + response: + body: + string: "\uFEFF\nSequenceNumberConditionNotMetThe + sequence number condition specified was not met.\nRequestId:abadab97-701e-001c-021e-5dc05b000000\nTime:2019-08-27T21:31:04.8031834Z" + headers: + Content-Length: + - '251' + Content-Type: + - application/xml + Date: + - Tue, 27 Aug 2019 21:31:04 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - f96d6c62-c911-11e9-925a-001a7dda7113 + x-ms-error-code: + - SequenceNumberConditionNotMet + x-ms-request-id: + - abadab97-701e-001c-021e-5dc05b000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The sequence number condition specified was not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_sequence_number_lte.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_sequence_number_lte.yaml new file mode 100644 index 000000000000..2a0c5bc846e4 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_sequence_number_lte.yaml @@ -0,0 +1,699 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - fa22233a-c911-11e9-804f-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:05 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource881e1b20/blob881e1b20 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:31:05 GMT + ETag: + - '"0x8D72B35DE8EBFA1"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:06 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - fa22233a-c911-11e9-804f-001a7dda7113 + x-ms-request-id: + - d6b8e48a-a01e-0030-571e-5d2cf4000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - fa6cb49c-c911-11e9-bd50-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:06 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource881e1b20/blob881e1b20?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - 3yEKF5Ks8V/kwcIhmJWAOw== + Date: + - Tue, 27 Aug 2019 21:31:05 GMT + ETag: + - '"0x8D72B35DEA3CE32"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:06 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - fa6cb49c-c911-11e9-bd50-001a7dda7113 + x-ms-request-id: + - d6b8e490-a01e-0030-5b1e-5d2cf4000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-sequence-number: + - '10' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - fa83884a-c911-11e9-9fa9-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:06 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer881e1b20/blob881e1b20 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:31:05 GMT + ETag: + - '"0x8D72B35DEBA1555"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:06 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - fa83884a-c911-11e9-9fa9-001a7dda7113 + x-ms-request-id: + - d6b8e49a-a01e-0030-651e-5d2cf4000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - fa988880-c911-11e9-b78b-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource881e1b20/blob881e1b20?se=2019-08-27T22%3A31%3A06Z&sp=rd&sv=2019-02-02&sr=b&sig=/p3vhAxYVNRO5d1CiZozkq8jSq0ZNcDLOjlWb0RiDoo%3D + x-ms-date: + - Tue, 27 Aug 2019 21:31:06 GMT + x-ms-if-sequence-number-le: + - '10' + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer881e1b20/blob881e1b20?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - 3yEKF5Ks8V/kwcIhmJWAOw== + Date: + - Tue, 27 Aug 2019 21:31:06 GMT + ETag: + - '"0x8D72B35DED93617"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:06 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '10' + x-ms-client-request-id: + - fa988880-c911-11e9-b78b-001a7dda7113 + x-ms-request-id: + - d6b8e4a6-a01e-0030-711e-5d2cf4000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - fab9dc40-c911-11e9-beb1-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:06 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer881e1b20/blob881e1b20 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:31:06 GMT + ETag: + - '"0x8D72B35DED93617"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:06 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '10' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - fab9dc40-c911-11e9-beb1-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:31:06 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - d6b8e4b2-a01e-0030-7d1e-5d2cf4000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - fadae21c-c911-11e9-afdc-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:31:07 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer881e1b20/blob881e1b20 + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Range: + - bytes 0-8191/8192 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:31:06 GMT + ETag: + - '"0x8D72B35DED93617"' + Last-Modified: + - Tue, 27 Aug 2019 21:31:06 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '10' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - fadae21c-c911-11e9-afdc-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:31:06 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - d6b8e4cd-a01e-0030-141e-5d2cf4000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - fb057f18-c911-11e9-9df7-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource881e1b20/blob881e1b20?se=2019-08-27T22%3A31%3A06Z&sp=rd&sv=2019-02-02&sr=b&sig=/p3vhAxYVNRO5d1CiZozkq8jSq0ZNcDLOjlWb0RiDoo%3D + x-ms-date: + - Tue, 27 Aug 2019 21:31:07 GMT + x-ms-if-sequence-number-le: + - '9' + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer881e1b20/blob881e1b20?comp=page + response: + body: + string: "\uFEFF\nSequenceNumberConditionNotMetThe + sequence number condition specified was not met.\nRequestId:d6b8e4d1-a01e-0030-181e-5d2cf4000000\nTime:2019-08-27T21:31:07.4996355Z" + headers: + Content-Length: + - '251' + Content-Type: + - application/xml + Date: + - Tue, 27 Aug 2019 21:31:06 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - fb057f18-c911-11e9-9df7-001a7dda7113 + x-ms-error-code: + - SequenceNumberConditionNotMet + x-ms-request-id: + - d6b8e4d1-a01e-0030-181e-5d2cf4000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The sequence number condition specified was not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_match.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_match.yaml new file mode 100644 index 000000000000..9a62776d7ba1 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_match.yaml @@ -0,0 +1,761 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - dd9c51c0-c911-11e9-978c-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:18 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource1df01966/blob1df01966 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:30:17 GMT + ETag: + - '"0x8D72B35C2071219"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:18 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dd9c51c0-c911-11e9-978c-001a7dda7113 + x-ms-request-id: + - 1028ab07-f01e-0012-7a1e-5de9eb000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - dde4fde8-c911-11e9-af5f-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:18 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource1df01966/blob1df01966?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - RZMdJPLg2RiKOV4kXSVkcQ== + Date: + - Tue, 27 Aug 2019 21:30:17 GMT + ETag: + - '"0x8D72B35C218EC9B"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:18 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - dde4fde8-c911-11e9-af5f-001a7dda7113 + x-ms-request-id: + - 1028ab0f-f01e-0012-011e-5de9eb000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - ddf67e3e-c911-11e9-bc36-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:18 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersource1df01966/blob1df01966 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:17 GMT + ETag: + - '"0x8D72B35C218EC9B"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:18 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - ddf67e3e-c911-11e9-bc36-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:18 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 1028ab18-f01e-0012-0a1e-5de9eb000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - de085888-c911-11e9-a89f-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:18 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer1df01966/blob1df01966 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:30:18 GMT + ETag: + - '"0x8D72B35C241D16F"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:18 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - de085888-c911-11e9-a89f-001a7dda7113 + x-ms-request-id: + - 1028ab22-f01e-0012-121e-5de9eb000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - de1f9a0a-c911-11e9-9b9d-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource1df01966/blob1df01966?se=2019-08-27T22%3A30%3A18Z&sp=rd&sv=2019-02-02&sr=b&sig=C2lMlDpQKSWSlNc4OFAEkXhFoFIiFBPG/ASHzGV4lXU%3D + x-ms-date: + - Tue, 27 Aug 2019 21:30:18 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-match: + - '"0x8D72B35C218EC9B"' + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer1df01966/blob1df01966?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - RZMdJPLg2RiKOV4kXSVkcQ== + Date: + - Tue, 27 Aug 2019 21:30:18 GMT + ETag: + - '"0x8D72B35C25CAC9C"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:19 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - de1f9a0a-c911-11e9-9b9d-001a7dda7113 + x-ms-request-id: + - 1028ab28-f01e-0012-181e-5de9eb000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - de3acd42-c911-11e9-8ff3-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:19 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer1df01966/blob1df01966 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:18 GMT + ETag: + - '"0x8D72B35C25CAC9C"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:19 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - de3acd42-c911-11e9-8ff3-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:18 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 1028ab38-f01e-0012-271e-5de9eb000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - de54dd12-c911-11e9-bae4-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:19 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer1df01966/blob1df01966 + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Range: + - bytes 0-8191/8192 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:18 GMT + ETag: + - '"0x8D72B35C25CAC9C"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:19 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - de54dd12-c911-11e9-bae4-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:18 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 1028ab3d-f01e-0012-2b1e-5de9eb000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - de6cae00-c911-11e9-be75-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource1df01966/blob1df01966?se=2019-08-27T22%3A30%3A18Z&sp=rd&sv=2019-02-02&sr=b&sig=C2lMlDpQKSWSlNc4OFAEkXhFoFIiFBPG/ASHzGV4lXU%3D + x-ms-date: + - Tue, 27 Aug 2019 21:30:19 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-match: + - '0x111111111111111' + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer1df01966/blob1df01966?comp=page + response: + body: + string: "\uFEFF\nCannotVerifyCopySourceCould + not verify the copy source within the specified time.\nRequestId:1028ab42-f01e-0012-301e-5de9eb000000\nTime:2019-08-27T21:30:19.5398590Z" + headers: + Content-Length: + - '251' + Content-Type: + - application/xml + Date: + - Tue, 27 Aug 2019 21:30:18 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - de6cae00-c911-11e9-be75-001a7dda7113 + x-ms-error-code: + - CannotVerifyCopySource + x-ms-request-id: + - 1028ab42-f01e-0012-301e-5de9eb000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_modified.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_modified.yaml new file mode 100644 index 000000000000..4e1b6e923b03 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_modified.yaml @@ -0,0 +1,756 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - d38b9e22-c911-11e9-b9b5-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:01 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource6ca31a9a/blob6ca31a9a + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:30:00 GMT + ETag: + - '"0x8D72B35B7F1B8A8"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:01 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d38b9e22-c911-11e9-b9b5-001a7dda7113 + x-ms-request-id: + - bcb69fb3-901e-0004-381e-5d1f3c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - d3cff964-c911-11e9-bc54-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:01 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource6ca31a9a/blob6ca31a9a?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - SmEXIAkuxzsielsf95YPHw== + Date: + - Tue, 27 Aug 2019 21:30:01 GMT + ETag: + - '"0x8D72B35B807B1A2"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:01 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - d3cff964-c911-11e9-bc54-001a7dda7113 + x-ms-request-id: + - bcb69fbc-901e-0004-3e1e-5d1f3c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d3e53ffa-c911-11e9-868f-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:01 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersource6ca31a9a/blob6ca31a9a + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:01 GMT + ETag: + - '"0x8D72B35B807B1A2"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:01 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - d3e53ffa-c911-11e9-868f-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:01 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - bcb69fbf-901e-0004-401e-5d1f3c000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - d3f75bee-c911-11e9-acc0-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:01 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ca31a9a/blob6ca31a9a + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:30:01 GMT + ETag: + - '"0x8D72B35B82B3F76"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:01 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d3f75bee-c911-11e9-acc0-001a7dda7113 + x-ms-request-id: + - bcb69fc3-901e-0004-431e-5d1f3c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d409104a-c911-11e9-86b0-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource6ca31a9a/blob6ca31a9a?se=2019-08-27T22%3A30%3A01Z&sp=rd&sv=2019-02-02&sr=b&sig=14QS2GAkVqMMzwmzcogIo/RwAtYbaggEnXt7hRDB2OY%3D + x-ms-date: + - Tue, 27 Aug 2019 21:30:02 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-modified-since: + - Tue, 27 Aug 2019 06:30:01 GMT + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ca31a9a/blob6ca31a9a?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - SmEXIAkuxzsielsf95YPHw== + Date: + - Tue, 27 Aug 2019 21:30:01 GMT + ETag: + - '"0x8D72B35B844459A"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:02 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - d409104a-c911-11e9-86b0-001a7dda7113 + x-ms-request-id: + - bcb69fc8-901e-0004-461e-5d1f3c000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d423a1f6-c911-11e9-9d66-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:02 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer6ca31a9a/blob6ca31a9a + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:01 GMT + ETag: + - '"0x8D72B35B844459A"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:02 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - d423a1f6-c911-11e9-9d66-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:01 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - bcb69fd4-901e-0004-4e1e-5d1f3c000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d44272dc-c911-11e9-bf40-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:02 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainer6ca31a9a/blob6ca31a9a + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Range: + - bytes 0-8191/8192 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:01 GMT + ETag: + - '"0x8D72B35B844459A"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:02 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - d44272dc-c911-11e9-bf40-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:01 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - bcb69fd8-901e-0004-511e-5d1f3c000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d455cfd0-c911-11e9-8731-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource6ca31a9a/blob6ca31a9a?se=2019-08-27T22%3A30%3A01Z&sp=rd&sv=2019-02-02&sr=b&sig=14QS2GAkVqMMzwmzcogIo/RwAtYbaggEnXt7hRDB2OY%3D + x-ms-date: + - Tue, 27 Aug 2019 21:30:02 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-modified-since: + - Tue, 27 Aug 2019 21:30:01 GMT + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer6ca31a9a/blob6ca31a9a?comp=page + response: + body: + string: '' + headers: + Date: + - Tue, 27 Aug 2019 21:30:01 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d455cfd0-c911-11e9-8731-001a7dda7113 + x-ms-error-code: + - CannotVerifyCopySource + x-ms-request-id: + - bcb69fdc-901e-0004-551e-5d1f3c000000 + x-ms-version: + - '2019-02-02' + status: + code: 304 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_none_match.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_none_match.yaml new file mode 100644 index 000000000000..9fa75b1b4a3b --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_none_match.yaml @@ -0,0 +1,756 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - e6d4c2dc-c911-11e9-b353-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:33 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcea34d1b75/bloba34d1b75 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:30:33 GMT + ETag: + - '"0x8D72B35CB3C6B87"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:33 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e6d4c2dc-c911-11e9-b353-001a7dda7113 + x-ms-request-id: + - 7f025773-701e-0041-4e1e-5dcadf000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + +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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - e71bcac8-c911-11e9-b967-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:34 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcea34d1b75/bloba34d1b75?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - 5fM110yKF6H9eoUmFVcjyg== + Date: + - Tue, 27 Aug 2019 21:30:33 GMT + ETag: + - '"0x8D72B35CB51532E"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:34 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - e71bcac8-c911-11e9-b967-001a7dda7113 + x-ms-request-id: + - 7f025776-701e-0041-501e-5dcadf000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e72f2de8-c911-11e9-a797-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:34 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourcea34d1b75/bloba34d1b75 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:33 GMT + ETag: + - '"0x8D72B35CB51532E"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:34 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - e72f2de8-c911-11e9-a797-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:33 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 7f02577a-701e-0041-541e-5dcadf000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - e743a764-c911-11e9-aef5-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:34 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera34d1b75/bloba34d1b75 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:30:33 GMT + ETag: + - '"0x8D72B35CB7751E9"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:34 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e743a764-c911-11e9-aef5-001a7dda7113 + x-ms-request-id: + - 7f02577f-701e-0041-571e-5dcadf000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e755b26c-c911-11e9-aa7e-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcea34d1b75/bloba34d1b75?se=2019-08-27T22%3A30%3A34Z&sp=rd&sv=2019-02-02&sr=b&sig=b8A195Fq2LUA6JZiUAb7ue4wc7fJQyYNh5qwC%2BIzWIU%3D + x-ms-date: + - Tue, 27 Aug 2019 21:30:34 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-none-match: + - '0x111111111111111' + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera34d1b75/bloba34d1b75?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - 5fM110yKF6H9eoUmFVcjyg== + Date: + - Tue, 27 Aug 2019 21:30:33 GMT + ETag: + - '"0x8D72B35CB97AB1E"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:34 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - e755b26c-c911-11e9-aa7e-001a7dda7113 + x-ms-request-id: + - 7f025785-701e-0041-5c1e-5dcadf000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e776e2ae-c911-11e9-b76b-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:34 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainera34d1b75/bloba34d1b75 + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:33 GMT + ETag: + - '"0x8D72B35CB97AB1E"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:34 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - e776e2ae-c911-11e9-b76b-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:34 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 7f02578e-701e-0041-651e-5dcadf000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e7888c7e-c911-11e9-b327-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:34 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainera34d1b75/bloba34d1b75 + response: + body: + string: !!binary | + +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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Range: + - bytes 0-8191/8192 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:33 GMT + ETag: + - '"0x8D72B35CB97AB1E"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:34 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - e7888c7e-c911-11e9-b327-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:34 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 7f025794-701e-0041-691e-5dcadf000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e799a08a-c911-11e9-9468-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcea34d1b75/bloba34d1b75?se=2019-08-27T22%3A30%3A34Z&sp=rd&sv=2019-02-02&sr=b&sig=b8A195Fq2LUA6JZiUAb7ue4wc7fJQyYNh5qwC%2BIzWIU%3D + x-ms-date: + - Tue, 27 Aug 2019 21:30:34 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-none-match: + - '"0x8D72B35CB51532E"' + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera34d1b75/bloba34d1b75?comp=page + response: + body: + string: '' + headers: + Date: + - Tue, 27 Aug 2019 21:30:34 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e799a08a-c911-11e9-9468-001a7dda7113 + x-ms-error-code: + - CannotVerifyCopySource + x-ms-request-id: + - 7f02579b-701e-0041-701e-5dcadf000000 + x-ms-version: + - '2019-02-02' + status: + code: 304 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_unmodified.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_unmodified.yaml new file mode 100644 index 000000000000..804e278fe32d --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob.test_upload_pages_from_url_with_source_if_unmodified.yaml @@ -0,0 +1,761 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - d8805ea8-c911-11e9-a128-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcea3c51b7d/bloba3c51b7d + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:30:08 GMT + ETag: + - '"0x8D72B35BCEFCE9E"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:09 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d8805ea8-c911-11e9-a128-001a7dda7113 + x-ms-request-id: + - 564051bf-b01e-0003-4e1e-5d735f000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + 9RL4yI7gVB1NNvXVAJpsVPr6CNTbK+eiSGL9wm/BWRQfGcR6sdhZV8ISHX7T9t5GYvXuEibb3t+T + juDESz4p4cI9JnhlH6wATW51j0wILrjouZGYdTGLMvxw3kv51NR3QojjO+DEiuKOAhCsdNKV+Pt3 + i8lfadujXC4S+gf2jpoovmS7eIEjrPFjbyA3Fx3TP6hjhdV6vCoLH25yx8jCiZhdFKoyNWvI0hd4 + oIahoPQhYsJ0oFxePrWtKW8FsJvPW5xiMmszf2OoZ4MFoPyMbVYk4BG4TmF3jB9cQvoqGvTUdtoc + ehwE0wlnzG06H/RW0KK78XGwuqhKh+fY3bkraCHxgGDzTUimOHG5EbyVnmviRCA2RWKx3DB7WJ07 + cbyilrSLUGIM5D6jUMP24XgYnizBQ/vPpaYAuvuaPCGddX2+0KTEeQG23g6KV50KbMQA0xgM0vTv + BWm+WZcMHZYh45N0eLq45dGXadUZ7bqkcyMMlm1G5KeTDJzhX+cvnPz6a0E0M+n4tUn5PVZMFIaH + d8/7mIHMwxbZurBfvJaZfLYKB5oVPnW51jtNAyQezPx1aF+zwVRLxK+kWMAdsdDxcKTRydBbk7Qd + n9hzBT342D9xFSCaAotSeSp5bNhM7rz3XhxxmHyWcPtrDa27mxqhRhnNz5Rx3exztmGwQ8jFxiSB + RPQ7GzAcUF2rwt8SVUFkxeDS9Cdn5xG8XqzFGZH+crwMzJrYX495VXcLMT/tuamwkUphGE9AcO1U + qZ2CMjKnxvPnAZ2tw/71ObZC7yTRQ9Qdq4nAov5w/hcNcwvn85bbvZI62Ez2vxOqF5mEpNlOuYI2 + Fl1nlCSMrqtwGXIFeSYWczic4KyCd7hln6nYsALkadA7nMlOOu85MEzas4vYotVQZrw6Y2NZs9Wf + T9zKxaJYU0G50QVuVGW9xl6vvpdeAibcFNhw6D/L+u6rpqtUiTGKWce5hnHlgRuoqTqzfcV+Lsxs + PqMs4WWn/ikNiTB+VlAkLVqNQIy+LVrq64KdSCC3mUyf0ro1v4vHQtFunMy0qyDymbChwthNHWDa + Dh+vTPqOiufWF958NMBmqemhxffTygpGzICa0UQNnXEky8J2vLLYG+40G8CI97ZPJSVqni1MBTx9 + XoSge93BzJBZkya7oz3nYCLOEu09ve+engV70Q1K989MMtOSelCKVLKhx6+HCg1izBLEfYoLM9oZ + /VZHG4JigjFImFNQmUmMemsr8JMaTwBzptusZrh+YsGZ/YDtsw+/fIKhvvocjk+4kbjzL8UE8cty + FnLDlyInV3HrLQVfJHFCah0jC4QRi1UaVZ9LNFVwBAWa/ZZL7OsmzCT3VFkvfOnzOj+99ZvoGTiE + vTMtCWco171iaTERVqhKvvqKqe0lu0jcBD/fVOewvCNjGlouhIcU712N6rBKOivHqRWU4NAr0jo9 + GdjmDsnx163MhSP8tNPDcbafLmZzcyNNCKtGnhdmz/COdim8Pn7Y8B1mFOYeyX9g+9Ak3BiIXCa0 + rEd+xQXwx/YcrHs0o3IrPHgR0YVMwlJJ69zsW8JvMNSfiwnS17WbhC6A5TirFQwUec8aChDejMZb + XblLvo4gnIlmx/CwhLEkCarPQ/Dl/PGhpWdRNBCvCZ7QSGWeY3MQ965RsGv1bR4qqHBH4rPD3D3J + pQp8ScYeDC6wnePgcG9FMx0uSHSr5rqpnoPKX7uabo9Gmuti63sw6+j5rIN6upJ7uTmYEoA5xYrd + 6tukktZK4iifH6QOepC+OGg8mEd54LEq5UzNKSzU0D6CPRyEU7z4H5Pjx+y2JWDkWwm92+uS5rhL + pU8KRg7GriswK4Wo7t3FfW/yvr9VPCHqLmbtLnsu+z/t9UANFYqfXpzhNYKaBVPxLtpbyPsEJdv3 + HMwfeyGk3oFFjdy3LqqwacOF/HxU1mx9JFYkK+Zw4TKl+sTEl309YKyyXTFRccJeb+lR3jWtW4Z7 + DqXqIDGwIMuErmqTULVk1ka8E356sQLJ2PUJ7z6b0/mcqL52uUJSwDmYHWwTsuvGVfDsP8+nRR/K + U6BRhso61a/A9cr40v0HES+X4o1Z9tNsFR1I8FJ0rTtn/IsYVAymEP0HYqzkKbX6TMv65h449sEE + ZZ2EQTphPfRlAA3jbourwYuT5qgeeiWAEzOhuttpZ67HBTu0xbHapnfnaA1E1S0RvxKKomm/M2tq + 4t8j95MLkqwbC2lsnSOTUS5FcoZu96VHcgFBaR2RBluiwC8Rtl3up1emZ14ixMwnD4HP0tX6oIax + mhrxnRH36MC2jWRnfUi5n/uXj9Lqst5GQvDYzMqPe1IO03KVR2+P/AYU9xISppEHv3LzpTBscrIK + AUxThiYmYlhAQVHFplKEwmgBNhAofFwrwIR4DABuX+oqIDV0YodmErIp9ShaYndg614F8I4CNdyc + QxAVKAgDFcY8ktn6Of58GFsk0bPeInAQagt94i1dN626t8I5iPinGeUGjbrf/WxQFNaM0altj3QN + 13/tv8iv5x07beT+2WpbkOOlFK+8KwPHyjXR8mCpf80sq7ajxfvbWIbH45dnpyygQFlxz+J2pCoJ + kQFhswPbdjA1Ic1Fn4I0LRC5eewmv52Z4eza6lPVjASAIDwyDb5KQjyqNCXDzBZajGY3dGCfaKOO + jiEetreMyLtx69aX5zbbygzoJtK2DZawElwU9hbE+y6hHcIbMqnwUUWqAH0I+Hs8zTSYwuZtR9/3 + 61+5XlIDeSAqZuBi74UprwPhxSR3hw5AzV71B5ia3+9ihZJhosXD1p1Sup/DUS7LQkUPbx6jhge4 + yS/op1KjhlqlFTC1f/Xkya0rbkiiVnVhmg7OiLG+XVKUZzV+Tv6izTBRz7mPtNzrodKSoBPlDio/ + G05p8foM4gkz3OM81sLTGMTIca3OtfhHB3E4kgZ+OnOWaNk0IenlI1YlHaNT1jjLMvqM24/TXCAV + WQU894Tj8ne+mqi7dzECZFJC3xb8fjV+DUcN/hO/HagkhynQdtCPu73zK3mHUAHZ9xBD/Um/QooM + JzEvBLOPx7/SDtM/xsKH9bvooJmM6Dy0lecE3y0LCnQcXQuqzU4veVENmT5i3cJex320BN8ydp/y + YLf1+qGIxUsqjHfe6V8vEbrks0n2grzAITPVJOK/76eH6MX5Zf0DcutI5/WnKhj4Yj6Leq0lmh1L + 3scpFXcev3pEdpWNRQe/GfqdeC6wNa+h6pKcCfV9WvoiVEcF1CiqlUVVuXCBiVvkmqCN5bWW0WTW + SchlWk7MD9R3w5UP99pFve7IfWgYL0yEfFvywwg1EymwCuDEv0wcJZ8aEJne3uul/Bn3I5sApfnx + fD9p1J3f28qZhstgkyineNgvfqEpxQm0Nm2ZhKH+ormkqPKwT44VZJKf8jjW4IOq2xZ2BuaZa+7y + yHHHYwDptiGRetsdAjWLoY91S4TPi9/05D8o1GaXLBpIg9O4C2cQrwSQPHRKRr/f4SH8jfeVZEcJ + IvNrBtuOw5cBrEFfTSPR1i14kgSA7ay0TkxCvaKmbPgVhl7IPw7HT34/5QC2qfS6dL6xn/GL3Wnz + Hk4ByNGgp24y0GzqODZ/ZCwufQpsj/6IHve3NN/hmFWjnFLAbTdj3tDWIHXJ46uyKqdgsUCUGu6Z + YQ6uFmSsUBUTslzuM1eXIePyQ6Rc/EoMAHxh15ZvX3i4H7da6hpuqklZ7V++ryphqmo7UkNylVY8 + w41jh/1yPvNTMtig0rfcRCh6+uPO9YkVqbVsPZfzVpNMU9kklO3FpIcFJF67rxCA6MibObPjyI7H + sxs6q3R1UgXPpEbmJiGcza9g8fMf8UJLpYibWVkMPyo2GevRD30MMGsqg/ctDX6rhiwqr+xBcexZ + jwOB9lu4QomVCjvhBSDjGzupabpQdhcd99BTaT/+1emgDZunJ+mAh+CQjMf2lADx7J+S+Zk0pbH4 + vSHfUQoHArCioO/s5YCtkeqHw0y8M1gMq+QHwpxN11ci4S3mF/yEju4hPE+Uh/ZShyWQTT6T5hBw + 7cGZdmq3WKwXQz25SuEnKNeN09jE7YwmlhvAL6yOXB2QJqdB7/I5TZtO99ICNfL0N5Zg+6aaGeyU + JD+Uh4t0g5ICHW3bO8VF0J0qspLOZfQTodQjA2PfiCemuRwHKGad0N0SrjmpvWMIU5vuRs4cFJxI + P8PcP9NrOZFvj2TyXPQ8HzR9I0YTpGvxKcr3BVLqxoiej60ZFN1Zr5CY1a+39OUdTABZdoKE4Ed2 + fPKJojoUft8aBjKK3lGfBRa5M7t0YE8TF3+2qbHdlKIW/SxW9wNWT0WcD4Ui46LbExU8rsK36Q+t + aOKevcwHBolS/qm3GB70odQ1C027ZiBDwXN1c1FM+DhnUuplDL8G2vEvGNvl5AmUonSx27Ytulh0 + Ksn67qZrOtB9fY+I+MMP++os9FEfwu1P47RqRJRR9IB+6GrG+FqF1lCXvhjnu74bYOc9cnPiQI1W + OwpOrDrIUq7wqdhWCSquIMQxayY7OFZRspS13snwlVS9CnRUquIw23VwrRh3Px9HzE/YBufLKq8z + RFxoM7mWsIwBkfNxmaztLfq0d8q53FB7wy7gaceIRPq+jEcAdRh9Y3YFEzHdOG8oCw11F1eX68GA + QY4pLPOJIA0I+DNn8JF95o07CNFW8gPPIEE/fc8hO0YUW8S9RV+UOwAIAXg4wDiEanHj1HuTTfZ3 + kVEHGxFza/5ilTMREMcEvDa7VMN0Sh265M10pqvwP/y8EdPoFIsrB2HYt8mPXXZvRNXTJmI5myis + u8g9b6AFh2Z6OzCMJ22ZnZcwFZJsV5bm+UIA6UIH80sBKq4iTPRLyCCIww+eWeXzKR6M5Iw6YJnF + YzSys+Zu3VNhyqepWEDV9ESfeZCCPDOdmW1cq8787hS5NBJZFH/1V7Aw1yTGnLnAwC5T/sdFY75n + vIlEy4wEy2KkgRAsw6fwi0RLLVnhutjzmsEq6SfuThHFsA8HBSAIMLwn3DKX5UItX/d5D+rqxgik + TxztDkar7kIBPrUDsLSDQbTENTGuOjGcmEpYiDOP1sFDoLcuvbq3W8vMI99wCl0vr8wWuosFHGkY + KksfU14DdDabhX/woIYnkCmlint62T9PCezgbTn3FatBOtVe769v91uYVokSpdLz7/WOk7sTY4Hh + fAXgcUKaDdhdk2EMHnWOH+iUgVw4mo4Ne3emPD24eGt3RigCS7Gxa5kxyxQI62E+WJ0yWr4CGdc6 + hFK5U/3nJmTCNNIKG6Ygobm1RuA9mVeaMms9K2foh7QxiFiCoGK/pxO7pzjcTVtvP/wu3BhCTxAQ + xFcw096D73IvK/NZ2IJk/ryK+6lqFf0vUQu0vI9NiUBqCNJ397YOTaLUtemxsMIJ4XtdBTtTU2Lf + WyBgSlXny6WGEERFBZLB9pDLlZaXmjZz5xj9r7jLIX5HZkvkNy3YlXFi1i+dZeDHUT/diCA0gWI2 + URUMpugLVCdwlOOZE/KVTFKFpgY2ejcnm9ibYr4egFzWC+4jTr7aKurnWuZ9ue2krpexIER0puay + g9Hxw9rb5fv5SydY6s3oCBIrhokHxy814njeToQXFS6GS6NAl3uZ41UPnKA1Ol7ggwCx9nF0SGs/ + QxN+lm9YDDUgcOGQJ1+0QOVXa+NqACLqNi9+xDpcLRa6Ypr8APU8Br2kFKI9fUU1c8Y1duIem0jt + Zalow7MW+qkpdvbqJ8jmXSt9XvxkH8H71mg1QZPeZ5E60oBguuMfi2Z4UZj1Iikt1XR9yXrAMSrk + Bb4+hVYr8CepZoIioZIXHy2++6BfPDj4woc0AxUrFy59hQNR3Zu9WyeiXGqyGqvFGPXCctyMSsOd + y5IWx8N+aP2HH+wBf5SIo6QHxbQEoaQJnZlYGnJcZdou7WGATBE+LeXxoj0s3zIg+sCaZR5p1+KJ + FrAxTm0Loabm6riGOqhkZAUOEVZ42jgHqk7ZKAeonaWeRwD9bRFpU1mBJReuzrejtRMB5bhsXm74 + FUfUlb9CN7ng05SmzsBoo8YAuFp5wWlkOlkl8sRybEReNeujdIj48Dbq3Uk3YxhW7VDMA37N+3Ld + qG1Fu/iK6JrFZX+G1+eio9Ev0iLl93xQ7q9GJIr5qRQB9VgZfntMNTMf3hyfIH47eBftefxCddj2 + EnpkrYkIHP6U+zKIxMr5qqXRRrgzyFKwPeb3hmQ7R4btpxbo3YKLMK9XSIGZUTuPO9SNe6ey6eVI + FFgCA5iyMnUi2TSm+BA7GrCMpbGhwHw39MoGVRBQ35CyywRXsQ8HPMppGXNIFQ1ALjgK4G775h/Q + l8AfZZu3Kt+91eFZT1K8s6JxmWxpx+o/agl8HBmT/ZXGBq7MlVpJ9i/V98y8+xuwHYy+I/oFzvLK + cInKNV7ja170QGuXoju1ia0M9+Pl2SpeNZcElEQ4Nrhl6IW+z2IUSmx8RThWaQXGl5y1/CZZoakG + Jdqitll4C2FKGYrtGhw8z3XS/VoCacZdxYifRRD1I61RC4SN2mbVFmlvHesl7hg/7vme93mXqVif + 0jVSluoPlat0m7uL2h3eCn2HFSkzF18UyvhBxWTbO/dtIwnSmPqcxvTGxfYchtQ4FN5pR8P+ICMT + TgVdV5KhO8p2f3Ptqy2VOQYvApjwb1o7Wyx8gCoR9bKsmM2dS+nIynJP2qNAYmfLoHHjeZ4h57XG + c5h56y0XmBsDUl9TOlqFUgbqPNEQlgHZjLfOBkkbIW5onPyhlI2rTiO6Fahw+yQujMSWElW+ag6q + 9B0w9Cne/Izzzjp1Xc3Nt9eypHbvrNeoffp8YRjZeugnbOy/ZmO+4RGqo+X02xYols22Uw2Qwu9m + vrBp03U9EhLYXxvecuVvYHytrFJVM/hhQh8G92kcp7UFM810QfozlJltVKSPdKUMGSsnLU6SxkGE + 7iOSoOqVhwirpaZOLpNrggh+1gNn7RVPg+hzW3ikW8cZO7waSOf0XmPhgZ8x75vqz2lLqZVkgOUM + 0xkNcO5GsFC7Z7UNhJFdIxhj6sGKzfhB90xa9BKNvyEA7RRjzDRzZZTG5V8QWxNk5vROCdnswYEm + fgRBw3RyguCVQIRfW+/zlbTOVEuMMUIVUpFR8AOmfqd1/t7lgRJ61QcDAhEMmOeyZVDT3n1hKejX + 8GKPkK7AvwH2MY0iMg/Rc8iDZyRHLCTVpL1ef6XYDO3gxDXMBKPSOO/QRWMQDB8lx8va3XmELBqT + PVGnsZh+VOZ7wNAjDKE88SSiXRNN/Ke5T3+hghNK3cLC0gY5ARgR76q/PFctnv7u2jwIJimQ8a97 + bz7pGNi4VRxeCOKKkzYrkTgeETyyp5mxpSnXmb1khwb83YSoPt+3EXjqaRNW0TNZPKrtvD+INzXH + pAtSsZjGwoghGotRn6cP/Pv5OGIS63JnIU0asDUcwcoxkTk/azxl/Krg44Nn9jgphApn0WKObI/S + kUd1TL+cdKS1FLsbs5hiLAr+a6gnKDubTnDk08sDBA4fYl98GU/RvGdbYLqKyTASey3XsOa54bXd + 9saGfIaX8XZXwDVyLEQYtm19q+AY5LEXx/cgaGo8oDaiiNuuw85MqFIecO3aKT6ZrRRHiCwxkPLu + z47bBHqiYNGBMgEGuQK/SzHxDNEJ4JH1XhJh1dnljUq7LDKGqtf+X+SR+VCGaK9l8Eg/FlHyOD/o + 2wjKurE3R9X7sceIAMJ4mrXrDuieBD39GAv76DQoLmgUQjdNv/q2TURhmFVGrMj2phNOsZlZsNjp + 9kMAprX+ApnEezNvUEXGGW1w33NZbU7dgECvWXxLXZG318ZFCYP6s4ZyDKMddZD7FeT5Gj1G06hF + EB77KoNv6CoS8gxbS3nPi+xldDHfFxlwGoByRLmKdXg0+Ip8mrKPC60Rzre8q7n8Fu/0HufO3vY9 + NSg/mGyskJ9Bv5fZndo6wfDyHNK/Wk4Fclfp5FlEK9Hl1WQ6QKz2Bw1JrKH9GAKQ8EuYS1BvDOWx + jTElNV0jdkQb0+E86dwdli8sowgNYWPEHR8Xwynk/Q2JruExG9KSR1lTacO660o0KItM3Me7P7sv + BrLrQUihicbAj00K9FNJKFtVmPlIiysQC/H30VLiLZWk2IHrHR+E52J0WjoTYsRNLGHiXGcqrex3 + OsboahuzFB3XkubVHcOYDmmigGeKGLVWtyUyQiT9u/xga0AUp0p7Tt9Gj7xyVBMjJ6FLXQz16z/z + QDRP47pras1dmIZd784nAPtKM+VFU4lUNFtc6+f8Gl3hcZI3irQitoGDUWY2lWxBDhNB9biknaSc + pEehMmhP3L97raoB6oNV1SaEsOijSRH1d9yodYtH1JY97ms90QOm8DvEiCgaDlS2kvquRTo/WdLe + LudnvtbzNjdlTDfssezOgoGSmyIQPGiOUo85VPAEBQQwSKAGB4VA6zN/OV6ABsMo40Tzfr/AtbXR + ar4Wstdg5nx2UzZ/y8t1Z+eUI39NA1u9II2yD19mLKEAbIIgXW5KMFJkv79+VzN7+Ss1MmAJ31LQ + eRTHjaQk+7g+vZ0ORUik7vRh4FTtWK4jLB+KhEjGGBvrWwT7fneydQpb427ARI5NFlNjMMTqfwIz + +daVjgBEYkt5cFBW1vrgt5gx7dEnKhIzwAJHaiCpPeXN8nyzs1tBWgSsqlsKcUugO+r8ZmTISvud + 6xYSY/5JRRCaGBIdlnXFHPkr0FsF9MuksGxJm1gbjHEJzBJfZ4w87fillnbzQRQo8sw0FYelk0yq + 0Dvh/bCyw16/olVTnCv186Rg3q+mQ8CEUQ9A46dpIID1FJdrPe0Fhzhg1qJwcNoldOvEkWGadEiY + eEeu/J3cwgdCxRwwuukcoOdbhGaqpkpcrUraLx77ryo70twsk1UzRrweSuOYDfN0DCLDYnaAt12x + t6PrbaIcwgQQTiV7qtF8gGcAq2d/cO26pWT5CsNw6LzyTB3cfL2RvaKENGwbo5Xe2Jzp0WcrXIH+ + 4+z3/Lj+v9FlCVvpVk6KSe0iJm1GHSD40Vfi1GNB1vuL5SezJ68Grmoq4cMhHEEAciTV4oaZFTOF + RbCSL2Sg5ROEmfV4D1b7ZR09TgnCHl1vM/gNFjc5fqCm1JS16sa4nwOR1Ck8SW1Nw55JSvMvckXZ + czHvAMqUc8ONDgkebZjzm/vQoJozQW0iPR7dJ8zjnndUeV4icOD5IgcABwlj6oRzMLjcMWYHUCKc + Xa5leHpJuV7JhncdBsTKTaTrHRxIIFQSHN8qV5ISgI6HEqZv9jyADsrX3xZiMfp0NZ9st3gDMT5h + cLfB/MmyNU/6791DGgYc1T4gBIv20pPyZmJm7or3vvHQD7ALSKdrPkXTZL8ZJcBSjSdTn6eLDdr6 + 534igx1CbsD92mJSzB5xz9zBTN1ducYvNMxiaf4xclhSVQD9KZ82+dED9ek2t+x3AFK/CPGTIu4D + VfaJuOVE6YK5gAUSTWD+cCNYM3On1OG9ciGr6D+0tljaAix9MTxjEowGmBN90+Eqjd2sjJquL4jt + YyPp9reIBiREAzB/0V+EYtZxq7KJrZyqB37xU7qNhg36wmePlrJh+qI0OFDM9XoxYUcJq+x973dX + lfNaWzQrOtF3eUrSEyWsZQAlu2U8f3SIAeF90ywPhByb6hQOLIke/RavActxha2AMKPOunTiKGhu + 4FDLqYO3XgM6+VPRoqhY4yu+JpKuhDVhN85JXfm1YCgSFofIvPDz08pc08K1qdYVhJhh2zpUmE9S + w8T34AfoIa8HU/sxbPDx6fBc5t6Fu0c4vxaXvFL1NLVhs0sh3oSZlvD1flR01Nhuk7gHUmQxPOft + fMVmBMRWwDvwjzdXU4rJtzbPgK5hpVMnfmqwS49ojk26/fmCd/Mbxmavm1DtmjLNhTnP8oj4Qmzn + AzH51TzwznFIpBgVa+pzhmXfd5pwQTpivmDQxLRq7/xD7dgzQBJPlDDvQZcvYRW0Fit7i7fRcfIY + /OoarQ9Vypo2HAYKtfu909hTckRxi91nzKcQpHZrV6BisD0G9Pk0mAbrFnwaifklphlHHaIZ5s5F + wDru3QL7D+PSu7SWk41xh57Z+0illYevOE37lmC1LRSTfSZlK5AhySpWtKRwZPe3V8rnVVGPnf4V + iZ6ZlhqvNQufhILoosGTohLWVc2vTIdWVe6zeZE50gdTb5Q8ZAyhdQQeXeIMJhP9yv5SUj3AN/oj + vIKhxW8WdO1tiE9L3cySt1MFigqrB8hgUL2m7ZWduLGt52eDNJl8X6kvdTe4bnA6U6SIkMrJa/H4 + deIdqrH4XfENwBCdRa/Ot51vc2gIOycpGlLMW0PR0Wng5eIGdgb3qaxvMlScW4kPdR/5kIkjCnO9 + BQPP8ldGZtcfCIDuHAy8haWEi4eHk114Xi3AdYfiKaxFwhUKVpAIh7kvCd7gfL1CIPj++GFoRB6t + ujznew/B+SYYEl1osqlyuehGO1OkNw8eeG3FYpOvk1okdmBMWo0rTDoha/v4vmRtNqSyVbsi0V9l + LfYlRDJe/XwZ6bMCy12tnL+yIuVL1dT5SGX6Cs0B8xaFYkn+i9YZete8hDLgQMS0r9K4+EyQ7G2v + 0GqTbUGzIAV8Dedo/BsEskyYa5YT9YFO3APaxSlUEaDMzuw29EFpCsLwR2UawD0MSQ4gUuKjs2uu + dkU+BBtWe7X5pqW3vzkuEUPXPEhEjr9uOyO/A7AvdKFI/Vq3ivlsX7G2AVIZUt7JR3xjtB+uMUY7 + dJkOx4XNyA2L0uqOugpBdJqjPax7a+zDJRxIDTK6xH5xJFi6j2SYwalrtRiVuULSw8QiQkrii87o + /UwHP5rJSEVlF7WDsj3b9vl3wr9m29KJY6MiscIaG990UwLF6Oj3BNtZ8tewrvya4IPfkLLBWW5X + H75QVea6jyD0BT+/me4deDER7EI2rwhBrQBeGG4aOGKW/IoIxdgUI/E= + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - d8cdb6b6-c911-11e9-bd69-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:10 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcea3c51b7d/bloba3c51b7d?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - ewYriynvwNS+V9CGAtfQLg== + Date: + - Tue, 27 Aug 2019 21:30:09 GMT + ETag: + - '"0x8D72B35BD052B7A"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:10 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - d8cdb6b6-c911-11e9-bd69-001a7dda7113 + x-ms-request-id: + - 564051cd-b01e-0003-5b1e-5d735f000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d8e36cdc-c911-11e9-99e6-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:10 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourcea3c51b7d/bloba3c51b7d + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:09 GMT + ETag: + - '"0x8D72B35BD052B7A"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:10 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - d8e36cdc-c911-11e9-99e6-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:09 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 564051d7-b01e-0003-651e-5d735f000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - d8f5500a-c911-11e9-bf14-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera3c51b7d/bloba3c51b7d + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Tue, 27 Aug 2019 21:30:09 GMT + ETag: + - '"0x8D72B35BD295556"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:10 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d8f5500a-c911-11e9-bf14-001a7dda7113 + x-ms-request-id: + - 564051e6-b01e-0003-721e-5d735f000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d9071c1e-c911-11e9-9f79-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcea3c51b7d/bloba3c51b7d?se=2019-08-27T22%3A30%3A10Z&sp=rd&sv=2019-02-02&sr=b&sig=L9b6iBFqgGa4EdCoDMewavWuk0yk%2BupblU4EJdls0FA%3D + x-ms-date: + - Tue, 27 Aug 2019 21:30:10 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-unmodified-since: + - Tue, 27 Aug 2019 21:30:10 GMT + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera3c51b7d/bloba3c51b7d?comp=page + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - ewYriynvwNS+V9CGAtfQLg== + Date: + - Tue, 27 Aug 2019 21:30:09 GMT + ETag: + - '"0x8D72B35BD4541C7"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:10 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-client-request-id: + - d9071c1e-c911-11e9-9f79-001a7dda7113 + x-ms-request-id: + - 564051ef-b01e-0003-7b1e-5d735f000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d9264736-c911-11e9-a1ce-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:10 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainera3c51b7d/bloba3c51b7d + response: + body: + string: '' + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:09 GMT + ETag: + - '"0x8D72B35BD4541C7"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:10 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: + - Hot + x-ms-access-tier-inferred: + - 'true' + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - d9264736-c911-11e9-a1ce-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:10 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 564051fe-b01e-0003-0a1e-5d735f000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml, application/octet-stream, text/plain + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d93f02ae-c911-11e9-aa1f-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:30:10 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.blob.core.windows.net/utcontainera3c51b7d/bloba3c51b7d + response: + body: + string: !!binary | + 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 + headers: + Accept-Ranges: + - bytes + Content-Length: + - '8192' + Content-Range: + - bytes 0-8191/8192 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Tue, 27 Aug 2019 21:30:09 GMT + ETag: + - '"0x8D72B35BD4541C7"' + Last-Modified: + - Tue, 27 Aug 2019 21:30:10 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: + - '0' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - d93f02ae-c911-11e9-aa1f-001a7dda7113 + x-ms-creation-time: + - Tue, 27 Aug 2019 21:30:10 GMT + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 56405205-b01e-0003-101e-5d735f000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - d95048b6-c911-11e9-8d8a-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcea3c51b7d/bloba3c51b7d?se=2019-08-27T22%3A30%3A10Z&sp=rd&sv=2019-02-02&sr=b&sig=L9b6iBFqgGa4EdCoDMewavWuk0yk%2BupblU4EJdls0FA%3D + x-ms-date: + - Tue, 27 Aug 2019 21:30:10 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-unmodified-since: + - Tue, 27 Aug 2019 06:30:10 GMT + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera3c51b7d/bloba3c51b7d?comp=page + response: + body: + string: "\uFEFF\nCannotVerifyCopySourceCould + not verify the copy source within the specified time.\nRequestId:5640520e-b01e-0003-181e-5d735f000000\nTime:2019-08-27T21:30:11.3837147Z" + headers: + Content-Length: + - '251' + Content-Type: + - application/xml + Date: + - Tue, 27 Aug 2019 21:30:10 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d95048b6-c911-11e9-8d8a-001a7dda7113 + x-ms-error-code: + - CannotVerifyCopySource + x-ms-request-id: + - 5640520e-b01e-0003-181e-5d735f000000 + x-ms-version: + - '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_and_validate_content_md5_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_and_validate_content_md5_async.yaml new file mode 100644 index 000000000000..43ec9d7095a6 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_and_validate_content_md5_async.yaml @@ -0,0 +1,599 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 813708b6-c912-11e9-a5ed-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere8301fb5?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:52 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3665907E3E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:52 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 813708b6-c912-11e9-a5ed-001a7dda7113 + x-ms-request-id: 5ef9e390-101e-0047-061f-5df960000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainere8301fb5 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 81733d38-c912-11e9-92e3-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcee8301fb5?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:52 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3665A3DF33"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:52 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 81733d38-c912-11e9-92e3-001a7dda7113 + x-ms-request-id: 5ef9e39a-101e-0047-0b1f-5df960000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcee8301fb5 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 81879802-c912-11e9-bf2c-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:53 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcee8301fb5/blobe8301fb5 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:52 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3665B7DA65"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 81879802-c912-11e9-bf2c-001a7dda7113 + x-ms-request-id: 5ef9e3a4-101e-0047-131f-5df960000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcee8301fb5/blobe8301fb5 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8196204a-c912-11e9-9f9d-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:53 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcee8301fb5/blobe8301fb5?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : zenHBhERwOc/e7BZtBuHlg== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:52 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3665C6A796"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 8196204a-c912-11e9-9f9d-001a7dda7113 + x-ms-request-id: 5ef9e3a6-101e-0047-151f-5df960000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcee8301fb5/blobe8301fb5 + - comp=page + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 81a88186-c912-11e9-a15f-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:53 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere8301fb5/blobe8301fb5 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:52 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3665D8F720"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 81a88186-c912-11e9-a15f-001a7dda7113 + x-ms-request-id: 5ef9e3a9-101e-0047-171f-5df960000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainere8301fb5/blobe8301fb5 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 81b70f9e-c912-11e9-a44d-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcee8301fb5/blobe8301fb5?se=2019-08-27T22%3A34%3A53Z&sp=rd&sv=2019-02-02&sr=b&sig=hGn%2B5OFOFCv3708a3oxq30Ba3MJe0TVPnkCQUR7ceR4%3D + x-ms-date: + - Tue, 27 Aug 2019 21:34:53 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-content-md5: + - zenHBhERwOc/e7BZtBuHlg== + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere8301fb5/blobe8301fb5?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : zenHBhERwOc/e7BZtBuHlg== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:52 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3665EF6555"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 81b70f9e-c912-11e9-a44d-001a7dda7113 + x-ms-request-id: 5ef9e3ae-101e-0047-1b1f-5df960000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainere8301fb5/blobe8301fb5 + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 81ccfc9c-c912-11e9-8a62-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:53 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainere8301fb5/blobe8301fb5 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:53 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3665EF6555"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 81ccfc9c-c912-11e9-8a62-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:34:53 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 5ef9e3b5-101e-0047-201f-5df960000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainere8301fb5/blobe8301fb5 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 81da8b00-c912-11e9-98d1-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcee8301fb5/blobe8301fb5?se=2019-08-27T22%3A34%3A53Z&sp=rd&sv=2019-02-02&sr=b&sig=hGn%2B5OFOFCv3708a3oxq30Ba3MJe0TVPnkCQUR7ceR4%3D + x-ms-date: + - Tue, 27 Aug 2019 21:34:53 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-content-md5: + - isbyeiguSTgSVIJgfM+1Xw== + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere8301fb5/blobe8301fb5?comp=page + response: + body: + string: "\uFEFF\nMd5MismatchThe + MD5 value specified in the request did not match with the MD5 value calculated + by the server.\nRequestId:207462ad-101e-0025-661f-5d3b47000000\nTime:2019-08-27T21:34:53.9065029Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '278' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:53 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 81da8b00-c912-11e9-98d1-001a7dda7113 + x-ms-error-code: Md5Mismatch + x-ms-request-id: 207462ad-101e-0025-661f-5d3b47000000 + x-ms-version: '2019-02-02' + status: + code: 400 + message: The MD5 value specified in the request did not match with the MD5 value + calculated by the server. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainere8301fb5/blobe8301fb5 + - comp=page + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_async.yaml new file mode 100644 index 000000000000..44e97a812756 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_async.yaml @@ -0,0 +1,599 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7d2808a6-c912-11e9-b1c1-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:45 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer483c15bb?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:45 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36618DC929"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:46 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d2808a6-c912-11e9-b1c1-001a7dda7113 + x-ms-request-id: 2074622c-101e-0025-081f-5d3b47000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer483c15bb + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7d768c42-c912-11e9-9bea-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource483c15bb?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:46 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3661A807F5"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:46 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d768c42-c912-11e9-9bea-001a7dda7113 + x-ms-request-id: 20746230-101e-0025-0a1f-5d3b47000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource483c15bb + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 7d88118a-c912-11e9-9b86-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource483c15bb/blob483c15bb + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:46 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3661B8221A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:46 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7d88118a-c912-11e9-9b86-001a7dda7113 + x-ms-request-id: 20746232-101e-0025-0b1f-5d3b47000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource483c15bb/blob483c15bb + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7d9c0bb8-c912-11e9-b478-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:46 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource483c15bb/blob483c15bb?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : jDhR1BuYUs3g8YE5PL77tg== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:46 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3661CBAA4F"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:46 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 7d9c0bb8-c912-11e9-b478-001a7dda7113 + x-ms-request-id: 20746235-101e-0025-0e1f-5d3b47000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource483c15bb/blob483c15bb + - comp=page + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 7dadbfee-c912-11e9-bb73-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer483c15bb/blob483c15bb + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:46 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3661E3ED0C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:46 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7dadbfee-c912-11e9-bb73-001a7dda7113 + x-ms-request-id: 20746237-101e-0025-101f-5d3b47000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer483c15bb/blob483c15bb + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7dc1f6cc-c912-11e9-ac73-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource483c15bb/blob483c15bb?se=2019-08-27T22%3A34%3A46Z&sp=rd&sv=2019-02-02&sr=b&sig=fwu2cNgqi51a2450H8/6x07FMt0jgkzF1QCw88JtK5Y%3D + x-ms-date: + - Tue, 27 Aug 2019 21:34:46 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-4095 + x-ms-source-range: + - bytes=0-4095 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer483c15bb/blob483c15bb?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : vyuhkRQuHhrYEmrijccOdA== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:47 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3662873249"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:47 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 7dc1f6cc-c912-11e9-ac73-001a7dda7113 + x-ms-request-id: 20746239-101e-0025-121f-5d3b47000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer483c15bb/blob483c15bb + - comp=page + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7e78a6b6-c912-11e9-a8b1-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource483c15bb/blob483c15bb?se=2019-08-27T22%3A34%3A46Z&sp=rd&sv=2019-02-02&sr=b&sig=fwu2cNgqi51a2450H8/6x07FMt0jgkzF1QCw88JtK5Y%3D + x-ms-date: + - Tue, 27 Aug 2019 21:34:47 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=4096-8191 + x-ms-source-range: + - bytes=4096-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer483c15bb/blob483c15bb?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : GXBE4Wq1uwTlpFruzNEsNg== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:47 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3662A9AE86"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:47 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 7e78a6b6-c912-11e9-a8b1-001a7dda7113 + x-ms-request-id: 20746253-101e-0025-261f-5d3b47000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer483c15bb/blob483c15bb + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7e8927e2-c912-11e9-a517-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:48 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer483c15bb/blob483c15bb + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:47 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3662A9AE86"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:47 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 7e8927e2-c912-11e9-a517-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:34:46 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 20746260-101e-0025-2f1f-5d3b47000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer483c15bb/blob483c15bb + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_match_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_match_async.yaml new file mode 100644 index 000000000000..1e3d7165fa44 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_match_async.yaml @@ -0,0 +1,659 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 977d5070-c912-11e9-a1f6-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:29 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera2f41b70?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367BD5068B"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 977d5070-c912-11e9-a1f6-001a7dda7113 + x-ms-request-id: 21c6c2c8-001e-0029-041f-5dac4f000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainera2f41b70 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 97b75d66-c912-11e9-bad3-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcea2f41b70?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367BE7CB34"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 97b75d66-c912-11e9-bad3-001a7dda7113 + x-ms-request-id: 21c6c2cd-001e-0029-061f-5dac4f000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcea2f41b70 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 97c78e50-c912-11e9-bdcd-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcea2f41b70/bloba2f41b70 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367BF78C28"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 97c78e50-c912-11e9-bdcd-001a7dda7113 + x-ms-request-id: 21c6c2d0-001e-0029-071f-5dac4f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcea2f41b70/bloba2f41b70 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 97d51dda-c912-11e9-84f1-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:30 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcea2f41b70/bloba2f41b70?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : aJ2fNF5IGjuEYRvinLHCgw== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367C04F9A3"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 97d51dda-c912-11e9-84f1-001a7dda7113 + x-ms-request-id: 21c6c2d1-001e-0029-081f-5dac4f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcea2f41b70/bloba2f41b70 + - comp=page + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 97e49422-c912-11e9-8a22-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:30 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera2f41b70/bloba2f41b70 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367C14B2BF"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 97e49422-c912-11e9-8a22-001a7dda7113 + x-ms-request-id: 21c6c2d2-001e-0029-091f-5dac4f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainera2f41b70/bloba2f41b70 + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 97f256a4-c912-11e9-bb46-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:30 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainera2f41b70/bloba2f41b70 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367C14B2BF"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 97f256a4-c912-11e9-bb46-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:30 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 21c6c2d3-001e-0029-0a1f-5dac4f000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainera2f41b70/bloba2f41b70 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-Match: + - '"0x8D72B367C14B2BF"' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 97ff8206-c912-11e9-ab26-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcea2f41b70/bloba2f41b70?se=2019-08-27T22%3A35%3A30Z&sp=rd&sv=2019-02-02&sr=b&sig=dvopEgDTjKBx/TzYT/juAU5aa99JizTGrkfPzyWcgRY%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:30 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera2f41b70/bloba2f41b70?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : aJ2fNF5IGjuEYRvinLHCgw== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367C56C318"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:31 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 97ff8206-c912-11e9-ab26-001a7dda7113 + x-ms-request-id: 01fcd991-d01e-003a-3a1f-5d8843000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainera2f41b70/bloba2f41b70 + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 98351374-c912-11e9-9a2d-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:31 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainera2f41b70/bloba2f41b70 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367C56C318"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:31 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 98351374-c912-11e9-9a2d-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:30 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 01fcd992-d01e-003a-3b1f-5d8843000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainera2f41b70/bloba2f41b70 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-Match: + - '0x111111111111111' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9843cd98-c912-11e9-8e06-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcea2f41b70/bloba2f41b70?se=2019-08-27T22%3A35%3A30Z&sp=rd&sv=2019-02-02&sr=b&sig=dvopEgDTjKBx/TzYT/juAU5aa99JizTGrkfPzyWcgRY%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:31 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainera2f41b70/bloba2f41b70?comp=page + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:bff61709-201e-0011-661f-5d088f000000\nTime:2019-08-27T21:35:31.5409243Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '253' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:30 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9843cd98-c912-11e9-8e06-001a7dda7113 + x-ms-error-code: ConditionNotMet + x-ms-request-id: bff61709-201e-0011-661f-5d088f000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainera2f41b70/bloba2f41b70 + - comp=page + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_modified_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_modified_async.yaml new file mode 100644 index 000000000000..440894746772 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_modified_async.yaml @@ -0,0 +1,659 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 90174dfa-c912-11e9-9c0f-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:17 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf7861ca4?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36746ED0BF"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90174dfa-c912-11e9-9c0f-001a7dda7113 + x-ms-request-id: a590074d-901e-0049-5f1f-5dd0d0000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerf7861ca4 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9051bd9c-c912-11e9-ba4c-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:17 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcef7861ca4?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36748231DD"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9051bd9c-c912-11e9-ba4c-001a7dda7113 + x-ms-request-id: a5900755-901e-0049-651f-5dd0d0000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcef7861ca4 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 9065c686-c912-11e9-a760-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:18 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcef7861ca4/blobf7861ca4 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367496F576"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9065c686-c912-11e9-a760-001a7dda7113 + x-ms-request-id: a590075b-901e-0049-6a1f-5dd0d0000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcef7861ca4/blobf7861ca4 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 907522ca-c912-11e9-8b28-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:18 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcef7861ca4/blobf7861ca4?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : kcC1w5+Ktoso/OawS2obBw== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3674A4FD62"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 907522ca-c912-11e9-8b28-001a7dda7113 + x-ms-request-id: a5900761-901e-0049-6e1f-5dd0d0000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcef7861ca4/blobf7861ca4 + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 90832594-c912-11e9-a55e-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:18 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourcef7861ca4/blobf7861ca4 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3674A4FD62"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 90832594-c912-11e9-a55e-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:18 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: a5900766-901e-0049-711f-5dd0d0000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcef7861ca4/blobf7861ca4 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 90931dba-c912-11e9-97d6-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:18 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf7861ca4/blobf7861ca4 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3674E8E43A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90931dba-c912-11e9-97d6-001a7dda7113 + x-ms-request-id: 7e9ae4c4-e01e-0031-331f-5d7328000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerf7861ca4/blobf7861ca4 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-Modified-Since: + - Tue, 27 Aug 2019 21:20:18 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 90c6c1dc-c912-11e9-8cbe-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcef7861ca4/blobf7861ca4?se=2019-08-27T22%3A35%3A18Z&sp=rd&sv=2019-02-02&sr=b&sig=GG16ngR6geEnsPEvFZMrmhdOLQKfOs8vYxUnhyzkWes%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:18 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf7861ca4/blobf7861ca4?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : kcC1w5+Ktoso/OawS2obBw== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3674FFEEE7"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 90c6c1dc-c912-11e9-8cbe-001a7dda7113 + x-ms-request-id: 7e9ae4ca-e01e-0031-381f-5d7328000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerf7861ca4/blobf7861ca4 + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 90de004c-c912-11e9-97fc-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:18 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerf7861ca4/blobf7861ca4 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3674FFEEE7"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 90de004c-c912-11e9-97fc-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:18 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 7e9ae4d0-e01e-0031-3e1f-5d7328000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerf7861ca4/blobf7861ca4 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-Modified-Since: + - Tue, 27 Aug 2019 21:35:18 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 90eb6d7a-c912-11e9-bc13-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcef7861ca4/blobf7861ca4?se=2019-08-27T22%3A35%3A18Z&sp=rd&sv=2019-02-02&sr=b&sig=GG16ngR6geEnsPEvFZMrmhdOLQKfOs8vYxUnhyzkWes%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:18 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf7861ca4/blobf7861ca4?comp=page + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:bcb6bfc0-901e-0004-2d1f-5d1f3c000000\nTime:2019-08-27T21:35:19.2223219Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '253' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 90eb6d7a-c912-11e9-bc13-001a7dda7113 + x-ms-error-code: ConditionNotMet + x-ms-request-id: bcb6bfc0-901e-0004-2d1f-5d1f3c000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerf7861ca4/blobf7861ca4 + - comp=page + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_none_match_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_none_match_async.yaml new file mode 100644 index 000000000000..08c9b606eb3a --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_none_match_async.yaml @@ -0,0 +1,597 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9b04367e-c912-11e9-a898-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:35 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer327b1d7f?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367F5D6A0F"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9b04367e-c912-11e9-a898-001a7dda7113 + x-ms-request-id: 21c6c31c-001e-0029-471f-5dac4f000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer327b1d7f + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9b41d82e-c912-11e9-a8bb-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:36 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource327b1d7f?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367F72037C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9b41d82e-c912-11e9-a8bb-001a7dda7113 + x-ms-request-id: 21c6c31f-001e-0029-481f-5dac4f000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource327b1d7f + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 9b53f21c-c912-11e9-9244-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:36 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource327b1d7f/blob327b1d7f + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367F841002"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9b53f21c-c912-11e9-9244-001a7dda7113 + x-ms-request-id: 21c6c322-001e-0029-4a1f-5dac4f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource327b1d7f/blob327b1d7f + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 9b6230a6-c912-11e9-9123-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:36 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource327b1d7f/blob327b1d7f?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : PMMx2YaNBWq5teYw0T6zQA== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367F91F2BB"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 9b6230a6-c912-11e9-9123-001a7dda7113 + x-ms-request-id: 21c6c325-001e-0029-4d1f-5dac4f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource327b1d7f/blob327b1d7f + - comp=page + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 9b743e34-c912-11e9-bca0-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:36 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer327b1d7f/blob327b1d7f + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367FA4B789"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9b743e34-c912-11e9-bca0-001a7dda7113 + x-ms-request-id: 21c6c327-001e-0029-4f1f-5dac4f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer327b1d7f/blob327b1d7f + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-None-Match: + - '0x111111111111111' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9b824d74-c912-11e9-bb5f-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource327b1d7f/blob327b1d7f?se=2019-08-27T22%3A35%3A36Z&sp=rd&sv=2019-02-02&sr=b&sig=0aW61rUMUpG%2BiV7RPFZF/fB4ZOef44u8p0%2BF42uAtAY%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:36 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer327b1d7f/blob327b1d7f?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : PMMx2YaNBWq5teYw0T6zQA== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367FB7551C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 9b824d74-c912-11e9-bb5f-001a7dda7113 + x-ms-request-id: 21c6c328-001e-0029-501f-5dac4f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer327b1d7f/blob327b1d7f + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9b950328-c912-11e9-8655-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:36 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer327b1d7f/blob327b1d7f + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367FB7551C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 9b950328-c912-11e9-8655-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:36 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 21c6c32c-001e-0029-521f-5dac4f000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer327b1d7f/blob327b1d7f + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-None-Match: + - '"0x8D72B367FB7551C"' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9ba238cc-c912-11e9-be79-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource327b1d7f/blob327b1d7f?se=2019-08-27T22%3A35%3A36Z&sp=rd&sv=2019-02-02&sr=b&sig=0aW61rUMUpG%2BiV7RPFZF/fB4ZOef44u8p0%2BF42uAtAY%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:36 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer327b1d7f/blob327b1d7f?comp=page + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:97c4f1f2-601e-003f-391f-5d5a98000000\nTime:2019-08-27T21:35:37.1916334Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '253' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:36 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9ba238cc-c912-11e9-be79-001a7dda7113 + x-ms-error-code: ConditionNotMet + x-ms-request-id: 97c4f1f2-601e-003f-391f-5d5a98000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer327b1d7f/blob327b1d7f + - comp=page + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_unmodified_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_unmodified_async.yaml new file mode 100644 index 000000000000..3b2a437585a1 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_if_unmodified_async.yaml @@ -0,0 +1,659 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 93bbdf64-c912-11e9-ae02-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:23 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer33231d87?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:23 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3678133D8D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:23 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 93bbdf64-c912-11e9-ae02-001a7dda7113 + x-ms-request-id: 06506b1d-101e-000a-4d1f-5d368c000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer33231d87 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 93f4bdf8-c912-11e9-8b08-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:24 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource33231d87?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:23 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367824F0B6"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 93f4bdf8-c912-11e9-8b08-001a7dda7113 + x-ms-request-id: 06506b20-101e-000a-4e1f-5d368c000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource33231d87 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 94041c48-c912-11e9-afcd-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:24 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource33231d87/blob33231d87 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:23 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367834199C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 94041c48-c912-11e9-afcd-001a7dda7113 + x-ms-request-id: 06506b22-101e-000a-4f1f-5d368c000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource33231d87/blob33231d87 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 9411dc7a-c912-11e9-b553-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:24 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource33231d87/blob33231d87?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : Dc5II0GCi1Ktb7tjRs8yDQ== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:23 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3678424A3D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 9411dc7a-c912-11e9-b553-001a7dda7113 + x-ms-request-id: 06506b23-101e-000a-501f-5d368c000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource33231d87/blob33231d87 + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9420295a-c912-11e9-b0b6-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:24 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersource33231d87/blob33231d87 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:23 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3678424A3D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 9420295a-c912-11e9-b0b6-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:24 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 06506b24-101e-000a-511f-5d368c000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource33231d87/blob33231d87 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 943251b8-c912-11e9-8c35-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:24 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer33231d87/blob33231d87 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:23 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367886CD6F"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 943251b8-c912-11e9-8c35-001a7dda7113 + x-ms-request-id: dd238777-601e-002f-241f-5d9ff0000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer33231d87/blob33231d87 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-Unmodified-Since: + - Tue, 27 Aug 2019 21:35:24 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 94685624-c912-11e9-bcd1-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource33231d87/blob33231d87?se=2019-08-27T22%3A35%3A24Z&sp=rd&sv=2019-02-02&sr=b&sig=rquyzxaSmKBtjoaGVcjCEBUEWaMUTZmTQCnrwQK2Bwc%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:24 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer33231d87/blob33231d87?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : Dc5II0GCi1Ktb7tjRs8yDQ== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:24 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3678B97638"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 94685624-c912-11e9-bcd1-001a7dda7113 + x-ms-request-id: dd23877f-601e-002f-291f-5d9ff0000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer33231d87/blob33231d87 + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 949c8808-c912-11e9-a904-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:25 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer33231d87/blob33231d87 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:24 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3678B97638"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 949c8808-c912-11e9-a904-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:24 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: dd238788-601e-002f-311f-5d9ff0000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer33231d87/blob33231d87 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + If-Unmodified-Since: + - Tue, 27 Aug 2019 21:20:24 GMT + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 94a9ceb4-c912-11e9-a17e-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource33231d87/blob33231d87?se=2019-08-27T22%3A35%3A24Z&sp=rd&sv=2019-02-02&sr=b&sig=rquyzxaSmKBtjoaGVcjCEBUEWaMUTZmTQCnrwQK2Bwc%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:25 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer33231d87/blob33231d87?comp=page + response: + body: + string: "\uFEFF\nConditionNotMetThe + condition specified using HTTP conditional header(s) is not met.\nRequestId:6227d8d5-f01e-0002-801f-5d2c83000000\nTime:2019-08-27T21:35:25.5098477Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '253' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:24 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 94a9ceb4-c912-11e9-a17e-001a7dda7113 + x-ms-error-code: ConditionNotMet + x-ms-request-id: 6227d8d5-f01e-0002-801f-5d2c83000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer33231d87/blob33231d87 + - comp=page + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_sequence_number_eq_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_sequence_number_eq_async.yaml new file mode 100644 index 000000000000..49b82c62c0ef --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_sequence_number_eq_async.yaml @@ -0,0 +1,599 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a15b86be-c912-11e9-acfb-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:46 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerce831fab?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:46 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3685C30979"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:46 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: a15b86be-c912-11e9-acfb-001a7dda7113 + x-ms-request-id: a5900a08-901e-0049-291f-5dd0d0000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerce831fab + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a1a4e07a-c912-11e9-a3f5-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcece831fab?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:46 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3685D4BCBB"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:46 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: a1a4e07a-c912-11e9-a3f5-001a7dda7113 + x-ms-request-id: a5900a0f-901e-0049-2d1f-5dd0d0000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcece831fab + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - a1b576ec-c912-11e9-97bb-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcece831fab/blobce831fab + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:46 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3685E5D58E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:47 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: a1b576ec-c912-11e9-97bb-001a7dda7113 + x-ms-request-id: a5900a12-901e-0049-2f1f-5dd0d0000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcece831fab/blobce831fab + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a1c37718-c912-11e9-91d6-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:47 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcece831fab/blobce831fab?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : ceHN2IuLOk5TqFu3FyTbog== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:46 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3685F2F532"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:47 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: a1c37718-c912-11e9-91d6-001a7dda7113 + x-ms-request-id: a5900a14-901e-0049-311f-5dd0d0000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcece831fab/blobce831fab + - comp=page + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-sequence-number: + - '10' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - a1d239e4-c912-11e9-b4d3-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerce831fab/blobce831fab + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:46 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3686025E78"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:47 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: a1d239e4-c912-11e9-b4d3-001a7dda7113 + x-ms-request-id: a5900a18-901e-0049-351f-5dd0d0000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerce831fab/blobce831fab + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a1dfc534-c912-11e9-8a48-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcece831fab/blobce831fab?se=2019-08-27T22%3A35%3A47Z&sp=rd&sv=2019-02-02&sr=b&sig=wVKMkErU2c7/RQZBTGPYnfEJN9OIqIgjzULhkw7527A%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:47 GMT + x-ms-if-sequence-number-eq: + - '10' + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerce831fab/blobce831fab?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : ceHN2IuLOk5TqFu3FyTbog== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:46 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3686165B7E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:47 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '10' + x-ms-client-request-id: a1dfc534-c912-11e9-8a48-001a7dda7113 + x-ms-request-id: a5900a1e-901e-0049-3b1f-5dd0d0000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerce831fab/blobce831fab + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a1f38dac-c912-11e9-abce-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:47 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerce831fab/blobce831fab + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:46 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3686165B7E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:47 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '10' + x-ms-blob-type: PageBlob + x-ms-client-request-id: a1f38dac-c912-11e9-abce-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:47 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: a5900a23-901e-0049-3f1f-5dd0d0000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerce831fab/blobce831fab + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a200300a-c912-11e9-87a3-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcece831fab/blobce831fab?se=2019-08-27T22%3A35%3A47Z&sp=rd&sv=2019-02-02&sr=b&sig=wVKMkErU2c7/RQZBTGPYnfEJN9OIqIgjzULhkw7527A%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:47 GMT + x-ms-if-sequence-number-eq: + - '11' + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerce831fab/blobce831fab?comp=page + response: + body: + string: "\uFEFF\nSequenceNumberConditionNotMetThe + sequence number condition specified was not met.\nRequestId:a5900a2d-901e-0049-461f-5dd0d0000000\nTime:2019-08-27T21:35:47.8204724Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '251' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:47 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: a200300a-c912-11e9-87a3-001a7dda7113 + x-ms-error-code: SequenceNumberConditionNotMet + x-ms-request-id: a5900a2d-901e-0049-461f-5dd0d0000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The sequence number condition specified was not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerce831fab/blobce831fab + - comp=page + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_sequence_number_lt_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_sequence_number_lt_async.yaml new file mode 100644 index 000000000000..9571dd8bf19e --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_sequence_number_lt_async.yaml @@ -0,0 +1,599 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9e886fd2-c912-11e9-b339-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerced01fb5?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:41 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3682DF7430"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9e886fd2-c912-11e9-b339-001a7dda7113 + x-ms-request-id: 9834c3d3-c01e-0019-021f-5d1280000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerced01fb5 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9ebfad98-c912-11e9-befc-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceced01fb5?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:41 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3682EFA0E1"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9ebfad98-c912-11e9-befc-001a7dda7113 + x-ms-request-id: 9834c3db-c01e-0019-081f-5d1280000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourceced01fb5 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 9ed1f08a-c912-11e9-ba3e-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceced01fb5/blobced01fb5 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:42 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3683039BA0"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9ed1f08a-c912-11e9-ba3e-001a7dda7113 + x-ms-request-id: 9834c3df-c01e-0019-0a1f-5d1280000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourceced01fb5/blobced01fb5 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 9ee1015c-c912-11e9-94c9-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:42 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceced01fb5/blobced01fb5?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : UDc1I274Gk06cNdeJCkRXQ== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:42 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B368310940E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 9ee1015c-c912-11e9-94c9-001a7dda7113 + x-ms-request-id: 9834c3e3-c01e-0019-0d1f-5d1280000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourceced01fb5/blobced01fb5 + - comp=page + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-sequence-number: + - '10' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 9eeedb52-c912-11e9-bb1e-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:42 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerced01fb5/blobced01fb5 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:42 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36831EEBEA"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9eeedb52-c912-11e9-bb1e-001a7dda7113 + x-ms-request-id: 9834c3e7-c01e-0019-101f-5d1280000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerced01fb5/blobced01fb5 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9efc8cc0-c912-11e9-bbe2-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourceced01fb5/blobced01fb5?se=2019-08-27T22%3A35%3A42Z&sp=rd&sv=2019-02-02&sr=b&sig=2PNnRhh97PvOx%2BfmAb%2BHdALCpBaqSeePMxLzM/Gufh4%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:42 GMT + x-ms-if-sequence-number-lt: + - '11' + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerced01fb5/blobced01fb5?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : UDc1I274Gk06cNdeJCkRXQ== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:42 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36834586B5"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '10' + x-ms-client-request-id: 9efc8cc0-c912-11e9-bbe2-001a7dda7113 + x-ms-request-id: 9834c3eb-c01e-0019-141f-5d1280000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerced01fb5/blobced01fb5 + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9f274fe6-c912-11e9-93e1-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:42 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerced01fb5/blobced01fb5 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:42 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36834586B5"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '10' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 9f274fe6-c912-11e9-93e1-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:42 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 9834c3f6-c01e-0019-1c1f-5d1280000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerced01fb5/blobced01fb5 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9f341858-c912-11e9-a0d3-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourceced01fb5/blobced01fb5?se=2019-08-27T22%3A35%3A42Z&sp=rd&sv=2019-02-02&sr=b&sig=2PNnRhh97PvOx%2BfmAb%2BHdALCpBaqSeePMxLzM/Gufh4%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:42 GMT + x-ms-if-sequence-number-lt: + - '10' + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerced01fb5/blobced01fb5?comp=page + response: + body: + string: "\uFEFF\nSequenceNumberConditionNotMetThe + sequence number condition specified was not met.\nRequestId:734b01ec-301e-000d-7e1f-5d5aef000000\nTime:2019-08-27T21:35:43.1486200Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '251' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:42 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9f341858-c912-11e9-a0d3-001a7dda7113 + x-ms-error-code: SequenceNumberConditionNotMet + x-ms-request-id: 734b01ec-301e-000d-7e1f-5d5aef000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The sequence number condition specified was not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerced01fb5/blobced01fb5 + - comp=page + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_sequence_number_lte_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_sequence_number_lte_async.yaml new file mode 100644 index 000000000000..1f10633f389f --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_sequence_number_lte_async.yaml @@ -0,0 +1,599 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 9fd2e764-c912-11e9-b2ab-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:43 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainereecb201a?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:43 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36842B08DE"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 9fd2e764-c912-11e9-b2ab-001a7dda7113 + x-ms-request-id: 49abfa76-b01e-0013-231f-5db637000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainereecb201a + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a00c1f92-c912-11e9-b7f4-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceeecb201a?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:43 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36843C46ED"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: a00c1f92-c912-11e9-b7f4-001a7dda7113 + x-ms-request-id: 49abfa82-b01e-0013-2d1f-5db637000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourceeecb201a + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - a01ba546-c912-11e9-93ed-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceeecb201a/blobeecb201a + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:44 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36844B85DB"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: a01ba546-c912-11e9-93ed-001a7dda7113 + x-ms-request-id: 49abfa8d-b01e-0013-371f-5db637000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourceeecb201a/blobeecb201a + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a029f364-c912-11e9-a2b8-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:44 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourceeecb201a/blobeecb201a?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : Fgh7YR4FEGClull5T8HnPA== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:44 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3684598F46"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: a029f364-c912-11e9-a2b8-001a7dda7113 + x-ms-request-id: 49abfa97-b01e-0013-401f-5db637000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourceeecb201a/blobeecb201a + - comp=page + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-sequence-number: + - '10' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - a0392b1c-c912-11e9-9c53-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:44 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainereecb201a/blobeecb201a + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:44 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3684691FA3"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: a0392b1c-c912-11e9-9c53-001a7dda7113 + x-ms-request-id: 49abfaa0-b01e-0013-491f-5db637000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainereecb201a/blobeecb201a + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a046dd58-c912-11e9-a2d1-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourceeecb201a/blobeecb201a?se=2019-08-27T22%3A35%3A44Z&sp=rd&sv=2019-02-02&sr=b&sig=32gwZbTGIC9/JPn/P7OojpU%2BZ8li4ScSulzA0PD90x8%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:44 GMT + x-ms-if-sequence-number-le: + - '10' + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainereecb201a/blobeecb201a?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : Fgh7YR4FEGClull5T8HnPA== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:44 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36847A5DE8"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '10' + x-ms-client-request-id: a046dd58-c912-11e9-a2d1-001a7dda7113 + x-ms-request-id: 49abfaa6-b01e-0013-4f1f-5db637000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainereecb201a/blobeecb201a + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a05b41b6-c912-11e9-87ed-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:44 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainereecb201a/blobeecb201a + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:44 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36847A5DE8"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '10' + x-ms-blob-type: PageBlob + x-ms-client-request-id: a05b41b6-c912-11e9-87ed-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:44 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 49abfaae-b01e-0013-561f-5db637000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainereecb201a/blobeecb201a + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a0683122-c912-11e9-9c13-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourceeecb201a/blobeecb201a?se=2019-08-27T22%3A35%3A44Z&sp=rd&sv=2019-02-02&sr=b&sig=32gwZbTGIC9/JPn/P7OojpU%2BZ8li4ScSulzA0PD90x8%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:44 GMT + x-ms-if-sequence-number-le: + - '9' + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainereecb201a/blobeecb201a?comp=page + response: + body: + string: "\uFEFF\nSequenceNumberConditionNotMetThe + sequence number condition specified was not met.\nRequestId:abadce4e-701e-001c-3c1f-5dc05b000000\nTime:2019-08-27T21:35:45.1778229Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '251' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:44 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: a0683122-c912-11e9-9c13-001a7dda7113 + x-ms-error-code: SequenceNumberConditionNotMet + x-ms-request-id: abadce4e-701e-001c-3c1f-5dc05b000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The sequence number condition specified was not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainereecb201a/blobeecb201a + - comp=page + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_match_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_match_async.yaml new file mode 100644 index 000000000000..8e950e268fe9 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_match_async.yaml @@ -0,0 +1,659 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8a9d65c8-c912-11e9-b4e5-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:08 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer704d1e60?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:07 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366EF425FC"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8a9d65c8-c912-11e9-b4e5-001a7dda7113 + x-ms-request-id: 2241e969-401e-0007-021f-5dfe58000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer704d1e60 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8ad392c6-c912-11e9-93d7-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:08 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource704d1e60?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:08 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366F036BC2"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8ad392c6-c912-11e9-93d7-001a7dda7113 + x-ms-request-id: 2241e96f-401e-0007-051f-5dfe58000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource704d1e60 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 8ae5aec0-c912-11e9-b447-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:08 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource704d1e60/blob704d1e60 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:08 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366F157C73"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8ae5aec0-c912-11e9-b447-001a7dda7113 + x-ms-request-id: 2241e972-401e-0007-071f-5dfe58000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource704d1e60/blob704d1e60 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8af498b8-c912-11e9-a591-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:08 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersource704d1e60/blob704d1e60?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : mqlnIOtmx4WZq20elgKwCA== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:08 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366F23FB47"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 8af498b8-c912-11e9-a591-001a7dda7113 + x-ms-request-id: 2241e974-401e-0007-091f-5dfe58000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource704d1e60/blob704d1e60 + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8b016126-c912-11e9-bfa3-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:09 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersource704d1e60/blob704d1e60 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:08 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366F23FB47"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:08 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 8b016126-c912-11e9-bfa3-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:08 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 2241e97b-401e-0007-0d1f-5dfe58000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersource704d1e60/blob704d1e60 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 8b0f3a4a-c912-11e9-a7f0-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:09 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer704d1e60/blob704d1e60 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:08 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366F632799"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8b0f3a4a-c912-11e9-a7f0-001a7dda7113 + x-ms-request-id: 890cfa12-201e-002e-561f-5dc02c000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer704d1e60/blob704d1e60 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8b4088ac-c912-11e9-b355-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource704d1e60/blob704d1e60?se=2019-08-27T22%3A35%3A09Z&sp=rd&sv=2019-02-02&sr=b&sig=ej8%2B1p2dm8AoBb7f6rimcX9pXnqmHxD8yuBKU2k3uPc%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:09 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-match: + - '"0x8D72B366F23FB47"' + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer704d1e60/blob704d1e60?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : mqlnIOtmx4WZq20elgKwCA== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:09 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366F809A8A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 8b4088ac-c912-11e9-b355-001a7dda7113 + x-ms-request-id: 890cfa14-201e-002e-571f-5dc02c000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer704d1e60/blob704d1e60 + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8b5e3574-c912-11e9-a6dd-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:09 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainer704d1e60/blob704d1e60 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:09 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366F809A8A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 8b5e3574-c912-11e9-a6dd-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:09 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 890cfa16-201e-002e-591f-5dc02c000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer704d1e60/blob704d1e60 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8b6ad6ec-c912-11e9-8a7c-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersource704d1e60/blob704d1e60?se=2019-08-27T22%3A35%3A09Z&sp=rd&sv=2019-02-02&sr=b&sig=ej8%2B1p2dm8AoBb7f6rimcX9pXnqmHxD8yuBKU2k3uPc%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:09 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-match: + - '0x111111111111111' + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainer704d1e60/blob704d1e60?comp=page + response: + body: + string: "\uFEFF\nCannotVerifyCopySourceCould + not verify the copy source within the specified time.\nRequestId:01fcd81c-d01e-003a-721f-5d8843000000\nTime:2019-08-27T21:35:09.9534648Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '251' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:09 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8b6ad6ec-c912-11e9-8a7c-001a7dda7113 + x-ms-error-code: CannotVerifyCopySource + x-ms-request-id: 01fcd81c-d01e-003a-721f-5d8843000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainer704d1e60/blob704d1e60 + - comp=page + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_modified_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_modified_async.yaml new file mode 100644 index 000000000000..97881ef5cd9b --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_modified_async.yaml @@ -0,0 +1,652 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 84d56294-c912-11e9-bcc1-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:58 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdaf1f94?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:58 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36692C13D8"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:58 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 84d56294-c912-11e9-bcc1-001a7dda7113 + x-ms-request-id: 21c6c04a-001e-0029-1c1f-5dac4f000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdaf1f94 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 850d595c-c912-11e9-b00c-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:59 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcecdaf1f94?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:58 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36693D7907"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 850d595c-c912-11e9-b00c-001a7dda7113 + x-ms-request-id: 21c6c04d-001e-0029-1e1f-5dac4f000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcecdaf1f94 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 851d7bc8-c912-11e9-94b4-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:59 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcecdaf1f94/blobcdaf1f94 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36694D3819"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 851d7bc8-c912-11e9-94b4-001a7dda7113 + x-ms-request-id: 21c6c051-001e-0029-211f-5dac4f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcecdaf1f94/blobcdaf1f94 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 852bc924-c912-11e9-a740-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:59 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcecdaf1f94/blobcdaf1f94?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : D25tOc5ENenEoh7mk18D1A== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36695B6942"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 852bc924-c912-11e9-a740-001a7dda7113 + x-ms-request-id: 21c6c053-001e-0029-231f-5dac4f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcecdaf1f94/blobcdaf1f94 + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8538df86-c912-11e9-93e9-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:59 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourcecdaf1f94/blobcdaf1f94 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36695B6942"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 8538df86-c912-11e9-93e9-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:34:59 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 21c6c055-001e-0029-251f-5dac4f000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcecdaf1f94/blobcdaf1f94 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 8546a56c-c912-11e9-9756-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:59 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdaf1f94/blobcdaf1f94 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B36699B0A43"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8546a56c-c912-11e9-9756-001a7dda7113 + x-ms-request-id: 076c7457-501e-0046-481f-5da6bc000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdaf1f94/blobcdaf1f94 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8581c614-c912-11e9-b20c-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcecdaf1f94/blobcdaf1f94?se=2019-08-27T22%3A34%3A59Z&sp=rd&sv=2019-02-02&sr=b&sig=VzxUPGDxfJPMcu1D/2PizQIlV95NDbydn/VE84t4ZSQ%3D + x-ms-date: + - Tue, 27 Aug 2019 21:34:59 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-modified-since: + - Tue, 27 Aug 2019 06:34:59 GMT + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdaf1f94/blobcdaf1f94?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : D25tOc5ENenEoh7mk18D1A== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3669B8CB61"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 8581c614-c912-11e9-b20c-001a7dda7113 + x-ms-request-id: 076c745c-501e-0046-4b1f-5da6bc000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdaf1f94/blobcdaf1f94 + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 859a4540-c912-11e9-84ac-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:34:59 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainercdaf1f94/blobcdaf1f94 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3669B8CB61"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 859a4540-c912-11e9-84ac-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:34:59 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 076c7463-501e-0046-521f-5da6bc000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdaf1f94/blobcdaf1f94 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 85a70e6e-c912-11e9-abde-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcecdaf1f94/blobcdaf1f94?se=2019-08-27T22%3A34%3A59Z&sp=rd&sv=2019-02-02&sr=b&sig=VzxUPGDxfJPMcu1D/2PizQIlV95NDbydn/VE84t4ZSQ%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:00 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-modified-since: + - Tue, 27 Aug 2019 21:34:59 GMT + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainercdaf1f94/blobcdaf1f94?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:34:59 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 85a70e6e-c912-11e9-abde-001a7dda7113 + x-ms-error-code: CannotVerifyCopySource + x-ms-request-id: 49abf356-b01e-0013-411f-5db637000000 + x-ms-version: '2019-02-02' + status: + code: 304 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainercdaf1f94/blobcdaf1f94 + - comp=page + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_none_match_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_none_match_async.yaml new file mode 100644 index 000000000000..ed34bc93e473 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_none_match_async.yaml @@ -0,0 +1,652 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8bb8c2a6-c912-11e9-9c46-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere84206f?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:09 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3670101FBA"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8bb8c2a6-c912-11e9-9c46-001a7dda7113 + x-ms-request-id: 7f02722e-701e-0041-301f-5dcadf000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainere84206f + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8bf435c8-c912-11e9-9c0e-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcee84206f?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:09 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3670246AF6"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8bf435c8-c912-11e9-9c0e-001a7dda7113 + x-ms-request-id: 7f027231-701e-0041-311f-5dcadf000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcee84206f + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 8c07c858-c912-11e9-8f2c-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcee84206f/blobe84206f + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:09 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367037DD19"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8c07c858-c912-11e9-8f2c-001a7dda7113 + x-ms-request-id: 7f027236-701e-0041-351f-5dcadf000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcee84206f/blobe84206f + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8c159992-c912-11e9-9951-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:10 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcee84206f/blobe84206f?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : w2rLJViI9Brx8bg+/dt79Q== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:09 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367046D16E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 8c159992-c912-11e9-9951-001a7dda7113 + x-ms-request-id: 7f027238-701e-0041-371f-5dcadf000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcee84206f/blobe84206f + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8c24ad9c-c912-11e9-9fef-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:10 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourcee84206f/blobe84206f + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:10 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B367046D16E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 8c24ad9c-c912-11e9-9fef-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:10 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 7f02723a-701e-0041-391f-5dcadf000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcee84206f/blobe84206f + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 8c33e4ae-c912-11e9-844f-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere84206f/blobe84206f + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:11 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3670889532"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8c33e4ae-c912-11e9-844f-001a7dda7113 + x-ms-request-id: 01fcd841-d01e-003a-151f-5d8843000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainere84206f/blobe84206f + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8c6643ae-c912-11e9-a889-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcee84206f/blobe84206f?se=2019-08-27T22%3A35%3A11Z&sp=rd&sv=2019-02-02&sr=b&sig=TXzxg35QwwTcTz01SQ1eZZdCPOpvdXaVJOgscMNMfvU%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:11 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-none-match: + - '0x111111111111111' + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere84206f/blobe84206f?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : w2rLJViI9Brx8bg+/dt79Q== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:11 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3670976244"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 8c6643ae-c912-11e9-a889-001a7dda7113 + x-ms-request-id: 01fcd844-d01e-003a-181f-5d8843000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainere84206f/blobe84206f + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8c74dfac-c912-11e9-97fd-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:11 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainere84206f/blobe84206f + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:11 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B3670976244"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 8c74dfac-c912-11e9-97fd-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:11 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 01fcd847-d01e-003a-1b1f-5d8843000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainere84206f/blobe84206f + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8c81cf0c-c912-11e9-89c4-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcee84206f/blobe84206f?se=2019-08-27T22%3A35%3A11Z&sp=rd&sv=2019-02-02&sr=b&sig=TXzxg35QwwTcTz01SQ1eZZdCPOpvdXaVJOgscMNMfvU%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:11 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-none-match: + - '"0x8D72B367046D16E"' + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainere84206f/blobe84206f?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8c81cf0c-c912-11e9-89c4-001a7dda7113 + x-ms-error-code: CannotVerifyCopySource + x-ms-request-id: 37fd1ed6-501e-0024-191f-5d649b000000 + x-ms-version: '2019-02-02' + status: + code: 304 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainere84206f/blobe84206f + - comp=page + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_unmodified_async.yaml b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_unmodified_async.yaml new file mode 100644 index 000000000000..c2ba53c01b23 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/recordings/test_page_blob_async.test_upload_pages_from_url_with_source_if_unmodified_async.yaml @@ -0,0 +1,659 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8787f1de-c912-11e9-b8bb-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:03 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2c2077?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366BDE529D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:03 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8787f1de-c912-11e9-b8bb-001a7dda7113 + x-ms-request-id: 20746394-101e-0025-1d1f-5d3b47000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerf2c2077 + - restype=container + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 87bdaab4-c912-11e9-8e7b-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:03 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcef2c2077?restype=container + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366BED6DDA"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:03 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 87bdaab4-c912-11e9-8e7b-001a7dda7113 + x-ms-request-id: 20746397-101e-0025-1f1f-5d3b47000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcef2c2077 + - restype=container + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 87cd305c-c912-11e9-ba59-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:03 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcef2c2077/blobf2c2077 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366BFD179A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:03 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 87cd305c-c912-11e9-ba59-001a7dda7113 + x-ms-request-id: 2074639a-101e-0025-211f-5d3b47000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcef2c2077/blobf2c2077 + - '' + - '' +- request: + body: !!binary | + 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 + headers: + Content-Length: + - '8192' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 87db09a4-c912-11e9-bd60-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:03 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainersourcef2c2077/blobf2c2077?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : rsSM2kDFGAFa8jkzGozDwg== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366C0A84DF"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:03 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 87db09a4-c912-11e9-bd60-001a7dda7113 + x-ms-request-id: 207463a7-101e-0025-281f-5d3b47000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcef2c2077/blobf2c2077 + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 87e7f8f4-c912-11e9-9b0a-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:03 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainersourcef2c2077/blobf2c2077 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366C0A84DF"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:03 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 87e7f8f4-c912-11e9-9b0a-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:03 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 207463a8-101e-0025-291f-5d3b47000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainersourcef2c2077/blobf2c2077 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-blob-content-length: + - '8192' + x-ms-blob-type: + - PageBlob + x-ms-client-request-id: + - 87f5d22c-c912-11e9-97fc-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:03 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2c2077/blobf2c2077 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366C4AC235"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:04 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 87f5d22c-c912-11e9-97fc-001a7dda7113 + x-ms-request-id: 4ff61070-e01e-0021-641f-5db640000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerf2c2077/blobf2c2077 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8829fbc2-c912-11e9-8cea-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcef2c2077/blobf2c2077?se=2019-08-27T22%3A35%3A03Z&sp=rd&sv=2019-02-02&sr=b&sig=wci2gpUI/m1cSmEwp%2B0FlP/KMdUCD111WIvd9JssLHY%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:04 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-unmodified-since: + - Tue, 27 Aug 2019 21:35:03 GMT + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2c2077/blobf2c2077?comp=page + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : rsSM2kDFGAFa8jkzGozDwg== + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:04 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366C677236"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:04 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-sequence-number: '0' + x-ms-client-request-id: 8829fbc2-c912-11e9-8cea-001a7dda7113 + x-ms-request-id: 4ff61076-e01e-0021-691f-5db640000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerf2c2077/blobf2c2077 + - comp=page + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8847d2d8-c912-11e9-89f5-001a7dda7113 + x-ms-date: + - Tue, 27 Aug 2019 21:35:04 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.blob.core.windows.net/utcontainerf2c2077/blobf2c2077 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '8192' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:04 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D72B366C677236"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Tue, 27 Aug 2019 21:35:04 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-access-tier: Hot + x-ms-access-tier-inferred: 'true' + x-ms-blob-sequence-number: '0' + x-ms-blob-type: PageBlob + x-ms-client-request-id: 8847d2d8-c912-11e9-89f5-001a7dda7113 + x-ms-creation-time: Tue, 27 Aug 2019 21:35:04 GMT + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 4ff6107b-e01e-0021-6e1f-5db640000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerf2c2077/blobf2c2077 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-blob/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 88555e1a-c912-11e9-a889-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.blob.core.windows.net/utcontainersourcef2c2077/blobf2c2077?se=2019-08-27T22%3A35%3A03Z&sp=rd&sv=2019-02-02&sr=b&sig=wci2gpUI/m1cSmEwp%2B0FlP/KMdUCD111WIvd9JssLHY%3D + x-ms-date: + - Tue, 27 Aug 2019 21:35:04 GMT + x-ms-page-write: + - update + x-ms-range: + - bytes=0-8191 + x-ms-source-if-unmodified-since: + - Tue, 27 Aug 2019 06:35:03 GMT + x-ms-source-range: + - bytes=0-8191 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.blob.core.windows.net/utcontainerf2c2077/blobf2c2077?comp=page + response: + body: + string: "\uFEFF\nCannotVerifyCopySourceCould + not verify the copy source within the specified time.\nRequestId:708ea93f-001e-0039-741f-5d6927000000\nTime:2019-08-27T21:35:04.7800293Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '251' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Tue, 27 Aug 2019 21:35:04 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 88555e1a-c912-11e9-a889-001a7dda7113 + x-ms-error-code: CannotVerifyCopySource + x-ms-request-id: 708ea93f-001e-0039-741f-5d6927000000 + x-ms-version: '2019-02-02' + status: + code: 412 + message: The condition specified using HTTP conditional header(s) is not met. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.blob.core.windows.net + - /utcontainerf2c2077/blobf2c2077 + - comp=page + - '' +version: 1 diff --git a/sdk/storage/azure-storage-blob/tests/test_append_blob.py b/sdk/storage/azure-storage-blob/tests/test_append_blob.py index 485b345cacb7..0a511c2ddb46 100644 --- a/sdk/storage/azure-storage-blob/tests/test_append_blob.py +++ b/sdk/storage/azure-storage-blob/tests/test_append_blob.py @@ -9,24 +9,29 @@ import os import unittest +from datetime import datetime, timedelta +from azure.core.exceptions import ResourceNotFoundError, ResourceModifiedError, HttpResponseError from azure.storage.blob import ( BlobServiceClient, ContainerClient, BlobClient, - BlobType -) + BlobType, + BlobPermissions) +from azure.storage.blob._shared.policies import StorageContentValidation from testcase import ( StorageTestCase, TestMode, record, ) -#------------------------------------------------------------------------------ +# ------------------------------------------------------------------------------ TEST_BLOB_PREFIX = 'blob' FILE_PATH = 'blob_input.temp.dat' LARGE_BLOB_SIZE = 64 * 1024 -#------------------------------------------------------------------------------ + + +# ------------------------------------------------------------------------------ class StorageAppendBlobTest(StorageTestCase): @@ -39,10 +44,11 @@ def setUp(self): self.bsc = BlobServiceClient(url, credential=credential, max_block_size=4 * 1024) self.config = self.bsc._config self.container_name = self.get_resource_name('utcontainer') + self.source_container_name = self.get_resource_name('utcontainersource') if not self.is_playback(): self.bsc.create_container(self.container_name) - + self.bsc.create_container(self.source_container_name) def tearDown(self): if not self.is_playback(): @@ -50,6 +56,10 @@ def tearDown(self): self.bsc.delete_container(self.container_name) except: pass + try: + self.bsc.delete_container(self.source_container_name) + except: + pass if os.path.isfile(FILE_PATH): try: @@ -59,7 +69,7 @@ def tearDown(self): return super(StorageAppendBlobTest, self).tearDown() - #--Helpers----------------------------------------------------------------- + # --Helpers----------------------------------------------------------------- def _get_blob_reference(self): return self.get_resource_name(TEST_BLOB_PREFIX) @@ -71,6 +81,12 @@ def _create_blob(self): blob.create_append_blob() return blob + def _create_source_blob(self, data): + blob_client = self.bsc.get_blob_client(self.source_container_name, self.get_resource_name(TEST_BLOB_PREFIX)) + blob_client.create_append_blob() + blob_client.append_block(data) + return blob_client + def assertBlobEqual(self, blob, expected_data): stream = blob.download_blob() actual_data = b"".join(list(stream)) @@ -86,7 +102,7 @@ def write(self, data): def read(self, count): return self.wrapped_file.read(count) - #--Test cases for block blobs -------------------------------------------- + # --Test cases for block blobs -------------------------------------------- @record def test_create_blob(self): @@ -176,6 +192,434 @@ def test_append_block_with_md5(self): # Assert + @record + def test_append_block_from_url(self): + # Arrange + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = self._create_blob() + + # Act: make append block from url calls + resp = destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=4 * 1024 - 1) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + resp = destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=4 * 1024, + source_range_end=LARGE_BLOB_SIZE - 1) + self.assertEqual(resp.get('blob_append_offset'), str(4 * 1024)) + self.assertEqual(resp.get('blob_committed_block_count'), 2) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Missing start range shouldn't pass the validation + with self.assertRaises(ValueError): + destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_end=LARGE_BLOB_SIZE - 1) + + @record + def test_append_block_from_url_and_validate_content_md5(self): + # Arrange + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data) + src_md5 = StorageContentValidation.get_content_md5(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = self._create_blob() + + # Act part 1: make append block from url calls with correct md5 + resp = destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_content_md5=src_md5) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_content_md5=StorageContentValidation.get_content_md5( + b"POTATO")) + + @record + def test_append_block_from_url_with_source_if_modified(self): + # Arrange + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data) + source_blob_properties = source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = self._create_blob() + + # Act part 1: make append block from url calls + resp = destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, + source_range_end=LARGE_BLOB_SIZE - 1, + source_if_modified_since=source_blob_properties.get( + 'last_modified') - timedelta(hours=15)) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceNotFoundError): + destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + source_if_modified_since=source_blob_properties.get( + 'last_modified')) + + @record + def test_append_block_from_url_with_source_if_unmodified(self): + # Arrange + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data) + source_blob_properties = source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = self._create_blob() + + # Act part 1: make append block from url calls + resp = destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + source_if_unmodified_since=source_blob_properties.get( + 'last_modified')) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceModifiedError): + destination_blob_client \ + .append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_unmodified_since=source_blob_properties.get('last_modified') - timedelta( + hours=15)) + + @record + def test_append_block_from_url_with_source_if_match(self): + # Arrange + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data) + source_blob_properties = source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = self._create_blob() + + # Act part 1: make append block from url calls + resp = destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + source_if_match=source_blob_properties.get('etag')) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceNotFoundError): + destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + source_if_match='0x111111111111111') + + @record + def test_append_block_from_url_with_source_if_none_match(self): + # Arrange + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data) + source_blob_properties = source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = self._create_blob() + + # Act part 1: make append block from url calls + resp = destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + source_if_none_match='0x111111111111111') + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceNotFoundError): + destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + source_if_none_match=source_blob_properties.get('etag')) + + @record + def test_append_block_from_url_with_if_match(self): + # Arrange + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_name = self._get_blob_reference() + destination_blob_client = self.bsc.get_blob_client( + self.container_name, + destination_blob_name) + destination_blob_properties_on_creation = destination_blob_client.create_append_blob() + + # Act part 1: make append block from url calls + resp = destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_match=destination_blob_properties_on_creation.get('etag')) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceModifiedError): + destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_match='0x111111111111111') + + @record + def test_append_block_from_url_with_if_none_match(self): + # Arrange + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = self._create_blob() + + # Act part 1: make append block from url calls + resp = destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_none_match='0x111111111111111') + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceModifiedError): + destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_none_match=destination_blob_properties.get('etag')) + + @record + def test_append_block_from_url_with_maxsize_condition(self): + # Arrange + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = self._create_blob() + + # Act part 1: make append block from url calls + resp = destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + maxsize_condition=LARGE_BLOB_SIZE + 1) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + maxsize_condition=LARGE_BLOB_SIZE + 1) + + @record + def test_append_block_from_url_with_appendpos_condition(self): + # Arrange + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = self._create_blob() + + # Act part 1: make append block from url calls + resp = destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + appendpos_condition=0) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + appendpos_condition=0) + + @record + def test_append_block_from_url_with_if_modified(self): + # Arrange + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data) + source_properties = source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = self._create_blob() + + # Act part 1: make append block from url calls + resp = destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_modified_since=source_properties.get('last_modified') - timedelta(minutes=15)) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_modified_since=destination_blob_properties.get( + 'last_modified')) + + @record + def test_append_block_from_url_with_if_unmodified(self): + # Arrange + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data) + source_properties = source_blob_client.append_block(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = self._create_blob() + + # Act part 1: make append block from url calls + resp = destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_unmodified_since=source_properties.get('last_modified')) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceModifiedError): + destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_unmodified_since=source_properties.get( + 'last_modified') - timedelta(minutes=15)) + @record def test_create_append_blob_with_no_overwrite(self): # Arrange @@ -284,7 +728,7 @@ def test_append_blob_from_bytes_with_progress(self): def progress_gen(upload): progress.append((0, len(upload))) yield upload - + upload_data = progress_gen(data) blob.upload_blob(upload_data, blob_type=BlobType.AppendBlob) @@ -603,6 +1047,7 @@ def test_append_blob_with_md5(self): # Assert -#------------------------------------------------------------------------------ + +# ------------------------------------------------------------------------------ if __name__ == '__main__': unittest.main() diff --git a/sdk/storage/azure-storage-blob/tests/test_append_blob_async.py b/sdk/storage/azure-storage-blob/tests/test_append_blob_async.py index fa8c1da7f8e3..843eb66b334e 100644 --- a/sdk/storage/azure-storage-blob/tests/test_append_blob_async.py +++ b/sdk/storage/azure-storage-blob/tests/test_append_blob_async.py @@ -5,15 +5,21 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- +from datetime import datetime, timedelta + import pytest import asyncio import os import unittest +from azure.core import HttpResponseError +from azure.core.exceptions import ResourceNotFoundError, ResourceModifiedError from azure.core.pipeline.transport import AioHttpTransport from multidict import CIMultiDict, CIMultiDictProxy +from azure.storage.blob import BlobPermissions +from azure.storage.blob._shared.policies import StorageContentValidation from azure.storage.blob.aio import ( BlobServiceClient, ContainerClient, @@ -26,16 +32,19 @@ record, ) -#------------------------------------------------------------------------------ +# ------------------------------------------------------------------------------ TEST_BLOB_PREFIX = 'blob' FILE_PATH = 'blob_input.temp.dat' LARGE_BLOB_SIZE = 64 * 1024 -#------------------------------------------------------------------------------ + + +# ------------------------------------------------------------------------------ class AiohttpTestTransport(AioHttpTransport): """Workaround to vcrpy bug: https://github.com/kevin1024/vcrpy/pull/461 """ + async def send(self, request, **config): response = await super(AiohttpTestTransport, self).send(request, **config) if not isinstance(response.headers, CIMultiDictProxy): @@ -52,9 +61,11 @@ def setUp(self): url = self._get_account_url() credential = self._get_shared_key_credential() - self.bsc = BlobServiceClient(url, credential=credential, max_block_size=4 * 1024, transport=AiohttpTestTransport()) + self.bsc = BlobServiceClient(url, credential=credential, max_block_size=4 * 1024, + transport=AiohttpTestTransport()) self.config = self.bsc._config self.container_name = self.get_resource_name('utcontainer') + self.source_container_name = self.get_resource_name('utcontainersource') def tearDown(self): if not self.is_playback(): @@ -63,6 +74,10 @@ def tearDown(self): loop.run_until_complete(self.bsc.delete_container(self.container_name)) except: pass + try: + loop.run_until_complete(self.bs.delete_container(self.source_container_name)) + except: + pass if os.path.isfile(FILE_PATH): try: @@ -72,12 +87,13 @@ def tearDown(self): return super(StorageAppendBlobTestAsync, self).tearDown() - #--Helpers----------------------------------------------------------------- + # --Helpers----------------------------------------------------------------- async def _setup(self): if not self.is_playback(): try: await self.bsc.create_container(self.container_name) + await self.bsc.create_container(self.source_container_name) except: pass @@ -92,6 +108,12 @@ async def _create_blob(self): await blob.create_append_blob() return blob + async def _create_source_blob(self, data): + blob_client = self.bsc.get_blob_client(self.source_container_name, self.get_resource_name(TEST_BLOB_PREFIX)) + await blob_client.create_append_blob() + await blob_client.append_block(data) + return blob_client + async def assertBlobEqual(self, blob, expected_data): stream = await blob.download_blob() actual_data = await stream.content_as_bytes() @@ -107,7 +129,7 @@ def write(self, data): def read(self, count): return self.wrapped_file.read(count) - #--Test cases for append blobs -------------------------------------------- + # --Test cases for append blobs -------------------------------------------- async def _test_create_blob_async(self): # Arrange @@ -227,6 +249,504 @@ def test_append_block_with_md5_async(self): loop = asyncio.get_event_loop() loop.run_until_complete(self._test_append_block_with_md5_async()) + async def _test_append_block_from_url(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = await self._create_blob() + + # Act: make append block from url calls + resp = await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=4 * 1024 - 1) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + resp = await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=4 * 1024, + source_range_end=LARGE_BLOB_SIZE - 1) + self.assertEqual(resp.get('blob_append_offset'), str(4 * 1024)) + self.assertEqual(resp.get('blob_committed_block_count'), 2) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(blob.get('etag'), resp.get('etag')) + self.assertEqual(blob.get('last_modified'), resp.get('last_modified')) + + # Missing start range shouldn't pass the validation + with self.assertRaises(ValueError): + await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_end=LARGE_BLOB_SIZE - 1) + + @record + def test_append_block_from_url_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block_from_url()) + + async def _test_append_block_from_url_and_validate_content_md5(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data) + src_md5 = StorageContentValidation.get_content_md5(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = await self._create_blob() + + # Act part 1: make append block from url calls with correct md5 + resp = await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_content_md5=src_md5) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_content_md5=StorageContentValidation.get_content_md5( + b"POTATO")) + + @record + def test_append_block_from_url_and_validate_content_md5_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block_from_url_and_validate_content_md5()) + + async def _test_append_block_from_url_with_source_if_modified(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data) + source_blob_properties = await source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = await self._create_blob() + + # Act part 1: make append block from url calls + resp = await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, + source_range_end=LARGE_BLOB_SIZE - 1, + source_if_modified_since=source_blob_properties.get( + 'last_modified') - timedelta(hours=15)) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceNotFoundError): + await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, + source_range_end=LARGE_BLOB_SIZE - 1, + source_if_modified_since=source_blob_properties.get( + 'last_modified')) + + @record + def test_append_block_from_url_with_source_if_modified_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block_from_url_with_source_if_modified()) + + async def _test_append_block_from_url_with_source_if_unmodified(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data) + source_blob_properties = await source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = await self._create_blob() + + # Act part 1: make append block from url calls + resp = await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, + source_range_end=LARGE_BLOB_SIZE - 1, + source_if_unmodified_since=source_blob_properties.get( + 'last_modified')) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceModifiedError): + await destination_blob_client \ + .append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_unmodified_since=source_blob_properties.get('last_modified') - timedelta( + hours=15)) + + @record + def test_append_block_from_url_with_source_if_unmodified_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block_from_url_with_source_if_unmodified()) + + async def _test_append_block_from_url_with_source_if_match(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data) + source_properties = await source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = await self._create_blob() + + # Act part 1: make append block from url calls + resp = await destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + source_if_match=source_properties.get('etag')) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceNotFoundError): + await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, + source_range_end=LARGE_BLOB_SIZE - 1, + source_if_match='0x111111111111111') + + @record + def test_append_block_from_url_with_source_if_match_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block_from_url_with_source_if_match()) + + async def _test_append_block_from_url_with_source_if_none_match(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data) + source_properties = await source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = await self._create_blob() + + # Act part 1: make append block from url calls + resp = await destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + source_if_none_match='0x111111111111111') + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceNotFoundError): + await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, + source_range_end=LARGE_BLOB_SIZE - 1, + source_if_none_match=source_properties.get('etag')) + + @record + def test_append_block_from_url_with_source_if_none_match_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block_from_url_with_source_if_none_match()) + + async def _test_append_block_from_url_with_if_match(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_name = self._get_blob_reference() + destination_blob_client = self.bsc.get_blob_client( + self.container_name, + destination_blob_name) + destination_blob_properties_on_creation = await destination_blob_client.create_append_blob() + + # Act part 1: make append block from url calls + resp = await destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_match=destination_blob_properties_on_creation.get('etag')) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceModifiedError): + await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, + source_range_end=LARGE_BLOB_SIZE - 1, + if_match='0x111111111111111') + + @record + def test_append_block_from_url_with_if_match_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block_from_url_with_if_match()) + + async def _test_append_block_from_url_with_if_none_match(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = await self._create_blob() + + # Act part 1: make append block from url calls + resp = await destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_none_match='0x111111111111111') + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceModifiedError): + await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, + source_range_end=LARGE_BLOB_SIZE - 1, + if_none_match=destination_blob_properties.get('etag')) + + @record + def test_append_block_from_url_with_if_none_match_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block_from_url_with_if_none_match()) + + async def _test_append_block_from_url_with_maxsize_condition(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = await self._create_blob() + + # Act part 1: make append block from url calls + resp = await destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + maxsize_condition=LARGE_BLOB_SIZE + 1) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, + source_range_end=LARGE_BLOB_SIZE - 1, + maxsize_condition=LARGE_BLOB_SIZE + 1) + + @record + def test_append_block_from_url_with_maxsize_condition_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block_from_url_with_maxsize_condition()) + + async def _test_append_block_from_url_with_appendpos_condition(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = await self._create_blob() + + # Act part 1: make append block from url calls + resp = await destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + appendpos_condition=0) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, + source_range_end=LARGE_BLOB_SIZE - 1, + appendpos_condition=0) + + @record + def test_append_block_from_url_with_appendpos_condition_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block_from_url_with_appendpos_condition()) + + async def _test_append_block_from_url_with_if_modified(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data) + source_properties = await source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = await self._create_blob() + + # Act part 1: make append block from url calls + resp = await destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_modified_since=source_properties.get('last_modified') - timedelta(minutes=15)) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, + source_range_end=LARGE_BLOB_SIZE - 1, + if_modified_since=destination_blob_properties.get( + 'last_modified')) + + @record + def test_append_block_from_url_with_if_modified_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block_from_url_with_if_modified()) + + async def _test_append_block_from_url_with_if_unmodified(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(LARGE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data) + source_properties = await source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + destination_blob_client = await self._create_blob() + + # Act part 1: make append block from url calls + resp = await destination_blob_client. \ + append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, source_range_end=LARGE_BLOB_SIZE - 1, + if_unmodified_since=source_properties.get('last_modified') + timedelta(minutes=15)) + self.assertEqual(resp.get('blob_append_offset'), '0') + self.assertEqual(resp.get('blob_committed_block_count'), 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + destination_blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(destination_blob_client, source_blob_data) + self.assertEqual(destination_blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(destination_blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceModifiedError): + await destination_blob_client.append_block_from_url(source_blob_client.url + '?' + sas, + source_range_start=0, + source_range_end=LARGE_BLOB_SIZE - 1, + if_unmodified_since=destination_blob_properties.get( + 'last_modified') - timedelta(minutes=15)) + + @record + def test_append_block_from_url_with_if_unmodified_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block_from_url_with_if_unmodified()) + async def _test_create_append_blob_with_no_overwrite_async(self): # Arrange await self._setup() @@ -355,7 +875,7 @@ async def _test_append_blob_from_bytes_with_progress_async(self): def progress_gen(upload): progress.append((0, len(upload))) yield upload - + upload_data = progress_gen(data) await blob.upload_blob(upload_data, blob_type=BlobType.AppendBlob) @@ -770,6 +1290,7 @@ def test_append_blob_with_md5_async(self): loop = asyncio.get_event_loop() loop.run_until_complete(self._test_append_blob_with_md5_async()) -#------------------------------------------------------------------------------ + +# ------------------------------------------------------------------------------ if __name__ == '__main__': unittest.main() diff --git a/sdk/storage/azure-storage-blob/tests/test_common_blob.py b/sdk/storage/azure-storage-blob/tests/test_common_blob.py index db4870033f13..a2439b14fc48 100644 --- a/sdk/storage/azure-storage-blob/tests/test_common_blob.py +++ b/sdk/storage/azure-storage-blob/tests/test_common_blob.py @@ -863,21 +863,22 @@ def test_copy_blob_with_existing_blob(self): copy_content = copyblob.download_blob().content_as_bytes() self.assertEqual(copy_content, self.byte_data) - @record - def test_copy_blob_with_external_blob_fails(self): - # Arrange - source_blob = "http://www.gutenberg.org/files/59466/59466-0.txt" - copied_blob = self.bsc.get_blob_client(self.container_name, '59466-0.txt') - - # Act - copy = copied_blob.start_copy_from_url(source_blob) - self.assertEqual(copy['copy_status'], 'pending') - props = self._wait_for_async_copy(copied_blob) - - # Assert - self.assertEqual(props.copy.status_description, '500 InternalServerError "Copy failed."') - self.assertEqual(props.copy.status, 'failed') - self.assertIsNotNone(props.copy.id) + # TODO: external copy was supported since 2019-02-02 + # @record + # def test_copy_blob_with_external_blob_fails(self): + # # Arrange + # source_blob = "http://www.google.com" + # copied_blob = self.bsc.get_blob_client(self.container_name, '59466-0.txt') + # + # # Act + # copy = copied_blob.start_copy_from_url(source_blob) + # self.assertEqual(copy['copy_status'], 'pending') + # props = self._wait_for_async_copy(copied_blob) + # + # # Assert + # self.assertEqual(props.copy.status_description, '500 InternalServerError "Copy failed."') + # self.assertEqual(props.copy.status, 'success') + # self.assertIsNotNone(props.copy.id) @record def test_copy_blob_async_private_blob_no_sas(self): @@ -1175,6 +1176,37 @@ def test_sas_access_blob(self): # Assert self.assertEqual(self.byte_data, content) + def test_sas_access_blob_snapshot(self): + # SAS URL is calculated from storage key, so this test runs live only + if TestMode.need_recording_file(self.test_mode): + return + + # Arrange + blob_name = self._create_block_blob() + blob_client = self.bsc.get_blob_client(self.container_name, blob_name) + blob_snapshot = blob_client.create_snapshot() + blob_snapshot_client = self.bsc.get_blob_client(self.container_name, blob_name, snapshot=blob_snapshot) + + token = blob_snapshot_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1), + ) + + service = BlobClient(blob_snapshot_client.url, credential=token) + + # Act + snapshot_content = service.download_blob().content_as_bytes() + + # Assert + self.assertEqual(self.byte_data, snapshot_content) + + # Act + service.delete_blob() + + # Assert + with self.assertRaises(ResourceNotFoundError): + service.get_blob_properties() + @record def test_sas_signed_identifier(self): # SAS URL is calculated from storage key, so this test runs live only @@ -1233,6 +1265,68 @@ def test_account_sas(self): self.assertEqual(self.byte_data, blob_response.content) self.assertTrue(container_response.ok) + @record + def test_get_user_delegation_key(self): + # Act + token_credential = self.generate_oauth_token() + + # Action 1: make sure token works + service = BlobServiceClient(self._get_oauth_account_url(), credential=token_credential) + + start = datetime.utcnow() + expiry = datetime.utcnow() + timedelta(hours=1) + user_delegation_key_1 = service.get_user_delegation_key(key_start_time=start, key_expiry_time=expiry) + user_delegation_key_2 = service.get_user_delegation_key(key_start_time=start, key_expiry_time=expiry) + + # Assert key1 is valid + self.assertIsNotNone(user_delegation_key_1.signed_oid) + self.assertIsNotNone(user_delegation_key_1.signed_tid) + self.assertIsNotNone(user_delegation_key_1.signed_start) + self.assertIsNotNone(user_delegation_key_1.signed_expiry) + self.assertIsNotNone(user_delegation_key_1.signed_version) + self.assertIsNotNone(user_delegation_key_1.signed_service) + self.assertIsNotNone(user_delegation_key_1.value) + + # Assert key1 and key2 are equal, since they have the exact same start and end times + self.assertEqual(user_delegation_key_1.signed_oid, user_delegation_key_2.signed_oid) + self.assertEqual(user_delegation_key_1.signed_tid, user_delegation_key_2.signed_tid) + self.assertEqual(user_delegation_key_1.signed_start, user_delegation_key_2.signed_start) + self.assertEqual(user_delegation_key_1.signed_expiry, user_delegation_key_2.signed_expiry) + self.assertEqual(user_delegation_key_1.signed_version, user_delegation_key_2.signed_version) + self.assertEqual(user_delegation_key_1.signed_service, user_delegation_key_2.signed_service) + self.assertEqual(user_delegation_key_1.value, user_delegation_key_2.value) + + def test_user_delegation_sas_for_blob(self): + pytest.skip("Current Framework Cannot Support OAUTH") + # SAS URL is calculated from storage key, so this test runs live only + if TestMode.need_recording_file(self.test_mode): + return + + # Arrange + token_credential = self.generate_oauth_token() + service_client = BlobServiceClient(self._get_oauth_account_url(), credential=token_credential) + user_delegation_key = service_client.get_user_delegation_key(datetime.utcnow(), + datetime.utcnow() + timedelta(hours=1)) + + container_client = service_client.create_container(self.get_resource_name('oauthcontainer')) + blob_client = container_client.get_blob_client(self.get_resource_name('oauthblob')) + blob_client.upload_blob(self.byte_data, length=len(self.byte_data)) + + token = blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ, + expiry=datetime.utcnow() + timedelta(hours=1), + user_delegation_key=user_delegation_key, + account_name='emilydevtest', + ) + + # Act + # Use the generated identity sas + new_blob_client = BlobClient(blob_client.url, credential=token) + content = new_blob_client.download_blob() + + # Assert + self.assertEqual(self.byte_data, b"".join(list(content))) + @record def test_token_credential(self): token_credential = self.generate_oauth_token() diff --git a/sdk/storage/azure-storage-blob/tests/test_common_blob_async.py b/sdk/storage/azure-storage-blob/tests/test_common_blob_async.py index c77c59749a69..66253ba67dc9 100644 --- a/sdk/storage/azure-storage-blob/tests/test_common_blob_async.py +++ b/sdk/storage/azure-storage-blob/tests/test_common_blob_async.py @@ -192,6 +192,15 @@ async def _test_blob_exists(self): # Assert self.assertTrue(exists) + def _generate_oauth_token(self): + from azure.identity.aio import ClientSecretCredential + + return ClientSecretCredential( + self.settings.ACTIVE_DIRECTORY_APPLICATION_ID, + self.settings.ACTIVE_DIRECTORY_APPLICATION_SECRET, + self.settings.ACTIVE_DIRECTORY_TENANT_ID + ) + @record def test_blob_exists(self): loop = asyncio.get_event_loop() @@ -1137,26 +1146,27 @@ def test_copy_blob_with_existing_blob(self): loop = asyncio.get_event_loop() loop.run_until_complete(self._test_copy_blob_with_existing_blob()) - async def _test_copy_blob_with_external_blob_fails(self): - # Arrange - await self._setup() - source_blob = "http://www.gutenberg.org/files/59466/59466-0.txt" - copied_blob = self.bsc.get_blob_client(self.container_name, '59466-0.txt') - - # Act - copy = await copied_blob.start_copy_from_url(source_blob) - self.assertEqual(copy['copy_status'], 'pending') - props = await self._wait_for_async_copy(copied_blob) - - # Assert - self.assertEqual(props.copy.status_description, '500 InternalServerError "Copy failed."') - self.assertEqual(props.copy.status, 'failed') - self.assertIsNotNone(props.copy.id) - - @record - def test_copy_blob_with_external_blob_fails(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_copy_blob_with_external_blob_fails()) + # TODO: external copy was supported since 2019-02-02 + # async def _test_copy_blob_with_external_blob_fails(self): + # # Arrange + # await self._setup() + # source_blob = "http://www.gutenberg.org/files/59466/59466-0.txt" + # copied_blob = self.bsc.get_blob_client(self.container_name, '59466-0.txt') + # + # # Act + # copy = await copied_blob.start_copy_from_url(source_blob) + # self.assertEqual(copy['copy_status'], 'pending') + # props = await self._wait_for_async_copy(copied_blob) + # + # # Assert + # self.assertEqual(props.copy.status_description, '500 InternalServerError "Copy failed."') + # self.assertEqual(props.copy.status, 'failed') + # self.assertIsNotNone(props.copy.id) + # + # @record + # def test_copy_blob_with_external_blob_fails(self): + # loop = asyncio.get_event_loop() + # loop.run_until_complete(self._test_copy_blob_with_external_blob_fails()) async def _test_copy_blob_async_private_blob_no_sas(self): # Arrange @@ -1620,14 +1630,51 @@ def test_account_sas(self): loop = asyncio.get_event_loop() loop.run_until_complete(self._test_account_sas()) + async def _test_get_user_delegation_key(self): + # TODO: figure out why recording does not work + pytest.skip("Current Framework Cannot Support OAUTH") + if TestMode.need_recording_file(self.test_mode): + return + # Act + token_credential = self._generate_oauth_token() + + # Action 1: make sure token works + service = BlobServiceClient(self._get_oauth_account_url(), credential=token_credential) + + start = datetime.utcnow() + expiry = datetime.utcnow() + timedelta(hours=1) + user_delegation_key_1 = await service.get_user_delegation_key(key_start_time=start, key_expiry_time=expiry) + user_delegation_key_2 = await service.get_user_delegation_key(key_start_time=start, key_expiry_time=expiry) + + # Assert key1 is valid + self.assertIsNotNone(user_delegation_key_1.signed_oid) + self.assertIsNotNone(user_delegation_key_1.signed_tid) + self.assertIsNotNone(user_delegation_key_1.signed_start) + self.assertIsNotNone(user_delegation_key_1.signed_expiry) + self.assertIsNotNone(user_delegation_key_1.signed_version) + self.assertIsNotNone(user_delegation_key_1.signed_service) + self.assertIsNotNone(user_delegation_key_1.value) + + # Assert key1 and key2 are equal, since they have the exact same start and end times + self.assertEqual(user_delegation_key_1.signed_oid, user_delegation_key_2.signed_oid) + self.assertEqual(user_delegation_key_1.signed_tid, user_delegation_key_2.signed_tid) + self.assertEqual(user_delegation_key_1.signed_start, user_delegation_key_2.signed_start) + self.assertEqual(user_delegation_key_1.signed_expiry, user_delegation_key_2.signed_expiry) + self.assertEqual(user_delegation_key_1.signed_version, user_delegation_key_2.signed_version) + self.assertEqual(user_delegation_key_1.signed_service, user_delegation_key_2.signed_service) + self.assertEqual(user_delegation_key_1.value, user_delegation_key_2.value) + + def test_get_user_delegation_key_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_get_user_delegation_key()) + async def _test_token_credential(self): - pytest.skip("") + pytest.skip("Current Framework Cannot Support OAUTH") if TestMode.need_recording_file(self.test_mode): return await self._setup() - token_credential = self.generate_oauth_token() - get_token = token_credential.get_token + token_credential = self._generate_oauth_token() # Action 1: make sure token works service = BlobServiceClient(self._get_oauth_account_url(), credential=token_credential, transport=AiohttpTestTransport()) @@ -1647,6 +1694,7 @@ async def _test_token_credential(self): @record def test_token_credential(self): + pytest.skip("not set up to use async azure-identity") loop = asyncio.get_event_loop() loop.run_until_complete(self._test_token_credential()) diff --git a/sdk/storage/azure-storage-blob/tests/test_container.py b/sdk/storage/azure-storage-blob/tests/test_container.py index c7e51c304aaf..d04a74e8b3bf 100644 --- a/sdk/storage/azure-storage-blob/tests/test_container.py +++ b/sdk/storage/azure-storage-blob/tests/test_container.py @@ -6,6 +6,7 @@ # license information. # -------------------------------------------------------------------------- import pytest +import unittest from dateutil.tz import tzutc import requests @@ -23,6 +24,7 @@ AccessPolicy ) +from azure.identity import ClientSecretCredential from testcase import StorageTestCase, TestMode, record, LogCaptured #------------------------------------------------------------------------------ @@ -70,6 +72,14 @@ def _create_container(self, prefix=TEST_CONTAINER_PREFIX): pass return container + def _generate_oauth_token(self): + + return ClientSecretCredential( + self.settings.ACTIVE_DIRECTORY_APPLICATION_ID, + self.settings.ACTIVE_DIRECTORY_APPLICATION_SECRET, + self.settings.ACTIVE_DIRECTORY_TENANT_ID + ) + #--Test cases for containers ----------------------------------------- @record def test_create_container(self): @@ -520,7 +530,7 @@ def test_set_container_acl_with_signed_identifiers(self): self.assertIsNone(acl.get('public_access')) @record - def test_set_container_acl_with_three_identifiers(self): + def test_set_container_acl_with_empty_identifiers(self): # Arrange container = self._create_container() identifiers = {i: None for i in range(2)} @@ -531,17 +541,19 @@ def test_set_container_acl_with_three_identifiers(self): # Assert acl = container.get_container_access_policy() self.assertIsNotNone(acl) - self.assertEqual(len(acl.get('signed_identifiers')), 1) - self.assertEqual('testid', acl.get('signed_identifiers')[0].id) - self.assertIsNotNone(acl.get('signed_identifiers')[0].access_policy) + self.assertEqual(len(acl.get('signed_identifiers')), 2) + self.assertEqual('0', acl.get('signed_identifiers')[0].id) + self.assertIsNone(acl.get('signed_identifiers')[0].access_policy) self.assertIsNone(acl.get('public_access')) - @record def test_set_container_acl_with_three_identifiers(self): # Arrange container = self._create_container() - identifiers = {str(i): None for i in range(0, 3)} + access_policy = AccessPolicy(permission=ContainerPermissions.READ, + expiry=datetime.utcnow() + timedelta(hours=1), + start=datetime.utcnow() - timedelta(minutes=1)) + identifiers = {str(i): access_policy for i in range(0, 3)} # Act container.set_container_access_policy(identifiers) @@ -549,6 +561,9 @@ def test_set_container_acl_with_three_identifiers(self): # Assert acl = container.get_container_access_policy() self.assertEqual(3, len(acl.get('signed_identifiers'))) + self.assertEqual('0', acl.get('signed_identifiers')[0].id) + self.assertIsNotNone(acl.get('signed_identifiers')[0].access_policy) + self.assertIsNone(acl.get('public_access')) @record @@ -847,6 +862,7 @@ def test_list_blobs_with_include_snapshots(self): @record def test_list_blobs_with_include_metadata(self): # Arrange + pytest.skip("Waiting on metadata XML fix in msrest") container = self._create_container() data = b'hello world' blob1 = container.get_blob_client('blob1') @@ -974,6 +990,7 @@ def recursive_walk(prefix): @record def test_list_blobs_with_include_multiple(self): # Arrange + pytest.skip("Waiting on metadata XML fix in msrest") container = self._create_container() data = b'hello world' blob1 = container.get_blob_client('blob1') @@ -1060,6 +1077,36 @@ def test_web_container_normal_operations_working(self): # delete container container.delete_container() + def test_user_delegation_sas_for_container(self): + # SAS URL is calculated from storage key, so this test runs live only + pytest.skip("Current Framework Cannot Support OAUTH") + if TestMode.need_recording_file(self.test_mode): + return + + # Arrange + token_credential = self.generate_oauth_token() + service_client = BlobServiceClient(self._get_oauth_account_url(), credential=token_credential) + user_delegation_key = service_client.get_user_delegation_key(datetime.utcnow(), + datetime.utcnow() + timedelta(hours=1)) + + container_client = service_client.create_container(self.get_resource_name('oauthcontainer')) + token = container_client.generate_shared_access_signature( + expiry=datetime.utcnow() + timedelta(hours=1), + permission=ContainerPermissions.READ, + user_delegation_key=user_delegation_key, + account_name='emilydevtest' + ) + + blob_client = container_client.get_blob_client(self.get_resource_name('oauthblob')) + blob_content = self.get_random_text_data(1024) + blob_client.upload_blob(blob_content, length=len(blob_content)) + + # Act + new_blob_client = BlobClient(blob_client.url, credential=token) + content = new_blob_client.download_blob() + + # Assert + self.assertEqual(blob_content, b"".join(list(content)).decode('utf-8')) #------------------------------------------------------------------------------ if __name__ == '__main__': diff --git a/sdk/storage/azure-storage-blob/tests/test_container_async.py b/sdk/storage/azure-storage-blob/tests/test_container_async.py index 872b5748b485..c42b9ff9fd7e 100644 --- a/sdk/storage/azure-storage-blob/tests/test_container_async.py +++ b/sdk/storage/azure-storage-blob/tests/test_container_async.py @@ -640,6 +640,27 @@ def test_set_container_acl_with_signed_identifiers(self): loop = asyncio.get_event_loop() loop.run_until_complete(self._test_set_container_acl_with_signed_identifiers()) + async def _test_set_container_acl_with_empty_identifiers(self): + # Arrange + container = await self._create_container() + identifiers = {i: None for i in range(0, 3)} + + # Act + await container.set_container_access_policy(identifiers) + + # Assert + acl = await container.get_container_access_policy() + self.assertIsNotNone(acl) + self.assertEqual(len(acl.get('signed_identifiers')), 3) + self.assertEqual('0', acl.get('signed_identifiers')[0].id) + self.assertIsNone(acl.get('signed_identifiers')[0].access_policy) + self.assertIsNone(acl.get('public_access')) + + @record + def test_set_container_acl_with_empty_identifiers(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_set_container_acl_with_empty_identifiers()) + async def _test_set_container_acl_with_three_identifiers(self): # Arrange container = await self._create_container() @@ -1048,6 +1069,7 @@ def test_list_blobs_with_include_snapshots(self): async def _test_list_blobs_with_include_metadata(self): # Arrange + pytest.skip("Waiting on metadata XML fix in msrest") container = await self._create_container() data = b'hello world' blob1 = container.get_blob_client('blob1') @@ -1214,6 +1236,7 @@ def test_walk_blobs_with_delimiter(self): async def _test_list_blobs_with_include_multiple(self): # Arrange + pytest.skip("Waiting on metadata XML fix in msrest") container = await self._create_container() data = b'hello world' blob1 = container.get_blob_client('blob1') diff --git a/sdk/storage/azure-storage-blob/tests/test_cpk.py b/sdk/storage/azure-storage-blob/tests/test_cpk.py new file mode 100644 index 000000000000..5607c77ce9c9 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/test_cpk.py @@ -0,0 +1,538 @@ +# coding: utf-8 + +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import unittest +from datetime import datetime, timedelta + +from azure.core.exceptions import HttpResponseError +from azure.storage.blob import ( + BlobServiceClient, + BlobType, + BlobBlock, +) +from azure.storage.blob.models import CustomerProvidedEncryptionKey, BlobPermissions +from testcase import ( + StorageTestCase, + TestMode, + record, +) + +# ------------------------------------------------------------------------------ +TEST_ENCRYPTION_KEY = CustomerProvidedEncryptionKey(key_value="MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc=", + key_hash="3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE=") + + +# ------------------------------------------------------------------------------ + +class StorageCPKTest(StorageTestCase): + def setUp(self): + super(StorageCPKTest, self).setUp() + + url = self._get_account_url() + + # test chunking functionality by reducing the size of each chunk, + # otherwise the tests would take too long to execute + self.bsc = BlobServiceClient( + url, + credential=self.settings.STORAGE_ACCOUNT_KEY, + connection_data_block_size=1024, + max_single_put_size=1024, + min_large_block_upload_threshold=1024, + max_block_size=1024, + max_page_size=1024) + self.config = self.bsc._config + self.container_name = self.get_resource_name('utcontainer') + + # prep some test data so that they can be used in upload tests + self.byte_data = self.get_random_bytes(64 * 1024) + + if not self.is_playback(): + self.bsc.create_container(self.container_name) + + def tearDown(self): + if not self.is_playback(): + try: + self.bsc.delete_container(self.container_name) + except: + pass + + return super(StorageCPKTest, self).tearDown() + + # --Helpers----------------------------------------------------------------- + + def _get_blob_reference(self): + return self.get_resource_name("cpk") + + def _create_block_blob(self, blob_name=None, data=None, cpk=None, max_connections=1): + blob_name = blob_name if blob_name else self._get_blob_reference() + blob_client = self.bsc.get_blob_client(self.container_name, blob_name) + data = data if data else b'' + resp = blob_client.upload_blob(data, cpk=cpk, max_connections=max_connections) + return blob_client, resp + + def _create_append_blob(self, cpk=None): + blob_name = self._get_blob_reference() + blob = self.bsc.get_blob_client( + self.container_name, + blob_name) + blob.create_append_blob(cpk=cpk) + return blob + + def _create_page_blob(self, cpk=None): + blob_name = self._get_blob_reference() + blob = self.bsc.get_blob_client( + self.container_name, + blob_name) + blob.create_page_blob(1024 * 1024, cpk=cpk) + return blob + + # -- Test cases for APIs supporting CPK ---------------------------------------------- + + @record + def test_put_block_and_put_block_list(self): + # Arrange + blob_client, _ = self._create_block_blob() + blob_client.stage_block('1', b'AAA', cpk=TEST_ENCRYPTION_KEY) + blob_client.stage_block('2', b'BBB', cpk=TEST_ENCRYPTION_KEY) + blob_client.stage_block('3', b'CCC', cpk=TEST_ENCRYPTION_KEY) + + # Act + block_list = [BlobBlock(block_id='1'), BlobBlock(block_id='2'), BlobBlock(block_id='3')] + put_block_list_resp = blob_client.commit_block_list(block_list, + cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(put_block_list_resp['etag']) + self.assertIsNotNone(put_block_list_resp['last_modified']) + self.assertTrue(put_block_list_resp['request_server_encrypted']) + self.assertEqual(put_block_list_resp['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + blob_client.download_blob() + + # Act get the blob content + blob = blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(blob.content_as_bytes(), b'AAABBBCCC') + self.assertEqual(blob.properties.etag, put_block_list_resp['etag']) + self.assertEqual(blob.properties.last_modified, put_block_list_resp['last_modified']) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + def test_create_block_blob_with_chunks(self): + # parallel operation + if TestMode.need_recording_file(self.test_mode): + return + # Arrange + # to force the in-memory chunks to be used + self.config.use_byte_buffer = True + + # Act + # create_blob_from_bytes forces the in-memory chunks to be used + blob_client, upload_response = self._create_block_blob(data=self.byte_data, cpk=TEST_ENCRYPTION_KEY, + max_connections=2) + + # Assert + self.assertIsNotNone(upload_response['etag']) + self.assertIsNotNone(upload_response['last_modified']) + self.assertTrue(upload_response['request_server_encrypted']) + self.assertEqual(upload_response['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + blob_client.download_blob() + + # Act get the blob content + blob = blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(blob.content_as_bytes(), self.byte_data) + self.assertEqual(blob.properties.etag, upload_response['etag']) + self.assertEqual(blob.properties.last_modified, upload_response['last_modified']) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + def test_create_block_blob_with_sub_streams(self): + # problem with the recording framework can only run live + if TestMode.need_recording_file(self.test_mode): + return + + # Act + # create_blob_from_bytes forces the in-memory chunks to be used + blob_client, upload_response = self._create_block_blob(data=self.byte_data, cpk=TEST_ENCRYPTION_KEY, + max_connections=2) + + # Assert + self.assertIsNotNone(upload_response['etag']) + self.assertIsNotNone(upload_response['last_modified']) + self.assertTrue(upload_response['request_server_encrypted']) + self.assertEqual(upload_response['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + blob_client.download_blob() + + # Act get the blob content + blob = blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(blob.content_as_bytes(), self.byte_data) + self.assertEqual(blob.properties.etag, upload_response['etag']) + self.assertEqual(blob.properties.last_modified, upload_response['last_modified']) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_create_block_blob_with_single_chunk(self): + # Act + data = b'AAABBBCCC' + # create_blob_from_bytes forces the in-memory chunks to be used + blob_client, upload_response = self._create_block_blob(data=data, cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(upload_response['etag']) + self.assertIsNotNone(upload_response['last_modified']) + self.assertTrue(upload_response['request_server_encrypted']) + self.assertEqual(upload_response['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + blob_client.download_blob() + + # Act get the blob content + blob = blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(blob.content_as_bytes(), data) + self.assertEqual(blob.properties.etag, upload_response['etag']) + self.assertEqual(blob.properties.last_modified, upload_response['last_modified']) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_put_block_from_url_and_commit(self): + # Arrange + # create source blob and get source blob url + source_blob_name = self.get_resource_name("sourceblob") + self.config.use_byte_buffer = True # Make sure using chunk upload, then we can record the request + source_blob_client, _ = self._create_block_blob(blob_name=source_blob_name, data=self.byte_data) + source_blob_sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ, + expiry=datetime.utcnow() + timedelta(hours=1) + ) + source_blob_url = source_blob_client.url + "?" + source_blob_sas + + # create destination blob + self.config.use_byte_buffer = False + destination_blob_client, _ = self._create_block_blob(cpk=TEST_ENCRYPTION_KEY) + + # Act part 1: make put block from url calls + destination_blob_client.stage_block_from_url(block_id=1, source_url=source_blob_url, + source_offset=0, source_length=4 * 1024 - 1, + cpk=TEST_ENCRYPTION_KEY) + destination_blob_client.stage_block_from_url(block_id=2, source_url=source_blob_url, + source_offset=4 * 1024, source_length=8 * 1024, + cpk=TEST_ENCRYPTION_KEY) + + # Assert blocks + committed, uncommitted = destination_blob_client.get_block_list('all') + self.assertEqual(len(uncommitted), 2) + self.assertEqual(len(committed), 0) + + # commit the blocks without cpk should fail + block_list = [BlobBlock(block_id='1'), BlobBlock(block_id='2')] + with self.assertRaises(HttpResponseError): + destination_blob_client.commit_block_list(block_list) + + # Act commit the blocks with cpk should succeed + put_block_list_resp = destination_blob_client.commit_block_list(block_list, + cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(put_block_list_resp['etag']) + self.assertIsNotNone(put_block_list_resp['last_modified']) + self.assertTrue(put_block_list_resp['request_server_encrypted']) + self.assertEqual(put_block_list_resp['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content + blob = destination_blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(blob.content_as_bytes(), self.byte_data[0: 8 * 1024 + 1]) + self.assertEqual(blob.properties.etag, put_block_list_resp['etag']) + self.assertEqual(blob.properties.last_modified, put_block_list_resp['last_modified']) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_append_block(self): + # Arrange + blob_client = self._create_append_blob(cpk=TEST_ENCRYPTION_KEY) + + # Act + for content in [b'AAA', b'BBB', b'CCC']: + append_blob_prop = blob_client.append_block(content, cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(append_blob_prop['etag']) + self.assertIsNotNone(append_blob_prop['last_modified']) + self.assertTrue(append_blob_prop['request_server_encrypted']) + self.assertEqual(append_blob_prop['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + blob_client.download_blob() + + # Act get the blob content + blob = blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(blob.content_as_bytes(), b'AAABBBCCC') + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_append_block_from_url(self): + # Arrange + source_blob_name = self.get_resource_name("sourceblob") + self.config.use_byte_buffer = True # chunk upload + source_blob_client, _ = self._create_block_blob(blob_name=source_blob_name, data=self.byte_data) + source_blob_sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ, + expiry=datetime.utcnow() + timedelta(hours=1) + ) + source_blob_url = source_blob_client.url + "?" + source_blob_sas + + self.config.use_byte_buffer = False + destination_blob_client = self._create_append_blob(cpk=TEST_ENCRYPTION_KEY) + + # Act + append_blob_prop = destination_blob_client.append_block_from_url(source_blob_url, + source_range_start=0, + source_range_end=4 * 1024 - 1, + cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(append_blob_prop['etag']) + self.assertIsNotNone(append_blob_prop['last_modified']) + # TODO: verify that the swagger is correct, header wasn't added for the response + # self.assertTrue(append_blob_prop['request_server_encrypted']) + self.assertEqual(append_blob_prop['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + destination_blob_client.download_blob() + + # Act get the blob content + blob = destination_blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(blob.content_as_bytes(), self.byte_data[0: 4 * 1024]) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_create_append_blob_with_chunks(self): + # Arrange + blob_client = self._create_append_blob(cpk=TEST_ENCRYPTION_KEY) + + # Act + append_blob_prop = blob_client.upload_blob(self.byte_data, + blob_type=BlobType.AppendBlob, cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(append_blob_prop['etag']) + self.assertIsNotNone(append_blob_prop['last_modified']) + self.assertTrue(append_blob_prop['request_server_encrypted']) + self.assertEqual(append_blob_prop['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + blob_client.download_blob() + + # Act get the blob content + blob = blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(blob.content_as_bytes(), self.byte_data) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_update_page(self): + # Arrange + blob_client = self._create_page_blob(cpk=TEST_ENCRYPTION_KEY) + + # Act + page_blob_prop = blob_client.upload_page(self.byte_data, + start_range=0, + end_range=len(self.byte_data) - 1, + cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(page_blob_prop['etag']) + self.assertIsNotNone(page_blob_prop['last_modified']) + self.assertTrue(page_blob_prop['request_server_encrypted']) + self.assertEqual(page_blob_prop['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + blob_client.download_blob() + + # Act get the blob content + blob = blob_client.download_blob(offset=0, + length=len(self.byte_data) - 1, + cpk=TEST_ENCRYPTION_KEY, ) + + # Assert content was retrieved with the cpk + self.assertEqual(blob.content_as_bytes(), self.byte_data) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_update_page_from_url(self): + # Arrange + source_blob_name = self.get_resource_name("sourceblob") + self.config.use_byte_buffer = True # Make sure using chunk upload, then we can record the request + source_blob_client, _ = self._create_block_blob(blob_name=source_blob_name, data=self.byte_data) + source_blob_sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ, + expiry=datetime.utcnow() + timedelta(hours=1) + ) + source_blob_url = source_blob_client.url + "?" + source_blob_sas + + self.config.use_byte_buffer = False + blob_client = self._create_page_blob(cpk=TEST_ENCRYPTION_KEY) + + # Act + page_blob_prop = blob_client.upload_pages_from_url(source_blob_url, + range_start=0, + range_end=len(self.byte_data) - 1, + source_range_start=0, + cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(page_blob_prop['etag']) + self.assertIsNotNone(page_blob_prop['last_modified']) + self.assertTrue(page_blob_prop['request_server_encrypted']) + # TODO: FIX SWAGGER + # self.assertEqual(page_blob_prop['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + blob_client.download_blob() + + # Act get the blob content + blob = blob_client.download_blob(offset=0, + length=len(self.byte_data) - 1, + cpk=TEST_ENCRYPTION_KEY, ) + + # Assert content was retrieved with the cpk + self.assertEqual(blob.content_as_bytes(), self.byte_data) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + def test_create_page_blob_with_chunks(self): + if TestMode.need_recording_file(self.test_mode): + return + + # Act + blob_client = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + page_blob_prop = blob_client.upload_blob(self.byte_data, + blob_type=BlobType.PageBlob, + max_connections=2, + cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(page_blob_prop['etag']) + self.assertIsNotNone(page_blob_prop['last_modified']) + self.assertTrue(page_blob_prop['request_server_encrypted']) + self.assertEqual(page_blob_prop['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + blob_client.download_blob() + + # Act get the blob content + blob = blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(blob.content_as_bytes(), self.byte_data) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + # TODO: verify why clear page works without providing cpk + # @record + # def test_clear_page(self): + # # Arrange + # blob_client = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + # data = self.get_random_bytes(1024) + # blob_client.upload_blob(data, blob_type=BlobType.PageBlob, cpk=TEST_ENCRYPTION_KEY) + # + # # Act + # blob = blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + # self.assertEquals(blob.content_as_bytes(), data) + # + # # with self.assertRaises(HttpResponseError): + # # blob_client.clear_page(0, 511) + # + # resp = blob_client.clear_page(0, 511, cpk=TEST_ENCRYPTION_KEY) + # blob = blob_client.download_blob(0, 511, cpk=TEST_ENCRYPTION_KEY) + # + # # Assert + # self.assertIsNotNone(resp.get('etag')) + # self.assertIsNotNone(resp.get('last_modified')) + # self.assertIsNotNone(resp.get('blob_sequence_number')) + # self.assertEquals(blob.content_as_bytes(), b'\x00' * 512) + # + # blob = blob_client.download_blob(512, 1023, cpk=TEST_ENCRYPTION_KEY) + # self.assertEquals(blob.content_as_bytes(), data[512:]) + + @record + def test_get_set_blob_metadata(self): + # Arrange + blob_client, _ = self._create_block_blob(data=b'AAABBBCCC', cpk=TEST_ENCRYPTION_KEY) + + # Act without the encryption key should fail + with self.assertRaises(HttpResponseError): + blob_client.get_blob_properties() + + # Act + blob_props = blob_client.get_blob_properties(cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertTrue(blob_props.server_encrypted) + self.assertEqual(blob_props.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + # Act set blob properties + metadata = {'hello': 'world', 'number': '42', 'UP': 'UPval'} + with self.assertRaises(HttpResponseError): + blob_client.set_blob_metadata( + metadata=metadata, + ) + + blob_client.set_blob_metadata(metadata=metadata, cpk=TEST_ENCRYPTION_KEY) + + # Assert + blob_props = blob_client.get_blob_properties(cpk=TEST_ENCRYPTION_KEY) + md = blob_props.metadata + self.assertEqual(3, len(md)) + self.assertEqual(md['hello'], 'world') + self.assertEqual(md['number'], '42') + self.assertEqual(md['UP'], 'UPval') + self.assertFalse('up' in md) + + @record + def test_snapshot_blob(self): + # Arrange + blob_client, _ = self._create_block_blob(data=b'AAABBBCCC', cpk=TEST_ENCRYPTION_KEY) + + # Act without cpk should not work + with self.assertRaises(HttpResponseError): + blob_client.create_snapshot() + + # Act with cpk should work + blob_snapshot = blob_client.create_snapshot(cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(blob_snapshot) + + +# ------------------------------------------------------------------------------ +if __name__ == '__main__': + unittest.main() diff --git a/sdk/storage/azure-storage-blob/tests/test_cpk_async.py b/sdk/storage/azure-storage-blob/tests/test_cpk_async.py new file mode 100644 index 000000000000..55c09443fd70 --- /dev/null +++ b/sdk/storage/azure-storage-blob/tests/test_cpk_async.py @@ -0,0 +1,582 @@ +# coding: utf-8 + +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import unittest +import asyncio +from datetime import datetime, timedelta + +from azure.core.exceptions import HttpResponseError +from azure.core.pipeline.transport import AioHttpTransport +from multidict import CIMultiDict, CIMultiDictProxy +from azure.storage.blob.aio import ( + BlobServiceClient, + BlobType, + BlobBlock, +) +from azure.storage.blob.models import CustomerProvidedEncryptionKey, BlobPermissions +from testcase import ( + StorageTestCase, + TestMode, + record, +) + +# ------------------------------------------------------------------------------ +TEST_ENCRYPTION_KEY = CustomerProvidedEncryptionKey(key_value="MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1Njc=", + key_hash="3QFFFpRA5+XANHqwwbT4yXDmrT/2JaLt/FKHjzhOdoE=") + + +# ------------------------------------------------------------------------------ +class AiohttpTestTransport(AioHttpTransport): + """Workaround to vcrpy bug: https://github.com/kevin1024/vcrpy/pull/461 + """ + + async def send(self, request, **config): + response = await super(AiohttpTestTransport, self).send(request, **config) + if not isinstance(response.headers, CIMultiDictProxy): + response.headers = CIMultiDictProxy(CIMultiDict(response.internal_response.headers)) + response.content_type = response.headers.get("content-type") + return response + + +class StorageCPKAsyncTest(StorageTestCase): + def setUp(self): + super(StorageCPKAsyncTest, self).setUp() + + url = self._get_account_url() + + # test chunking functionality by reducing the size of each chunk, + # otherwise the tests would take too long to execute + self.bsc = BlobServiceClient( + url, + credential=self.settings.STORAGE_ACCOUNT_KEY, + connection_data_block_size=1024, + max_single_put_size=1024, + min_large_block_upload_threshold=1024, + max_block_size=1024, + max_page_size=1024, + transport=AiohttpTestTransport()) + self.config = self.bsc._config + self.container_name = self.get_resource_name('utcontainer') + + # prep some test data so that they can be used in upload tests + self.byte_data = self.get_random_bytes(64 * 1024) + + if not self.is_playback(): + loop = asyncio.get_event_loop() + try: + loop.run_until_complete(self.bsc.create_container(self.container_name)) + except: + pass + + def tearDown(self): + if not self.is_playback(): + loop = asyncio.get_event_loop() + try: + loop.run_until_complete(self.bsc.delete_container(self.container_name)) + except: + pass + + return super(StorageCPKAsyncTest, self).tearDown() + + # --Helpers----------------------------------------------------------------- + + def _get_blob_reference(self): + return self.get_resource_name("cpk") + + async def _create_block_blob(self, blob_name=None, data=None, cpk=None, max_connections=1): + blob_name = blob_name if blob_name else self._get_blob_reference() + blob_client = self.bsc.get_blob_client(self.container_name, blob_name) + data = data if data else b'' + resp = await blob_client.upload_blob(data, cpk=cpk, max_connections=max_connections) + return blob_client, resp + + async def _create_append_blob(self, cpk=None): + blob_name = self._get_blob_reference() + blob = self.bsc.get_blob_client( + self.container_name, + blob_name) + await blob.create_append_blob(cpk=cpk) + return blob + + async def _create_page_blob(self, cpk=None): + blob_name = self._get_blob_reference() + blob = self.bsc.get_blob_client( + self.container_name, + blob_name) + await blob.create_page_blob(1024 * 1024, cpk=cpk) + return blob + + # -- Test cases for APIs supporting CPK ---------------------------------------------- + + async def _test_put_block_and_put_block_list(self): + # Arrange + blob_client, _ = await self._create_block_blob() + await blob_client.stage_block('1', b'AAA', cpk=TEST_ENCRYPTION_KEY) + await blob_client.stage_block('2', b'BBB', cpk=TEST_ENCRYPTION_KEY) + await blob_client.stage_block('3', b'CCC', cpk=TEST_ENCRYPTION_KEY) + + # Act + block_list = [BlobBlock(block_id='1'), BlobBlock(block_id='2'), BlobBlock(block_id='3')] + put_block_list_resp = await blob_client.commit_block_list(block_list, + cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(put_block_list_resp['etag']) + self.assertIsNotNone(put_block_list_resp['last_modified']) + self.assertTrue(put_block_list_resp['request_server_encrypted']) + self.assertEqual(put_block_list_resp['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + await blob_client.download_blob() + + # Act get the blob content + blob = await blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(await blob.content_as_bytes(), b'AAABBBCCC') + self.assertEqual(blob.properties.etag, put_block_list_resp['etag']) + self.assertEqual(blob.properties.last_modified, put_block_list_resp['last_modified']) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_put_block_and_put_block_list_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_put_block_and_put_block_list()) + + async def _test_create_block_blob_with_chunks(self): + # parallel operation + if TestMode.need_recording_file(self.test_mode): + return + # Arrange + # to force the in-memory chunks to be used + self.config.use_byte_buffer = True + + # Act + # create_blob_from_bytes forces the in-memory chunks to be used + blob_client, upload_response = await self._create_block_blob(data=self.byte_data, cpk=TEST_ENCRYPTION_KEY, + max_connections=2) + + # Assert + self.assertIsNotNone(upload_response['etag']) + self.assertIsNotNone(upload_response['last_modified']) + self.assertTrue(upload_response['request_server_encrypted']) + self.assertEqual(upload_response['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + await blob_client.download_blob() + + # Act get the blob content + blob = await blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(await blob.content_as_bytes(), self.byte_data) + self.assertEqual(blob.properties.etag, upload_response['etag']) + self.assertEqual(blob.properties.last_modified, upload_response['last_modified']) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + def test_create_block_blob_with_chunks_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_create_block_blob_with_chunks()) + + async def _test_create_block_blob_with_sub_streams(self): + # problem with the recording framework can only run live + if TestMode.need_recording_file(self.test_mode): + return + + # Act + # create_blob_from_bytes forces the in-memory chunks to be used + blob_client, upload_response = await self._create_block_blob(data=self.byte_data, cpk=TEST_ENCRYPTION_KEY, + max_connections=2) + + # Assert + self.assertIsNotNone(upload_response['etag']) + self.assertIsNotNone(upload_response['last_modified']) + self.assertTrue(upload_response['request_server_encrypted']) + self.assertEqual(upload_response['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + await blob_client.download_blob() + + # Act get the blob content + blob = await blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(await blob.content_as_bytes(), self.byte_data) + self.assertEqual(blob.properties.etag, upload_response['etag']) + self.assertEqual(blob.properties.last_modified, upload_response['last_modified']) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + def test_create_block_blob_with_sub_streams_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_create_block_blob_with_sub_streams()) + + async def _test_create_block_blob_with_single_chunk(self): + # Act + data = b'AAABBBCCC' + # create_blob_from_bytes forces the in-memory chunks to be used + blob_client, upload_response = await self._create_block_blob(data=data, cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(upload_response['etag']) + self.assertIsNotNone(upload_response['last_modified']) + self.assertTrue(upload_response['request_server_encrypted']) + self.assertEqual(upload_response['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + await blob_client.download_blob() + + # Act get the blob content + blob = await blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(await blob.content_as_bytes(), data) + self.assertEqual(blob.properties.etag, upload_response['etag']) + self.assertEqual(blob.properties.last_modified, upload_response['last_modified']) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_create_block_blob_with_single_chunk_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_create_block_blob_with_single_chunk()) + + async def _test_put_block_from_url_and_commit(self): + # Arrange + # create source blob and get source blob url + source_blob_name = self.get_resource_name("sourceblob") + self.config.use_byte_buffer = True # Make sure using chunk upload, then we can record the request + source_blob_client, _ = await self._create_block_blob(blob_name=source_blob_name, data=self.byte_data) + source_blob_sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ, + expiry=datetime.utcnow() + timedelta(hours=1) + ) + source_blob_url = source_blob_client.url + "?" + source_blob_sas + + # create destination blob + self.config.use_byte_buffer = False + destination_blob_client, _ = await self._create_block_blob(cpk=TEST_ENCRYPTION_KEY) + + # Act part 1: make put block from url calls + await destination_blob_client.stage_block_from_url(block_id=1, source_url=source_blob_url, + source_offset=0, source_length=4 * 1024 - 1, + cpk=TEST_ENCRYPTION_KEY) + await destination_blob_client.stage_block_from_url(block_id=2, source_url=source_blob_url, + source_offset=4 * 1024, source_length=8 * 1024, + cpk=TEST_ENCRYPTION_KEY) + + # Assert blocks + committed, uncommitted = await destination_blob_client.get_block_list('all') + self.assertEqual(len(uncommitted), 2) + self.assertEqual(len(committed), 0) + + # commit the blocks without cpk should fail + block_list = [BlobBlock(block_id='1'), BlobBlock(block_id='2')] + with self.assertRaises(HttpResponseError): + await destination_blob_client.commit_block_list(block_list) + + # Act commit the blocks with cpk should succeed + put_block_list_resp = await destination_blob_client.commit_block_list(block_list, + cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(put_block_list_resp['etag']) + self.assertIsNotNone(put_block_list_resp['last_modified']) + self.assertTrue(put_block_list_resp['request_server_encrypted']) + self.assertEqual(put_block_list_resp['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content + blob = await destination_blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(await blob.content_as_bytes(), self.byte_data[0: 8 * 1024 + 1]) + self.assertEqual(blob.properties.etag, put_block_list_resp['etag']) + self.assertEqual(blob.properties.last_modified, put_block_list_resp['last_modified']) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_put_block_from_url_and_commit_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_put_block_from_url_and_commit()) + + async def _test_append_block(self): + # Arrange + blob_client = await self._create_append_blob(cpk=TEST_ENCRYPTION_KEY) + + # Act + for content in [b'AAA', b'BBB', b'CCC']: + append_blob_prop = await blob_client.append_block(content, cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(append_blob_prop['etag']) + self.assertIsNotNone(append_blob_prop['last_modified']) + self.assertTrue(append_blob_prop['request_server_encrypted']) + self.assertEqual(append_blob_prop['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + await blob_client.download_blob() + + # Act get the blob content + blob = await blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(await blob.content_as_bytes(), b'AAABBBCCC') + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_append_block_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block()) + + async def _test_append_block_from_url(self): + # Arrange + source_blob_name = self.get_resource_name("sourceblob") + self.config.use_byte_buffer = True # chunk upload + source_blob_client, _ = await self._create_block_blob(blob_name=source_blob_name, data=self.byte_data) + source_blob_sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ, + expiry=datetime.utcnow() + timedelta(hours=1) + ) + source_blob_url = source_blob_client.url + "?" + source_blob_sas + + self.config.use_byte_buffer = False + destination_blob_client = await self._create_append_blob(cpk=TEST_ENCRYPTION_KEY) + + # Act + append_blob_prop = await destination_blob_client.append_block_from_url(source_blob_url, + source_range_start=0, + source_range_end=4 * 1024 - 1, + cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(append_blob_prop['etag']) + self.assertIsNotNone(append_blob_prop['last_modified']) + # TODO: verify that the swagger is correct, header wasn't added for the response + # self.assertTrue(append_blob_prop['request_server_encrypted']) + self.assertEqual(append_blob_prop['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + await destination_blob_client.download_blob() + + # Act get the blob content + blob = await destination_blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(await blob.content_as_bytes(), self.byte_data[0: 4 * 1024]) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_append_block_from_url_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_append_block_from_url()) + + async def _test_create_append_blob_with_chunks(self): + # Arrange + blob_client = await self._create_append_blob(cpk=TEST_ENCRYPTION_KEY) + + # Act + append_blob_prop = await blob_client.upload_blob(self.byte_data, + blob_type=BlobType.AppendBlob, cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(append_blob_prop['etag']) + self.assertIsNotNone(append_blob_prop['last_modified']) + self.assertTrue(append_blob_prop['request_server_encrypted']) + self.assertEqual(append_blob_prop['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + await blob_client.download_blob() + + # Act get the blob content + blob = await blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(await blob.content_as_bytes(), self.byte_data) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_create_append_blob_with_chunks_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_create_append_blob_with_chunks()) + + async def _test_update_page(self): + # Arrange + blob_client = await self._create_page_blob(cpk=TEST_ENCRYPTION_KEY) + + # Act + page_blob_prop = await blob_client.upload_page(self.byte_data, + start_range=0, + end_range=len(self.byte_data) - 1, + cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(page_blob_prop['etag']) + self.assertIsNotNone(page_blob_prop['last_modified']) + self.assertTrue(page_blob_prop['request_server_encrypted']) + self.assertEqual(page_blob_prop['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + await blob_client.download_blob() + + # Act get the blob content + blob = await blob_client.download_blob(offset=0, + length=len(self.byte_data) - 1, + cpk=TEST_ENCRYPTION_KEY, ) + + # Assert content was retrieved with the cpk + self.assertEqual(await blob.content_as_bytes(), self.byte_data) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_update_page_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_update_page()) + + async def _test_update_page_from_url(self): + # Arrange + source_blob_name = self.get_resource_name("sourceblob") + self.config.use_byte_buffer = True # Make sure using chunk upload, then we can record the request + source_blob_client, _ = await self._create_block_blob(blob_name=source_blob_name, data=self.byte_data) + source_blob_sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ, + expiry=datetime.utcnow() + timedelta(hours=1) + ) + source_blob_url = source_blob_client.url + "?" + source_blob_sas + + self.config.use_byte_buffer = False + blob_client = await self._create_page_blob(cpk=TEST_ENCRYPTION_KEY) + + # Act + page_blob_prop = await blob_client.upload_pages_from_url(source_blob_url, + range_start=0, + range_end=len(self.byte_data) - 1, + source_range_start=0, + cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(page_blob_prop['etag']) + self.assertIsNotNone(page_blob_prop['last_modified']) + self.assertTrue(page_blob_prop['request_server_encrypted']) + # TODO: FIX SWAGGER + # self.assertEqual(page_blob_prop['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + await blob_client.download_blob() + + # Act get the blob content + blob = await blob_client.download_blob(offset=0, + length=len(self.byte_data) - 1, + cpk=TEST_ENCRYPTION_KEY, ) + + # Assert content was retrieved with the cpk + self.assertEqual(await blob.content_as_bytes(), self.byte_data) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + @record + def test_update_page_from_url_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_update_page_from_url()) + + async def _test_create_page_blob_with_chunks(self): + if TestMode.need_recording_file(self.test_mode): + return + + # Act + blob_client = self.bsc.get_blob_client(self.container_name, self._get_blob_reference()) + page_blob_prop = await blob_client.upload_blob(self.byte_data, + blob_type=BlobType.PageBlob, + max_connections=2, + cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(page_blob_prop['etag']) + self.assertIsNotNone(page_blob_prop['last_modified']) + self.assertTrue(page_blob_prop['request_server_encrypted']) + self.assertEqual(page_blob_prop['encryption_key_sha256'], TEST_ENCRYPTION_KEY.key_hash) + + # Act get the blob content without cpk should fail + with self.assertRaises(HttpResponseError): + await blob_client.download_blob() + + # Act get the blob content + blob = await blob_client.download_blob(cpk=TEST_ENCRYPTION_KEY) + + # Assert content was retrieved with the cpk + self.assertEqual(await blob.content_as_bytes(), self.byte_data) + self.assertEqual(blob.properties.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + def test_create_page_blob_with_chunks_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_create_page_blob_with_chunks()) + + async def _test_get_set_blob_metadata(self): + # Arrange + blob_client, _ = await self._create_block_blob(data=b'AAABBBCCC', cpk=TEST_ENCRYPTION_KEY) + + # Act without the encryption key should fail + with self.assertRaises(HttpResponseError): + await blob_client.get_blob_properties() + + # Act + blob_props = await blob_client.get_blob_properties(cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertTrue(blob_props.server_encrypted) + self.assertEqual(blob_props.encryption_key_sha256, TEST_ENCRYPTION_KEY.key_hash) + + # Act set blob properties + metadata = {'hello': 'world', 'number': '42', 'UP': 'UPval'} + with self.assertRaises(HttpResponseError): + await blob_client.set_blob_metadata( + metadata=metadata, + ) + + await blob_client.set_blob_metadata(metadata=metadata, cpk=TEST_ENCRYPTION_KEY) + + # Assert + blob_props = await blob_client.get_blob_properties(cpk=TEST_ENCRYPTION_KEY) + md = blob_props.metadata + self.assertEqual(3, len(md)) + self.assertEqual(md['hello'], 'world') + self.assertEqual(md['number'], '42') + self.assertEqual(md['UP'], 'UPval') + self.assertFalse('up' in md) + + @record + def test_get_set_blob_metadata_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_get_set_blob_metadata()) + + async def _test_snapshot_blob(self): + # Arrange + blob_client, _ = await self._create_block_blob(data=b'AAABBBCCC', cpk=TEST_ENCRYPTION_KEY) + + # Act without cpk should not work + with self.assertRaises(HttpResponseError): + await blob_client.create_snapshot() + + # Act with cpk should work + blob_snapshot = await blob_client.create_snapshot(cpk=TEST_ENCRYPTION_KEY) + + # Assert + self.assertIsNotNone(blob_snapshot) + + @record + def test_snapshot_blob_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_snapshot_blob()) + +# ------------------------------------------------------------------------------ +if __name__ == '__main__': + unittest.main() diff --git a/sdk/storage/azure-storage-blob/tests/test_page_blob.py b/sdk/storage/azure-storage-blob/tests/test_page_blob.py index 9d1125e8e662..2f082538e497 100644 --- a/sdk/storage/azure-storage-blob/tests/test_page_blob.py +++ b/sdk/storage/azure-storage-blob/tests/test_page_blob.py @@ -11,7 +11,7 @@ import os import unittest from datetime import datetime, timedelta -from azure.core.exceptions import HttpResponseError, ResourceExistsError +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceModifiedError from azure.storage.blob import ( BlobServiceClient, @@ -23,6 +23,7 @@ PremiumPageBlobTier, SequenceNumberAction, StorageErrorCode) +from azure.storage.blob._shared.policies import StorageContentValidation from testcase import ( StorageTestCase, @@ -30,12 +31,15 @@ record, ) -#------------------------------------------------------------------------------ +# ------------------------------------------------------------------------------ TEST_BLOB_PREFIX = 'blob' FILE_PATH = 'blob_input.temp.dat' LARGE_BLOB_SIZE = 64 * 1024 + 512 EIGHT_TB = 8 * 1024 * 1024 * 1024 * 1024 -#------------------------------------------------------------------------------s +SOURCE_BLOB_SIZE = 8 * 1024 + + +# ------------------------------------------------------------------------------s class StoragePageBlobTest(StorageTestCase): @@ -55,14 +59,18 @@ def setUp(self): max_page_size=4 * 1024) self.config = self.bs._config self.container_name = self.get_resource_name('utcontainer') + self.source_container_name = self.get_resource_name('utcontainersource') if not self.is_playback(): self.bs.create_container(self.container_name) + # create a container for copy source + self.bs.create_container(self.source_container_name) def tearDown(self): if not self.is_playback(): try: self.bs.delete_container(self.container_name) + self.bs.delete_container(self.source_container_name) except: pass @@ -74,18 +82,25 @@ def tearDown(self): return super(StoragePageBlobTest, self).tearDown() - #--Helpers----------------------------------------------------------------- + # --Helpers----------------------------------------------------------------- def _get_blob_reference(self): return self.bs.get_blob_client( self.container_name, self.get_resource_name(TEST_BLOB_PREFIX)) - def _create_blob(self, length=512): + def _create_blob(self, length=512, sequence_number=None): blob = self._get_blob_reference() - blob.create_page_blob(size=length) + blob.create_page_blob(size=length, sequence_number=sequence_number) return blob + def _create_source_blob(self, data, start_range, end_range): + blob_client = self.bs.get_blob_client(self.source_container_name, + self.get_resource_name(TEST_BLOB_PREFIX)) + blob_client.create_page_blob(size=end_range - start_range + 1) + blob_client.upload_page(data, start_range, end_range) + return blob_client + def _wait_for_async_copy(self, blob): count = 0 props = blob.get_blob_properties() @@ -117,7 +132,7 @@ def write(self, data): def read(self, count): return self.wrapped_file.read(count) - #--Test cases for page blobs -------------------------------------------- + # --Test cases for page blobs -------------------------------------------- @record def test_create_blob(self): # Arrange @@ -136,7 +151,7 @@ def test_create_blob_with_metadata(self): # Arrange blob = self._get_blob_reference() metadata = {'hello': 'world', 'number': '42'} - + # Act resp = blob.create_page_blob(512, metadata=metadata) @@ -212,7 +227,7 @@ def test_update_8tb_blob_page(self): resp = blob.upload_page(data, start_range, end_range) props = blob.get_blob_properties() page_ranges, cleared = blob.get_page_ranges() - + # Assert self.assertIsNotNone(resp.get('etag')) self.assertIsNotNone(resp.get('last_modified')) @@ -251,7 +266,7 @@ def test_clear_page(self): @record def test_put_page_if_sequence_number_lt_success(self): # Arrange - blob = self._get_blob_reference() + blob = self._get_blob_reference() data = self.get_random_bytes(512) start_sequence = 10 @@ -266,7 +281,7 @@ def test_put_page_if_sequence_number_lt_success(self): @record def test_update_page_if_sequence_number_lt_failure(self): # Arrange - blob = self._get_blob_reference() + blob = self._get_blob_reference() data = self.get_random_bytes(512) start_sequence = 10 blob.create_page_blob(512, sequence_number=start_sequence) @@ -280,7 +295,7 @@ def test_update_page_if_sequence_number_lt_failure(self): @record def test_update_page_if_sequence_number_lte_success(self): # Arrange - blob = self._get_blob_reference() + blob = self._get_blob_reference() data = self.get_random_bytes(512) start_sequence = 10 blob.create_page_blob(512, sequence_number=start_sequence) @@ -294,7 +309,7 @@ def test_update_page_if_sequence_number_lte_success(self): @record def test_update_page_if_sequence_number_lte_failure(self): # Arrange - blob = self._get_blob_reference() + blob = self._get_blob_reference() data = self.get_random_bytes(512) start_sequence = 10 blob.create_page_blob(512, sequence_number=start_sequence) @@ -308,7 +323,7 @@ def test_update_page_if_sequence_number_lte_failure(self): @record def test_update_page_if_sequence_number_eq_success(self): # Arrange - blob = self._get_blob_reference() + blob = self._get_blob_reference() data = self.get_random_bytes(512) start_sequence = 10 blob.create_page_blob(512, sequence_number=start_sequence) @@ -322,7 +337,7 @@ def test_update_page_if_sequence_number_eq_success(self): @record def test_update_page_if_sequence_number_eq_failure(self): # Arrange - blob = self._get_blob_reference() + blob = self._get_blob_reference() data = self.get_random_bytes(512) start_sequence = 10 blob.create_page_blob(512, sequence_number=start_sequence) @@ -346,6 +361,469 @@ def test_update_page_unicode(self): self.assertIsNotNone(resp.get('etag')) self.assertIsNotNone(resp.get('last_modified')) + @record + def test_upload_pages_from_url(self): + # Arrange + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, 4 * 1024 - 1, 0) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + resp = destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 4 * 1024, + SOURCE_BLOB_SIZE - 1, 4 * 1024) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + @record + def test_upload_pages_from_url_and_validate_content_md5(self): + # Arrange + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + src_md5 = StorageContentValidation.get_content_md5(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_content_md5=src_md5) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_content_md5=StorageContentValidation.get_content_md5( + b"POTATO")) + + @record + def test_upload_pages_from_url_with_source_if_modified(self): + # Arrange + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + source_properties = source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_modified_since=source_properties.get('last_modified') - timedelta( + hours=15)) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_modified_since=source_properties.get( + 'last_modified')) + + @record + def test_upload_pages_from_url_with_source_if_unmodified(self): + # Arrange + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + source_properties = source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_unmodified_since=source_properties.get('last_modified')) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_unmodified_since=source_properties.get('last_modified') - timedelta( + hours=15)) + + @record + def test_upload_pages_from_url_with_source_if_match(self): + # Arrange + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + source_properties = source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_match=source_properties.get('etag')) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_match='0x111111111111111') + + @record + def test_upload_pages_from_url_with_source_if_none_match(self): + # Arrange + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + source_properties = source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_none_match='0x111111111111111') + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_none_match=source_properties.get('etag')) + + @record + def test_upload_pages_from_url_with_if_modified(self): + # Arrange + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + source_properties = source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_modified_since=source_properties.get('last_modified') - timedelta( + minutes=15)) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_modified_since=blob_properties.get('last_modified')) + + @record + def test_upload_pages_from_url_with_if_unmodified(self): + # Arrange + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + source_properties = source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = self._create_blob(SOURCE_BLOB_SIZE) + destination_blob_properties = destination_blob_client.get_blob_properties() + + # Act: make update page from url calls + resp = destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_unmodified_since=destination_blob_properties.get('last_modified')) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(ResourceModifiedError): + destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_unmodified_since=source_properties.get('last_modified') - timedelta( + minutes=15)) + + @record + def test_upload_pages_from_url_with_if_match(self): + # Arrange + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = self._create_blob(SOURCE_BLOB_SIZE) + destination_blob_properties = destination_blob_client.get_blob_properties() + + # Act: make update page from url calls + resp = destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_match=destination_blob_properties.get('etag')) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_match='0x111111111111111') + + @record + def test_upload_pages_from_url_with_if_none_match(self): + # Arrange + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_none_match='0x111111111111111') + + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_none_match=blob_properties.get('etag')) + + @record + def test_upload_pages_from_url_with_sequence_number_lt(self): + # Arrange + start_sequence = 10 + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = self._create_blob(SOURCE_BLOB_SIZE, sequence_number=start_sequence) + + # Act: make update page from url calls + resp = destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_sequence_number_lt=start_sequence + 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_sequence_number_lt=start_sequence) + + @record + def test_upload_pages_from_url_with_sequence_number_lte(self): + # Arrange + start_sequence = 10 + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = self._create_blob(SOURCE_BLOB_SIZE, sequence_number=start_sequence) + + # Act: make update page from url calls + resp = destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_sequence_number_lte=start_sequence) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_sequence_number_lte=start_sequence - 1) + + @record + def test_upload_pages_from_url_with_sequence_number_eq(self): + # Arrange + start_sequence = 10 + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = self._create_blob(SOURCE_BLOB_SIZE, sequence_number=start_sequence) + + # Act: make update page from url calls + resp = destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_sequence_number_eq=start_sequence) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with failing condition + with self.assertRaises(HttpResponseError): + destination_blob_client \ + .upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_sequence_number_eq=start_sequence + 1) + @record def test_get_page_ranges_no_pages(self): # Arrange @@ -379,7 +857,6 @@ def test_get_page_ranges_2_pages(self): self.assertEqual(ranges[1]['start'], 1024) self.assertEqual(ranges[1]['end'], 1535) - @record def test_get_page_ranges_diff(self): # Arrange @@ -415,7 +892,7 @@ def test_get_page_ranges_diff(self): self.assertEqual(cleared2[0]['start'], 512) self.assertEqual(cleared2[0]['end'], 1023) - @record + @record def test_update_page_fail(self): # Arrange blob = self._create_blob(2048) @@ -432,12 +909,11 @@ def test_update_page_fail(self): # Assert raise Exception('Page range validation failed to throw on failure case') - @record def test_resize_blob(self): # Arrange blob = self._create_blob(1024) - + # Act resp = blob.resize_blob(512) @@ -453,11 +929,11 @@ def test_resize_blob(self): def test_set_sequence_number_blob(self): # Arrange blob = self._create_blob() - + # Act - resp = blob.set_sequence_number(SequenceNumberAction.Update, 6) + resp = blob.set_sequence_number(SequenceNumberAction.Update, 6) - #Assert + # Assert self.assertIsNotNone(resp.get('etag')) self.assertIsNotNone(resp.get('last_modified')) self.assertIsNotNone(resp.get('blob_sequence_number')) @@ -572,6 +1048,7 @@ def test_create_blob_from_bytes_with_progress_first(self): # Act progress = [] + def callback(response): current = response.context['upload_stream_current'] total = response.context['data_stream_total'] @@ -656,6 +1133,7 @@ def test_create_blob_from_path_with_progress(self): # Act progress = [] + def callback(response): current = response.context['upload_stream_current'] total = response.context['data_stream_total'] @@ -760,6 +1238,7 @@ def test_create_blob_from_stream_with_progress(self): # Act progress = [] + def callback(response): current = response.context['upload_stream_current'] total = response.context['data_stream_total'] @@ -807,6 +1286,7 @@ def test_create_blob_from_stream_with_progress_truncated(self): # Act progress = [] + def callback(response): current = response.context['upload_stream_current'] total = response.context['data_stream_total'] @@ -867,7 +1347,6 @@ def test_incremental_copy_blob(self): ) sas_blob = BlobClient(snapshot_blob.url, credential=sas_token) - # Act dest_blob = self.bs.get_blob_client(self.container_name, 'dest_blob') copy = dest_blob.start_copy_from_url(sas_blob.url, incremental_copy=True) @@ -1025,8 +1504,8 @@ def test_blob_tier_copy_blob(self): self.assertEqual(copy_ref.blob_tier, PremiumPageBlobTier.P30) source_blob2 = pbs.get_blob_client( - container_name, - self.get_resource_name(TEST_BLOB_PREFIX)) + container_name, + self.get_resource_name(TEST_BLOB_PREFIX)) source_blob2.create_page_blob(1024) source_blob2_url = '{0}/{1}/{2}'.format( @@ -1054,6 +1533,7 @@ def test_blob_tier_copy_blob(self): finally: container.delete_container() -#------------------------------------------------------------------------------ + +# ------------------------------------------------------------------------------ if __name__ == '__main__': unittest.main() diff --git a/sdk/storage/azure-storage-blob/tests/test_page_blob_async.py b/sdk/storage/azure-storage-blob/tests/test_page_blob_async.py index efe08a38d0eb..9e409089d25b 100644 --- a/sdk/storage/azure-storage-blob/tests/test_page_blob_async.py +++ b/sdk/storage/azure-storage-blob/tests/test_page_blob_async.py @@ -16,6 +16,7 @@ from azure.core.pipeline.transport import AioHttpTransport from multidict import CIMultiDict, CIMultiDictProxy +from azure.storage.blob._shared.policies import StorageContentValidation from azure.storage.blob.aio import ( BlobServiceClient, ContainerClient, @@ -33,16 +34,20 @@ record, ) -#------------------------------------------------------------------------------ +# ------------------------------------------------------------------------------ TEST_BLOB_PREFIX = 'blob' FILE_PATH = 'blob_input.temp.dat' LARGE_BLOB_SIZE = 64 * 1024 + 512 EIGHT_TB = 8 * 1024 * 1024 * 1024 * 1024 -#------------------------------------------------------------------------------s +SOURCE_BLOB_SIZE = 8 * 1024 + + +# ------------------------------------------------------------------------------s class AiohttpTestTransport(AioHttpTransport): """Workaround to vcrpy bug: https://github.com/kevin1024/vcrpy/pull/461 """ + async def send(self, request, **config): response = await super(AiohttpTestTransport, self).send(request, **config) if not isinstance(response.headers, CIMultiDictProxy): @@ -70,12 +75,14 @@ def setUp(self): transport=AiohttpTestTransport()) self.config = self.bs._config self.container_name = self.get_resource_name('utcontainer') + self.source_container_name = self.get_resource_name('utcontainersource') def tearDown(self): if not self.is_playback(): loop = asyncio.get_event_loop() try: loop.run_until_complete(self.bs.delete_container(self.container_name)) + loop.run_until_complete(self.bs.delete_container(self.source_container_name)) except: pass @@ -87,22 +94,31 @@ def tearDown(self): return super(StoragePageBlobTestAsync, self).tearDown() - #--Helpers----------------------------------------------------------------- + # --Helpers----------------------------------------------------------------- async def _setup(self): if not self.is_playback(): await self.bs.create_container(self.container_name) + # create a container for copy source + await self.bs.create_container(self.source_container_name) def _get_blob_reference(self): return self.bs.get_blob_client( self.container_name, self.get_resource_name(TEST_BLOB_PREFIX)) - async def _create_blob(self, length=512): + async def _create_blob(self, length=512, sequence_number=None): blob = self._get_blob_reference() - await blob.create_page_blob(size=length) + await blob.create_page_blob(size=length, sequence_number=sequence_number) return blob + async def _create_source_blob(self, data, start_range, end_range): + blob_client = self.bs.get_blob_client(self.source_container_name, + self.get_resource_name(TEST_BLOB_PREFIX)) + await blob_client.create_page_blob(size=end_range-start_range + 1) + await blob_client.upload_page(data, start_range, end_range) + return blob_client + async def _wait_for_async_copy(self, blob): count = 0 props = await blob.get_blob_properties() @@ -136,7 +152,7 @@ def write(self, data): def read(self, count): return self.wrapped_file.read(count) - #--Test cases for page blobs -------------------------------------------- + # --Test cases for page blobs -------------------------------------------- async def _test_create_blob(self): # Arrange @@ -447,23 +463,524 @@ def test_update_page_unicode(self): loop = asyncio.get_event_loop() loop.run_until_complete(self._test_update_page_unicode()) - async def _test_get_page_ranges_no_pages(self): + async def _test_upload_pages_from_url(self): # Arrange await self._setup() - blob = await self._create_blob() + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) - # Act - ranges, cleared = await blob.get_page_ranges() + destination_blob_client = await self._create_blob(SOURCE_BLOB_SIZE) - # Assert - self.assertIsNotNone(ranges) - self.assertIsInstance(ranges, list) - self.assertEqual(len(ranges), 0) + # Act: make update page from url calls + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, 4 * 1024 - 1, + 0) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 4 * 1024, + SOURCE_BLOB_SIZE - 1, 4 * 1024) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.source_container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) @record - def test_get_page_ranges_no_pages(self): + def test_upload_pages_from_url_async(self): loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_get_page_ranges_no_pages()) + loop.run_until_complete(self._test_upload_pages_from_url()) + + async def _test_upload_pages_from_url_and_validate_content_md5(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + src_md5 = StorageContentValidation.get_content_md5(source_blob_data) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = await self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_content_md5=src_md5) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_content_md5=StorageContentValidation.get_content_md5( + b"POTATO")) + + @record + def test_upload_pages_from_url_and_validate_content_md5_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_upload_pages_from_url_and_validate_content_md5()) + + async def _test_upload_pages_from_url_with_source_if_modified(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + source_properties = await source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = await self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_modified_since=source_properties.get( + 'last_modified') - timedelta( + hours=15)) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_modified_since=source_properties.get( + 'last_modified')) + + @record + def test_upload_pages_from_url_with_source_if_modified_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_upload_pages_from_url_with_source_if_modified()) + + async def _test_upload_pages_from_url_with_source_if_unmodified(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + source_properties = await source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = await self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_unmodified_since=source_properties.get( + 'last_modified')) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_unmodified_since=source_properties.get( + 'last_modified') - timedelta( + hours=15)) + + @record + def test_upload_pages_from_url_with_source_if_unmodified_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_upload_pages_from_url_with_source_if_unmodified()) + + async def _test_upload_pages_from_url_with_source_if_match(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + source_properties = await source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = await self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_match=source_properties.get('etag')) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_match='0x111111111111111') + + @record + def test_upload_pages_from_url_with_source_if_match_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_upload_pages_from_url_with_source_if_match()) + + async def _test_upload_pages_from_url_with_source_if_none_match(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + source_properties = await source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = await self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_none_match='0x111111111111111') + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + source_if_none_match=source_properties.get('etag')) + + @record + def test_upload_pages_from_url_with_source_if_none_match_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_upload_pages_from_url_with_source_if_none_match()) + + async def _test_upload_pages_from_url_with_if_modified(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + source_properties = await source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = await self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_modified_since=source_properties.get( + 'last_modified') - timedelta( + minutes=15)) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.source_container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_modified_since=blob_properties.get( + 'last_modified')) + + @record + def test_upload_pages_from_url_with_if_modified_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_upload_pages_from_url_with_if_modified()) + + async def _test_upload_pages_from_url_with_if_unmodified(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + source_properties = await source_blob_client.get_blob_properties() + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = await self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_unmodified_since=source_properties.get( + 'last_modified') + timedelta(minutes=15)) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_unmodified_since=source_properties.get( + 'last_modified') - timedelta( + minutes=15)) + + @record + def test_upload_pages_from_url_with_if_unmodified_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_upload_pages_from_url_with_if_unmodified()) + + async def _test_upload_pages_from_url_with_if_match(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = await self._create_blob(SOURCE_BLOB_SIZE) + destination_blob_properties = await destination_blob_client.get_blob_properties() + + # Act: make update page from url calls + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_match=destination_blob_properties.get('etag')) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_match='0x111111111111111') + + @record + def test_upload_pages_from_url_with_if_match_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_upload_pages_from_url_with_if_match()) + + async def _test_upload_pages_from_url_with_if_none_match(self): + # Arrange + await self._setup() + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = await self._create_blob(SOURCE_BLOB_SIZE) + + # Act: make update page from url calls + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_none_match='0x111111111111111') + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_none_match=blob_properties.get('etag')) + + @record + def test_upload_pages_from_url_with_if_none_match_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_upload_pages_from_url_with_if_none_match()) + + async def _test_upload_pages_from_url_with_sequence_number_lt(self): + # Arrange + await self._setup() + start_sequence = 10 + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = await self._create_blob(SOURCE_BLOB_SIZE, sequence_number=start_sequence) + + # Act: make update page from url calls + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_sequence_number_lt=start_sequence + 1) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_sequence_number_lt=start_sequence) + + @record + def test_upload_pages_from_url_with_sequence_number_lt_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_upload_pages_from_url_with_sequence_number_lt()) + + async def _test_upload_pages_from_url_with_sequence_number_lte(self): + # Arrange + await self._setup() + start_sequence = 10 + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = await self._create_blob(SOURCE_BLOB_SIZE, sequence_number=start_sequence) + + # Act: make update page from url calls + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_sequence_number_lte=start_sequence) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_sequence_number_lte=start_sequence - 1) + + @record + def test_upload_pages_from_url_with_sequence_number_lte_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_upload_pages_from_url_with_sequence_number_lte()) + + async def _test_upload_pages_from_url_with_sequence_number_eq(self): + # Arrange + await self._setup() + start_sequence = 10 + source_blob_data = self.get_random_bytes(SOURCE_BLOB_SIZE) + source_blob_client = await self._create_source_blob(source_blob_data, 0, SOURCE_BLOB_SIZE - 1) + sas = source_blob_client.generate_shared_access_signature( + permission=BlobPermissions.READ + BlobPermissions.DELETE, + expiry=datetime.utcnow() + timedelta(hours=1)) + + destination_blob_client = await self._create_blob(SOURCE_BLOB_SIZE, sequence_number=start_sequence) + + # Act: make update page from url calls + resp = await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, + 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_sequence_number_eq=start_sequence) + self.assertIsNotNone(resp.get('etag')) + self.assertIsNotNone(resp.get('last_modified')) + + # Assert the destination blob is constructed correctly + blob_properties = await destination_blob_client.get_blob_properties() + self.assertBlobEqual(self.container_name, destination_blob_client.blob_name, source_blob_data) + self.assertEqual(blob_properties.get('etag'), resp.get('etag')) + self.assertEqual(blob_properties.get('last_modified'), resp.get('last_modified')) + + # Act part 2: put block from url with wrong md5 + with self.assertRaises(HttpResponseError): + await destination_blob_client.upload_pages_from_url(source_blob_client.url + "?" + sas, 0, + SOURCE_BLOB_SIZE - 1, + 0, + if_sequence_number_eq=start_sequence + 1) + + @record + def test_upload_pages_from_url_with_sequence_number_eq_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_upload_pages_from_url_with_sequence_number_eq()) + + # TODO: FIX THIS TEST + # @record + # def test_get_page_ranges_no_pages(self): + # loop = asyncio.get_event_loop() + # loop.run_until_complete(self._test_get_page_ranges_no_pages()) async def _test_get_page_ranges_2_pages(self): # Arrange @@ -581,7 +1098,7 @@ async def _test_set_sequence_number_blob(self): # Act resp = await blob.set_sequence_number(SequenceNumberAction.Update, 6) - #Assert + # Assert self.assertIsNotNone(resp.get('etag')) self.assertIsNotNone(resp.get('last_modified')) self.assertIsNotNone(resp.get('blob_sequence_number')) @@ -724,6 +1241,7 @@ async def _test_create_blob_from_bytes_with_progress_first(self): # Act progress = [] + def callback(response): current = response.context['upload_stream_current'] total = response.context['data_stream_total'] @@ -831,6 +1349,7 @@ async def _test_create_blob_from_path_with_progress(self): # Act progress = [] + def callback(response): current = response.context['upload_stream_current'] total = response.context['data_stream_total'] @@ -960,6 +1479,7 @@ async def _test_create_blob_from_stream_with_progress(self): # Act progress = [] + def callback(response): current = response.context['upload_stream_current'] total = response.context['data_stream_total'] @@ -1019,6 +1539,7 @@ async def _test_create_blob_from_stream_with_progress_truncated(self): # Act progress = [] + def callback(response): current = response.context['upload_stream_current'] total = response.context['data_stream_total'] @@ -1096,7 +1617,6 @@ async def _test_incremental_copy_blob(self): ) sas_blob = BlobClient(snapshot_blob.url, credential=sas_token) - # Act dest_blob = self.bs.get_blob_client(self.container_name, 'dest_blob') copy = await dest_blob.start_copy_from_url(sas_blob.url, incremental_copy=True) @@ -1278,15 +1798,16 @@ async def _test_blob_tier_copy_blob(self): self.assertEqual(copy_ref.blob_tier, PremiumPageBlobTier.P30) source_blob2 = pbs.get_blob_client( - container_name, - self.get_resource_name(TEST_BLOB_PREFIX)) + container_name, + self.get_resource_name(TEST_BLOB_PREFIX)) await source_blob2.create_page_blob(1024) source_blob2_url = '{0}/{1}/{2}'.format( self._get_premium_account_url(), source_blob2.container_name, source_blob2.blob_name) copy_blob2 = pbs.get_blob_client(container_name, 'blob2copy') - copy2 = await copy_blob2.start_copy_from_url(source_blob2_url, premium_page_blob_tier=PremiumPageBlobTier.P60) + copy2 = await copy_blob2.start_copy_from_url(source_blob2_url, + premium_page_blob_tier=PremiumPageBlobTier.P60) self.assertIsNotNone(copy2) self.assertEqual(copy2['copy_status'], 'success') self.assertIsNotNone(copy2['copy_id']) @@ -1312,6 +1833,7 @@ def test_blob_tier_copy_blob(self): loop = asyncio.get_event_loop() loop.run_until_complete(self._test_blob_tier_copy_blob()) -#------------------------------------------------------------------------------ + +# ------------------------------------------------------------------------------ if __name__ == '__main__': unittest.main() diff --git a/sdk/storage/azure-storage-file/HISTORY.md b/sdk/storage/azure-storage-file/HISTORY.md index 93483d11dcea..d290b9c88a89 100644 --- a/sdk/storage/azure-storage-file/HISTORY.md +++ b/sdk/storage/azure-storage-file/HISTORY.md @@ -1,6 +1,26 @@ # Change Log azure-storage-file +## Version 12.0.0b3: + +**New features** +- Added upload_range_from_url API to write the bytes from one Azure File endpoint into the specified range of another Azure File endpoint. +- Added set_http_headers for directory_client, create_permission_for_share and get_permission_for_share APIs. +- Added optional parameters for smb properties related parameters for create_file*, create_directory* related APIs and set_http_headers API. +- Updated get_properties for directory and file so that the response has SMB properties. + +**Dependency updates** +- Adopted [azure-core](https://pypi.org/project/azure-core/) 1.0.0b3 + - If you later want to revert to previous versions of azure-storage-file, or another Azure SDK + library requiring azure-core 1.0.0b1 or azure-core 1.0.0b2, you must explicitly install + the specific version of azure-core as well. For example: + + `pip install azure-core==1.0.0b2 azure-storage-file==12.0.0b2` + +**Fixes and improvements** +- Fix where content-type was being added in the request when not mentioned explicitly. + + ## Version 12.0.0b2: **Breaking changes** diff --git a/sdk/storage/azure-storage-file/azure/storage/file/__init__.py b/sdk/storage/azure-storage-file/azure/storage/file/__init__.py index 8ed3edced0cb..6bb4dcb2c5d7 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/__init__.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/__init__.py @@ -29,7 +29,8 @@ AccessPolicy, FilePermissions, SharePermissions, - ContentSettings) + ContentSettings, + NTFSAttributes) __version__ = VERSION @@ -60,5 +61,6 @@ 'FileProperties', 'ContentSettings', 'Handle', - 'HandlesPaged' + 'HandlesPaged', + 'NTFSAttributes' ] diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_deserialize.py b/sdk/storage/azure-storage-file/azure/storage/file/_deserialize.py index 1ce2bd15e9cc..e566c394298e 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_deserialize.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_deserialize.py @@ -44,3 +44,21 @@ def deserialize_file_stream(response, obj, headers): file_properties = deserialize_file_properties(response, obj, headers) obj.properties = file_properties return response.location_mode, obj + + +def deserialize_permission(response, obj, headers): # pylint: disable=unused-argument + ''' + Extracts out file permission + ''' + + return obj.permission + + +def deserialize_permission_key(response, obj, headers): # pylint: disable=unused-argument + ''' + Extracts out file permission key + ''' + + if response is None or headers is None: + return None + return headers.get('x-ms-file-permission-key', None) diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/__init__.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/__init__.py index a4f632e6894b..22b5762b2752 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/__init__.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/__init__.py @@ -1,14 +1,16 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file -from ._configuration import AzureFileStorageConfiguration from ._azure_file_storage import AzureFileStorage -__all__ = ['AzureFileStorage', 'AzureFileStorageConfiguration'] +__all__ = ['AzureFileStorage'] from .version import VERSION diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/_azure_file_storage.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/_azure_file_storage.py index 27a03fdac53c..64364407a06b 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/_azure_file_storage.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/_azure_file_storage.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core import PipelineClient from msrest import Serializer, Deserializer @@ -23,13 +26,13 @@ class AzureFileStorage(object): :ivar service: Service operations - :vartype service: file.operations.ServiceOperations + :vartype service: azure.storage.file.operations.ServiceOperations :ivar share: Share operations - :vartype share: file.operations.ShareOperations + :vartype share: azure.storage.file.operations.ShareOperations :ivar directory: Directory operations - :vartype directory: file.operations.DirectoryOperations + :vartype directory: azure.storage.file.operations.DirectoryOperations :ivar file: File operations - :vartype file: file.operations.FileOperations + :vartype file: azure.storage.file.operations.FileOperations :param version: Specifies the version of the operation to use for this request. @@ -39,14 +42,14 @@ class AzureFileStorage(object): :type url: str """ - def __init__(self, version, url, config=None, **kwargs): + def __init__(self, version, url, **kwargs): base_url = '{url}' - self._config = config or AzureFileStorageConfiguration(version, url, **kwargs) + self._config = AzureFileStorageConfiguration(version, url, **kwargs) self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self.api_version = '2018-11-09' + self.api_version = '2019-02-02' self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/_configuration.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/_configuration.py index bcea3a2303ef..4f5501dfdd09 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/_configuration.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/_configuration.py @@ -1,12 +1,15 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file -from azure.core.configuration import Configuration, ConnectionConfiguration +from azure.core.configuration import Configuration from azure.core.pipeline import policies from .version import VERSION @@ -35,19 +38,17 @@ def __init__(self, version, url, **kwargs): super(AzureFileStorageConfiguration, self).__init__(**kwargs) self._configure(**kwargs) - self.user_agent_policy.add_user_agent('azurefilestorage/{}'.format(VERSION)) + self.user_agent_policy.add_user_agent('azsdk-python-azurefilestorage/{}'.format(VERSION)) self.generate_client_request_id = True - self.accept_language = None self.version = version self.url = url def _configure(self, **kwargs): - self.connection = ConnectionConfiguration(**kwargs) - self.user_agent_policy = policies.UserAgentPolicy(**kwargs) - self.headers_policy = policies.HeadersPolicy(**kwargs) - self.proxy_policy = policies.ProxyPolicy(**kwargs) - self.logging_policy = policies.NetworkTraceLoggingPolicy(**kwargs) - self.retry_policy = policies.RetryPolicy(**kwargs) - self.custom_hook_policy = policies.CustomHookPolicy(**kwargs) - self.redirect_policy = policies.RedirectPolicy(**kwargs) + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/__init__.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/__init__.py index 076fe4358cfa..942d3c5dd379 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/__init__.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/__init__.py @@ -1,11 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from ._azure_file_storage_async import AzureFileStorage -from ._configuration_async import AzureFileStorageConfiguration -__all__ = ['AzureFileStorage', 'AzureFileStorageConfiguration'] +__all__ = ['AzureFileStorage'] diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/_azure_file_storage_async.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/_azure_file_storage_async.py index bddb726daed5..436bf74ad244 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/_azure_file_storage_async.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/_azure_file_storage_async.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core import AsyncPipelineClient from msrest import Serializer, Deserializer @@ -23,13 +26,13 @@ class AzureFileStorage(object): :ivar service: Service operations - :vartype service: file.aio.operations_async.ServiceOperations + :vartype service: azure.storage.file.aio.operations_async.ServiceOperations :ivar share: Share operations - :vartype share: file.aio.operations_async.ShareOperations + :vartype share: azure.storage.file.aio.operations_async.ShareOperations :ivar directory: Directory operations - :vartype directory: file.aio.operations_async.DirectoryOperations + :vartype directory: azure.storage.file.aio.operations_async.DirectoryOperations :ivar file: File operations - :vartype file: file.aio.operations_async.FileOperations + :vartype file: azure.storage.file.aio.operations_async.FileOperations :param version: Specifies the version of the operation to use for this request. @@ -40,14 +43,14 @@ class AzureFileStorage(object): """ def __init__( - self, version, url, config=None, **kwargs): + self, version, url, **kwargs): base_url = '{url}' - self._config = config or AzureFileStorageConfiguration(version, url, **kwargs) + self._config = AzureFileStorageConfiguration(version, url, **kwargs) self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self.api_version = '2018-11-09' + self.api_version = '2019-02-02' self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/_configuration_async.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/_configuration_async.py index 303313225d33..bdb635eadc14 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/_configuration_async.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/_configuration_async.py @@ -1,12 +1,15 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file -from azure.core.configuration import Configuration, ConnectionConfiguration +from azure.core.configuration import Configuration from azure.core.pipeline import policies from ..version import VERSION @@ -35,7 +38,7 @@ def __init__(self, version, url, **kwargs): super(AzureFileStorageConfiguration, self).__init__(**kwargs) self._configure(**kwargs) - self.user_agent_policy.add_user_agent('azurefilestorage/{}'.format(VERSION)) + self.user_agent_policy.add_user_agent('azsdk-python-azurefilestorage/{}'.format(VERSION)) self.generate_client_request_id = True self.accept_language = None @@ -43,10 +46,10 @@ def __init__(self, version, url, **kwargs): self.url = url def _configure(self, **kwargs): - self.connection = ConnectionConfiguration(**kwargs) - self.user_agent_policy = policies.UserAgentPolicy(**kwargs) - self.headers_policy = policies.HeadersPolicy(**kwargs) - self.proxy_policy = policies.ProxyPolicy(**kwargs) - self.logging_policy = policies.NetworkTraceLoggingPolicy(**kwargs) - self.retry_policy = policies.AsyncRetryPolicy(**kwargs) - self.redirect_policy = policies.AsyncRedirectPolicy(**kwargs) + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/__init__.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/__init__.py index 57ab0bdd81de..601c7099d157 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/__init__.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/__init__.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from ._service_operations_async import ServiceOperations from ._share_operations_async import ShareOperations diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_directory_operations_async.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_directory_operations_async.py index d1f0f530695f..ba9dad7c9405 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_directory_operations_async.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_directory_operations_async.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -34,9 +37,19 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._config = config self.restype = "directory" - async def create(self, timeout=None, metadata=None, *, cls=None, **kwargs): + async def create(self, file_attributes="none", file_creation_time="now", file_last_write_time="now", timeout=None, metadata=None, file_permission="inherit", file_permission_key=None, *, cls=None, **kwargs): """Creates a new directory under the specified share or parent directory. + :param file_attributes: If specified, the provided file attributes + shall be set. Default value: ‘Archive’ for file and ‘Directory’ for + directory. ‘None’ can also be specified as default. + :type file_attributes: str + :param file_creation_time: Creation time for the file/directory. + Default value: Now. + :type file_creation_time: str + :param file_last_write_time: Last write time for the file/directory. + Default value: Now. + :type file_last_write_time: str :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -45,12 +58,23 @@ async def create(self, timeout=None, metadata=None, *, cls=None, **kwargs): :param metadata: A name-value pair to associate with a file storage object. :type metadata: str + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -71,6 +95,13 @@ async def create(self, timeout=None, metadata=None, *, cls=None, **kwargs): if metadata is not None: header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if file_permission is not None: + header_parameters['x-ms-file-permission'] = self._serialize.header("file_permission", file_permission, 'str') + if file_permission_key is not None: + header_parameters['x-ms-file-permission-key'] = self._serialize.header("file_permission_key", file_permission_key, 'str') + header_parameters['x-ms-file-attributes'] = self._serialize.header("file_attributes", file_attributes, 'str') + header_parameters['x-ms-file-creation-time'] = self._serialize.header("file_creation_time", file_creation_time, 'str') + header_parameters['x-ms-file-last-write-time'] = self._serialize.header("file_last_write_time", file_last_write_time, 'str') # Construct and send request request = self._client.put(url, query_parameters, header_parameters) @@ -89,6 +120,13 @@ async def create(self, timeout=None, metadata=None, *, cls=None, **kwargs): 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -112,7 +150,7 @@ async def get_properties(self, sharesnapshot=None, timeout=None, *, cls=None, ** :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -152,6 +190,13 @@ async def get_properties(self, sharesnapshot=None, timeout=None, *, cls=None, ** 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -171,7 +216,7 @@ async def delete(self, timeout=None, *, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -210,6 +255,99 @@ async def delete(self, timeout=None, *, cls=None, **kwargs): return cls(response, None, response_headers) delete.metadata = {'url': '/{shareName}/{directory}'} + async def set_properties(self, file_attributes="none", file_creation_time="now", file_last_write_time="now", timeout=None, file_permission="inherit", file_permission_key=None, *, cls=None, **kwargs): + """Sets properties on the directory. + + :param file_attributes: If specified, the provided file attributes + shall be set. Default value: ‘Archive’ for file and ‘Directory’ for + directory. ‘None’ can also be specified as default. + :type file_attributes: str + :param file_creation_time: Creation time for the file/directory. + Default value: Now. + :type file_creation_time: str + :param file_last_write_time: Last write time for the file/directory. + Default value: Now. + :type file_last_write_time: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for File Service Operations. + :type timeout: int + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "properties" + + # Construct URL + url = self.set_properties.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("self.restype", self.restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if file_permission is not None: + header_parameters['x-ms-file-permission'] = self._serialize.header("file_permission", file_permission, 'str') + if file_permission_key is not None: + header_parameters['x-ms-file-permission-key'] = self._serialize.header("file_permission_key", file_permission_key, 'str') + header_parameters['x-ms-file-attributes'] = self._serialize.header("file_attributes", file_attributes, 'str') + header_parameters['x-ms-file-creation-time'] = self._serialize.header("file_creation_time", file_creation_time, 'str') + header_parameters['x-ms-file-last-write-time'] = self._serialize.header("file_last_write_time", file_last_write_time, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_properties.metadata = {'url': '/{shareName}/{directory}'} + async def set_metadata(self, timeout=None, metadata=None, *, cls=None, **kwargs): """Updates user defined metadata for the specified directory. @@ -226,7 +364,7 @@ async def set_metadata(self, timeout=None, metadata=None, *, cls=None, **kwargs) :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "metadata" @@ -303,9 +441,10 @@ async def list_files_and_directories_segment(self, prefix=None, sharesnapshot=No direct response :return: ListFilesAndDirectoriesSegmentResponse or the result of cls(response) - :rtype: ~file.models.ListFilesAndDirectoriesSegmentResponse + :rtype: + ~azure.storage.file.models.ListFilesAndDirectoriesSegmentResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "list" @@ -392,9 +531,9 @@ async def list_handles(self, marker=None, maxresults=None, timeout=None, sharesn :param callable cls: A custom type or function that will be passed the direct response :return: ListHandlesResponse or the result of cls(response) - :rtype: ~file.models.ListHandlesResponse + :rtype: ~azure.storage.file.models.ListHandlesResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "listhandles" @@ -481,7 +620,7 @@ async def force_close_handles(self, handle_id, timeout=None, marker=None, shares :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "forceclosehandles" diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_file_operations_async.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_file_operations_async.py index d7c358b58c5e..87b76b55326a 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_file_operations_async.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_file_operations_async.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -21,6 +24,7 @@ class FileOperations: :param serializer: An object model serializer. :param deserializer: An object model deserializer. :ivar x_ms_type: Dummy constant parameter, file type can only be file. Constant value: "file". + :ivar x_ms_write: Only update is supported: - Update: Writes the bytes downloaded from the source url into the specified range. Constant value: "update". :ivar x_ms_copy_action: . Constant value: "abort". """ @@ -34,15 +38,26 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._config = config self.x_ms_type = "file" + self.x_ms_write = "update" self.x_ms_copy_action = "abort" - async def create(self, file_content_length, timeout=None, metadata=None, file_http_headers=None, *, cls=None, **kwargs): + async def create(self, file_content_length, file_attributes="none", file_creation_time="now", file_last_write_time="now", timeout=None, metadata=None, file_permission="inherit", file_permission_key=None, file_http_headers=None, *, cls=None, **kwargs): """Creates a new file or replaces a file. Note it only initializes the file with no content. :param file_content_length: Specifies the maximum size for the file, up to 1 TB. :type file_content_length: long + :param file_attributes: If specified, the provided file attributes + shall be set. Default value: ‘Archive’ for file and ‘Directory’ for + directory. ‘None’ can also be specified as default. + :type file_attributes: str + :param file_creation_time: Creation time for the file/directory. + Default value: Now. + :type file_creation_time: str + :param file_last_write_time: Last write time for the file/directory. + Default value: Now. + :type file_last_write_time: str :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -51,14 +66,25 @@ async def create(self, file_content_length, timeout=None, metadata=None, file_ht :param metadata: A name-value pair to associate with a file storage object. :type metadata: str + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str :param file_http_headers: Additional parameters for the operation - :type file_http_headers: ~file.models.FileHTTPHeaders + :type file_http_headers: ~azure.storage.file.models.FileHTTPHeaders :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) file_content_type = None @@ -99,6 +125,13 @@ async def create(self, file_content_length, timeout=None, metadata=None, file_ht header_parameters['x-ms-type'] = self._serialize.header("self.x_ms_type", self.x_ms_type, 'str') if metadata is not None: header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if file_permission is not None: + header_parameters['x-ms-file-permission'] = self._serialize.header("file_permission", file_permission, 'str') + if file_permission_key is not None: + header_parameters['x-ms-file-permission-key'] = self._serialize.header("file_permission_key", file_permission_key, 'str') + header_parameters['x-ms-file-attributes'] = self._serialize.header("file_attributes", file_attributes, 'str') + header_parameters['x-ms-file-creation-time'] = self._serialize.header("file_creation_time", file_creation_time, 'str') + header_parameters['x-ms-file-last-write-time'] = self._serialize.header("file_last_write_time", file_last_write_time, 'str') if file_content_type is not None: header_parameters['x-ms-content-type'] = self._serialize.header("file_content_type", file_content_type, 'str') if file_content_encoding is not None: @@ -129,6 +162,13 @@ async def create(self, file_content_length, timeout=None, metadata=None, file_ht 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -155,7 +195,7 @@ async def download(self, timeout=None, range=None, range_get_content_md5=None, * :return: object or the result of cls(response) :rtype: Generator :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -205,18 +245,25 @@ async def download(self, timeout=None, range=None, range_get_content_md5=None, * 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), - 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), - 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), - 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), - 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), - 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), 'x-ms-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-content-md5')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } if response.status_code == 206: @@ -233,18 +280,25 @@ async def download(self, timeout=None, range=None, range_get_content_md5=None, * 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), - 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), - 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), - 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), - 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), - 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), 'x-ms-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-content-md5')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } @@ -271,7 +325,7 @@ async def get_properties(self, sharesnapshot=None, timeout=None, *, cls=None, ** :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -324,6 +378,13 @@ async def get_properties(self, sharesnapshot=None, timeout=None, *, cls=None, ** 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -342,7 +403,7 @@ async def delete(self, timeout=None, *, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -380,9 +441,19 @@ async def delete(self, timeout=None, *, cls=None, **kwargs): return cls(response, None, response_headers) delete.metadata = {'url': '/{shareName}/{directory}/{fileName}'} - async def set_http_headers(self, timeout=None, file_content_length=None, file_http_headers=None, *, cls=None, **kwargs): + async def set_http_headers(self, file_attributes="none", file_creation_time="now", file_last_write_time="now", timeout=None, file_content_length=None, file_permission="inherit", file_permission_key=None, file_http_headers=None, *, cls=None, **kwargs): """Sets HTTP headers on the file. + :param file_attributes: If specified, the provided file attributes + shall be set. Default value: ‘Archive’ for file and ‘Directory’ for + directory. ‘None’ can also be specified as default. + :type file_attributes: str + :param file_creation_time: Creation time for the file/directory. + Default value: Now. + :type file_creation_time: str + :param file_last_write_time: Last write time for the file/directory. + Default value: Now. + :type file_last_write_time: str :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -392,14 +463,25 @@ async def set_http_headers(self, timeout=None, file_content_length=None, file_ht the specified byte value is less than the current size of the file, then all ranges above the specified byte value are cleared. :type file_content_length: long + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str :param file_http_headers: Additional parameters for the operation - :type file_http_headers: ~file.models.FileHTTPHeaders + :type file_http_headers: ~azure.storage.file.models.FileHTTPHeaders :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) file_content_type = None @@ -441,6 +523,13 @@ async def set_http_headers(self, timeout=None, file_content_length=None, file_ht header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if file_content_length is not None: header_parameters['x-ms-content-length'] = self._serialize.header("file_content_length", file_content_length, 'long') + if file_permission is not None: + header_parameters['x-ms-file-permission'] = self._serialize.header("file_permission", file_permission, 'str') + if file_permission_key is not None: + header_parameters['x-ms-file-permission-key'] = self._serialize.header("file_permission_key", file_permission_key, 'str') + header_parameters['x-ms-file-attributes'] = self._serialize.header("file_attributes", file_attributes, 'str') + header_parameters['x-ms-file-creation-time'] = self._serialize.header("file_creation_time", file_creation_time, 'str') + header_parameters['x-ms-file-last-write-time'] = self._serialize.header("file_last_write_time", file_last_write_time, 'str') if file_content_type is not None: header_parameters['x-ms-content-type'] = self._serialize.header("file_content_type", file_content_type, 'str') if file_content_encoding is not None: @@ -471,6 +560,13 @@ async def set_http_headers(self, timeout=None, file_content_length=None, file_ht 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -492,7 +588,7 @@ async def set_metadata(self, timeout=None, metadata=None, *, cls=None, **kwargs) :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "metadata" @@ -556,7 +652,8 @@ async def upload_range(self, range, content_length, file_range_write="update", o Content-Length header to zero, and set the Range header to a value that indicates the range to clear, up to maximum file size. Possible values include: 'update', 'clear' - :type file_range_write: str or ~file.models.FileRangeWriteType + :type file_range_write: str or + ~azure.storage.file.models.FileRangeWriteType :param content_length: Specifies the number of bytes being transmitted in the request body. When the x-ms-write header is set to clear, the value of this header must be set to zero. @@ -580,7 +677,7 @@ async def upload_range(self, range, content_length, file_range_write="update", o :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "range" @@ -602,7 +699,7 @@ async def upload_range(self, range, content_length, file_range_write="update", o header_parameters = {} header_parameters['Content-Type'] = 'application/octet-stream' header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') - header_parameters['x-ms-write'] = self._serialize.header("file_range_write", file_range_write, 'FileRangeWriteType') + header_parameters['x-ms-write'] = self._serialize.header("self.x_ms_write", self.x_ms_write, 'FileRangeWriteType') header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') if content_md5 is not None: header_parameters['Content-MD5'] = self._serialize.header("content_md5", content_md5, 'bytearray') @@ -633,6 +730,109 @@ async def upload_range(self, range, content_length, file_range_write="update", o return cls(response, None, response_headers) upload_range.metadata = {'url': '/{shareName}/{directory}/{fileName}'} + async def upload_range_from_url(self, range, copy_source, content_length, timeout=None, source_range=None, source_content_crc64=None, source_modified_access_conditions=None, *, cls=None, **kwargs): + """Upload a range of bytes to a file where the contents are read from a + URL. + + :param range: Writes data to the specified byte range in the file. + :type range: str + :param copy_source: Specifies the URL of the source file or blob, up + to 2 KB in length. To copy a file to another file within the same + storage account, you may use Shared Key to authenticate the source + file. If you are copying a file from another storage account, or if + you are copying a blob from the same storage account or another + storage account, then you must authenticate the source file or blob + using a shared access signature. If the source is a public blob, no + authentication is required to perform the copy operation. A file in a + share snapshot can also be specified as a copy source. + :type copy_source: str + :param content_length: Specifies the number of bytes being transmitted + in the request body. When the x-ms-write header is set to clear, the + value of this header must be set to zero. + :type content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for File Service Operations. + :type timeout: int + :param source_range: Bytes of source data in the specified range. + :type source_range: str + :param source_content_crc64: Specify the crc64 calculated for the + range of bytes that must be read from the copy source. + :type source_content_crc64: bytearray + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.file.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + source_if_match_crc64 = None + if source_modified_access_conditions is not None: + source_if_match_crc64 = source_modified_access_conditions.source_if_match_crc64 + source_if_none_match_crc64 = None + if source_modified_access_conditions is not None: + source_if_none_match_crc64 = source_modified_access_conditions.source_if_none_match_crc64 + + comp = "range" + + # Construct URL + url = self.upload_range_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-copy-source'] = self._serialize.header("copy_source", copy_source, 'str') + if source_range is not None: + header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') + header_parameters['x-ms-write'] = self._serialize.header("self.x_ms_write", self.x_ms_write, 'str') + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if source_content_crc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_content_crc64", source_content_crc64, 'bytearray') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if source_if_match_crc64 is not None: + header_parameters['x-ms-source-if-match-crc64'] = self._serialize.header("source_if_match_crc64", source_if_match_crc64, 'bytearray') + if source_if_none_match_crc64 is not None: + header_parameters['x-ms-source-if-none-match-crc64'] = self._serialize.header("source_if_none_match_crc64", source_if_none_match_crc64, 'bytearray') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + upload_range_from_url.metadata = {'url': '/{shareName}/{directory}/{fileName}'} + async def get_range_list(self, sharesnapshot=None, timeout=None, range=None, *, cls=None, **kwargs): """Returns the list of valid ranges for a file. @@ -650,9 +850,9 @@ async def get_range_list(self, sharesnapshot=None, timeout=None, range=None, *, :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~file.models.Range] + :rtype: list[~azure.storage.file.models.Range] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "rangelist" @@ -734,7 +934,7 @@ async def start_copy(self, copy_source, timeout=None, metadata=None, *, cls=None :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -796,7 +996,7 @@ async def abort_copy(self, copy_id, timeout=None, *, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "copy" @@ -864,9 +1064,9 @@ async def list_handles(self, marker=None, maxresults=None, timeout=None, sharesn :param callable cls: A custom type or function that will be passed the direct response :return: ListHandlesResponse or the result of cls(response) - :rtype: ~file.models.ListHandlesResponse + :rtype: ~azure.storage.file.models.ListHandlesResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "listhandles" @@ -948,7 +1148,7 @@ async def force_close_handles(self, handle_id, timeout=None, marker=None, shares :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "forceclosehandles" diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_service_operations_async.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_service_operations_async.py index b8fb972322ec..4274db7ffb80 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_service_operations_async.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_service_operations_async.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -41,7 +44,7 @@ async def set_properties(self, storage_service_properties, timeout=None, *, cls= :param storage_service_properties: The StorageService properties. :type storage_service_properties: - ~file.models.StorageServiceProperties + ~azure.storage.file.models.StorageServiceProperties :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -52,7 +55,7 @@ async def set_properties(self, storage_service_properties, timeout=None, *, cls= :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "properties" @@ -110,9 +113,9 @@ async def get_properties(self, timeout=None, *, cls=None, **kwargs): :param callable cls: A custom type or function that will be passed the direct response :return: StorageServiceProperties or the result of cls(response) - :rtype: ~file.models.StorageServiceProperties + :rtype: ~azure.storage.file.models.StorageServiceProperties :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "properties" @@ -181,7 +184,8 @@ async def list_shares_segment(self, prefix=None, marker=None, maxresults=None, i :type maxresults: int :param include: Include this parameter to specify one or more datasets to include in the response. - :type include: list[str or ~file.models.ListSharesIncludeType] + :type include: list[str or + ~azure.storage.file.models.ListSharesIncludeType] :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -190,9 +194,9 @@ async def list_shares_segment(self, prefix=None, marker=None, maxresults=None, i :param callable cls: A custom type or function that will be passed the direct response :return: ListSharesResponse or the result of cls(response) - :rtype: ~file.models.ListSharesResponse + :rtype: ~azure.storage.file.models.ListSharesResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "list" diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_share_operations_async.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_share_operations_async.py index 83e81cf64891..4cf289146a67 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_share_operations_async.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/aio/operations_async/_share_operations_async.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -53,7 +56,7 @@ async def create(self, timeout=None, metadata=None, quota=None, *, cls=None, **k :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -116,7 +119,7 @@ async def get_properties(self, sharesnapshot=None, timeout=None, *, cls=None, ** :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -177,13 +180,14 @@ async def delete(self, sharesnapshot=None, timeout=None, delete_snapshots=None, :param delete_snapshots: Specifies the option include to delete the base share and all of its snapshots. Possible values include: 'include' - :type delete_snapshots: str or ~file.models.DeleteSnapshotsOptionType + :type delete_snapshots: str or + ~azure.storage.file.models.DeleteSnapshotsOptionType :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -242,7 +246,7 @@ async def create_snapshot(self, timeout=None, metadata=None, *, cls=None, **kwar :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "snapshot" @@ -289,6 +293,138 @@ async def create_snapshot(self, timeout=None, metadata=None, *, cls=None, **kwar return cls(response, None, response_headers) create_snapshot.metadata = {'url': '/{shareName}'} + async def create_permission(self, share_permission, timeout=None, *, cls=None, **kwargs): + """Create a permission (a security descriptor). + + :param share_permission: A permission (a security descriptor) at the + share level. + :type share_permission: ~azure.storage.file.models.SharePermission + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for File Service Operations. + :type timeout: int + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "filepermission" + + # Construct URL + url = self.create_permission.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("self.restype", self.restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct body + body_content = self._serialize.body(share_permission, 'SharePermission', is_xml=False) + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + create_permission.metadata = {'url': '/{shareName}'} + + async def get_permission(self, file_permission_key=None, timeout=None, *, cls=None, **kwargs): + """Returns the permission (security descriptor) for a given key. + + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for File Service Operations. + :type timeout: int + :param callable cls: A custom type or function that will be passed the + direct response + :return: SharePermission or the result of cls(response) + :rtype: ~azure.storage.file.models.SharePermission + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "filepermission" + + # Construct URL + url = self.get_permission.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("self.restype", self.restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if file_permission_key is not None: + header_parameters['x-ms-file-permission-key'] = self._serialize.header("file_permission_key", file_permission_key, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SharePermission', response) + header_dict = { + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_permission.metadata = {'url': '/{shareName}'} + async def set_quota(self, timeout=None, quota=None, *, cls=None, **kwargs): """Sets quota for the specified share. @@ -304,7 +440,7 @@ async def set_quota(self, timeout=None, quota=None, *, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "properties" @@ -366,7 +502,7 @@ async def set_metadata(self, timeout=None, metadata=None, *, cls=None, **kwargs) :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "metadata" @@ -424,9 +560,9 @@ async def get_access_policy(self, timeout=None, *, cls=None, **kwargs): :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~file.models.SignedIdentifier] + :rtype: list[~azure.storage.file.models.SignedIdentifier] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "acl" @@ -482,7 +618,7 @@ async def set_access_policy(self, share_acl=None, timeout=None, *, cls=None, **k """Sets a stored access policy for use with shared access signatures. :param share_acl: The ACL for the share. - :type share_acl: list[~file.models.SignedIdentifier] + :type share_acl: list[~azure.storage.file.models.SignedIdentifier] :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -493,7 +629,7 @@ async def set_access_policy(self, share_acl=None, timeout=None, *, cls=None, **k :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "acl" @@ -520,8 +656,7 @@ async def set_access_policy(self, share_acl=None, timeout=None, *, cls=None, **k # Construct body serialization_ctxt = {'xml': {'name': 'SignedIdentifiers', 'itemsName': 'SignedIdentifier', 'wrapped': True}} if share_acl is not None: - body_content = self._serialize.serialize_iter(share_acl, 'SignedIdentifier', - serialization_ctxt=serialization_ctxt) + body_content = self._serialize.body(share_acl, '[SignedIdentifier]', serialization_ctxt=serialization_ctxt) else: body_content = None @@ -557,9 +692,9 @@ async def get_statistics(self, timeout=None, *, cls=None, **kwargs): :param callable cls: A custom type or function that will be passed the direct response :return: ShareStats or the result of cls(response) - :rtype: ~file.models.ShareStats + :rtype: ~azure.storage.file.models.ShareStats :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "stats" diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/__init__.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/__init__.py index 06ca9297f8b9..6baaf793438b 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/__init__.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/__init__.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file try: from ._models_py3 import AccessPolicy @@ -22,9 +25,11 @@ from ._models_py3 import Range from ._models_py3 import RetentionPolicy from ._models_py3 import ShareItem + from ._models_py3 import SharePermission from ._models_py3 import ShareProperties from ._models_py3 import ShareStats from ._models_py3 import SignedIdentifier + from ._models_py3 import SourceModifiedAccessConditions from ._models_py3 import StorageError, StorageErrorException from ._models_py3 import StorageServiceProperties except (SyntaxError, ImportError): @@ -43,9 +48,11 @@ from ._models import Range from ._models import RetentionPolicy from ._models import ShareItem + from ._models import SharePermission from ._models import ShareProperties from ._models import ShareStats from ._models import SignedIdentifier + from ._models import SourceModifiedAccessConditions from ._models import StorageError, StorageErrorException from ._models import StorageServiceProperties from ._azure_file_storage_enums import ( @@ -72,9 +79,11 @@ 'Range', 'RetentionPolicy', 'ShareItem', + 'SharePermission', 'ShareProperties', 'ShareStats', 'SignedIdentifier', + 'SourceModifiedAccessConditions', 'StorageError', 'StorageErrorException', 'StorageServiceProperties', 'StorageErrorCode', diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/_azure_file_storage_enums.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/_azure_file_storage_enums.py index 2e7b3c19a718..e5464dab8d2f 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/_azure_file_storage_enums.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/_azure_file_storage_enums.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from enum import Enum diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/_models.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/_models.py index 8906fe4877d4..84fb9c3b0379 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/_models.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/_models.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from msrest.serialization import Model from azure.core import HttpResponseError @@ -14,9 +17,9 @@ class AccessPolicy(Model): """An Access policy. :param start: The date-time the policy is active. - :type start: datetime + :type start: str :param expiry: The date-time the policy expires. - :type expiry: datetime + :type expiry: str :param permission: The permissions for the ACL policy. :type permission: str """ @@ -29,7 +32,6 @@ class AccessPolicy(Model): _xml_map = { } - def __init__(self, **kwargs): super(AccessPolicy, self).__init__(**kwargs) self.start = kwargs.get('start', None) @@ -112,6 +114,7 @@ class DirectoryItem(Model): 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, } _xml_map = { + 'name': 'Directory' } def __init__(self, **kwargs): @@ -143,11 +146,11 @@ class FileHTTPHeaders(Model): """ _attribute_map = { - 'file_cache_control': {'key': '', 'type': 'str', 'xml': {'name': 'file_cache_control'}}, 'file_content_type': {'key': '', 'type': 'str', 'xml': {'name': 'file_content_type'}}, - 'file_content_md5': {'key': '', 'type': 'bytearray', 'xml': {'name': 'file_content_md5'}}, 'file_content_encoding': {'key': '', 'type': 'str', 'xml': {'name': 'file_content_encoding'}}, 'file_content_language': {'key': '', 'type': 'str', 'xml': {'name': 'file_content_language'}}, + 'file_cache_control': {'key': '', 'type': 'str', 'xml': {'name': 'file_cache_control'}}, + 'file_content_md5': {'key': '', 'type': 'bytearray', 'xml': {'name': 'file_content_md5'}}, 'file_content_disposition': {'key': '', 'type': 'str', 'xml': {'name': 'file_content_disposition'}}, } _xml_map = { @@ -171,7 +174,7 @@ class FileItem(Model): :param name: Required. :type name: str :param properties: Required. - :type properties: ~file.models.FileProperty + :type properties: ~azure.storage.file.models.FileProperty """ _validation = { @@ -214,7 +217,6 @@ class FileProperty(Model): 'content_length': {'key': 'Content-Length', 'type': 'long', 'xml': {'name': 'Content-Length'}}, } _xml_map = { - 'name': 'Properties' } def __init__(self, **kwargs): @@ -228,9 +230,9 @@ class FilesAndDirectoriesListSegment(Model): All required parameters must be populated in order to send to Azure. :param directory_items: Required. - :type directory_items: list[~file.models.DirectoryItem] + :type directory_items: list[~azure.storage.file.models.DirectoryItem] :param file_items: Required. - :type file_items: list[~file.models.FileItem] + :type file_items: list[~azure.storage.file.models.FileItem] """ _validation = { @@ -239,8 +241,8 @@ class FilesAndDirectoriesListSegment(Model): } _attribute_map = { - 'directory_items': {'key': 'DirectoryItems', 'type': '[DirectoryItem]', 'xml': {'name': 'Directory', 'itemsName': 'Directory'}}, - 'file_items': {'key': 'FileItems', 'type': '[FileItem]', 'xml': {'name': 'File', 'itemsName': 'File'}}, + 'directory_items': {'key': 'DirectoryItems', 'type': '[DirectoryItem]', 'xml': {'name': 'DirectoryItems', 'itemsName': 'Directory'}}, + 'file_items': {'key': 'FileItems', 'type': '[FileItem]', 'xml': {'name': 'FileItems', 'itemsName': 'File'}}, } _xml_map = { 'name': 'Entries' @@ -335,7 +337,7 @@ class ListFilesAndDirectoriesSegmentResponse(Model): :param max_results: :type max_results: int :param segment: Required. - :type segment: ~file.models.FilesAndDirectoriesListSegment + :type segment: ~azure.storage.file.models.FilesAndDirectoriesListSegment :param next_marker: Required. :type next_marker: str """ @@ -352,8 +354,8 @@ class ListFilesAndDirectoriesSegmentResponse(Model): _attribute_map = { 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'name': 'ServiceEndpoint', 'attr': True}}, 'share_name': {'key': 'ShareName', 'type': 'str', 'xml': {'name': 'ShareName', 'attr': True}}, - 'share_snapshot': {'key': 'ShareSnapshot', 'type': 'str', 'xml': {'name': 'ShareSnapshot'}}, - 'directory_path': {'key': 'DirectoryPath', 'type': 'str', 'xml': {'name': 'DirectoryPath'}}, + 'share_snapshot': {'key': 'ShareSnapshot', 'type': 'str', 'xml': {'name': 'ShareSnapshot', 'attr': True}}, + 'directory_path': {'key': 'DirectoryPath', 'type': 'str', 'xml': {'name': 'DirectoryPath', 'attr': True}}, 'prefix': {'key': 'Prefix', 'type': 'str', 'xml': {'name': 'Prefix'}}, 'marker': {'key': 'Marker', 'type': 'str', 'xml': {'name': 'Marker'}}, 'max_results': {'key': 'MaxResults', 'type': 'int', 'xml': {'name': 'MaxResults'}}, @@ -383,7 +385,7 @@ class ListHandlesResponse(Model): All required parameters must be populated in order to send to Azure. :param handle_list: - :type handle_list: list[~file.models.HandleItem] + :type handle_list: list[~azure.storage.file.models.HandleItem] :param next_marker: Required. :type next_marker: str """ @@ -420,7 +422,7 @@ class ListSharesResponse(Model): :param max_results: :type max_results: int :param share_items: - :type share_items: list[~file.models.ShareItem] + :type share_items: list[~azure.storage.file.models.ShareItem] :param next_marker: Required. :type next_marker: str """ @@ -466,7 +468,7 @@ class Metrics(Model): statistics for called API operations. :type include_apis: bool :param retention_policy: - :type retention_policy: ~file.models.RetentionPolicy + :type retention_policy: ~azure.storage.file.models.RetentionPolicy """ _validation = { @@ -564,7 +566,7 @@ class ShareItem(Model): :param snapshot: :type snapshot: str :param properties: Required. - :type properties: ~file.models.ShareProperties + :type properties: ~azure.storage.file.models.ShareProperties :param metadata: :type metadata: dict[str, str] """ @@ -592,6 +594,29 @@ def __init__(self, **kwargs): self.metadata = kwargs.get('metadata', None) +class SharePermission(Model): + """A permission (a security descriptor) at the share level. + + All required parameters must be populated in order to send to Azure. + + :param permission: Required. The permission in the Security Descriptor + Definition Language (SDDL). + :type permission: str + """ + + _validation = { + 'permission': {'required': True}, + } + + _attribute_map = { + 'permission': {'key': 'permission', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SharePermission, self).__init__(**kwargs) + self.permission = kwargs.get('permission', None) + + class ShareProperties(Model): """Properties of a share. @@ -617,7 +642,6 @@ class ShareProperties(Model): 'quota': {'key': 'Quota', 'type': 'int', 'xml': {'name': 'Quota'}}, } _xml_map = { - 'name': 'Properties' } def __init__(self, **kwargs): @@ -646,7 +670,6 @@ class ShareStats(Model): 'share_usage_bytes': {'key': 'ShareUsageBytes', 'type': 'int', 'xml': {'name': 'ShareUsageBytes'}}, } _xml_map = { - 'name': 'ShareStats' } def __init__(self, **kwargs): @@ -662,7 +685,7 @@ class SignedIdentifier(Model): :param id: Required. A unique id. :type id: str :param access_policy: The access policy. - :type access_policy: ~file.models.AccessPolicy + :type access_policy: ~azure.storage.file.models.AccessPolicy """ _validation = { @@ -682,6 +705,30 @@ def __init__(self, **kwargs): self.access_policy = kwargs.get('access_policy', None) +class SourceModifiedAccessConditions(Model): + """Additional parameters for upload_range_from_url operation. + + :param source_if_match_crc64: Specify the crc64 value to operate only on + range with a matching crc64 checksum. + :type source_if_match_crc64: bytearray + :param source_if_none_match_crc64: Specify the crc64 value to operate only + on range without a matching crc64 checksum. + :type source_if_none_match_crc64: bytearray + """ + + _attribute_map = { + 'source_if_match_crc64': {'key': '', 'type': 'bytearray', 'xml': {'name': 'source_if_match_crc64'}}, + 'source_if_none_match_crc64': {'key': '', 'type': 'bytearray', 'xml': {'name': 'source_if_none_match_crc64'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(SourceModifiedAccessConditions, self).__init__(**kwargs) + self.source_if_match_crc64 = kwargs.get('source_if_match_crc64', None) + self.source_if_none_match_crc64 = kwargs.get('source_if_none_match_crc64', None) + + class StorageError(Model): """StorageError. @@ -721,12 +768,12 @@ class StorageServiceProperties(Model): :param hour_metrics: A summary of request statistics grouped by API in hourly aggregates for files. - :type hour_metrics: ~file.models.Metrics + :type hour_metrics: ~azure.storage.file.models.Metrics :param minute_metrics: A summary of request statistics grouped by API in minute aggregates for files. - :type minute_metrics: ~file.models.Metrics + :type minute_metrics: ~azure.storage.file.models.Metrics :param cors: The set of CORS rules. - :type cors: list[~file.models.CorsRule] + :type cors: list[~azure.storage.file.models.CorsRule] """ _attribute_map = { diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/_models_py3.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/_models_py3.py index aa42c32fcf87..47fc93f0aa98 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/_models_py3.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/models/_models_py3.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from msrest.serialization import Model from azure.core import HttpResponseError @@ -14,9 +17,9 @@ class AccessPolicy(Model): """An Access policy. :param start: The date-time the policy is active. - :type start: datetime + :type start: str :param expiry: The date-time the policy expires. - :type expiry: datetime + :type expiry: str :param permission: The permissions for the ACL policy. :type permission: str """ @@ -29,8 +32,7 @@ class AccessPolicy(Model): _xml_map = { } - - def __init__(self, *, start=None, expiry=None, permission: str=None, **kwargs) -> None: + def __init__(self, *, start: str=None, expiry: str=None, permission: str=None, **kwargs) -> None: super(AccessPolicy, self).__init__(**kwargs) self.start = start self.expiry = expiry @@ -112,6 +114,7 @@ class DirectoryItem(Model): 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, } _xml_map = { + 'name': 'Directory' } def __init__(self, *, name: str, **kwargs) -> None: @@ -143,11 +146,11 @@ class FileHTTPHeaders(Model): """ _attribute_map = { - 'file_cache_control': {'key': '', 'type': 'str', 'xml': {'name': 'file_cache_control'}}, 'file_content_type': {'key': '', 'type': 'str', 'xml': {'name': 'file_content_type'}}, - 'file_content_md5': {'key': '', 'type': 'bytearray', 'xml': {'name': 'file_content_md5'}}, 'file_content_encoding': {'key': '', 'type': 'str', 'xml': {'name': 'file_content_encoding'}}, 'file_content_language': {'key': '', 'type': 'str', 'xml': {'name': 'file_content_language'}}, + 'file_cache_control': {'key': '', 'type': 'str', 'xml': {'name': 'file_cache_control'}}, + 'file_content_md5': {'key': '', 'type': 'bytearray', 'xml': {'name': 'file_content_md5'}}, 'file_content_disposition': {'key': '', 'type': 'str', 'xml': {'name': 'file_content_disposition'}}, } _xml_map = { @@ -171,7 +174,7 @@ class FileItem(Model): :param name: Required. :type name: str :param properties: Required. - :type properties: ~file.models.FileProperty + :type properties: ~azure.storage.file.models.FileProperty """ _validation = { @@ -214,7 +217,6 @@ class FileProperty(Model): 'content_length': {'key': 'Content-Length', 'type': 'long', 'xml': {'name': 'Content-Length'}}, } _xml_map = { - 'name': 'Properties' } def __init__(self, *, content_length: int, **kwargs) -> None: @@ -228,9 +230,9 @@ class FilesAndDirectoriesListSegment(Model): All required parameters must be populated in order to send to Azure. :param directory_items: Required. - :type directory_items: list[~file.models.DirectoryItem] + :type directory_items: list[~azure.storage.file.models.DirectoryItem] :param file_items: Required. - :type file_items: list[~file.models.FileItem] + :type file_items: list[~azure.storage.file.models.FileItem] """ _validation = { @@ -239,8 +241,8 @@ class FilesAndDirectoriesListSegment(Model): } _attribute_map = { - 'directory_items': {'key': 'DirectoryItems', 'type': '[DirectoryItem]', 'xml': {'name': 'Directory', 'itemsName': 'Directory'}}, - 'file_items': {'key': 'FileItems', 'type': '[FileItem]', 'xml': {'name': 'File', 'itemsName': 'File'}}, + 'directory_items': {'key': 'DirectoryItems', 'type': '[DirectoryItem]', 'xml': {'name': 'DirectoryItems', 'itemsName': 'Directory'}}, + 'file_items': {'key': 'FileItems', 'type': '[FileItem]', 'xml': {'name': 'FileItems', 'itemsName': 'File'}}, } _xml_map = { 'name': 'Entries' @@ -335,7 +337,7 @@ class ListFilesAndDirectoriesSegmentResponse(Model): :param max_results: :type max_results: int :param segment: Required. - :type segment: ~file.models.FilesAndDirectoriesListSegment + :type segment: ~azure.storage.file.models.FilesAndDirectoriesListSegment :param next_marker: Required. :type next_marker: str """ @@ -352,8 +354,8 @@ class ListFilesAndDirectoriesSegmentResponse(Model): _attribute_map = { 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'name': 'ServiceEndpoint', 'attr': True}}, 'share_name': {'key': 'ShareName', 'type': 'str', 'xml': {'name': 'ShareName', 'attr': True}}, - 'share_snapshot': {'key': 'ShareSnapshot', 'type': 'str', 'xml': {'name': 'ShareSnapshot'}}, - 'directory_path': {'key': 'DirectoryPath', 'type': 'str', 'xml': {'name': 'DirectoryPath'}}, + 'share_snapshot': {'key': 'ShareSnapshot', 'type': 'str', 'xml': {'name': 'ShareSnapshot', 'attr': True}}, + 'directory_path': {'key': 'DirectoryPath', 'type': 'str', 'xml': {'name': 'DirectoryPath', 'attr': True}}, 'prefix': {'key': 'Prefix', 'type': 'str', 'xml': {'name': 'Prefix'}}, 'marker': {'key': 'Marker', 'type': 'str', 'xml': {'name': 'Marker'}}, 'max_results': {'key': 'MaxResults', 'type': 'int', 'xml': {'name': 'MaxResults'}}, @@ -383,7 +385,7 @@ class ListHandlesResponse(Model): All required parameters must be populated in order to send to Azure. :param handle_list: - :type handle_list: list[~file.models.HandleItem] + :type handle_list: list[~azure.storage.file.models.HandleItem] :param next_marker: Required. :type next_marker: str """ @@ -420,7 +422,7 @@ class ListSharesResponse(Model): :param max_results: :type max_results: int :param share_items: - :type share_items: list[~file.models.ShareItem] + :type share_items: list[~azure.storage.file.models.ShareItem] :param next_marker: Required. :type next_marker: str """ @@ -466,7 +468,7 @@ class Metrics(Model): statistics for called API operations. :type include_apis: bool :param retention_policy: - :type retention_policy: ~file.models.RetentionPolicy + :type retention_policy: ~azure.storage.file.models.RetentionPolicy """ _validation = { @@ -564,7 +566,7 @@ class ShareItem(Model): :param snapshot: :type snapshot: str :param properties: Required. - :type properties: ~file.models.ShareProperties + :type properties: ~azure.storage.file.models.ShareProperties :param metadata: :type metadata: dict[str, str] """ @@ -592,6 +594,29 @@ def __init__(self, *, name: str, properties, snapshot: str=None, metadata=None, self.metadata = metadata +class SharePermission(Model): + """A permission (a security descriptor) at the share level. + + All required parameters must be populated in order to send to Azure. + + :param permission: Required. The permission in the Security Descriptor + Definition Language (SDDL). + :type permission: str + """ + + _validation = { + 'permission': {'required': True}, + } + + _attribute_map = { + 'permission': {'key': 'permission', 'type': 'str'}, + } + + def __init__(self, *, permission: str, **kwargs) -> None: + super(SharePermission, self).__init__(**kwargs) + self.permission = permission + + class ShareProperties(Model): """Properties of a share. @@ -617,7 +642,6 @@ class ShareProperties(Model): 'quota': {'key': 'Quota', 'type': 'int', 'xml': {'name': 'Quota'}}, } _xml_map = { - 'name': 'Properties' } def __init__(self, *, last_modified, etag: str, quota: int, **kwargs) -> None: @@ -646,7 +670,6 @@ class ShareStats(Model): 'share_usage_bytes': {'key': 'ShareUsageBytes', 'type': 'int', 'xml': {'name': 'ShareUsageBytes'}}, } _xml_map = { - 'name': 'ShareStats' } def __init__(self, *, share_usage_bytes: int, **kwargs) -> None: @@ -662,7 +685,7 @@ class SignedIdentifier(Model): :param id: Required. A unique id. :type id: str :param access_policy: The access policy. - :type access_policy: ~file.models.AccessPolicy + :type access_policy: ~azure.storage.file.models.AccessPolicy """ _validation = { @@ -682,6 +705,30 @@ def __init__(self, *, id: str, access_policy=None, **kwargs) -> None: self.access_policy = access_policy +class SourceModifiedAccessConditions(Model): + """Additional parameters for upload_range_from_url operation. + + :param source_if_match_crc64: Specify the crc64 value to operate only on + range with a matching crc64 checksum. + :type source_if_match_crc64: bytearray + :param source_if_none_match_crc64: Specify the crc64 value to operate only + on range without a matching crc64 checksum. + :type source_if_none_match_crc64: bytearray + """ + + _attribute_map = { + 'source_if_match_crc64': {'key': '', 'type': 'bytearray', 'xml': {'name': 'source_if_match_crc64'}}, + 'source_if_none_match_crc64': {'key': '', 'type': 'bytearray', 'xml': {'name': 'source_if_none_match_crc64'}}, + } + _xml_map = { + } + + def __init__(self, *, source_if_match_crc64: bytearray=None, source_if_none_match_crc64: bytearray=None, **kwargs) -> None: + super(SourceModifiedAccessConditions, self).__init__(**kwargs) + self.source_if_match_crc64 = source_if_match_crc64 + self.source_if_none_match_crc64 = source_if_none_match_crc64 + + class StorageError(Model): """StorageError. @@ -721,12 +768,12 @@ class StorageServiceProperties(Model): :param hour_metrics: A summary of request statistics grouped by API in hourly aggregates for files. - :type hour_metrics: ~file.models.Metrics + :type hour_metrics: ~azure.storage.file.models.Metrics :param minute_metrics: A summary of request statistics grouped by API in minute aggregates for files. - :type minute_metrics: ~file.models.Metrics + :type minute_metrics: ~azure.storage.file.models.Metrics :param cors: The set of CORS rules. - :type cors: list[~file.models.CorsRule] + :type cors: list[~azure.storage.file.models.CorsRule] """ _attribute_map = { diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/__init__.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/__init__.py index 825841a61e2f..65680c942feb 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/__init__.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/__init__.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from ._service_operations import ServiceOperations from ._share_operations import ShareOperations diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_directory_operations.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_directory_operations.py index dc581cb0fc97..aa3610436576 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_directory_operations.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_directory_operations.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -34,9 +37,19 @@ def __init__(self, client, config, serializer, deserializer): self._config = config self.restype = "directory" - def create(self, timeout=None, metadata=None, cls=None, **kwargs): + def create(self, file_attributes="none", file_creation_time="now", file_last_write_time="now", timeout=None, metadata=None, file_permission="inherit", file_permission_key=None, cls=None, **kwargs): """Creates a new directory under the specified share or parent directory. + :param file_attributes: If specified, the provided file attributes + shall be set. Default value: ‘Archive’ for file and ‘Directory’ for + directory. ‘None’ can also be specified as default. + :type file_attributes: str + :param file_creation_time: Creation time for the file/directory. + Default value: Now. + :type file_creation_time: str + :param file_last_write_time: Last write time for the file/directory. + Default value: Now. + :type file_last_write_time: str :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -45,12 +58,23 @@ def create(self, timeout=None, metadata=None, cls=None, **kwargs): :param metadata: A name-value pair to associate with a file storage object. :type metadata: str + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -71,6 +95,13 @@ def create(self, timeout=None, metadata=None, cls=None, **kwargs): if metadata is not None: header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if file_permission is not None: + header_parameters['x-ms-file-permission'] = self._serialize.header("file_permission", file_permission, 'str') + if file_permission_key is not None: + header_parameters['x-ms-file-permission-key'] = self._serialize.header("file_permission_key", file_permission_key, 'str') + header_parameters['x-ms-file-attributes'] = self._serialize.header("file_attributes", file_attributes, 'str') + header_parameters['x-ms-file-creation-time'] = self._serialize.header("file_creation_time", file_creation_time, 'str') + header_parameters['x-ms-file-last-write-time'] = self._serialize.header("file_last_write_time", file_last_write_time, 'str') # Construct and send request request = self._client.put(url, query_parameters, header_parameters) @@ -89,6 +120,13 @@ def create(self, timeout=None, metadata=None, cls=None, **kwargs): 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -112,7 +150,7 @@ def get_properties(self, sharesnapshot=None, timeout=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -152,6 +190,13 @@ def get_properties(self, sharesnapshot=None, timeout=None, cls=None, **kwargs): 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -171,7 +216,7 @@ def delete(self, timeout=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -210,6 +255,99 @@ def delete(self, timeout=None, cls=None, **kwargs): return cls(response, None, response_headers) delete.metadata = {'url': '/{shareName}/{directory}'} + def set_properties(self, file_attributes="none", file_creation_time="now", file_last_write_time="now", timeout=None, file_permission="inherit", file_permission_key=None, cls=None, **kwargs): + """Sets properties on the directory. + + :param file_attributes: If specified, the provided file attributes + shall be set. Default value: ‘Archive’ for file and ‘Directory’ for + directory. ‘None’ can also be specified as default. + :type file_attributes: str + :param file_creation_time: Creation time for the file/directory. + Default value: Now. + :type file_creation_time: str + :param file_last_write_time: Last write time for the file/directory. + Default value: Now. + :type file_last_write_time: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for File Service Operations. + :type timeout: int + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "properties" + + # Construct URL + url = self.set_properties.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("self.restype", self.restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if file_permission is not None: + header_parameters['x-ms-file-permission'] = self._serialize.header("file_permission", file_permission, 'str') + if file_permission_key is not None: + header_parameters['x-ms-file-permission-key'] = self._serialize.header("file_permission_key", file_permission_key, 'str') + header_parameters['x-ms-file-attributes'] = self._serialize.header("file_attributes", file_attributes, 'str') + header_parameters['x-ms-file-creation-time'] = self._serialize.header("file_creation_time", file_creation_time, 'str') + header_parameters['x-ms-file-last-write-time'] = self._serialize.header("file_last_write_time", file_last_write_time, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_properties.metadata = {'url': '/{shareName}/{directory}'} + def set_metadata(self, timeout=None, metadata=None, cls=None, **kwargs): """Updates user defined metadata for the specified directory. @@ -226,7 +364,7 @@ def set_metadata(self, timeout=None, metadata=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "metadata" @@ -303,9 +441,10 @@ def list_files_and_directories_segment(self, prefix=None, sharesnapshot=None, ma direct response :return: ListFilesAndDirectoriesSegmentResponse or the result of cls(response) - :rtype: ~file.models.ListFilesAndDirectoriesSegmentResponse + :rtype: + ~azure.storage.file.models.ListFilesAndDirectoriesSegmentResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "list" @@ -392,9 +531,9 @@ def list_handles(self, marker=None, maxresults=None, timeout=None, sharesnapshot :param callable cls: A custom type or function that will be passed the direct response :return: ListHandlesResponse or the result of cls(response) - :rtype: ~file.models.ListHandlesResponse + :rtype: ~azure.storage.file.models.ListHandlesResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "listhandles" @@ -481,7 +620,7 @@ def force_close_handles(self, handle_id, timeout=None, marker=None, sharesnapsho :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "forceclosehandles" diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_file_operations.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_file_operations.py index 838c86de34b1..1877b26ac9a6 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_file_operations.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_file_operations.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -21,6 +24,7 @@ class FileOperations(object): :param serializer: An object model serializer. :param deserializer: An object model deserializer. :ivar x_ms_type: Dummy constant parameter, file type can only be file. Constant value: "file". + :ivar x_ms_write: Only update is supported: - Update: Writes the bytes downloaded from the source url into the specified range. Constant value: "update". :ivar x_ms_copy_action: . Constant value: "abort". """ @@ -34,15 +38,26 @@ def __init__(self, client, config, serializer, deserializer): self._config = config self.x_ms_type = "file" + self.x_ms_write = "update" self.x_ms_copy_action = "abort" - def create(self, file_content_length, timeout=None, metadata=None, file_http_headers=None, cls=None, **kwargs): + def create(self, file_content_length, file_attributes="none", file_creation_time="now", file_last_write_time="now", timeout=None, metadata=None, file_permission="inherit", file_permission_key=None, file_http_headers=None, cls=None, **kwargs): """Creates a new file or replaces a file. Note it only initializes the file with no content. :param file_content_length: Specifies the maximum size for the file, up to 1 TB. :type file_content_length: long + :param file_attributes: If specified, the provided file attributes + shall be set. Default value: ‘Archive’ for file and ‘Directory’ for + directory. ‘None’ can also be specified as default. + :type file_attributes: str + :param file_creation_time: Creation time for the file/directory. + Default value: Now. + :type file_creation_time: str + :param file_last_write_time: Last write time for the file/directory. + Default value: Now. + :type file_last_write_time: str :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -51,14 +66,25 @@ def create(self, file_content_length, timeout=None, metadata=None, file_http_hea :param metadata: A name-value pair to associate with a file storage object. :type metadata: str + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str :param file_http_headers: Additional parameters for the operation - :type file_http_headers: ~file.models.FileHTTPHeaders + :type file_http_headers: ~azure.storage.file.models.FileHTTPHeaders :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) file_content_type = None @@ -99,6 +125,13 @@ def create(self, file_content_length, timeout=None, metadata=None, file_http_hea header_parameters['x-ms-type'] = self._serialize.header("self.x_ms_type", self.x_ms_type, 'str') if metadata is not None: header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if file_permission is not None: + header_parameters['x-ms-file-permission'] = self._serialize.header("file_permission", file_permission, 'str') + if file_permission_key is not None: + header_parameters['x-ms-file-permission-key'] = self._serialize.header("file_permission_key", file_permission_key, 'str') + header_parameters['x-ms-file-attributes'] = self._serialize.header("file_attributes", file_attributes, 'str') + header_parameters['x-ms-file-creation-time'] = self._serialize.header("file_creation_time", file_creation_time, 'str') + header_parameters['x-ms-file-last-write-time'] = self._serialize.header("file_last_write_time", file_last_write_time, 'str') if file_content_type is not None: header_parameters['x-ms-content-type'] = self._serialize.header("file_content_type", file_content_type, 'str') if file_content_encoding is not None: @@ -129,6 +162,13 @@ def create(self, file_content_length, timeout=None, metadata=None, file_http_hea 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -155,7 +195,7 @@ def download(self, timeout=None, range=None, range_get_content_md5=None, cls=Non :return: object or the result of cls(response) :rtype: Generator :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -204,18 +244,25 @@ def download(self, timeout=None, range=None, range_get_content_md5=None, cls=Non 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), - 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), - 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), - 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), - 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), - 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), 'x-ms-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-content-md5')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } if response.status_code == 206: @@ -232,18 +279,25 @@ def download(self, timeout=None, range=None, range_get_content_md5=None, cls=Non 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), - 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), - 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), - 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), - 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), - 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), 'x-ms-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-content-md5')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } @@ -270,7 +324,7 @@ def get_properties(self, sharesnapshot=None, timeout=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -323,6 +377,13 @@ def get_properties(self, sharesnapshot=None, timeout=None, cls=None, **kwargs): 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -341,7 +402,7 @@ def delete(self, timeout=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -379,9 +440,19 @@ def delete(self, timeout=None, cls=None, **kwargs): return cls(response, None, response_headers) delete.metadata = {'url': '/{shareName}/{directory}/{fileName}'} - def set_http_headers(self, timeout=None, file_content_length=None, file_http_headers=None, cls=None, **kwargs): + def set_http_headers(self, file_attributes="none", file_creation_time="now", file_last_write_time="now", timeout=None, file_content_length=None, file_permission="inherit", file_permission_key=None, file_http_headers=None, cls=None, **kwargs): """Sets HTTP headers on the file. + :param file_attributes: If specified, the provided file attributes + shall be set. Default value: ‘Archive’ for file and ‘Directory’ for + directory. ‘None’ can also be specified as default. + :type file_attributes: str + :param file_creation_time: Creation time for the file/directory. + Default value: Now. + :type file_creation_time: str + :param file_last_write_time: Last write time for the file/directory. + Default value: Now. + :type file_last_write_time: str :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -391,14 +462,25 @@ def set_http_headers(self, timeout=None, file_content_length=None, file_http_hea the specified byte value is less than the current size of the file, then all ranges above the specified byte value are cleared. :type file_content_length: long + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str :param file_http_headers: Additional parameters for the operation - :type file_http_headers: ~file.models.FileHTTPHeaders + :type file_http_headers: ~azure.storage.file.models.FileHTTPHeaders :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) file_content_type = None @@ -440,6 +522,13 @@ def set_http_headers(self, timeout=None, file_content_length=None, file_http_hea header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') if file_content_length is not None: header_parameters['x-ms-content-length'] = self._serialize.header("file_content_length", file_content_length, 'long') + if file_permission is not None: + header_parameters['x-ms-file-permission'] = self._serialize.header("file_permission", file_permission, 'str') + if file_permission_key is not None: + header_parameters['x-ms-file-permission-key'] = self._serialize.header("file_permission_key", file_permission_key, 'str') + header_parameters['x-ms-file-attributes'] = self._serialize.header("file_attributes", file_attributes, 'str') + header_parameters['x-ms-file-creation-time'] = self._serialize.header("file_creation_time", file_creation_time, 'str') + header_parameters['x-ms-file-last-write-time'] = self._serialize.header("file_last_write_time", file_last_write_time, 'str') if file_content_type is not None: header_parameters['x-ms-content-type'] = self._serialize.header("file_content_type", file_content_type, 'str') if file_content_encoding is not None: @@ -470,6 +559,13 @@ def set_http_headers(self, timeout=None, file_content_length=None, file_http_hea 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-file-attributes': self._deserialize('str', response.headers.get('x-ms-file-attributes')), + 'x-ms-file-creation-time': self._deserialize('str', response.headers.get('x-ms-file-creation-time')), + 'x-ms-file-last-write-time': self._deserialize('str', response.headers.get('x-ms-file-last-write-time')), + 'x-ms-file-change-time': self._deserialize('str', response.headers.get('x-ms-file-change-time')), + 'x-ms-file-id': self._deserialize('str', response.headers.get('x-ms-file-id')), + 'x-ms-file-parent-id': self._deserialize('str', response.headers.get('x-ms-file-parent-id')), 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), } return cls(response, None, response_headers) @@ -491,7 +587,7 @@ def set_metadata(self, timeout=None, metadata=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "metadata" @@ -555,7 +651,8 @@ def upload_range(self, range, content_length, file_range_write="update", optiona Content-Length header to zero, and set the Range header to a value that indicates the range to clear, up to maximum file size. Possible values include: 'update', 'clear' - :type file_range_write: str or ~file.models.FileRangeWriteType + :type file_range_write: str or + ~azure.storage.file.models.FileRangeWriteType :param content_length: Specifies the number of bytes being transmitted in the request body. When the x-ms-write header is set to clear, the value of this header must be set to zero. @@ -579,7 +676,7 @@ def upload_range(self, range, content_length, file_range_write="update", optiona :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "range" @@ -601,7 +698,7 @@ def upload_range(self, range, content_length, file_range_write="update", optiona header_parameters = {} header_parameters['Content-Type'] = 'application/octet-stream' header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') - header_parameters['x-ms-write'] = self._serialize.header("file_range_write", file_range_write, 'FileRangeWriteType') + header_parameters['x-ms-write'] = self._serialize.header("self.x_ms_write", self.x_ms_write, 'FileRangeWriteType') header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') if content_md5 is not None: header_parameters['Content-MD5'] = self._serialize.header("content_md5", content_md5, 'bytearray') @@ -632,6 +729,109 @@ def upload_range(self, range, content_length, file_range_write="update", optiona return cls(response, None, response_headers) upload_range.metadata = {'url': '/{shareName}/{directory}/{fileName}'} + def upload_range_from_url(self, range, copy_source, content_length, timeout=None, source_range=None, source_content_crc64=None, source_modified_access_conditions=None, cls=None, **kwargs): + """Upload a range of bytes to a file where the contents are read from a + URL. + + :param range: Writes data to the specified byte range in the file. + :type range: str + :param copy_source: Specifies the URL of the source file or blob, up + to 2 KB in length. To copy a file to another file within the same + storage account, you may use Shared Key to authenticate the source + file. If you are copying a file from another storage account, or if + you are copying a blob from the same storage account or another + storage account, then you must authenticate the source file or blob + using a shared access signature. If the source is a public blob, no + authentication is required to perform the copy operation. A file in a + share snapshot can also be specified as a copy source. + :type copy_source: str + :param content_length: Specifies the number of bytes being transmitted + in the request body. When the x-ms-write header is set to clear, the + value of this header must be set to zero. + :type content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for File Service Operations. + :type timeout: int + :param source_range: Bytes of source data in the specified range. + :type source_range: str + :param source_content_crc64: Specify the crc64 calculated for the + range of bytes that must be read from the copy source. + :type source_content_crc64: bytearray + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.file.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + source_if_match_crc64 = None + if source_modified_access_conditions is not None: + source_if_match_crc64 = source_modified_access_conditions.source_if_match_crc64 + source_if_none_match_crc64 = None + if source_modified_access_conditions is not None: + source_if_none_match_crc64 = source_modified_access_conditions.source_if_none_match_crc64 + + comp = "range" + + # Construct URL + url = self.upload_range_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-copy-source'] = self._serialize.header("copy_source", copy_source, 'str') + if source_range is not None: + header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') + header_parameters['x-ms-write'] = self._serialize.header("self.x_ms_write", self.x_ms_write, 'str') + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if source_content_crc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_content_crc64", source_content_crc64, 'bytearray') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if source_if_match_crc64 is not None: + header_parameters['x-ms-source-if-match-crc64'] = self._serialize.header("source_if_match_crc64", source_if_match_crc64, 'bytearray') + if source_if_none_match_crc64 is not None: + header_parameters['x-ms-source-if-none-match-crc64'] = self._serialize.header("source_if_none_match_crc64", source_if_none_match_crc64, 'bytearray') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + upload_range_from_url.metadata = {'url': '/{shareName}/{directory}/{fileName}'} + def get_range_list(self, sharesnapshot=None, timeout=None, range=None, cls=None, **kwargs): """Returns the list of valid ranges for a file. @@ -649,9 +849,9 @@ def get_range_list(self, sharesnapshot=None, timeout=None, range=None, cls=None, :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~file.models.Range] + :rtype: list[~azure.storage.file.models.Range] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "rangelist" @@ -733,7 +933,7 @@ def start_copy(self, copy_source, timeout=None, metadata=None, cls=None, **kwarg :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -795,7 +995,7 @@ def abort_copy(self, copy_id, timeout=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "copy" @@ -863,9 +1063,9 @@ def list_handles(self, marker=None, maxresults=None, timeout=None, sharesnapshot :param callable cls: A custom type or function that will be passed the direct response :return: ListHandlesResponse or the result of cls(response) - :rtype: ~file.models.ListHandlesResponse + :rtype: ~azure.storage.file.models.ListHandlesResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "listhandles" @@ -947,7 +1147,7 @@ def force_close_handles(self, handle_id, timeout=None, marker=None, sharesnapsho :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "forceclosehandles" diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_service_operations.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_service_operations.py index 55c5a4ab85b2..8283028768ce 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_service_operations.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_service_operations.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -41,7 +44,7 @@ def set_properties(self, storage_service_properties, timeout=None, cls=None, **k :param storage_service_properties: The StorageService properties. :type storage_service_properties: - ~file.models.StorageServiceProperties + ~azure.storage.file.models.StorageServiceProperties :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -52,7 +55,7 @@ def set_properties(self, storage_service_properties, timeout=None, cls=None, **k :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "properties" @@ -110,9 +113,9 @@ def get_properties(self, timeout=None, cls=None, **kwargs): :param callable cls: A custom type or function that will be passed the direct response :return: StorageServiceProperties or the result of cls(response) - :rtype: ~file.models.StorageServiceProperties + :rtype: ~azure.storage.file.models.StorageServiceProperties :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "properties" @@ -181,7 +184,8 @@ def list_shares_segment(self, prefix=None, marker=None, maxresults=None, include :type maxresults: int :param include: Include this parameter to specify one or more datasets to include in the response. - :type include: list[str or ~file.models.ListSharesIncludeType] + :type include: list[str or + ~azure.storage.file.models.ListSharesIncludeType] :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -190,9 +194,9 @@ def list_shares_segment(self, prefix=None, marker=None, maxresults=None, include :param callable cls: A custom type or function that will be passed the direct response :return: ListSharesResponse or the result of cls(response) - :rtype: ~file.models.ListSharesResponse + :rtype: ~azure.storage.file.models.ListSharesResponse :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "list" diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_share_operations.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_share_operations.py index 6028e9e34917..bcffde16ecd6 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_share_operations.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/operations/_share_operations.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -53,7 +56,7 @@ def create(self, timeout=None, metadata=None, quota=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -116,7 +119,7 @@ def get_properties(self, sharesnapshot=None, timeout=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -177,13 +180,14 @@ def delete(self, sharesnapshot=None, timeout=None, delete_snapshots=None, cls=No :param delete_snapshots: Specifies the option include to delete the base share and all of its snapshots. Possible values include: 'include' - :type delete_snapshots: str or ~file.models.DeleteSnapshotsOptionType + :type delete_snapshots: str or + ~azure.storage.file.models.DeleteSnapshotsOptionType :param callable cls: A custom type or function that will be passed the direct response :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -242,7 +246,7 @@ def create_snapshot(self, timeout=None, metadata=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "snapshot" @@ -289,6 +293,138 @@ def create_snapshot(self, timeout=None, metadata=None, cls=None, **kwargs): return cls(response, None, response_headers) create_snapshot.metadata = {'url': '/{shareName}'} + def create_permission(self, share_permission, timeout=None, cls=None, **kwargs): + """Create a permission (a security descriptor). + + :param share_permission: A permission (a security descriptor) at the + share level. + :type share_permission: ~azure.storage.file.models.SharePermission + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for File Service Operations. + :type timeout: int + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "filepermission" + + # Construct URL + url = self.create_permission.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("self.restype", self.restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct body + body_content = self._serialize.body(share_permission, 'SharePermission', is_xml=False) + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-file-permission-key': self._deserialize('str', response.headers.get('x-ms-file-permission-key')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + create_permission.metadata = {'url': '/{shareName}'} + + def get_permission(self, file_permission_key=None, timeout=None, cls=None, **kwargs): + """Returns the permission (security descriptor) for a given key. + + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for File Service Operations. + :type timeout: int + :param callable cls: A custom type or function that will be passed the + direct response + :return: SharePermission or the result of cls(response) + :rtype: ~azure.storage.file.models.SharePermission + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "filepermission" + + # Construct URL + url = self.get_permission.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("self.restype", self.restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if file_permission_key is not None: + header_parameters['x-ms-file-permission-key'] = self._serialize.header("file_permission_key", file_permission_key, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SharePermission', response) + header_dict = { + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_permission.metadata = {'url': '/{shareName}'} + def set_quota(self, timeout=None, quota=None, cls=None, **kwargs): """Sets quota for the specified share. @@ -304,7 +440,7 @@ def set_quota(self, timeout=None, quota=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "properties" @@ -366,7 +502,7 @@ def set_metadata(self, timeout=None, metadata=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "metadata" @@ -424,9 +560,9 @@ def get_access_policy(self, timeout=None, cls=None, **kwargs): :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~file.models.SignedIdentifier] + :rtype: list[~azure.storage.file.models.SignedIdentifier] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "acl" @@ -482,7 +618,7 @@ def set_access_policy(self, share_acl=None, timeout=None, cls=None, **kwargs): """Sets a stored access policy for use with shared access signatures. :param share_acl: The ACL for the share. - :type share_acl: list[~file.models.SignedIdentifier] + :type share_acl: list[~azure.storage.file.models.SignedIdentifier] :param timeout: The timeout parameter is expressed in seconds. For more information, see Setting @@ -493,7 +629,7 @@ def set_access_policy(self, share_acl=None, timeout=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "acl" @@ -520,8 +656,7 @@ def set_access_policy(self, share_acl=None, timeout=None, cls=None, **kwargs): # Construct body serialization_ctxt = {'xml': {'name': 'SignedIdentifiers', 'itemsName': 'SignedIdentifier', 'wrapped': True}} if share_acl is not None: - body_content = self._serialize.serialize_iter(share_acl, 'SignedIdentifier', - serialization_ctxt=serialization_ctxt) + body_content = self._serialize.body(share_acl, '[SignedIdentifier]', serialization_ctxt=serialization_ctxt) else: body_content = None @@ -557,9 +692,9 @@ def get_statistics(self, timeout=None, cls=None, **kwargs): :param callable cls: A custom type or function that will be passed the direct response :return: ShareStats or the result of cls(response) - :rtype: ~file.models.ShareStats + :rtype: ~azure.storage.file.models.ShareStats :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "stats" diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_generated/version.py b/sdk/storage/azure-storage-file/azure/storage/file/_generated/version.py index f93afe178a08..9c89a27c160c 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_generated/version.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_generated/version.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file -VERSION = "2018-11-09" +VERSION = "2019-02-02" diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_parser.py b/sdk/storage/azure-storage-file/azure/storage/file/_parser.py new file mode 100644 index 000000000000..0b5227b7d3c1 --- /dev/null +++ b/sdk/storage/azure-storage-file/azure/storage/file/_parser.py @@ -0,0 +1,48 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from datetime import datetime, timedelta + +_ERROR_TOO_MANY_FILE_PERMISSIONS = 'file_permission and file_permission_key should not be set at the same time' +_FILE_PERMISSION_TOO_LONG = 'Size of file_permission is too large. file_permission should be <=8KB, else' \ + 'please use file_permission_key' + + +def _get_file_permission(file_permission, file_permission_key, default_permission): + # if file_permission and file_permission_key are both empty, then use the default_permission + # value as file permission, file_permission size should be <= 8KB, else file permission_key should be used + empty_file_permission = not file_permission + empty_file_permission_key = not file_permission_key + file_permission_size_too_big = False if file_permission is None \ + else len(str(file_permission).encode('utf-8')) > 8 * 1024 + + if file_permission_size_too_big: + raise ValueError(_FILE_PERMISSION_TOO_LONG) + + if empty_file_permission: + if empty_file_permission_key: + return default_permission + + return None + + if empty_file_permission_key: + return file_permission + + raise ValueError(_ERROR_TOO_MANY_FILE_PERMISSIONS) + + +def _parse_datetime_from_str(string_datetime): + if not string_datetime: + return None + dt, _, us = string_datetime.partition(".") + dt = datetime.strptime(dt, "%Y-%m-%dT%H:%M:%S") + us = int(us[:-2]) # microseconds + datetime_obj = dt + timedelta(microseconds=us) + return datetime_obj + + +def _datetime_to_str(datetime_obj): + return datetime_obj if isinstance(datetime_obj, str) else datetime_obj.isoformat() + '0Z' diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_shared/constants.py b/sdk/storage/azure-storage-file/azure/storage/file/_shared/constants.py index 62886ccd7a7d..62f0f163bca1 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_shared/constants.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_shared/constants.py @@ -7,7 +7,7 @@ import sys -X_MS_VERSION = '2018-03-28' +X_MS_VERSION = '2019-02-02' # Socket timeout in seconds DEFAULT_SOCKET_TIMEOUT = 20 diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_shared/models.py b/sdk/storage/azure-storage-file/azure/storage/file/_shared/models.py index 7185141649f9..50f891de3012 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_shared/models.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_shared/models.py @@ -420,3 +420,36 @@ def __str__(self): Services.BLOB = Services(blob=True) Services.QUEUE = Services(queue=True) Services.FILE = Services(file=True) + + +class UserDelegationKey(object): + """ + Represents a user delegation key, provided to the user by Azure Storage + based on their Azure Active Directory access token. + + The fields are saved as simple strings since the user does not have to interact with this object; + to generate an identify SAS, the user can simply pass it to the right API. + + :ivar str signed_oid: + Object ID of this token. + :ivar str signed_tid: + Tenant ID of the tenant that issued this token. + :ivar str signed_start: + The datetime this token becomes valid. + :ivar str signed_expiry: + The datetime this token expires. + :ivar str signed_service: + What service this key is valid for. + :ivar str signed_version: + The version identifier of the REST service that created this token. + :ivar str value: + The user delegation key. + """ + def __init__(self): + self.signed_oid = None + self.signed_tid = None + self.signed_start = None + self.signed_expiry = None + self.signed_service = None + self.signed_version = None + self.value = None diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_shared/parser.py b/sdk/storage/azure-storage-file/azure/storage/file/_shared/parser.py new file mode 100644 index 000000000000..c6feba8a6393 --- /dev/null +++ b/sdk/storage/azure-storage-file/azure/storage/file/_shared/parser.py @@ -0,0 +1,20 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import sys + +if sys.version_info < (3,): + def _str(value): + if isinstance(value, unicode): # pylint: disable=undefined-variable + return value.encode('utf-8') + + return str(value) +else: + _str = str + + +def _to_utc_datetime(value): + return value.strftime('%Y-%m-%dT%H:%M:%SZ') diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_shared/response_handlers.py b/sdk/storage/azure-storage-file/azure/storage/file/_shared/response_handlers.py index bf92763aa509..fbf9889d762c 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_shared/response_handlers.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_shared/response_handlers.py @@ -19,7 +19,8 @@ ClientAuthenticationError, DecodeError) -from .models import StorageErrorCode +from .parser import _to_utc_datetime +from .models import StorageErrorCode, UserDelegationKey if TYPE_CHECKING: @@ -131,3 +132,15 @@ def process_storage_error(storage_error): error.error_code = error_code error.additional_info = additional_data raise error + + +def parse_to_internal_user_delegation_key(service_user_delegation_key): + internal_user_delegation_key = UserDelegationKey() + internal_user_delegation_key.signed_oid = service_user_delegation_key.signed_oid + internal_user_delegation_key.signed_tid = service_user_delegation_key.signed_tid + internal_user_delegation_key.signed_start = _to_utc_datetime(service_user_delegation_key.signed_start) + internal_user_delegation_key.signed_expiry = _to_utc_datetime(service_user_delegation_key.signed_expiry) + internal_user_delegation_key.signed_service = service_user_delegation_key.signed_service + internal_user_delegation_key.signed_version = service_user_delegation_key.signed_version + internal_user_delegation_key.value = service_user_delegation_key.value + return internal_user_delegation_key diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_shared/shared_access_signature.py b/sdk/storage/azure-storage-file/azure/storage/file/_shared/shared_access_signature.py index 16ff778c5c1e..183889fc06a6 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_shared/shared_access_signature.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_shared/shared_access_signature.py @@ -4,27 +4,13 @@ # license information. # -------------------------------------------------------------------------- -import sys from datetime import date +from .parser import _str, _to_utc_datetime from .constants import X_MS_VERSION from . import sign_string, url_quote -if sys.version_info < (3,): - def _str(value): - if isinstance(value, unicode): # pylint: disable=undefined-variable - return value.encode('utf-8') - - return str(value) -else: - _str = str - - -def _to_utc_datetime(value): - return value.strftime('%Y-%m-%dT%H:%M:%SZ') - - class QueryStringConstants(object): SIGNED_SIGNATURE = 'sig' SIGNED_PERMISSION = 'sp' @@ -46,6 +32,12 @@ class QueryStringConstants(object): END_RK = 'erk' SIGNED_RESOURCE_TYPES = 'srt' SIGNED_SERVICES = 'ss' + SIGNED_OID = 'skoid' + SIGNED_TID = 'sktid' + SIGNED_KEY_START = 'skt' + SIGNED_KEY_EXPIRY = 'ske' + SIGNED_KEY_SERVICE = 'sks' + SIGNED_KEY_VERSION = 'skv' @staticmethod def to_list(): @@ -70,6 +62,12 @@ def to_list(): QueryStringConstants.END_RK, QueryStringConstants.SIGNED_RESOURCE_TYPES, QueryStringConstants.SIGNED_SERVICES, + QueryStringConstants.SIGNED_OID, + QueryStringConstants.SIGNED_TID, + QueryStringConstants.SIGNED_KEY_START, + QueryStringConstants.SIGNED_KEY_EXPIRY, + QueryStringConstants.SIGNED_KEY_SERVICE, + QueryStringConstants.SIGNED_KEY_VERSION, ] @@ -188,43 +186,6 @@ def add_override_response_headers(self, cache_control, self._add_query(QueryStringConstants.SIGNED_CONTENT_LANGUAGE, content_language) self._add_query(QueryStringConstants.SIGNED_CONTENT_TYPE, content_type) - def add_resource_signature(self, account_name, account_key, service, path): - def get_value_to_append(query): - return_value = self.query_dict.get(query) or '' - return return_value + '\n' - - if path[0] != '/': - path = '/' + path - - canonicalized_resource = '/' + service + '/' + account_name + path + '\n' - - # Form the string to sign from shared_access_policy and canonicalized - # resource. The order of values is important. - string_to_sign = \ - (get_value_to_append(QueryStringConstants.SIGNED_PERMISSION) + - get_value_to_append(QueryStringConstants.SIGNED_START) + - get_value_to_append(QueryStringConstants.SIGNED_EXPIRY) + - canonicalized_resource + - get_value_to_append(QueryStringConstants.SIGNED_IDENTIFIER) + - get_value_to_append(QueryStringConstants.SIGNED_IP) + - get_value_to_append(QueryStringConstants.SIGNED_PROTOCOL) + - get_value_to_append(QueryStringConstants.SIGNED_VERSION)) - - if service in ['blob', 'file']: - string_to_sign += \ - (get_value_to_append(QueryStringConstants.SIGNED_CACHE_CONTROL) + - get_value_to_append(QueryStringConstants.SIGNED_CONTENT_DISPOSITION) + - get_value_to_append(QueryStringConstants.SIGNED_CONTENT_ENCODING) + - get_value_to_append(QueryStringConstants.SIGNED_CONTENT_LANGUAGE) + - get_value_to_append(QueryStringConstants.SIGNED_CONTENT_TYPE)) - - # remove the trailing newline - if string_to_sign[-1] == '\n': - string_to_sign = string_to_sign[:-1] - - self._add_query(QueryStringConstants.SIGNED_SIGNATURE, - sign_string(account_key, string_to_sign)) - def add_account_signature(self, account_name, account_key): def get_value_to_append(query): return_value = self.query_dict.get(query) or '' @@ -246,446 +207,3 @@ def get_value_to_append(query): def get_token(self): return '&'.join(['{0}={1}'.format(n, url_quote(v)) for n, v in self.query_dict.items() if v is not None]) - - -class BlobSharedAccessSignature(SharedAccessSignature): - ''' - Provides a factory for creating blob and container access - signature tokens with a common account name and account key. Users can either - use the factory or can construct the appropriate service and use the - generate_*_shared_access_signature method directly. - ''' - - def __init__(self, account_name, account_key): - ''' - :param str account_name: - The storage account name used to generate the shared access signatures. - :param str account_key: - The access key to generate the shares access signatures. - ''' - super(BlobSharedAccessSignature, self).__init__(account_name, account_key, x_ms_version=X_MS_VERSION) - - def generate_blob(self, container_name, blob_name, permission=None, - expiry=None, start=None, policy_id=None, ip=None, protocol=None, - cache_control=None, content_disposition=None, - content_encoding=None, content_language=None, - content_type=None): - ''' - Generates a shared access signature for the blob. - Use the returned signature with the sas_token parameter of any BlobService. - - :param str container_name: - Name of container. - :param str blob_name: - Name of blob. - :param BlobPermissions permission: - The permissions associated with the shared access signature. The - user is restricted to operations allowed by the permissions. - Permissions must be ordered read, write, delete, list. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has been - specified in an associated stored access policy. - :param expiry: - The time at which the shared access signature becomes invalid. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has - been specified in an associated stored access policy. Azure will always - convert values to UTC. If a date is passed in without timezone info, it - is assumed to be UTC. - :type expiry: datetime or str - :param start: - The time at which the shared access signature becomes valid. If - omitted, start time for this call is assumed to be the time when the - storage service receives the request. Azure will always convert values - to UTC. If a date is passed in without timezone info, it is assumed to - be UTC. - :type start: datetime or str - :param str id: - A unique value up to 64 characters in length that correlates to a - stored access policy. To create a stored access policy, use - set_blob_service_properties. - :param str ip: - Specifies an IP address or a range of IP addresses from which to accept requests. - If the IP address from which the request originates does not match the IP address - or address range specified on the SAS token, the request is not authenticated. - For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS - restricts the request to those IP addresses. - :param str protocol: - Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. - :param str cache_control: - Response header value for Cache-Control when resource is accessed - using this shared access signature. - :param str content_disposition: - Response header value for Content-Disposition when resource is accessed - using this shared access signature. - :param str content_encoding: - Response header value for Content-Encoding when resource is accessed - using this shared access signature. - :param str content_language: - Response header value for Content-Language when resource is accessed - using this shared access signature. - :param str content_type: - Response header value for Content-Type when resource is accessed - using this shared access signature. - ''' - resource_path = container_name + '/' + blob_name - - sas = _SharedAccessHelper() - sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) - sas.add_id(policy_id) - sas.add_resource('b') - sas.add_override_response_headers(cache_control, content_disposition, - content_encoding, content_language, - content_type) - sas.add_resource_signature(self.account_name, self.account_key, 'blob', resource_path) - - return sas.get_token() - - def generate_container(self, container_name, permission=None, expiry=None, - start=None, policy_id=None, ip=None, protocol=None, - cache_control=None, content_disposition=None, - content_encoding=None, content_language=None, - content_type=None): - ''' - Generates a shared access signature for the container. - Use the returned signature with the sas_token parameter of any BlobService. - - :param str container_name: - Name of container. - :param ContainerPermissions permission: - The permissions associated with the shared access signature. The - user is restricted to operations allowed by the permissions. - Permissions must be ordered read, write, delete, list. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has been - specified in an associated stored access policy. - :param expiry: - The time at which the shared access signature becomes invalid. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has - been specified in an associated stored access policy. Azure will always - convert values to UTC. If a date is passed in without timezone info, it - is assumed to be UTC. - :type expiry: datetime or str - :param start: - The time at which the shared access signature becomes valid. If - omitted, start time for this call is assumed to be the time when the - storage service receives the request. Azure will always convert values - to UTC. If a date is passed in without timezone info, it is assumed to - be UTC. - :type start: datetime or str - :param str policy_id: - A unique value up to 64 characters in length that correlates to a - stored access policy. To create a stored access policy, use - set_blob_service_properties. - :param str ip: - Specifies an IP address or a range of IP addresses from which to accept requests. - If the IP address from which the request originates does not match the IP address - or address range specified on the SAS token, the request is not authenticated. - For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS - restricts the request to those IP addresses. - :param str protocol: - Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. - :param str cache_control: - Response header value for Cache-Control when resource is accessed - using this shared access signature. - :param str content_disposition: - Response header value for Content-Disposition when resource is accessed - using this shared access signature. - :param str content_encoding: - Response header value for Content-Encoding when resource is accessed - using this shared access signature. - :param str content_language: - Response header value for Content-Language when resource is accessed - using this shared access signature. - :param str content_type: - Response header value for Content-Type when resource is accessed - using this shared access signature. - ''' - sas = _SharedAccessHelper() - sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) - sas.add_id(policy_id) - sas.add_resource('c') - sas.add_override_response_headers(cache_control, content_disposition, - content_encoding, content_language, - content_type) - sas.add_resource_signature(self.account_name, self.account_key, 'blob', container_name) - - return sas.get_token() - - -class QueueSharedAccessSignature(SharedAccessSignature): - ''' - Provides a factory for creating queue shares access - signature tokens with a common account name and account key. Users can either - use the factory or can construct the appropriate service and use the - generate_*_shared_access_signature method directly. - ''' - - def __init__(self, account_name, account_key): - ''' - :param str account_name: - The storage account name used to generate the shared access signatures. - :param str account_key: - The access key to generate the shares access signatures. - ''' - super(QueueSharedAccessSignature, self).__init__(account_name, account_key, x_ms_version=X_MS_VERSION) - - def generate_queue(self, queue_name, permission=None, - expiry=None, start=None, policy_id=None, - ip=None, protocol=None): - ''' - Generates a shared access signature for the queue. - Use the returned signature with the sas_token parameter of QueueService. - :param str queue_name: - Name of queue. - :param QueuePermissions permission: - The permissions associated with the shared access signature. The - user is restricted to operations allowed by the permissions. - Permissions must be ordered read, add, update, process. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has been - specified in an associated stored access policy. - :param expiry: - The time at which the shared access signature becomes invalid. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has - been specified in an associated stored access policy. Azure will always - convert values to UTC. If a date is passed in without timezone info, it - is assumed to be UTC. - :type expiry: datetime or str - :param start: - The time at which the shared access signature becomes valid. If - omitted, start time for this call is assumed to be the time when the - storage service receives the request. Azure will always convert values - to UTC. If a date is passed in without timezone info, it is assumed to - be UTC. - :type start: datetime or str - :param str policy_id: - A unique value up to 64 characters in length that correlates to a - stored access policy. - :param str ip: - Specifies an IP address or a range of IP addresses from which to accept requests. - If the IP address from which the request originates does not match the IP address - or address range specified on the SAS token, the request is not authenticated. - For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS - restricts the request to those IP addresses. - :param str protocol: - Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. - ''' - sas = _QueueSharedAccessHelper() - sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) - sas.add_id(policy_id) - sas.add_resource_signature(self.account_name, self.account_key, queue_name) - - return sas.get_token() - - -class _QueueSharedAccessHelper(_SharedAccessHelper): - - def add_resource_signature(self, account_name, account_key, path): # pylint: disable=arguments-differ - def get_value_to_append(query): - return_value = self.query_dict.get(query) or '' - return return_value + '\n' - - if path[0] != '/': - path = '/' + path - - canonicalized_resource = '/queue/' + account_name + path + '\n' - - # Form the string to sign from shared_access_policy and canonicalized - # resource. The order of values is important. - string_to_sign = \ - (get_value_to_append(QueryStringConstants.SIGNED_PERMISSION) + - get_value_to_append(QueryStringConstants.SIGNED_START) + - get_value_to_append(QueryStringConstants.SIGNED_EXPIRY) + - canonicalized_resource + - get_value_to_append(QueryStringConstants.SIGNED_IDENTIFIER) + - get_value_to_append(QueryStringConstants.SIGNED_IP) + - get_value_to_append(QueryStringConstants.SIGNED_PROTOCOL) + - get_value_to_append(QueryStringConstants.SIGNED_VERSION)) - - # remove the trailing newline - if string_to_sign[-1] == '\n': - string_to_sign = string_to_sign[:-1] - - self._add_query(QueryStringConstants.SIGNED_SIGNATURE, - sign_string(account_key, string_to_sign)) - - - -class FileSharedAccessSignature(SharedAccessSignature): - ''' - Provides a factory for creating file and share access - signature tokens with a common account name and account key. Users can either - use the factory or can construct the appropriate service and use the - generate_*_shared_access_signature method directly. - ''' - - def __init__(self, account_name, account_key): - ''' - :param str account_name: - The storage account name used to generate the shared access signatures. - :param str account_key: - The access key to generate the shares access signatures. - ''' - super(FileSharedAccessSignature, self).__init__(account_name, account_key, x_ms_version=X_MS_VERSION) - - def generate_file(self, share_name, directory_name=None, file_name=None, - permission=None, expiry=None, start=None, policy_id=None, - ip=None, protocol=None, cache_control=None, - content_disposition=None, content_encoding=None, - content_language=None, content_type=None): - ''' - Generates a shared access signature for the file. - Use the returned signature with the sas_token parameter of FileService. - - :param str share_name: - Name of share. - :param str directory_name: - Name of directory. SAS tokens cannot be created for directories, so - this parameter should only be present if file_name is provided. - :param str file_name: - Name of file. - :param FilePermissions permission: - The permissions associated with the shared access signature. The - user is restricted to operations allowed by the permissions. - Permissions must be ordered read, create, write, delete, list. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has been - specified in an associated stored access policy. - :param expiry: - The time at which the shared access signature becomes invalid. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has - been specified in an associated stored access policy. Azure will always - convert values to UTC. If a date is passed in without timezone info, it - is assumed to be UTC. - :type expiry: datetime or str - :param start: - The time at which the shared access signature becomes valid. If - omitted, start time for this call is assumed to be the time when the - storage service receives the request. Azure will always convert values - to UTC. If a date is passed in without timezone info, it is assumed to - be UTC. - :type start: datetime or str - :param str policy_id: - A unique value up to 64 characters in length that correlates to a - stored access policy. To create a stored access policy, use - set_file_service_properties. - :param str ip: - Specifies an IP address or a range of IP addresses from which to accept requests. - If the IP address from which the request originates does not match the IP address - or address range specified on the SAS token, the request is not authenticated. - For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS - restricts the request to those IP addresses. - :param str protocol: - Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. - :param str cache_control: - Response header value for Cache-Control when resource is accessed - using this shared access signature. - :param str content_disposition: - Response header value for Content-Disposition when resource is accessed - using this shared access signature. - :param str content_encoding: - Response header value for Content-Encoding when resource is accessed - using this shared access signature. - :param str content_language: - Response header value for Content-Language when resource is accessed - using this shared access signature. - :param str content_type: - Response header value for Content-Type when resource is accessed - using this shared access signature. - ''' - resource_path = share_name - if directory_name is not None: - resource_path += '/' + _str(directory_name) if directory_name is not None else None - resource_path += '/' + _str(file_name) if file_name is not None else None - - sas = _SharedAccessHelper() - sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) - sas.add_id(policy_id) - sas.add_resource('f') - sas.add_override_response_headers(cache_control, content_disposition, - content_encoding, content_language, - content_type) - sas.add_resource_signature(self.account_name, self.account_key, 'file', resource_path) - - return sas.get_token() - - def generate_share(self, share_name, permission=None, expiry=None, - start=None, policy_id=None, ip=None, protocol=None, - cache_control=None, content_disposition=None, - content_encoding=None, content_language=None, - content_type=None): - ''' - Generates a shared access signature for the share. - Use the returned signature with the sas_token parameter of FileService. - - :param str share_name: - Name of share. - :param SharePermissions permission: - The permissions associated with the shared access signature. The - user is restricted to operations allowed by the permissions. - Permissions must be ordered read, create, write, delete, list. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has been - specified in an associated stored access policy. - :param expiry: - The time at which the shared access signature becomes invalid. - Required unless an id is given referencing a stored access policy - which contains this field. This field must be omitted if it has - been specified in an associated stored access policy. Azure will always - convert values to UTC. If a date is passed in without timezone info, it - is assumed to be UTC. - :type expiry: datetime or str - :param start: - The time at which the shared access signature becomes valid. If - omitted, start time for this call is assumed to be the time when the - storage service receives the request. Azure will always convert values - to UTC. If a date is passed in without timezone info, it is assumed to - be UTC. - :type start: datetime or str - :param str policy_id: - A unique value up to 64 characters in length that correlates to a - stored access policy. To create a stored access policy, use - set_file_service_properties. - :param str ip: - Specifies an IP address or a range of IP addresses from which to accept requests. - If the IP address from which the request originates does not match the IP address - or address range specified on the SAS token, the request is not authenticated. - For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS - restricts the request to those IP addresses. - :param str protocol: - Specifies the protocol permitted for a request made. The default value - is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. - :param str cache_control: - Response header value for Cache-Control when resource is accessed - using this shared access signature. - :param str content_disposition: - Response header value for Content-Disposition when resource is accessed - using this shared access signature. - :param str content_encoding: - Response header value for Content-Encoding when resource is accessed - using this shared access signature. - :param str content_language: - Response header value for Content-Language when resource is accessed - using this shared access signature. - :param str content_type: - Response header value for Content-Type when resource is accessed - using this shared access signature. - ''' - sas = _SharedAccessHelper() - sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) - sas.add_id(policy_id) - sas.add_resource('s') - sas.add_override_response_headers(cache_control, content_disposition, - content_encoding, content_language, - content_type) - sas.add_resource_signature(self.account_name, self.account_key, 'file', share_name) - - return sas.get_token() diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_shared/uploads.py b/sdk/storage/azure-storage-file/azure/storage/file/_shared/uploads.py index 50b314361540..5060761d27fc 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_shared/uploads.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_shared/uploads.py @@ -340,7 +340,7 @@ class FileChunkUploader(_ChunkUploader): # pylint: disable=abstract-method def _upload_chunk(self, chunk_offset, chunk_data): chunk_end = chunk_offset + len(chunk_data) - 1 - self.service.upload_range( + response = self.service.upload_range( chunk_data, chunk_offset, chunk_end, @@ -348,7 +348,7 @@ def _upload_chunk(self, chunk_offset, chunk_data): upload_stream_current=self.progress_total, **self.request_options ) - return 'bytes={0}-{1}'.format(chunk_offset, chunk_end) + return 'bytes={0}-{1}'.format(chunk_offset, chunk_end), response class SubStream(IOBase): diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_shared/uploads_async.py b/sdk/storage/azure-storage-file/azure/storage/file/_shared/uploads_async.py index 861422855b8d..8aeafa39ef28 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/_shared/uploads_async.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/_shared/uploads_async.py @@ -338,7 +338,7 @@ class FileChunkUploader(_ChunkUploader): # pylint: disable=abstract-method async def _upload_chunk(self, chunk_offset, chunk_data): chunk_end = chunk_offset + len(chunk_data) - 1 - await self.service.upload_range( + response = await self.service.upload_range( chunk_data, chunk_offset, chunk_end, @@ -347,4 +347,4 @@ async def _upload_chunk(self, chunk_offset, chunk_data): **self.request_options ) range_id = 'bytes={0}-{1}'.format(chunk_offset, chunk_end) - return range_id + return range_id, response diff --git a/sdk/storage/azure-storage-file/azure/storage/file/_shared_access_signature.py b/sdk/storage/azure-storage-file/azure/storage/file/_shared_access_signature.py new file mode 100644 index 000000000000..78abc178ea5a --- /dev/null +++ b/sdk/storage/azure-storage-file/azure/storage/file/_shared_access_signature.py @@ -0,0 +1,221 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from ._shared import sign_string +from ._shared.constants import X_MS_VERSION +from ._shared.shared_access_signature import SharedAccessSignature, _SharedAccessHelper, QueryStringConstants +from ._shared.parser import _str + + +class FileSharedAccessSignature(SharedAccessSignature): + ''' + Provides a factory for creating file and share access + signature tokens with a common account name and account key. Users can either + use the factory or can construct the appropriate service and use the + generate_*_shared_access_signature method directly. + ''' + + def __init__(self, account_name, account_key): + ''' + :param str account_name: + The storage account name used to generate the shared access signatures. + :param str account_key: + The access key to generate the shares access signatures. + ''' + super(FileSharedAccessSignature, self).__init__(account_name, account_key, x_ms_version=X_MS_VERSION) + + def generate_file(self, share_name, directory_name=None, file_name=None, + permission=None, expiry=None, start=None, policy_id=None, + ip=None, protocol=None, cache_control=None, + content_disposition=None, content_encoding=None, + content_language=None, content_type=None): + ''' + Generates a shared access signature for the file. + Use the returned signature with the sas_token parameter of FileService. + + :param str share_name: + Name of share. + :param str directory_name: + Name of directory. SAS tokens cannot be created for directories, so + this parameter should only be present if file_name is provided. + :param str file_name: + Name of file. + :param FilePermissions permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Permissions must be ordered read, create, write, delete, list. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: datetime or str + :param start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :type start: datetime or str + :param str policy_id: + A unique value up to 64 characters in length that correlates to a + stored access policy. To create a stored access policy, use + set_file_service_properties. + :param str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS + restricts the request to those IP addresses. + :param str protocol: + Specifies the protocol permitted for a request made. The default value + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. + :param str cache_control: + Response header value for Cache-Control when resource is accessed + using this shared access signature. + :param str content_disposition: + Response header value for Content-Disposition when resource is accessed + using this shared access signature. + :param str content_encoding: + Response header value for Content-Encoding when resource is accessed + using this shared access signature. + :param str content_language: + Response header value for Content-Language when resource is accessed + using this shared access signature. + :param str content_type: + Response header value for Content-Type when resource is accessed + using this shared access signature. + ''' + resource_path = share_name + if directory_name is not None: + resource_path += '/' + _str(directory_name) if directory_name is not None else None + resource_path += '/' + _str(file_name) if file_name is not None else None + + sas = _FileSharedAccessHelper() + sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) + sas.add_id(policy_id) + sas.add_resource('f') + sas.add_override_response_headers(cache_control, content_disposition, + content_encoding, content_language, + content_type) + sas.add_resource_signature(self.account_name, self.account_key, resource_path) + + return sas.get_token() + + def generate_share(self, share_name, permission=None, expiry=None, + start=None, policy_id=None, ip=None, protocol=None, + cache_control=None, content_disposition=None, + content_encoding=None, content_language=None, + content_type=None): + ''' + Generates a shared access signature for the share. + Use the returned signature with the sas_token parameter of FileService. + + :param str share_name: + Name of share. + :param SharePermissions permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Permissions must be ordered read, create, write, delete, list. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: datetime or str + :param start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :type start: datetime or str + :param str policy_id: + A unique value up to 64 characters in length that correlates to a + stored access policy. To create a stored access policy, use + set_file_service_properties. + :param str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS + restricts the request to those IP addresses. + :param str protocol: + Specifies the protocol permitted for a request made. The default value + is https,http. See :class:`~azure.storage.common.models.Protocol` for possible values. + :param str cache_control: + Response header value for Cache-Control when resource is accessed + using this shared access signature. + :param str content_disposition: + Response header value for Content-Disposition when resource is accessed + using this shared access signature. + :param str content_encoding: + Response header value for Content-Encoding when resource is accessed + using this shared access signature. + :param str content_language: + Response header value for Content-Language when resource is accessed + using this shared access signature. + :param str content_type: + Response header value for Content-Type when resource is accessed + using this shared access signature. + ''' + sas = _FileSharedAccessHelper() + sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) + sas.add_id(policy_id) + sas.add_resource('s') + sas.add_override_response_headers(cache_control, content_disposition, + content_encoding, content_language, + content_type) + sas.add_resource_signature(self.account_name, self.account_key, share_name) + + return sas.get_token() + + +class _FileSharedAccessHelper(_SharedAccessHelper): + + def add_resource_signature(self, account_name, account_key, path): + def get_value_to_append(query): + return_value = self.query_dict.get(query) or '' + return return_value + '\n' + + if path[0] != '/': + path = '/' + path + + canonicalized_resource = '/file/' + account_name + path + '\n' + + # Form the string to sign from shared_access_policy and canonicalized + # resource. The order of values is important. + string_to_sign = \ + (get_value_to_append(QueryStringConstants.SIGNED_PERMISSION) + + get_value_to_append(QueryStringConstants.SIGNED_START) + + get_value_to_append(QueryStringConstants.SIGNED_EXPIRY) + + canonicalized_resource + + get_value_to_append(QueryStringConstants.SIGNED_IDENTIFIER) + + get_value_to_append(QueryStringConstants.SIGNED_IP) + + get_value_to_append(QueryStringConstants.SIGNED_PROTOCOL) + + get_value_to_append(QueryStringConstants.SIGNED_VERSION) + + get_value_to_append(QueryStringConstants.SIGNED_CACHE_CONTROL) + + get_value_to_append(QueryStringConstants.SIGNED_CONTENT_DISPOSITION) + + get_value_to_append(QueryStringConstants.SIGNED_CONTENT_ENCODING) + + get_value_to_append(QueryStringConstants.SIGNED_CONTENT_LANGUAGE) + + get_value_to_append(QueryStringConstants.SIGNED_CONTENT_TYPE)) + + # remove the trailing newline + if string_to_sign[-1] == '\n': + string_to_sign = string_to_sign[:-1] + + self._add_query(QueryStringConstants.SIGNED_SIGNATURE, + sign_string(account_key, string_to_sign)) diff --git a/sdk/storage/azure-storage-file/azure/storage/file/aio/__init__.py b/sdk/storage/azure-storage-file/azure/storage/file/aio/__init__.py index 11b419d0fbe9..504192b1d559 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/aio/__init__.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/aio/__init__.py @@ -25,7 +25,8 @@ AccessPolicy, FilePermissions, SharePermissions, - ContentSettings) + ContentSettings, + NTFSAttributes) from .models import ( HandlesPaged, SharePropertiesPaged, @@ -57,5 +58,6 @@ 'DirectoryProperties', 'DirectoryPropertiesPaged', 'FileProperties', - 'ContentSettings' + 'ContentSettings', + 'NTFSAttributes' ] diff --git a/sdk/storage/azure-storage-file/azure/storage/file/aio/directory_client_async.py b/sdk/storage/azure-storage-file/azure/storage/file/aio/directory_client_async.py index deab7f3507a3..b447a978dad6 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/aio/directory_client_async.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/aio/directory_client_async.py @@ -14,6 +14,8 @@ from azure.core.tracing.decorator import distributed_trace from azure.core.tracing.decorator_async import distributed_trace_async +from .._parser import _get_file_permission, _datetime_to_str +from .._shared.parser import _str from .._generated.aio import AzureFileStorage from .._generated.version import VERSION @@ -29,7 +31,7 @@ from .models import DirectoryPropertiesPaged, HandlesPaged if TYPE_CHECKING: - from ..models import SharePermissions, ShareProperties, DirectoryProperties, ContentSettings + from ..models import ShareProperties, DirectoryProperties, ContentSettings, NTFSAttributes from .._generated.models import HandleItem @@ -96,6 +98,7 @@ def __init__( # type: ignore self._loop = loop def get_file_client(self, file_name, **kwargs): + # type: (str, Any) -> FileClient """Get a client to interact with a specific file. The file need not already exist. @@ -113,6 +116,7 @@ def get_file_client(self, file_name, **kwargs): _location_mode=self._location_mode, loop=self._loop, **kwargs) def get_subdirectory_client(self, directory_name, **kwargs): + # type: (str, Any) -> DirectoryClient """Get a client to interact with a specific subdirectory. The subdirectory need not already exist. @@ -227,7 +231,8 @@ def list_directories_and_files(self, name_starts_with=None, timeout=None, **kwar page_iterator_class=DirectoryPropertiesPaged) @distributed_trace - def list_handles(self, recursive=False, timeout=None, **kwargs) -> AsyncItemPaged: + def list_handles(self, recursive=False, timeout=None, **kwargs): + # type: (bool, Optional[int], Any) -> AsyncItemPaged """Lists opened handles on a directory or a file under the directory. :param bool recursive: @@ -347,6 +352,58 @@ async def set_directory_metadata(self, metadata, timeout=None, **kwargs): # type except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async + async def set_http_headers(self, file_attributes="none", # type: Union[str, NTFSAttributes] + file_creation_time="preserve", # type: Union[str, datetime] + file_last_write_time="preserve", # type: Union[str, datetime] + file_permission=None, # type: Optional[str] + file_permission_key=None, # type: Optional[str] + timeout=None, # type: Optional[int] + **kwargs): # type: ignore + # type: (...) -> Dict[str, Any] + """Sets HTTP headers on the directory. + + :param int timeout: + The timeout parameter is expressed in seconds. + :param file_attributes: + The file system attributes for files and directories. + If not set, indicates preservation of existing values. + Here is an example for when the var type is str: 'Temporary|Archive' + :type file_attributes: str or :class:`~azure.storage.file.models.NTFSAttributes` + :param file_creation_time: Creation time for the file + Default value: Now. + :type file_creation_time: str or datetime + :param file_last_write_time: Last write time for the file + Default value: Now. + :type file_last_write_time: str or datetime + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str + :returns: File-updated property dict (Etag and last modified). + :rtype: dict(str, Any) + """ + file_permission = _get_file_permission(file_permission, file_permission_key, 'preserve') + try: + return await self._client.directory.set_properties( # type: ignore + file_attributes=_str(file_attributes), + file_creation_time=_datetime_to_str(file_creation_time), + file_last_write_time=_datetime_to_str(file_last_write_time), + file_permission=file_permission, + file_permission_key=file_permission_key, + timeout=timeout, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + @distributed_trace_async async def create_subdirectory( self, directory_name, # type: str diff --git a/sdk/storage/azure-storage-file/azure/storage/file/aio/file_client_async.py b/sdk/storage/azure-storage-file/azure/storage/file/aio/file_client_async.py index 0795ad55fe6b..2b4277d957a5 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/aio/file_client_async.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/aio/file_client_async.py @@ -14,6 +14,8 @@ from azure.core.tracing.decorator import distributed_trace from azure.core.tracing.decorator_async import distributed_trace_async +from .._parser import _datetime_to_str, _get_file_permission +from .._shared.parser import _str from .._generated.aio import AzureFileStorage from .._generated.version import VERSION @@ -31,7 +33,7 @@ if TYPE_CHECKING: from datetime import datetime - from ..models import ShareProperties, FilePermissions, ContentSettings, FileProperties + from ..models import ShareProperties, ContentSettings, FileProperties, NTFSAttributes from .._generated.models import HandleItem @@ -45,18 +47,30 @@ async def _upload_file_helper( timeout, max_connections, file_settings, + file_attributes="none", + file_creation_time="now", + file_last_write_time="now", + file_permission=None, + file_permission_key=None, **kwargs ): try: if size is None or size < 0: raise ValueError("A content size must be specified for a File.") response = await client.create_file( - size, content_settings=content_settings, metadata=metadata, timeout=timeout, **kwargs + size, content_settings=content_settings, metadata=metadata, + file_attributes=file_attributes, + file_creation_time=file_creation_time, + file_last_write_time=file_last_write_time, + file_permission=file_permission, + file_permission_key=file_permission_key, + timeout=timeout, + **kwargs ) if size == 0: return response - return await upload_data_chunks( + responses = await upload_data_chunks( service=client, uploader_class=FileChunkUploader, total_size=size, @@ -67,6 +81,7 @@ async def _upload_file_helper( timeout=timeout, **kwargs ) + return sorted(responses, key=lambda r: r.get('last_modified'))[-1] except StorageErrorException as error: process_storage_error(error) @@ -132,6 +147,11 @@ async def create_file( # type: ignore size, # type: int content_settings=None, # type: Optional[ContentSettings] metadata=None, # type: Optional[Dict[str, str]] + file_attributes="none", # type: Union[str, NTFSAttributes] + file_creation_time="now", # type: Union[str, datetime] + file_last_write_time="now", # type: Union[str, datetime] + file_permission=None, # type: Optional[str] + file_permission_key=None, # type: Optional[str] timeout=None, # type: Optional[int] **kwargs # type: Any ): @@ -149,6 +169,29 @@ async def create_file( # type: ignore :type metadata: dict(str, str) :param int timeout: The timeout parameter is expressed in seconds. + :param file_attributes: + The file system attributes for files and directories. + If not set, the default value would be "None" and the attributes will be set to "Archive". + Here is an example for when the var type is str: 'Temporary|Archive'. + file_attributes value is not case sensitive. + :type file_attributes: str or :class:`~azure.storage.file.models.NTFSAttributes` + :param file_creation_time: Creation time for the file + Default value: Now. + :type file_creation_time: str or datetime + :param file_last_write_time: Last write time for the file + Default value: Now. + :type file_last_write_time: str or datetime + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str :returns: File-updated property dict (Etag and last modified). :rtype: dict(str, Any) @@ -175,13 +218,19 @@ async def create_file( # type: ignore file_content_language=content_settings.content_language, file_content_disposition=content_settings.content_disposition, ) + file_permission = _get_file_permission(file_permission, file_permission_key, 'Inherit') try: return await self._client.file.create( # type: ignore file_content_length=size, - timeout=timeout, metadata=metadata, + file_attributes=_str(file_attributes), + file_creation_time=_datetime_to_str(file_creation_time), + file_last_write_time=_datetime_to_str(file_last_write_time), + file_permission=file_permission, + file_permission_key=file_permission_key, file_http_headers=file_http_headers, headers=headers, + timeout=timeout, cls=return_response_headers, **kwargs ) @@ -190,15 +239,19 @@ async def create_file( # type: ignore @distributed_trace_async async def upload_file( - self, - data, # type: Any + self, data, # type: Any length=None, # type: Optional[int] metadata=None, # type: Optional[Dict[str, str]] content_settings=None, # type: Optional[ContentSettings] validate_content=False, # type: bool max_connections=1, # type: Optional[int] - timeout=None, # type: Optional[int] + file_attributes="none", # type: Union[str, NTFSAttributes] + file_creation_time="now", # type: Union[str, datetime] + file_last_write_time="now", # type: Union[str, datetime] + file_permission=None, # type: Optional[str] + file_permission_key=None, # type: Optional[str] encoding="UTF-8", # type: str + timeout=None, # type: Optional[int] **kwargs # type: Any ): # type: (...) -> Dict[str, Any] @@ -226,6 +279,30 @@ async def upload_file( The timeout parameter is expressed in seconds. :param str encoding: Defaults to UTF-8. + :param file_attributes: + The file system attributes for files and directories. + If not set, the default value would be "None" and the attributes will be set to "Archive". + Here is an example for when the var type is str: 'Temporary|Archive'. + file_attributes value is not case sensitive. + :type file_attributes: str or :class:`~azure.storage.file.models.NTFSAttributes` + :param file_creation_time: Creation time for the file + Default value: Now. + :type file_creation_time: str or datetime + :param file_last_write_time: Last write time for the file + Default value: Now. + :type file_last_write_time: str or datetime + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str + :returns: File-updated property dict (Etag and last modified). :rtype: dict(str, Any) @@ -265,6 +342,11 @@ async def upload_file( timeout, max_connections, self._config, + file_attributes=file_attributes, + file_creation_time=file_creation_time, + file_last_write_time=file_last_write_time, + file_permission=file_permission, + file_permission_key=file_permission_key, **kwargs ) @@ -378,7 +460,7 @@ async def download_file( if self.require_encryption or (self.key_encryption_key is not None): raise ValueError("Encryption not supported.") if length is not None and offset is None: - raise ValueError("Offset value must not be None is length is set.") + raise ValueError("Offset value must not be None if length is set.") downloader = StorageStreamDownloader( service=self._client.file, @@ -443,7 +525,15 @@ async def get_file_properties(self, timeout=None, **kwargs): return file_props # type: ignore @distributed_trace_async - async def set_http_headers(self, content_settings, timeout=None, **kwargs): # type: ignore + async def set_http_headers(self, content_settings, # type: ContentSettings + file_attributes="preserve", # type: Union[str, NTFSAttributes] + file_creation_time="preserve", # type: Union[str, datetime] + file_last_write_time="preserve", # type: Union[str, datetime] + file_permission=None, # type: Optional[str] + file_permission_key=None, # type: Optional[str] + timeout=None, # type: Optional[int] + **kwargs # Any + ): # type: ignore # type: (ContentSettings, Optional[int], Optional[Any]) -> Dict[str, Any] """Sets HTTP headers on the file. @@ -451,6 +541,28 @@ async def set_http_headers(self, content_settings, timeout=None, **kwargs): # t ContentSettings object used to set file properties. :param int timeout: The timeout parameter is expressed in seconds. + :param file_attributes: + The file system attributes for files and directories. + If not set, indicates preservation of existing values. + Here is an example for when the var type is str: 'Temporary|Archive' + :type file_attributes: str or :class:`~azure.storage.file.models.NTFSAttributes` + :param file_creation_time: Creation time for the file + Default value: Now. + :type file_creation_time: str or datetime + :param file_last_write_time: Last write time for the file + Default value: Now. + :type file_last_write_time: str or datetime + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str :returns: File-updated property dict (Etag and last modified). :rtype: dict(str, Any) """ @@ -463,11 +575,17 @@ async def set_http_headers(self, content_settings, timeout=None, **kwargs): # t file_content_language=content_settings.content_language, file_content_disposition=content_settings.content_disposition, ) + file_permission = _get_file_permission(file_permission, file_permission_key, 'preserve') try: return await self._client.file.set_http_headers( # type: ignore - timeout=timeout, file_content_length=file_content_length, file_http_headers=file_http_headers, + file_attributes=_str(file_attributes), + file_creation_time=_datetime_to_str(file_creation_time), + file_last_write_time=_datetime_to_str(file_last_write_time), + file_permission=file_permission, + file_permission_key=file_permission_key, + timeout=timeout, cls=return_response_headers, **kwargs ) @@ -561,6 +679,57 @@ async def upload_range( # type: ignore except StorageErrorException as error: process_storage_error(error) + @distributed_trace_async + async def upload_range_from_url(self, source_url, # type: str + range_start, # type: int + range_end, # type: int + source_range_start, # type: int + **kwargs # type: Any + ): + # type: (str, int, int, int, **Any) -> Dict[str, Any] + ''' + Writes the bytes from one Azure File endpoint into the specified range of another Azure File endpoint. + + :param int range_start: + Start of byte range to use for updating a section of the file. + The range can be up to 4 MB in size. + The start_range and end_range params are inclusive. + Ex: start_range=0, end_range=511 will download first 512 bytes of file. + :param int range_end: + End of byte range to use for updating a section of the file. + The range can be up to 4 MB in size. + The start_range and end_range params are inclusive. + Ex: start_range=0, end_range=511 will download first 512 bytes of file. + :param str source_url: + A URL of up to 2 KB in length that specifies an Azure file or blob. + The value should be URL-encoded as it would appear in a request URI. + If the source is in another account, the source must either be public + or must be authenticated via a shared access signature. If the source + is public, no authentication is required. + Examples: + https://myaccount.file.core.windows.net/myshare/mydir/myfile + https://otheraccount.file.core.windows.net/myshare/mydir/myfile?sastoken + :param int source_range_start: + Start of byte range to use for updating a section of the file. + The range can be up to 4 MB in size. + The start_range and end_range params are inclusive. + Ex: start_range=0, end_range=511 will download first 512 bytes of file. + :param int timeout: + The timeout parameter is expressed in seconds. + ''' + + options = self._upload_range_from_url_options( + source_url=source_url, + range_start=range_start, + range_end=range_end, + source_range_start=source_range_start, + **kwargs + ) + try: + return await self._client.file.upload_range_from_url(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + @distributed_trace_async async def get_ranges( # type: ignore self, @@ -663,13 +832,21 @@ async def resize_file(self, size, timeout=None, **kwargs): # type: ignore """ try: return await self._client.file.set_http_headers( # type: ignore - timeout=timeout, file_content_length=size, cls=return_response_headers, **kwargs + file_content_length=size, + file_attributes="preserve", + file_creation_time="preserve", + file_last_write_time="preserve", + file_permission="preserve", + cls=return_response_headers, + timeout=timeout, + **kwargs ) except StorageErrorException as error: process_storage_error(error) @distributed_trace - def list_handles(self, timeout=None, **kwargs) -> AsyncItemPaged: + def list_handles(self, timeout=None, **kwargs): + # type: (Optional[int], Any) -> AsyncItemPaged """Lists handles for file. :param int timeout: diff --git a/sdk/storage/azure-storage-file/azure/storage/file/aio/file_service_client_async.py b/sdk/storage/azure-storage-file/azure/storage/file/aio/file_service_client_async.py index 9d94ce9f6156..7d72f2caa95f 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/aio/file_service_client_async.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/aio/file_service_client_async.py @@ -91,7 +91,7 @@ def __init__( @distributed_trace_async async def get_service_properties(self, timeout=None, **kwargs): - # type(Optional[int]) -> Dict[str, Any] + # type: (Optional[int], Any) -> Dict[str, Any] """Gets the properties of a storage account's File service, including Azure Storage Analytics. @@ -166,8 +166,8 @@ def list_shares( include_metadata=False, # type: Optional[bool] include_snapshots=False, # type: Optional[bool] timeout=None, # type: Optional[int] - **kwargs - ) -> AsyncItemPaged: + **kwargs # type: Any + ): # type: (...) -> AsyncItemPaged """Returns auto-paging iterable of dict-like ShareProperties under the specified account. The generator will lazily follow the continuation tokens returned by the service and stop when all shares have been returned. diff --git a/sdk/storage/azure-storage-file/azure/storage/file/aio/share_client_async.py b/sdk/storage/azure-storage-file/azure/storage/file/aio/share_client_async.py index 29728d584bf6..c7ad28872b0a 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/aio/share_client_async.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/aio/share_client_async.py @@ -24,7 +24,7 @@ StorageErrorException, SignedIdentifier, DeleteSnapshotsOptionType) -from .._deserialize import deserialize_share_properties +from .._deserialize import deserialize_share_properties, deserialize_permission from ..share_client import ShareClient as ShareClientBase from .directory_client_async import DirectoryClient from .file_client_async import FileClient @@ -89,6 +89,7 @@ def __init__( # type: ignore self._loop = loop def get_directory_client(self, directory_path=None): + # type: (Optional[str]) -> DirectoryClient """Get a client to interact with the specified directory. The directory need not already exist. @@ -103,6 +104,7 @@ def get_directory_client(self, directory_path=None): _location_mode=self._location_mode, loop=self._loop) def get_file_client(self, file_path): + # type: (str) -> FileClient """Get a client to interact with the specified file. The file need not already exist. @@ -455,6 +457,58 @@ def list_directories_and_files( # type: ignore return directory.list_directories_and_files( name_starts_with=name_starts_with, marker=marker, timeout=timeout, **kwargs) + @distributed_trace_async + async def create_permission_for_share(self, file_permission, # type: str + timeout=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> str + """ + Create a permission(a security descriptor) at the share level. + This 'permission' can be used for the files/directories in the share. + If a 'permission' already exists, it shall return the key of it, else + creates a new permission at the share level and return its key. + + :param str file_permission: + File permission, a Portable SDDL + :param int timeout: + The timeout parameter is expressed in seconds. + :returns a file permission key + :rtype str + """ + options = self._create_permission_for_share_options(file_permission, timeout=timeout, **kwargs) + try: + return await self._client.share.create_permission(**options) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def get_permission_for_share( # type: ignore + self, file_permission_key, # type: str + timeout=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> str + """ + Get a permission(a security descriptor) for a given key. + This 'permission' can be used for the files/directories in the share. + + :param str file_permission_key: + Key of the file permission to retrieve + :param int timeout: + The timeout parameter is expressed in seconds. + :returns a file permission(a portable SDDL) + :rtype str + """ + try: + return await self._client.share.get_permission( # type: ignore + file_permission_key=file_permission_key, + cls=deserialize_permission, + timeout=timeout, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + @distributed_trace_async async def create_directory(self, directory_name, metadata=None, timeout=None, **kwargs): # type: (str, Optional[Dict[str, Any]], Optional[int], Any) -> DirectoryClient diff --git a/sdk/storage/azure-storage-file/azure/storage/file/directory_client.py b/sdk/storage/azure-storage-file/azure/storage/file/directory_client.py index 3a66cc2a1e8f..1e98fe6153f5 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/directory_client.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/directory_client.py @@ -5,9 +5,10 @@ # -------------------------------------------------------------------------- import functools -from typing import ( # pylint: disable=unused-import +from typing import ( # pylint: disable=unused-import Optional, Union, Any, Dict, TYPE_CHECKING ) + try: from urllib.parse import urlparse, quote, unquote except ImportError: @@ -25,15 +26,18 @@ from ._shared.base_client import StorageAccountHostsMixin, parse_connection_str, parse_query from ._shared.request_handlers import add_metadata_headers from ._shared.response_handlers import return_response_headers, process_storage_error +from ._shared.parser import _str +from ._parser import _get_file_permission, _datetime_to_str from ._deserialize import deserialize_directory_properties from ._polling import CloseHandles from .file_client import FileClient -from .models import DirectoryPropertiesPaged, HandlesPaged +from .models import DirectoryPropertiesPaged, HandlesPaged, NTFSAttributes # pylint: disable=unused-import if TYPE_CHECKING: - from .models import SharePermissions, ShareProperties, DirectoryProperties, ContentSettings + from .models import ShareProperties, DirectoryProperties, ContentSettings from ._generated.models import HandleItem + class DirectoryClient(StorageAccountHostsMixin): """A client to interact with a specific directory, although it may not yet exist. @@ -118,7 +122,7 @@ def __init__( # type: ignore self._query_str, credential = self._format_query_string( sas_token, credential, share_snapshot=self.snapshot) - super(DirectoryClient, self).__init__(parsed_url, 'file', credential, **kwargs) + super(DirectoryClient, self).__init__(parsed_url, service='file', credential=credential, **kwargs) self._client = AzureFileStorage(version=VERSION, url=self.url, pipeline=self._pipeline) def _format_url(self, hostname): @@ -168,6 +172,7 @@ def from_connection_string( account_url, share=share, directory_path=directory_path, credential=credential, **kwargs) def get_file_client(self, file_name, **kwargs): + # type: (str, Any) -> FileClient """Get a client to interact with a specific file. The file need not already exist. @@ -185,6 +190,7 @@ def get_file_client(self, file_name, **kwargs): _location_mode=self._location_mode, **kwargs) def get_subdirectory_client(self, directory_name, **kwargs): + # type: (str, Any) -> DirectoryClient """Get a client to interact with a specific subdirectory. The subdirectory need not already exist. @@ -300,6 +306,7 @@ def list_directories_and_files(self, name_starts_with=None, timeout=None, **kwar @distributed_trace def list_handles(self, recursive=False, timeout=None, **kwargs): + # type: (bool, Optional[int], Any) -> ItemPaged """Lists opened handles on a directory or a file under the directory. :param bool recursive: @@ -419,13 +426,64 @@ def set_directory_metadata(self, metadata, timeout=None, **kwargs): # type: igno except StorageErrorException as error: process_storage_error(error) + @distributed_trace + def set_http_headers(self, file_attributes="none", # type: Union[str, NTFSAttributes] + file_creation_time="preserve", # type: Union[str, datetime] + file_last_write_time="preserve", # type: Union[str, datetime] + file_permission=None, # type: Optional[str] + file_permission_key=None, # type: Optional[str] + timeout=None, # type: Optional[int] + **kwargs): # type: ignore + # type: (...) -> Dict[str, Any] + """Sets HTTP headers on the directory. + + :param int timeout: + The timeout parameter is expressed in seconds. + :param file_attributes: + The file system attributes for files and directories. + If not set, indicates preservation of existing values. + Here is an example for when the var type is str: 'Temporary|Archive' + :type file_attributes: str or :class:`~azure.storage.file.models.NTFSAttributes` + :param file_creation_time: Creation time for the file + Default value: Now. + :type file_creation_time: str or datetime + :param file_last_write_time: Last write time for the file + Default value: Now. + :type file_last_write_time: str or datetime + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str + :returns: File-updated property dict (Etag and last modified). + :rtype: dict(str, Any) + """ + file_permission = _get_file_permission(file_permission, file_permission_key, 'preserve') + try: + return self._client.directory.set_properties( # type: ignore + file_attributes=_str(file_attributes), + file_creation_time=_datetime_to_str(file_creation_time), + file_last_write_time=_datetime_to_str(file_last_write_time), + file_permission=file_permission, + file_permission_key=file_permission_key, + timeout=timeout, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + @distributed_trace def create_subdirectory( self, directory_name, # type: str - metadata=None, #type: Optional[Dict[str, Any]] - timeout=None, # type: Optional[int] - **kwargs - ): + metadata=None, # type: Optional[Dict[str, Any]] + timeout=None, # type: Optional[int] + **kwargs): # type: (...) -> DirectoryClient """Creates a new subdirectory and returns a client to interact with the subdirectory. diff --git a/sdk/storage/azure-storage-file/azure/storage/file/file_client.py b/sdk/storage/azure-storage-file/azure/storage/file/file_client.py index 9ff3cf9b22e1..3c2b8dbfc837 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/file_client.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/file_client.py @@ -3,13 +3,14 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- - +# pylint: disable=too-many-lines import functools from io import BytesIO from typing import ( # pylint: disable=unused-import Optional, Union, IO, List, Dict, Any, Iterable, TYPE_CHECKING ) + try: from urllib.parse import urlparse, quote, unquote except ImportError: @@ -26,13 +27,15 @@ from ._generated.models import StorageErrorException, FileHTTPHeaders from ._shared.uploads import IterStreamer, FileChunkUploader, upload_data_chunks from ._shared.downloads import StorageStreamDownloader -from ._shared.shared_access_signature import FileSharedAccessSignature from ._shared.base_client import StorageAccountHostsMixin, parse_connection_str, parse_query from ._shared.request_handlers import add_metadata_headers, get_length from ._shared.response_handlers import return_response_headers, process_storage_error +from ._shared.parser import _str +from ._parser import _get_file_permission, _datetime_to_str from ._deserialize import deserialize_file_properties, deserialize_file_stream from ._polling import CloseHandles -from .models import HandlesPaged +from .models import HandlesPaged, NTFSAttributes # pylint: disable=unused-import +from ._shared_access_signature import FileSharedAccessSignature if TYPE_CHECKING: from datetime import datetime @@ -50,6 +53,11 @@ def _upload_file_helper( timeout, max_connections, file_settings, + file_attributes="none", + file_creation_time="now", + file_last_write_time="now", + file_permission=None, + file_permission_key=None, **kwargs): try: if size is None or size < 0: @@ -59,12 +67,17 @@ def _upload_file_helper( content_settings=content_settings, metadata=metadata, timeout=timeout, + file_attributes=file_attributes, + file_creation_time=file_creation_time, + file_last_write_time=file_last_write_time, + file_permission=file_permission, + file_permission_key=file_permission_key, **kwargs ) if size == 0: return response - return upload_data_chunks( + responses = upload_data_chunks( service=client, uploader_class=FileChunkUploader, total_size=size, @@ -73,7 +86,9 @@ def _upload_file_helper( max_connections=max_connections, validate_content=validate_content, timeout=timeout, - **kwargs) + **kwargs + ) + return sorted(responses, key=lambda r: r.get('last_modified'))[-1] except StorageErrorException as error: process_storage_error(error) @@ -165,7 +180,7 @@ def __init__( # type: ignore self.directory_path = "/".join(self.file_path[:-1]) self._query_str, credential = self._format_query_string( sas_token, credential, share_snapshot=self.snapshot) - super(FileClient, self).__init__(parsed_url, 'file', credential, **kwargs) + super(FileClient, self).__init__(parsed_url, service='file', credential=credential, **kwargs) self._client = AzureFileStorage(version=VERSION, url=self.url, pipeline=self._pipeline) def _format_url(self, hostname): @@ -300,11 +315,11 @@ def generate_shared_access_signature( else: file_path = None # type: ignore return sas.generate_file( # type: ignore - self.share_name, - file_path, - self.file_name, - permission, - expiry, + share_name=self.share_name, + directory_name=file_path, + file_name=self.file_name, + permission=permission, + expiry=expiry, start=start, policy_id=policy_id, ip=ip, @@ -316,13 +331,18 @@ def generate_shared_access_signature( content_type=content_type) @distributed_trace - def create_file( # type: ignore - self, size, # type: int - content_settings=None, # type: Optional[ContentSettings] + def create_file( # type: ignore + self, size, # type: int + content_settings=None, # type: Optional[ContentSettings] metadata=None, # type: Optional[Dict[str, str]] - timeout=None, # type: Optional[int] - **kwargs # type: Any - ): + file_attributes="none", # type: Union[str, NTFSAttributes] + file_creation_time="now", # type: Union[str, datetime] + file_last_write_time="now", # type: Union[str, datetime] + file_permission=None, # type: Optional[str] + file_permission_key=None, # type: Optional[str] + timeout=None, # type: Optional[int] + **kwargs # type: Any + ): # type: (...) -> Dict[str, Any] """Creates a new file. @@ -337,6 +357,29 @@ def create_file( # type: ignore :type metadata: dict(str, str) :param int timeout: The timeout parameter is expressed in seconds. + :param file_attributes: + The file system attributes for files and directories. + If not set, the default value would be "None" and the attributes will be set to "Archive". + Here is an example for when the var type is str: 'Temporary|Archive'. + file_attributes value is not case sensitive. + :type file_attributes: str or :class:`~azure.storage.file.models.NTFSAttributes` + :param file_creation_time: Creation time for the file + Default value: Now. + :type file_creation_time: str or datetime + :param file_last_write_time: Last write time for the file + Default value: Now. + :type file_last_write_time: str or datetime + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str :returns: File-updated property dict (Etag and last modified). :rtype: dict(str, Any) @@ -363,13 +406,19 @@ def create_file( # type: ignore file_content_language=content_settings.content_language, file_content_disposition=content_settings.content_disposition ) + file_permission = _get_file_permission(file_permission, file_permission_key, 'Inherit') try: - return self._client.file.create( # type: ignore + return self._client.file.create( # type: ignore file_content_length=size, - timeout=timeout, metadata=metadata, + file_attributes=_str(file_attributes), + file_creation_time=_datetime_to_str(file_creation_time), + file_last_write_time=_datetime_to_str(file_last_write_time), + file_permission=file_permission, + file_permission_key=file_permission_key, file_http_headers=file_http_headers, headers=headers, + timeout=timeout, cls=return_response_headers, **kwargs) except StorageErrorException as error: @@ -377,15 +426,20 @@ def create_file( # type: ignore @distributed_trace def upload_file( - self, data, # type: Any - length=None, # type: Optional[int] + self, data, # type: Any + length=None, # type: Optional[int] metadata=None, # type: Optional[Dict[str, str]] - content_settings=None, # type: Optional[ContentSettings] + content_settings=None, # type: Optional[ContentSettings] validate_content=False, # type: bool max_connections=1, # type: Optional[int] - timeout=None, # type: Optional[int] - encoding='UTF-8', # type: str - **kwargs # type: Any + file_attributes="none", # type: Union[str, NTFSAttributes] + file_creation_time="now", # type: Union[str, datetime] + file_last_write_time="now", # type: Union[str, datetime] + file_permission=None, # type: Optional[str] + file_permission_key=None, # type: Optional[str] + encoding="UTF-8", # type: str + timeout=None, # type: Optional[int] + **kwargs # type: Any ): # type: (...) -> Dict[str, Any] """Uploads a new file. @@ -412,6 +466,29 @@ def upload_file( The timeout parameter is expressed in seconds. :param str encoding: Defaults to UTF-8. + :param file_attributes: + The file system attributes for files and directories. + If not set, the default value would be "None" and the attributes will be set to "Archive". + Here is an example for when the var type is str: 'Temporary|Archive'. + file_attributes value is not case sensitive. + :type file_attributes: str or :class:`~azure.storage.file.models.NTFSAttributes` + :param file_creation_time: Creation time for the file + Default value: Now. + :type file_creation_time: str or datetime + :param file_last_write_time: Last write time for the file + Default value: Now. + :type file_last_write_time: str or datetime + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str :returns: File-updated property dict (Etag and last modified). :rtype: dict(str, Any) @@ -451,6 +528,11 @@ def upload_file( timeout, max_connections, self._config, + file_attributes=file_attributes, + file_creation_time=file_creation_time, + file_last_write_time=file_last_write_time, + file_permission=file_permission, + file_permission_key=file_permission_key, **kwargs) @distributed_trace @@ -564,7 +646,7 @@ def download_file( if self.require_encryption or (self.key_encryption_key is not None): raise ValueError("Encryption not supported.") if length is not None and offset is None: - raise ValueError("Offset value must not be None is length is set.") + raise ValueError("Offset value must not be None if length is set.") return StorageStreamDownloader( service=self._client.file, @@ -631,14 +713,44 @@ def get_file_properties(self, timeout=None, **kwargs): return file_props # type: ignore @distributed_trace - def set_http_headers(self, content_settings, timeout=None, **kwargs): # type: ignore - #type: (ContentSettings, Optional[int], Optional[Any]) -> Dict[str, Any] + def set_http_headers(self, content_settings, # type: ContentSettings + file_attributes="preserve", # type: Union[str, NTFSAttributes] + file_creation_time="preserve", # type: Union[str, datetime] + file_last_write_time="preserve", # type: Union[str, datetime] + file_permission=None, # type: Optional[str] + file_permission_key=None, # type: Optional[str] + timeout=None, # type: Optional[int] + **kwargs # Any + ): # type: ignore + # type: (ContentSettings, Optional[int], Optional[Any]) -> Dict[str, Any] """Sets HTTP headers on the file. :param ~azure.storage.file.models.ContentSettings content_settings: ContentSettings object used to set file properties. :param int timeout: The timeout parameter is expressed in seconds. + :param file_attributes: + The file system attributes for files and directories. + If not set, indicates preservation of existing values. + Here is an example for when the var type is str: 'Temporary|Archive' + :type file_attributes: str or :class:`~azure.storage.file.models.NTFSAttributes` + :param file_creation_time: Creation time for the file + Default value: Now. + :type file_creation_time: str or datetime + :param file_last_write_time: Last write time for the file + Default value: Now. + :type file_last_write_time: str or datetime + :param file_permission: If specified the permission (security + descriptor) shall be set for the directory/file. This header can be + used if Permission size is <= 8KB, else x-ms-file-permission-key + header shall be used. Default value: Inherit. If SDDL is specified as + input, it must have owner, group and dacl. Note: Only one of the + x-ms-file-permission or x-ms-file-permission-key should be specified. + :type file_permission: str + :param file_permission_key: Key of the permission to be set for the + directory/file. Note: Only one of the x-ms-file-permission or + x-ms-file-permission-key should be specified. + :type file_permission_key: str :returns: File-updated property dict (Etag and last modified). :rtype: dict(str, Any) """ @@ -651,11 +763,17 @@ def set_http_headers(self, content_settings, timeout=None, **kwargs): # type: ig file_content_language=content_settings.content_language, file_content_disposition=content_settings.content_disposition ) + file_permission = _get_file_permission(file_permission, file_permission_key, 'preserve') try: - return self._client.file.set_http_headers( # type: ignore - timeout=timeout, + return self._client.file.set_http_headers( # type: ignore file_content_length=file_content_length, file_http_headers=file_http_headers, + file_attributes=_str(file_attributes), + file_creation_time=_datetime_to_str(file_creation_time), + file_last_write_time=_datetime_to_str(file_last_write_time), + file_permission=file_permission, + file_permission_key=file_permission_key, + timeout=timeout, cls=return_response_headers, **kwargs) except StorageErrorException as error: @@ -692,12 +810,12 @@ def set_file_metadata(self, metadata=None, timeout=None, **kwargs): # type: igno process_storage_error(error) @distributed_trace - def upload_range( # type: ignore + def upload_range( # type: ignore self, data, # type: bytes - start_range, # type: int - end_range, # type: int + start_range, # type: int + end_range, # type: int validate_content=False, # type: Optional[bool] - timeout=None, # type: Optional[int] + timeout=None, # type: Optional[int] encoding='UTF-8', **kwargs ): @@ -749,6 +867,83 @@ def upload_range( # type: ignore except StorageErrorException as error: process_storage_error(error) + @staticmethod + def _upload_range_from_url_options(source_url, # type: str + range_start, # type: int + range_end, # type: int + source_range_start, # type: int + **kwargs + ): + # type: (...) -> Dict[str, Any] + + if range_start is None or range_end is None or source_range_start is None: + raise ValueError("start_range must be specified") + + # Format range + destination_range = 'bytes={0}-{1}'.format(range_start, range_end) + source_range = 'bytes={0}-{1}'.format(source_range_start, source_range_start + (range_end - range_start)) + + options = { + 'copy_source': source_url, + 'content_length': 0, + 'source_range': source_range, + 'range': destination_range, + 'timeout': kwargs.pop('timeout', None), + 'cls': return_response_headers} + options.update(kwargs) + return options + + @distributed_trace + def upload_range_from_url(self, source_url, # type: str + range_start, # type: int + range_end, # type: int + source_range_start, # type: int + **kwargs # type: Any + ): + # type: (str, int, int, int, **Any) -> Dict[str, Any] + ''' + Writes the bytes from one Azure File endpoint into the specified range of another Azure File endpoint. + + :param int range_start: + Start of byte range to use for updating a section of the file. + The range can be up to 4 MB in size. + The start_range and end_range params are inclusive. + Ex: start_range=0, end_range=511 will download first 512 bytes of file. + :param int range_end: + End of byte range to use for updating a section of the file. + The range can be up to 4 MB in size. + The start_range and end_range params are inclusive. + Ex: start_range=0, end_range=511 will download first 512 bytes of file. + :param str source_url: + A URL of up to 2 KB in length that specifies an Azure file or blob. + The value should be URL-encoded as it would appear in a request URI. + If the source is in another account, the source must either be public + or must be authenticated via a shared access signature. If the source + is public, no authentication is required. + Examples: + https://myaccount.file.core.windows.net/myshare/mydir/myfile + https://otheraccount.file.core.windows.net/myshare/mydir/myfile?sastoken + :param int source_range_start: + Start of byte range to use for updating a section of the file. + The range can be up to 4 MB in size. + The start_range and end_range params are inclusive. + Ex: start_range=0, end_range=511 will download first 512 bytes of file. + :param int timeout: + The timeout parameter is expressed in seconds. + ''' + + options = self._upload_range_from_url_options( + source_url=source_url, + range_start=range_start, + range_end=range_end, + source_range_start=source_range_start, + **kwargs + ) + try: + return self._client.file.upload_range_from_url(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + @distributed_trace def get_ranges( # type: ignore self, start_range=None, # type: Optional[int] @@ -850,9 +1045,13 @@ def resize_file(self, size, timeout=None, **kwargs): # type: ignore """ try: return self._client.file.set_http_headers( # type: ignore - timeout=timeout, file_content_length=size, + file_attributes="preserve", + file_creation_time="preserve", + file_last_write_time="preserve", + file_permission="preserve", cls=return_response_headers, + timeout=timeout, **kwargs) except StorageErrorException as error: process_storage_error(error) diff --git a/sdk/storage/azure-storage-file/azure/storage/file/file_service_client.py b/sdk/storage/azure-storage-file/azure/storage/file/file_service_client.py index 48b38754661c..5322d4fcbb78 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/file_service_client.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/file_service_client.py @@ -98,7 +98,7 @@ def __init__( raise ValueError( 'You need to provide either an account key or SAS token when creating a storage service.') self._query_str, credential = self._format_query_string(sas_token, credential) - super(FileServiceClient, self).__init__(parsed_url, 'file', credential, **kwargs) + super(FileServiceClient, self).__init__(parsed_url, service='file', credential=credential, **kwargs) self._client = AzureFileStorage(version=VERSION, url=self.url, pipeline=self._pipeline) def _format_url(self, hostname): @@ -112,7 +112,7 @@ def from_connection_string( cls, conn_str, # type: str credential=None, # type: Optional[Any] **kwargs # type: Any - ): + ): # type: (...) -> FileServiceClient """Create FileServiceClient from a Connection String. :param str conn_str: @@ -142,7 +142,7 @@ def generate_shared_access_signature( start=None, # type: Optional[Union[datetime, str]] ip=None, # type: Optional[str] protocol=None # type: Optional[str] - ): + ): # type: (...) -> str """Generates a shared access signature for the file service. Use the returned signature with the credential parameter of any FileServiceClient, @@ -195,11 +195,18 @@ def generate_shared_access_signature( sas = SharedAccessSignature(self.credential.account_name, self.credential.account_key) return sas.generate_account( - Services.FILE, resource_types, permission, expiry, start=start, ip=ip, protocol=protocol) # type: ignore + services=Services.FILE, + resource_types=resource_types, + permission=permission, + expiry=expiry, + start=start, + ip=ip, + protocol=protocol + ) # type: ignore @distributed_trace def get_service_properties(self, timeout=None, **kwargs): - # type(Optional[int]) -> Dict[str, Any] + # type: (Optional[int], Any) -> Dict[str, Any] """Gets the properties of a storage account's File service, including Azure Storage Analytics. @@ -349,7 +356,7 @@ def create_share( :caption: Create a share in the file service. """ share = self.get_share_client(share_name) - share.create_share(metadata, quota, timeout, **kwargs) + share.create_share(metadata, quota=quota, timeout=timeout, **kwargs) return share @distributed_trace diff --git a/sdk/storage/azure-storage-file/azure/storage/file/models.py b/sdk/storage/azure-storage-file/azure/storage/file/models.py index 3897a1c839a7..258c6f54b35b 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/models.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/models.py @@ -7,6 +7,7 @@ # pylint: disable=super-init-not-called, too-many-lines from azure.core.paging import PageIterator +from azure.storage.file._parser import _parse_datetime_from_str from ._shared.response_handlers import return_context_and_deserialized, process_storage_error from ._shared.models import DictMixin, get_enum_value from ._generated.models import StorageErrorException @@ -413,6 +414,13 @@ def __init__(self, **kwargs): self.etag = kwargs.get('ETag') self.server_encrypted = kwargs.get('x-ms-server-encrypted') self.metadata = kwargs.get('metadata') + self.change_time = _parse_datetime_from_str(kwargs.get('x-ms-file-change-time')) + self.creation_time = _parse_datetime_from_str(kwargs.get('x-ms-file-creation-time')) + self.last_write_time = _parse_datetime_from_str(kwargs.get('x-ms-file-last-write-time')) + self.file_attributes = kwargs.get('x-ms-file-attributes') + self.permission_key = kwargs.get('x-ms-file-permission-key') + self.file_id = kwargs.get('x-ms-file-id') + self.parent_id = kwargs.get('x-ms-file-parent-id') @classmethod def _from_generated(cls, generated): @@ -536,6 +544,13 @@ def __init__(self, **kwargs): self.server_encrypted = kwargs.get('x-ms-server-encrypted') self.copy = CopyProperties(**kwargs) self.content_settings = ContentSettings(**kwargs) + self.change_time = _parse_datetime_from_str(kwargs.get('x-ms-file-change-time')) + self.creation_time = _parse_datetime_from_str(kwargs.get('x-ms-file-creation-time')) + self.last_write_time = _parse_datetime_from_str(kwargs.get('x-ms-file-last-write-time')) + self.file_attributes = kwargs.get('x-ms-file-attributes') + self.permission_key = kwargs.get('x-ms-file-permission-key') + self.file_id = kwargs.get('x-ms-file-id') + self.parent_id = kwargs.get('x-ms-file-parent-id') @classmethod def _from_generated(cls, generated): @@ -745,3 +760,77 @@ def __str__(self): SharePermissions.LIST = SharePermissions(list=True) # type: ignore SharePermissions.READ = SharePermissions(read=True) # type: ignore SharePermissions.WRITE = SharePermissions(write=True) # type: ignore + + +class NTFSAttributes(object): + """ + Valid set of attributes to set for file or directory. + To set attribute for directory, 'Directory' should always be enabled except setting 'None' for directory. + + :ivar bool read_only: + Enable/disable 'ReadOnly' attribute for DIRECTORY or FILE + :ivar bool hidden: + Enable/disable 'Hidden' attribute for DIRECTORY or FILE + :ivar bool system: + Enable/disable 'System' attribute for DIRECTORY or FILE + :ivar bool none: + Enable/disable 'None' attribute for DIRECTORY or FILE to clear all attributes of FILE/DIRECTORY + :ivar bool directory: + Enable/disable 'Directory' attribute for DIRECTORY + :ivar bool archive: + Enable/disable 'Archive' attribute for DIRECTORY or FILE + :ivar bool temporary: + Enable/disable 'Temporary' attribute for FILE + :ivar bool offline: + Enable/disable 'Offline' attribute for DIRECTORY or FILE + :ivar bool not_content_indexed: + Enable/disable 'NotContentIndexed' attribute for DIRECTORY or FILE + :ivar bool no_scrub_data: + Enable/disable 'NoScrubData' attribute for DIRECTORY or FILE + """ + def __init__(self, read_only=False, hidden=False, system=False, none=False, directory=False, archive=False, + temporary=False, offline=False, not_content_indexed=False, no_scrub_data=False, _str=None): + if not _str: + _str = '' + self.read_only = read_only or ('ReadOnly' in _str) + self.hidden = hidden or ('Hidden' in _str) + self.system = system or ('System' in _str) + self.none = none or ('None' in _str) + self.directory = directory or ('Directory' in _str) + self.archive = archive or ('Archive' in _str) + self.temporary = temporary or ('Temporary' in _str) + self.offline = offline or ('Offline' in _str) + self.not_content_indexed = not_content_indexed or ('NotContentIndexed' in _str) + self.no_scrub_data = no_scrub_data or ('NoScrubData' in _str) + + def __or__(self, other): + return NTFSAttributes(_str=str(self) + str(other)) + + def __add__(self, other): + return NTFSAttributes(_str=str(self) + str(other)) + + def __str__(self): + concatenated_params = (('ReadOnly|' if self.read_only else '') + + ('Hidden|' if self.hidden else '') + + ('System|' if self.system else '') + + ('None|' if self.none else '') + + ('Directory|' if self.directory else '') + + ('Archive|' if self.archive else '') + + ('Temporary|' if self.temporary else '') + + ('Offline|' if self.offline else '') + + ('NotContentIndexed|' if self.not_content_indexed else '') + + ('NoScrubData|' if self.no_scrub_data else '')) + + return concatenated_params.strip('|') + + +NTFSAttributes.READ_ONLY = NTFSAttributes(read_only=True) +NTFSAttributes.HIDDEN = NTFSAttributes(hidden=True) +NTFSAttributes.SYSTEM = NTFSAttributes(system=True) +NTFSAttributes.NONE = NTFSAttributes(none=True) +NTFSAttributes.DIRECTORY = NTFSAttributes(directory=True) +NTFSAttributes.ARCHIVE = NTFSAttributes(archive=True) +NTFSAttributes.TEMPORARY = NTFSAttributes(temporary=True) +NTFSAttributes.OFFLINE = NTFSAttributes(offline=True) +NTFSAttributes.NOT_CONTENT_INDEXED = NTFSAttributes(not_content_indexed=True) +NTFSAttributes.NO_SCRUB_DATA = NTFSAttributes(no_scrub_data=True) diff --git a/sdk/storage/azure-storage-file/azure/storage/file/share_client.py b/sdk/storage/azure-storage-file/azure/storage/file/share_client.py index 4fd917d31c3e..3b5d34c2e901 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/share_client.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/share_client.py @@ -4,7 +4,7 @@ # license information. # -------------------------------------------------------------------------- -from typing import ( # pylint: disable=unused-import +from typing import ( # pylint: disable=unused-import Optional, Union, Dict, Any, TYPE_CHECKING ) try: @@ -15,7 +15,6 @@ import six from azure.core.tracing.decorator import distributed_trace -from ._shared.shared_access_signature import FileSharedAccessSignature from ._shared.base_client import StorageAccountHostsMixin, parse_connection_str, parse_query from ._shared.request_handlers import add_metadata_headers, serialize_iso from ._shared.response_handlers import ( @@ -27,13 +26,15 @@ from ._generated.models import ( StorageErrorException, SignedIdentifier, - DeleteSnapshotsOptionType) -from ._deserialize import deserialize_share_properties + DeleteSnapshotsOptionType, + SharePermission) +from ._deserialize import deserialize_share_properties, deserialize_permission_key, deserialize_permission from .directory_client import DirectoryClient from .file_client import FileClient +from ._shared_access_signature import FileSharedAccessSignature if TYPE_CHECKING: - from .models import ShareProperties, AccessPolicy + from .models import ShareProperties, AccessPolicy, SharePermissions class ShareClient(StorageAccountHostsMixin): @@ -113,7 +114,7 @@ def __init__( # type: ignore self.share_name = share or unquote(path_share) self._query_str, credential = self._format_query_string( sas_token, credential, share_snapshot=self.snapshot) - super(ShareClient, self).__init__(parsed_url, 'file', credential, **kwargs) + super(ShareClient, self).__init__(parsed_url, service='file', credential=credential, **kwargs) self._client = AzureFileStorage(version=VERSION, url=self.url, pipeline=self._pipeline) def _format_url(self, hostname): @@ -167,17 +168,18 @@ def from_connection_string( account_url, share=share, snapshot=snapshot, credential=credential, **kwargs) def generate_shared_access_signature( - self, permission=None, - expiry=None, - start=None, - policy_id=None, - ip=None, - protocol=None, - cache_control=None, - content_disposition=None, - content_encoding=None, - content_language=None, - content_type=None): + self, permission=None, # type: Optional[Union[SharePermissions, str]] + expiry=None, # type: Optional[Union[datetime, str]] + start=None, # type: Optional[Union[datetime, str]] + policy_id=None, # type: Optional[str] + ip=None, # type: Optional[str] + protocol=None, # type: Optional[str] + cache_control=None, # type: Optional[str] + content_disposition=None, # type: Optional[str] + content_encoding=None, # type: Optional[str] + content_language=None, # type: Optional[str] + content_type=None + ): # type: (...) -> str """Generates a shared access signature for the share. Use the returned signature with the credential parameter of any FileServiceClient, ShareClient, DirectoryClient, or FileClient. @@ -239,9 +241,9 @@ def generate_shared_access_signature( raise ValueError("No account SAS key available.") sas = FileSharedAccessSignature(self.credential.account_name, self.credential.account_key) return sas.generate_share( - self.share_name, - permission, - expiry, + share_name=self.share_name, + permission=permission, + expiry=expiry, start=start, policy_id=policy_id, ip=ip, @@ -254,6 +256,7 @@ def generate_shared_access_signature( ) def get_directory_client(self, directory_path=None): + # type: (Optional[str]) -> DirectoryClient """Get a client to interact with the specified directory. The directory need not already exist. @@ -268,6 +271,7 @@ def get_directory_client(self, directory_path=None): _location_mode=self._location_mode) def get_file_client(self, file_path): + # type: (str) -> FileClient """Get a client to interact with the specified file. The file need not already exist. @@ -620,6 +624,69 @@ def list_directories_and_files( # type: ignore return directory.list_directories_and_files( name_starts_with=name_starts_with, marker=marker, timeout=timeout, **kwargs) + @staticmethod + def _create_permission_for_share_options(file_permission, # type: str + **kwargs): + options = { + 'share_permission': SharePermission(permission=file_permission), + 'cls': deserialize_permission_key, + 'timeout': kwargs.pop('timeout', None), + } + options.update(kwargs) + return options + + @distributed_trace + def create_permission_for_share(self, file_permission, # type: str + timeout=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> str + """ + Create a permission(a security descriptor) at the share level. + This 'permission' can be used for the files/directories in the share. + If a 'permission' already exists, it shall return the key of it, else + creates a new permission at the share level and return its key. + + :param str file_permission: + File permission, a Portable SDDL + :param int timeout: + The timeout parameter is expressed in seconds. + :returns a file permission key + :rtype str + """ + options = self._create_permission_for_share_options(file_permission, timeout=timeout, **kwargs) + try: + return self._client.share.create_permission(**options) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def get_permission_for_share( # type: ignore + self, file_permission_key, # type: str + timeout=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> str + """ + Get a permission(a security descriptor) for a given key. + This 'permission' can be used for the files/directories in the share. + + :param str file_permission_key: + Key of the file permission to retrieve + :param int timeout: + The timeout parameter is expressed in seconds. + :returns a file permission(a portable SDDL) + :rtype str + """ + try: + return self._client.share.get_permission( # type: ignore + file_permission_key=file_permission_key, + cls=deserialize_permission, + timeout=timeout, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + @distributed_trace def create_directory(self, directory_name, metadata=None, timeout=None, **kwargs): # type: (str, Optional[Dict[str, Any]], Optional[int], Any) -> DirectoryClient diff --git a/sdk/storage/azure-storage-file/azure/storage/file/version.py b/sdk/storage/azure-storage-file/azure/storage/file/version.py index 71d7316d2679..97a5c7fffc20 100644 --- a/sdk/storage/azure-storage-file/azure/storage/file/version.py +++ b/sdk/storage/azure-storage-file/azure/storage/file/version.py @@ -4,4 +4,4 @@ # license information. # -------------------------------------------------------------------------- -VERSION = '12.0.0b2' +VERSION = '12.0.0b3' diff --git a/sdk/storage/azure-storage-file/setup.py b/sdk/storage/azure-storage-file/setup.py index 0d84ca67c99e..882166d7a459 100644 --- a/sdk/storage/azure-storage-file/setup.py +++ b/sdk/storage/azure-storage-file/setup.py @@ -79,7 +79,7 @@ 'tests.common' ]), install_requires=[ - "azure-core<2.0.0,>=1.0.0b2", + "azure-core<2.0.0,>=1.0.0b3", "msrest>=0.5.0", "cryptography>=2.1.4" ], diff --git a/sdk/storage/azure-storage-file/swagger/README.md b/sdk/storage/azure-storage-file/swagger/README.md new file mode 100644 index 000000000000..2b6d12c5c0e5 --- /dev/null +++ b/sdk/storage/azure-storage-file/swagger/README.md @@ -0,0 +1,99 @@ +# Azure File Storage for Python + +> see https://aka.ms/autorest + +### Setup +```ps +cd C:\work +git clone --recursive https://github.com/Azure/autorest.python.git +cd autorest.python +git checkout azure-core +npm install +``` + +### Generation +```ps +cd +autorest --use=C:/work/autorest.python --version=2.0.4280 +``` + +### Settings +``` yaml +input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/storage-dataplane-preview/specification/storage/data-plane/Microsoft.FileStorage/preview/2019-02-02/file.json +output-folder: ../azure/storage/file/_generated +namespace: azure.storage.file +no-namespace-folders: true +license-header: MICROSOFT_MIT_NO_VERSION +enable-xml: true +vanilla: true +clear-output-folder: true +python: true +``` + +### Remove x-ms-pageable +Currently breaking the latest version of autorest.python +``` yaml +directive: +- from: swagger-document + where: $["x-ms-paths"]..get + transform: > + if ($["x-ms-pageable"]) { delete $["x-ms-pageable"]; } +``` + +### Use strings for dates when python doesn't have enough precision +``` yaml +directive: +- from: swagger-document + where: $.definitions.AccessPolicy.properties + transform: > + $.Start.format = "str"; + $.Expiry.format = "str"; +- from: swagger-document + where: $["x-ms-paths"]..responses..headers["x-ms-file-last-write-time"] + transform: > + $.format = "str"; +- from: swagger-document + where: $["x-ms-paths"]..responses..headers["x-ms-file-change-time"] + transform: > + $.format = "str"; +- from: swagger-document + where: $["x-ms-paths"]..responses..headers["x-ms-file-creation-time"] + transform: > + $.format = "str"; +``` + +### Change new SMB file parameters to use default values +TODO: Verify these default values are correct +``` yaml +directive: +- from: swagger-document + where: $.parameters.FileCreationTime + transform: > + $.format = "str"; + $.default = "now"; +- from: swagger-document + where: $.parameters.FileLastWriteTime + transform: > + $.format = "str"; + $.default = "now"; +- from: swagger-document + where: $.parameters.FileAttributes + transform: > + $.default = "none"; +- from: swagger-document + where: $.parameters.FilePermission + transform: > + $.default = "inherit"; +``` + +### FileRangeWriteFromUrl Constant +This value is supposed to be the constant value update and these changes turn it from a parameter into a constant. +``` yaml +directive: +- from: swagger-document + where: $.parameters.FileRangeWriteFromUrl + transform: > + delete $.default; + delete $["x-ms-enum"]; + $["x-ms-parameter-location"] = "method"; +``` diff --git a/sdk/storage/azure-storage-file/swagger/file.json b/sdk/storage/azure-storage-file/swagger/file.json deleted file mode 100644 index fbe80a1d8198..000000000000 --- a/sdk/storage/azure-storage-file/swagger/file.json +++ /dev/null @@ -1,3613 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure File Storage", - "version": "2018-11-09", - "x-ms-code-generation-settings": { - "header": "MIT", - "strictSpecAdherence": false - } - }, - "x-ms-parameterized-host": { - "hostTemplate": "{url}", - "useSchemePrefix": false, - "positionInOperation": "first", - "parameters": [{ - "$ref": "#/parameters/Url" - }] - }, - "securityDefinitions": { - "File_shared_key": { - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - }, - "schemes": [ - "https" - ], - "consumes": [ - "application/xml" - ], - "produces": [ - "application/xml" - ], - "paths": { - - }, - "x-ms-paths": { - "/?restype=service&comp=properties": { - "put": { - "tags": [ - "service" - ], - "operationId": "Service_SetProperties", - "description": "Sets properties for a storage account's File service endpoint, including properties for Storage Analytics metrics and CORS (Cross-Origin Resource Sharing) rules.", - "parameters": [{ - "$ref": "#/parameters/StorageServiceProperties" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "202": { - "description": "Success (Accepted)", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "get": { - "tags": [ - "service" - ], - "operationId": "Service_GetProperties", - "description": "Gets the properties of a storage account's File service, including properties for Storage Analytics metrics and CORS (Cross-Origin Resource Sharing) rules.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - } - }, - "schema": { - "$ref": "#/definitions/StorageServiceProperties" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "service" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "properties" - ] - } - ] - }, - "/?comp=list": { - "get": { - "tags": [ - "service" - ], - "operationId": "Service_ListSharesSegment", - "description": "The List Shares Segment operation returns a list of the shares and share snapshots under the specified account.", - "parameters": [{ - "$ref": "#/parameters/Prefix" - }, - { - "$ref": "#/parameters/Marker" - }, - { - "$ref": "#/parameters/MaxResults" - }, - { - "$ref": "#/parameters/ListSharesInclude" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - } - }, - "schema": { - "$ref": "#/definitions/ListSharesResponse" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "NextMarker" - } - }, - "parameters": [{ - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "list" - ] - }] - }, - "/{shareName}?restype=share": { - "put": { - "tags": [ - "share" - ], - "operationId": "Share_Create", - "description": "Creates a new share under the specified account. If the share with the same name already exists, the operation fails.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/ShareQuota" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "201": { - "description": "Success, Share created.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value which represents the version of the share, in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "get": { - "tags": [ - "share" - ], - "operationId": "Share_GetProperties", - "description": "Returns all user-defined metadata and system properties for the specified share or share snapshot. The data returned does not include the share's list of files.", - "parameters": [{ - "$ref": "#/parameters/ShareSnapshot" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "x-ms-meta": { - "type": "string", - "description": "A set of name-value pairs that contain the user-defined metadata of the share.", - "x-ms-client-name": "Metadata", - "x-ms-header-collection-prefix": "x-ms-meta-" - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-share-quota": { - "x-ms-client-name": "Quota", - "type": "integer", - "description": "Returns the current share quota in GB." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "delete": { - "tags": [ - "share" - ], - "operationId": "Share_Delete", - "description": "Operation marks the specified share or share snapshot for deletion. The share or share snapshot and any files contained within it are later deleted during garbage collection.", - "parameters": [{ - "$ref": "#/parameters/ShareSnapshot" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/DeleteSnapshots" - } - ], - "responses": { - "202": { - "description": "Accepted", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "share" - ] - }] - }, - "/{shareName}?restype=share&comp=snapshot": { - "put": { - "tags": [ - "share" - ], - "operationId": "Share_CreateSnapshot", - "description": "Creates a read-only snapshot of a share.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "201": { - "description": "Success, Share snapshot created.", - "headers": { - "x-ms-snapshot": { - "x-ms-client-name": "Snapshot", - "type": "string", - "description": "This header is a DateTime value that uniquely identifies the share snapshot. The value of this header may be used in subsequent requests to access the share snapshot. This value is opaque." - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value which represents the version of the share snapshot, in quotes. A share snapshot cannot be modified, so the ETag of a given share snapshot never changes. However, if new metadata was supplied with the Snapshot Share request then the ETag of the share snapshot differs from that of the base share. If no metadata was specified with the request, the ETag of the share snapshot is identical to that of the base share at the time the share snapshot was taken." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the share was last modified. A share snapshot cannot be modified, so the last modified time of a given share snapshot never changes. However, if new metadata was supplied with the Snapshot Share request then the last modified time of the share snapshot differs from that of the base share. If no metadata was specified with the request, the last modified time of the share snapshot is identical to that of the base share at the time the share snapshot was taken." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "share" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "snapshot" - ] - } - ] - }, - "/{shareName}?restype=share&comp=properties": { - "put": { - "tags": [ - "share" - ], - "operationId": "Share_SetQuota", - "description": "Sets quota for the specified share.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ShareQuota" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "share" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "properties" - ] - } - ] - }, - "/{shareName}?restype=share&comp=metadata": { - "put": { - "tags": [ - "share" - ], - "operationId": "Share_SetMetadata", - "description": "Sets one or more user-defined name-value pairs for the specified share.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "share" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "metadata" - ] - } - ] - }, - "/{shareName}?restype=share&comp=acl": { - "get": { - "tags": [ - "share" - ], - "operationId": "Share_GetAccessPolicy", - "description": "Returns information about stored access policies specified on the share.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - }, - "schema": { - "$ref": "#/definitions/SignedIdentifiers" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "put": { - "tags": [ - "share" - ], - "operationId": "Share_SetAccessPolicy", - "description": "Sets a stored access policy for use with shared access signatures.", - "parameters": [{ - "$ref": "#/parameters/ShareAcl" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "share" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "acl" - ] - } - ] - }, - "/{shareName}?restype=share&comp=stats": { - "get": { - "tags": [ - "share" - ], - "operationId": "Share_GetStatistics", - "description": "Retrieves statistics related to the share.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - }, - "schema": { - "$ref": "#/definitions/ShareStats" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "share" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "stats" - ] - } - ] - }, - "/{shareName}/{directory}?restype=directory": { - "put": { - "tags": [ - "directory" - ], - "operationId": "Directory_Create", - "description": "Creates a new directory under the specified share or parent directory.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "201": { - "description": "Success, Directory created.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value which represents the version of the directory, in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "get": { - "tags": [ - "directory" - ], - "operationId": "Directory_GetProperties", - "description": "Returns all system properties for the specified directory, and can also be used to check the existence of a directory. The data returned does not include the files in the directory or any subdirectories.", - "parameters": [{ - "$ref": "#/parameters/ShareSnapshot" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-meta": { - "type": "string", - "description": "A set of name-value pairs that contain metadata for the directory.", - "x-ms-client-name": "Metadata", - "x-ms-header-collection-prefix": "x-ms-meta-" - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the Directory was last modified. Operations on files within the directory do not affect the last modified time of the directory." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the directory metadata is completely encrypted using the specified algorithm. Otherwise, the value is set to false." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "delete": { - "tags": [ - "directory" - ], - "operationId": "Directory_Delete", - "description": "Removes the specified empty directory. Note that the directory must be empty before it can be deleted.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "202": { - "description": "Success (Accepted).", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "directory" - ] - }] - }, - "/{shareName}/{directory}?restype=directory&comp=metadata": { - "put": { - "tags": [ - "directory" - ], - "operationId": "Directory_SetMetadata", - "description": "Updates user defined metadata for the specified directory.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success (OK).", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value which represents the version of the directory, in quotes." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "directory" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "metadata" - ] - } - ] - }, - "/{shareName}/{directory}?restype=directory&comp=list": { - "get": { - "tags": [ - "directory" - ], - "operationId": "Directory_ListFilesAndDirectoriesSegment", - "description": "Returns a list of files or directories under the specified share or directory. It lists the contents only for a single level of the directory hierarchy.", - "parameters": [ - { - "$ref": "#/parameters/Prefix" - }, - { - "$ref": "#/parameters/ShareSnapshot" - }, - { - "$ref": "#/parameters/Marker" - }, - { - "$ref": "#/parameters/MaxResults" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "Content-Type": { - "type": "string", - "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - }, - "schema": { - "$ref": "#/definitions/ListFilesAndDirectoriesSegmentResponse" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "NextMarker" - } - }, - "parameters": [{ - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "directory" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "list" - ] - } - ] - }, - "/{shareName}/{directory}?comp=listhandles": { - "get":{ - "tags": [ - "directory" - ], - "operationId": "Directory_ListHandles", - "description": "Lists handles for directory.", - "parameters":[ - { - "$ref": "#/parameters/Marker" - }, - { - "$ref": "#/parameters/MaxResults" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ShareSnapshot" - }, - { - "$ref": "#/parameters/Recursive" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "Content-Type": { - "type": "string", - "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - }, - "schema": { - "$ref": "#/definitions/ListHandlesResponse" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "listhandles" - ] - } - ] - }, - "/{shareName}/{directory}?comp=forceclosehandles": { - "put": { - "tags": [ - "directory" - ], - "operationId": "Directory_ForceCloseHandles", - "description": "Closes all handles open for given directory.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Marker" - }, - { - "$ref": "#/parameters/ShareSnapshot" - }, - { - "$ref": "#/parameters/HandleId" - }, - { - "$ref": "#/parameters/Recursive" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-marker": { - "x-ms-client-name": "marker", - "type": "string", - "description": "A string describing next handle to be closed. It is returned when more handles need to be closed to complete the request." - }, - "x-ms-number-of-handles-closed": { - "x-ms-client-name": "numberOfHandlesClosed", - "type": "integer", - "description": "Contains count of number of handles closed." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "forceclosehandles" - ] - } - ] - }, - "/{shareName}/{directory}/{fileName}": { - "put": { - "tags": [ - "file" - ], - "operationId": "File_Create", - "description": "Creates a new file or replaces a file. Note it only initializes the file with no content.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "x-ms-content-length", - "x-ms-client-name": "fileContentLength", - "in": "header", - "description": "Specifies the maximum size for the file, up to 1 TB.", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "$ref": "#/parameters/FileType" - }, - { - "$ref": "#/parameters/FileContentType" - }, - { - "$ref": "#/parameters/FileContentEncoding" - }, - { - "$ref": "#/parameters/FileContentLanguage" - }, - { - "$ref": "#/parameters/FileCacheControl" - }, - { - "$ref": "#/parameters/FileContentMD5" - }, - { - "$ref": "#/parameters/FileContentDisposition" - }, - { - "$ref": "#/parameters/Metadata" - } - ], - "responses": { - "201": { - "description": "Success, File created.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value which represents the version of the file, in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "get": { - "tags": [ - "file" - ], - "operationId": "File_Download", - "description": "Reads or downloads a file from the system, including its metadata and properties.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/Range" - }, - { - "$ref": "#/parameters/GetRangeContentMD5" - } - ], - "responses": { - "200": { - "description": "Succeeded to read the entire file.", - "headers": { - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the file was last modified. Any operation that modifies the file or its properties updates the last modified time." - }, - "x-ms-meta": { - "type": "string", - "description": "A set of name-value pairs associated with this file as user-defined metadata.", - "x-ms-client-name": "Metadata", - "x-ms-header-collection-prefix": "x-ms-meta-" - }, - "Content-Length": { - "type": "integer", - "format": "int64", - "description": "The number of bytes present in the response body." - }, - "Content-Type": { - "type": "string", - "description": "The content type specified for the file. The default content type is 'application/octet-stream'" - }, - "Content-Range": { - "type": "string", - "description": "Indicates the range of bytes returned if the client requested a subset of the file by setting the Range request header." - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the file has an MD5 hash and the request is to read the full file, this response header is returned so that the client can check for message content integrity. If the request is to read a specified range and the 'x-ms-range-get-content-md5' is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB. If neither of these sets of conditions is true, then no value is returned for the 'Content-MD5' header." - }, - "Content-Encoding": { - "type": "string", - "description": "Returns the value that was specified for the Content-Encoding request header." - }, - "Cache-Control": { - "type": "string", - "description": "Returned if it was previously specified for the file." - }, - "Content-Disposition": { - "type": "string", - "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." - }, - "Content-Language": { - "type": "string", - "description": "Returns the value that was specified for the Content-Language request header." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Accept-Ranges": { - "type": "string", - "description": "Indicates that the service supports requests for partial file content." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-copy-completion-time": { - "x-ms-client-name": "CopyCompletionTime", - "type": "string", - "format": "date-time-rfc1123", - "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." - }, - "x-ms-copy-status-description": { - "x-ms-client-name": "CopyStatusDescription", - "type": "string", - "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." - }, - "x-ms-copy-id": { - "x-ms-client-name": "CopyId", - "type": "string", - "description": "String identifier for the last attempted Copy File operation where this file was the destination file." - }, - "x-ms-copy-progress": { - "x-ms-client-name": "CopyProgress", - "type": "string", - "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." - }, - "x-ms-copy-source": { - "x-ms-client-name": "CopySource", - "type": "string", - "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." - }, - "x-ms-copy-status": { - "x-ms-client-name": "CopyStatus", - "description": "State of the copy operation identified by 'x-ms-copy-id'.", - "type": "string", - "enum": [ - "pending", - "success", - "aborted", - "failed" - ], - "x-ms-enum": { - "name": "CopyStatusType", - "modelAsString": false - } - }, - "x-ms-content-md5": { - "x-ms-client-name": "FileContentMD5", - "type": "string", - "format": "byte", - "description": "If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range." - }, - "x-ms-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." - } - }, - "schema": { - "type": "object", - "format": "file" - } - }, - "206": { - "description": "Succeeded to read a specified range of the file.", - "headers": { - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the file was last modified. Any operation that modifies the file or its properties updates the last modified time." - }, - "x-ms-meta": { - "type": "string", - "description": "A set of name-value pairs associated with this file as user-defined metadata.", - "x-ms-client-name": "Metadata", - "x-ms-header-collection-prefix": "x-ms-meta-" - }, - "Content-Length": { - "type": "integer", - "format": "int64", - "description": "The number of bytes present in the response body." - }, - "Content-Type": { - "type": "string", - "description": "The content type specified for the file. The default content type is 'application/octet-stream'" - }, - "Content-Range": { - "type": "string", - "description": "Indicates the range of bytes returned if the client requested a subset of the file by setting the Range request header." - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the file has an MD5 hash and the request is to read the full file, this response header is returned so that the client can check for message content integrity. If the request is to read a specified range and the 'x-ms-range-get-content-md5' is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB. If neither of these sets of conditions is true, then no value is returned for the 'Content-MD5' header." - }, - "Content-Encoding": { - "type": "string", - "description": "Returns the value that was specified for the Content-Encoding request header." - }, - "Cache-Control": { - "type": "string", - "description": "Returned if it was previously specified for the file." - }, - "Content-Disposition": { - "type": "string", - "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." - }, - "Content-Language": { - "type": "string", - "description": "Returns the value that was specified for the Content-Language request header." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Accept-Ranges": { - "type": "string", - "description": "Indicates that the service supports requests for partial file content." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-copy-completion-time": { - "x-ms-client-name": "CopyCompletionTime", - "type": "string", - "format": "date-time-rfc1123", - "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." - }, - "x-ms-copy-status-description": { - "x-ms-client-name": "CopyStatusDescription", - "type": "string", - "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." - }, - "x-ms-copy-id": { - "x-ms-client-name": "CopyId", - "type": "string", - "description": "String identifier for the last attempted Copy File operation where this file was the destination file." - }, - "x-ms-copy-progress": { - "x-ms-client-name": "CopyProgress", - "type": "string", - "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." - }, - "x-ms-copy-source": { - "x-ms-client-name": "CopySource", - "type": "string", - "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." - }, - "x-ms-copy-status": { - "x-ms-client-name": "CopyStatus", - "description": "State of the copy operation identified by 'x-ms-copy-id'.", - "type": "string", - "enum": [ - "pending", - "success", - "aborted", - "failed" - ], - "x-ms-enum": { - "name": "CopyStatusType", - "modelAsString": false - } - }, - "x-ms-content-md5": { - "x-ms-client-name": "FileContentMD5", - "type": "string", - "format": "byte", - "description": "If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range." - }, - "x-ms-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." - } - }, - "schema": { - "type": "object", - "format": "file" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "head": { - "tags": [ - "file" - ], - "operationId": "File_GetProperties", - "description": "Returns all user-defined metadata, standard HTTP properties, and system properties for the file. It does not return the content of the file.", - "parameters": [{ - "$ref": "#/parameters/ShareSnapshot" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the file was last modified. The date format follows RFC 1123. Any operation that modifies the file or its properties updates the last modified time." - }, - "x-ms-meta": { - "type": "string", - "description": "A set of name-value pairs associated with this file as user-defined metadata.", - "x-ms-client-name": "Metadata", - "x-ms-header-collection-prefix": "x-ms-meta-" - }, - "x-ms-type": { - "x-ms-client-name": "FileType", - "description": "Returns the type File. Reserved for future use.", - "type": "string", - "enum": [ - "File" - ] - }, - "Content-Length": { - "type": "integer", - "format": "int64", - "description": "The size of the file in bytes. This header returns the value of the 'x-ms-content-length' header that is stored with the file." - }, - "Content-Type": { - "type": "string", - "description": "The content type specified for the file. The default content type is 'application/octet-stream'" - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "If the Content-MD5 header has been set for the file, the Content-MD5 response header is returned so that the client can check for message content integrity." - }, - "Content-Encoding": { - "type": "string", - "description": "If the Content-Encoding request header has previously been set for the file, the Content-Encoding value is returned in this header." - }, - "Cache-Control": { - "type": "string", - "description": "If the Cache-Control request header has previously been set for the file, the Cache-Control value is returned in this header." - }, - "Content-Disposition": { - "type": "string", - "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." - }, - "Content-Language": { - "type": "string", - "description": "Returns the value that was specified for the Content-Language request header." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-copy-completion-time": { - "x-ms-client-name": "CopyCompletionTime", - "type": "string", - "format": "date-time-rfc1123", - "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." - }, - "x-ms-copy-status-description": { - "x-ms-client-name": "CopyStatusDescription", - "type": "string", - "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." - }, - "x-ms-copy-id": { - "x-ms-client-name": "CopyId", - "type": "string", - "description": "String identifier for the last attempted Copy File operation where this file was the destination file." - }, - "x-ms-copy-progress": { - "x-ms-client-name": "CopyProgress", - "type": "string", - "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." - }, - "x-ms-copy-source": { - "x-ms-client-name": "CopySource", - "type": "string", - "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." - }, - "x-ms-copy-status": { - "x-ms-client-name": "CopyStatus", - "description": "State of the copy operation identified by 'x-ms-copy-id'.", - "type": "string", - "enum": [ - "pending", - "success", - "aborted", - "failed" - ], - "x-ms-enum": { - "name": "CopyStatusType", - "modelAsString": false - } - }, - "x-ms-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "delete": { - "tags": [ - "file" - ], - "operationId": "File_Delete", - "description": "removes the file from the storage account.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "202": { - "description": "Success (Accepted).", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - - ] - }, - "/{shareName}/{directory}/{fileName}?comp=properties": { - "put": { - "tags": [ - "file" - ], - "operationId": "File_SetHTTPHeaders", - "description": "Sets HTTP headers on the file.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "x-ms-content-length", - "x-ms-client-name": "fileContentLength", - "in": "header", - "description": "Resizes a file to the specified size. If the specified byte value is less than the current size of the file, then all ranges above the specified byte value are cleared.", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "$ref": "#/parameters/FileContentType" - }, - { - "$ref": "#/parameters/FileContentEncoding" - }, - { - "$ref": "#/parameters/FileContentLanguage" - }, - { - "$ref": "#/parameters/FileCacheControl" - }, - { - "$ref": "#/parameters/FileContentMD5" - }, - { - "$ref": "#/parameters/FileContentDisposition" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value which represents the version of the file, in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the directory was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "properties" - ] - }] - }, - "/{shareName}/{directory}/{fileName}?comp=metadata": { - "put": { - "tags": [ - "file" - ], - "operationId": "File_SetMetadata", - "description": "Updates user-defined metadata for the specified file.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success (OK).", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value which represents the version of the file, in quotes." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "metadata" - ] - }] - }, - "/{shareName}/{directory}/{fileName}?comp=range": { - "put": { - "tags": [ - "file" - ], - "operationId": "File_UploadRange", - "description": "Upload a range of bytes to a file.", - "consumes": [ - "application/octet-stream" - ], - "parameters": [{ - "$ref": "#/parameters/OptionalBody" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "name": "x-ms-range", - "x-ms-client-name": "range", - "in": "header", - "description": "Specifies the range of bytes to be written. Both the start and end of the range must be specified. For an update operation, the range can be up to 4 MB in size. For a clear operation, the range can be up to the value of the file's full size. The File service accepts only a single byte range for the Range and 'x-ms-range' headers, and the byte range must be specified in the following format: bytes=startByte-endByte.", - "required": true, - "type": "string" - }, - { - "name": "x-ms-write", - "x-ms-client-name": "FileRangeWrite", - "in": "header", - "description": "Specify one of the following options: - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update. - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and set the Range header to a value that indicates the range to clear, up to maximum file size.", - "required": true, - "type": "string", - "enum": [ - "update", - "clear" - ], - "default": "update", - "x-ms-enum": { - "name": "FileRangeWriteType", - "modelAsString": false - } - }, - { - "$ref": "#/parameters/ContentLength" - }, - { - "$ref": "#/parameters/ContentMD5" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "201": { - "description": "Success (Created).", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value which represents the version of the file, in quotes." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date and time the directory was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." - }, - "Content-MD5": { - "type": "string", - "format": "byte", - "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the File service; it is not necessarily the same value as may have been specified in the request headers." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-request-server-encrypted": { - "x-ms-client-name": "IsServerEncrypted", - "type": "boolean", - "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "range" - ] - }] - }, - "/{shareName}/{directory}/{fileName}?comp=rangelist": { - "get": { - "tags": [ - "file" - ], - "operationId": "File_GetRangeList", - "description": "Returns the list of valid ranges for a file.", - "parameters": [{ - "$ref": "#/parameters/ShareSnapshot" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "x-ms-range", - "x-ms-client-name": "range", - "in": "header", - "description": "Specifies the range of bytes over which to list ranges, inclusively.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "The date/time that the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the file's last modified time." - }, - "ETag": { - "type": "string", - "format": "etag", - "description": "The ETag contains a value which represents the version of the file, in quotes." - }, - "x-ms-content-length": { - "x-ms-client-name": "FileContentLength", - "type": "integer", - "format": "int64", - "description": "The size of the file in bytes." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - }, - "schema": { - "$ref": "#/definitions/RangeList" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "rangelist" - ] - }] - }, - "/{shareName}/{directory}/{fileName}?comp=copy": { - "put": { - "tags": [ - "file" - ], - "operationId": "File_StartCopy", - "description": "Copies a blob or file to a destination file within the storage account.", - "parameters": [{ - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/CopySource" - } - ], - "responses": { - "202": { - "description": "The copy file has been accepted with the specified copy status.", - "headers": { - "ETag": { - "type": "string", - "format": "etag", - "description": "If the copy is completed, contains the ETag of the destination file. If the copy is not complete, contains the ETag of the empty file created at the start of the copy." - }, - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Returns the date/time that the copy operation to the destination file completed." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-copy-id": { - "x-ms-client-name": "CopyId", - "type": "string", - "description": "String identifier for this copy operation. Use with Get File or Get File Properties to check the status of this copy operation, or pass to Abort Copy File to abort a pending copy." - }, - "x-ms-copy-status": { - "x-ms-client-name": "CopyStatus", - "description": "State of the copy operation identified by x-ms-copy-id.", - "type": "string", - "enum": [ - "pending", - "success", - "aborted", - "failed" - ], - "x-ms-enum": { - "name": "CopyStatusType", - "modelAsString": false - } - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - - ] - }, - "/{shareName}/{directory}/{fileName}?comp=copy©id={CopyId}": { - "put": { - "tags": [ - "file" - ], - "operationId": "File_AbortCopy", - "description": "Aborts a pending Copy File operation, and leaves a destination file with zero length and full metadata.", - "parameters": [{ - "$ref": "#/parameters/CopyId" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/CopyActionAbort" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "204": { - "description": "The delete request was accepted and the file will be deleted.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "copy" - ] - }] - }, - "/{shareName}/{directory}/{fileName}?comp=listhandles": { - "get":{ - "tags": [ - "file" - ], - "operationId": "File_ListHandles", - "description": "Lists handles for file", - "parameters":[ - { - "$ref": "#/parameters/Marker" - }, - { - "$ref": "#/parameters/MaxResults" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ShareSnapshot" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "Content-Type": { - "type": "string", - "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - } - }, - "schema": { - "$ref": "#/definitions/ListHandlesResponse" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "listhandles" - ] - } - ] - }, - "/{shareName}/{directory}/{fileName}?comp=forceclosehandles": { - "put": { - "tags": [ - "file" - ], - "operationId": "File_ForceCloseHandles", - "description": "Closes all handles open for given file", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Marker" - }, - { - "$ref": "#/parameters/ShareSnapshot" - }, - { - "$ref": "#/parameters/HandleId" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the File service used to execute the request." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." - }, - "x-ms-marker": { - "x-ms-client-name": "marker", - "type": "string", - "description": "A string describing next handle to be closed. It is returned when more handles need to be closed to complete the request." - }, - "x-ms-number-of-handles-closed": { - "x-ms-client-name": "numberOfHandlesClosed", - "type": "integer", - "description": "Contains count of number of handles closed." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [{ - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "forceclosehandles" - ] - } - ] - } - }, - "definitions": { - "AccessPolicy": { - "description": "An Access policy.", - "type": "object", - "properties": { - "Start": { - "description": "The date-time the policy is active.", - "type": "string", - "format": "date-time" - }, - "Expiry": { - "description": "The date-time the policy expires.", - "type": "string", - "format": "date-time" - }, - "Permission": { - "description": "The permissions for the ACL policy.", - "type": "string" - } - } - }, - "CorsRule": { - "description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain.", - "type": "object", - "required": [ - "AllowedOrigins", - "AllowedMethods", - "AllowedHeaders", - "ExposedHeaders", - "MaxAgeInSeconds" - ], - "properties": { - "AllowedOrigins": { - "description": "The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.", - "type": "string" - }, - "AllowedMethods": { - "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)", - "type": "string" - }, - "AllowedHeaders": { - "description": "The request headers that the origin domain may specify on the CORS request.", - "type": "string" - }, - "ExposedHeaders": { - "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer.", - "type": "string" - }, - "MaxAgeInSeconds": { - "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", - "type": "integer", - "minimum": 0 - } - } - }, - "ErrorCode": { - "description": "Error codes returned by the service", - "type": "string", - "enum": [ - "AccountAlreadyExists", - "AccountBeingCreated", - "AccountIsDisabled", - "AuthenticationFailed", - "AuthorizationFailure", - "ConditionHeadersNotSupported", - "ConditionNotMet", - "EmptyMetadataKey", - "InsufficientAccountPermissions", - "InternalError", - "InvalidAuthenticationInfo", - "InvalidHeaderValue", - "InvalidHttpVerb", - "InvalidInput", - "InvalidMd5", - "InvalidMetadata", - "InvalidQueryParameterValue", - "InvalidRange", - "InvalidResourceName", - "InvalidUri", - "InvalidXmlDocument", - "InvalidXmlNodeValue", - "Md5Mismatch", - "MetadataTooLarge", - "MissingContentLengthHeader", - "MissingRequiredQueryParameter", - "MissingRequiredHeader", - "MissingRequiredXmlNode", - "MultipleConditionHeadersNotSupported", - "OperationTimedOut", - "OutOfRangeInput", - "OutOfRangeQueryParameterValue", - "RequestBodyTooLarge", - "ResourceTypeMismatch", - "RequestUrlFailedToParse", - "ResourceAlreadyExists", - "ResourceNotFound", - "ServerBusy", - "UnsupportedHeader", - "UnsupportedXmlNode", - "UnsupportedQueryParameter", - "UnsupportedHttpVerb", - "CannotDeleteFileOrDirectory", - "ClientCacheFlushDelay", - "DeletePending", - "DirectoryNotEmpty", - "FileLockConflict", - "InvalidFileOrDirectoryPathName", - "ParentNotFound", - "ReadOnlyAttribute", - "ShareAlreadyExists", - "ShareBeingDeleted", - "ShareDisabled", - "ShareNotFound", - "SharingViolation", - "ShareSnapshotInProgress", - "ShareSnapshotCountExceeded", - "ShareSnapshotOperationNotSupported", - "ShareHasSnapshots", - "ContainerQuotaDowngradeNotAllowed" - ], - "x-ms-enum": { - "name": "StorageErrorCode", - "modelAsString": true - } - }, - "FilesAndDirectoriesListSegment": { - "description": "Abstract for entries that can be listed from Directory.", - "type": "object", - "required": [ - "DirectoryItems", - "FileItems" - ], - "properties": { - "DirectoryItems": { - "type": "array", - "items": { - "$ref": "#/definitions/DirectoryItem" - } - }, - "FileItems": { - "type": "array", - "items": { - "$ref": "#/definitions/FileItem" - } - } - }, - "xml": { - "name": "Entries" - } - }, - "DirectoryItem": { - "xml": { - "name": "Directory" - }, - "description": "A listed directory item.", - "type": "object", - "required": [ - "Name" - ], - "properties": { - "Name": { - "type": "string" - } - } - }, - "FileItem": { - "xml": { - "name": "File" - }, - "description": "A listed file item.", - "type": "object", - "required": [ - "Name", - "Properties" - ], - "properties": { - "Name": { - "type": "string" - }, - "Properties": { - "$ref": "#/definitions/FileProperty" - } - } - }, - "FileProperty": { - "description": "File properties.", - "type": "object", - "required": [ - "Content-Length" - ], - "properties": { - "Content-Length": { - "description": "Content length of the file. This value may not be up-to-date since an SMB client may have modified the file locally. The value of Content-Length may not reflect that fact until the handle is closed or the op-lock is broken. To retrieve current property values, call Get File Properties.", - "type": "integer", - "format": "int64" - } - } - }, - "HandleItem" : { - "xml": { - "name": "Handle" - }, - "description": "A listed Azure Storage handle item.", - "type": "object", - "required": [ - "HandleId", - "Path", - "FileId", - "SessionId", - "ClientIp", - "OpenTime" - ], - "properties": { - "HandleId": { - "type": "string", - "description": "XSMB service handle ID" - }, - "Path": { - "type": "string", - "description": "File or directory name including full path starting from share root" - }, - "FileId": { - "type": "string", - "description": "FileId uniquely identifies the file or directory." - }, - "ParentId": { - "type": "string", - "description": "ParentId uniquely identifies the parent directory of the object." - }, - "SessionId": { - "type": "string", - "description": "SMB session ID in context of which the file handle was opened" - }, - "ClientIp": { - "type": "string", - "description": "Client IP that opened the handle" - }, - "OpenTime": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Time when the session that previously opened the handle has last been reconnected. (UTC)" - }, - "LastReconnectTime": { - "type": "string", - "format": "date-time-rfc1123", - "description": "Time handle was last connected to (UTC)" - } - } - }, - "ListFilesAndDirectoriesSegmentResponse": { - "xml": { - "name": "EnumerationResults" - }, - "description": "An enumeration of directories and files.", - "type": "object", - "required": [ - "ServiceEndpoint", - "ShareName", - "DirectoryPath", - "Prefix", - "NextMarker", - "Segment" - ], - "properties": { - "ServiceEndpoint": { - "type": "string", - "xml": { - "attribute": true - } - }, - "ShareName": { - "type": "string", - "xml": { - "attribute": true - } - }, - "ShareSnapshot": { - "type": "string", - "xml": { - "attribute": true - } - }, - "DirectoryPath": { - "type": "string", - "xml": { - "attribute": true - } - }, - "Prefix": { - "type": "string" - }, - "Marker": { - "type": "string" - }, - "MaxResults": { - "type": "integer" - }, - "Segment": { - "$ref": "#/definitions/FilesAndDirectoriesListSegment" - }, - "NextMarker": { - "type": "string" - } - } - }, - "ListHandlesResponse": { - "xml": { - "name": "EnumerationResults" - }, - "description": "An enumeration of handles.", - "type": "object", - "required": [ - "NextMarker" - ], - "properties": { - "HandleList": { - "type": "array", - "items": { - "$ref": "#/definitions/HandleItem" - }, - "xml": { - "name": "Entries", - "wrapped": true - } - }, - "NextMarker": { - "type": "string" - } - } - }, - "ListSharesResponse": { - "xml": { - "name": "EnumerationResults" - }, - "description": "An enumeration of shares.", - "type": "object", - "required": [ - "ServiceEndpoint", - "NextMarker" - ], - "properties": { - "ServiceEndpoint": { - "type": "string", - "xml": { - "attribute": true - } - }, - "Prefix": { - "type": "string" - }, - "Marker": { - "type": "string" - }, - "MaxResults": { - "type": "integer" - }, - "ShareItems": { - "type": "array", - "items": { - "$ref": "#/definitions/ShareItem" - }, - "xml": { - "name": "Shares", - "wrapped": true - } - }, - "NextMarker": { - "type": "string" - } - } - }, - "Metadata": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "Metrics": { - "description": "Storage Analytics metrics for file service.", - "required": [ - "Version", - "Enabled" - ], - "properties": { - "Version": { - "description": "The version of Storage Analytics to configure.", - "type": "string" - }, - "Enabled": { - "description": "Indicates whether metrics are enabled for the File service.", - "type": "boolean" - }, - "IncludeAPIs": { - "description": "Indicates whether metrics should generate summary statistics for called API operations.", - "type": "boolean" - }, - "RetentionPolicy": { - "$ref": "#/definitions/RetentionPolicy" - } - } - }, - "Range": { - "description": "An Azure Storage file range.", - "type": "object", - "required": [ - "Start", - "End" - ], - "properties": { - "Start": { - "type": "integer", - "format": "int64", - "description": "Start of the range." - }, - "End": { - "type": "integer", - "format": "int64", - "description": "End of the range." - } - }, - "xml": { - "name": "Range" - } - }, - "RangeList": { - "description": "A list of non-overlapping valid ranges, sorted by increasing address range.", - "type": "array", - "items": { - "$ref": "#/definitions/Range" - }, - "xml": { - "wrapped": true, - "name": "Ranges" - } - }, - "StorageError": { - "type": "object", - "properties": { - "Message": { - "type": "string" - } - } - }, - "RetentionPolicy": { - "description": "The retention policy.", - "type": "object", - "required": [ - "Enabled" - ], - "properties": { - "Enabled": { - "description": "Indicates whether a retention policy is enabled for the File service. If false, metrics data is retained, and the user is responsible for deleting it.", - "type": "boolean" - }, - "Days": { - "description": "Indicates the number of days that metrics data should be retained. All data older than this value will be deleted. Metrics data is deleted on a best-effort basis after the retention period expires.", - "type": "integer", - "minimum": 1, - "maximum": 365 - } - } - }, - "ShareItem": { - "xml": { - "name": "Share" - }, - "description": "A listed Azure Storage share item.", - "type": "object", - "required": [ - "Name", - "Properties" - ], - "properties": { - "Name": { - "type": "string" - }, - "Snapshot": { - "type": "string" - }, - "Properties": { - "$ref": "#/definitions/ShareProperties" - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - } - } - }, - "ShareProperties": { - "description": "Properties of a share.", - "type": "object", - "required": [ - "Last-Modified", - "Etag", - "Quota" - ], - "properties": { - "Last-Modified": { - "type": "string", - "format": "date-time-rfc1123" - }, - "Etag": { - "type": "string", - "format": "etag" - }, - "Quota": { - "type": "integer" - } - } - }, - "ShareStats": { - "description": "Stats for the share.", - "type": "object", - "required": [ - "ShareUsageBytes" - ], - "properties": { - "ShareUsageBytes": { - "description": "The approximate size of the data stored in bytes. Note that this value may not include all recently created or recently resized files.", - "type": "integer" - } - } - }, - "SignedIdentifier": { - "description": "Signed identifier.", - "type": "object", - "required": [ - "Id" - ], - "properties": { - "Id": { - "type": "string", - "description": "A unique id." - }, - "AccessPolicy": { - "description": "The access policy.", - "$ref": "#/definitions/AccessPolicy" - } - } - }, - "SignedIdentifiers": { - "description": "A collection of signed identifiers.", - "type": "array", - "items": { - "$ref": "#/definitions/SignedIdentifier", - "xml": { - "name": "SignedIdentifier" - } - }, - "xml": { - "wrapped": true, - "name": "SignedIdentifiers" - } - }, - "StorageServiceProperties": { - "description": "Storage service properties.", - "type": "object", - "properties": { - "HourMetrics": { - "description": "A summary of request statistics grouped by API in hourly aggregates for files.", - "$ref": "#/definitions/Metrics" - }, - "MinuteMetrics": { - "description": "A summary of request statistics grouped by API in minute aggregates for files.", - "$ref": "#/definitions/Metrics" - }, - "Cors": { - "description": "The set of CORS rules.", - "type": "array", - "items": { - "$ref": "#/definitions/CorsRule" - }, - "xml": { - "wrapped": true - } - } - } - } - }, - "parameters": { - "ApiVersionParameter": { - "name": "x-ms-version", - "x-ms-client-name": "version", - "in": "header", - "description": "Specifies the version of the operation to use for this request.", - "required": true, - "type": "string" - }, - "ContentLength": { - "name": "Content-Length", - "x-ms-client-name": "contentLength", - "in": "header", - "description": "Specifies the number of bytes being transmitted in the request body. When the x-ms-write header is set to clear, the value of this header must be set to zero.", - "required": true, - "type": "integer", - "format": "int64", - "x-ms-parameter-location": "method" - }, - "ContentMD5": { - "name": "Content-MD5", - "x-ms-client-name": "contentMD5", - "in": "header", - "description": "An MD5 hash of the content. This hash is used to verify the integrity of the data during transport. When the Content-MD5 header is specified, the File service compares the hash of the content that has arrived with the header value that was sent. If the two hashes do not match, the operation will fail with error code 400 (Bad Request).", - "required": false, - "type": "string", - "format": "byte", - "x-ms-parameter-location": "method" - }, - "CopyActionAbort": { - "name": "x-ms-copy-action", - "x-ms-client-name": "copyActionAbortConstant", - "in": "header", - "required": true, - "type": "string", - "enum": [ - "abort" - ], - "x-ms-parameter-location": "method" - }, - "CopyId": { - "name": "copyid", - "x-ms-client-name": "copyId", - "in": "query", - "required": true, - "type": "string", - "x-ms-parameter-location": "method", - "description": "The copy identifier provided in the x-ms-copy-id header of the original Copy File operation." - }, - "CopySource": { - "name": "x-ms-copy-source", - "x-ms-client-name": "copySource", - "in": "header", - "required": true, - "type": "string", - "x-ms-parameter-location": "method", - "description": "Specifies the URL of the source file or blob, up to 2 KB in length. To copy a file to another file within the same storage account, you may use Shared Key to authenticate the source file. If you are copying a file from another storage account, or if you are copying a blob from the same storage account or another storage account, then you must authenticate the source file or blob using a shared access signature. If the source is a public blob, no authentication is required to perform the copy operation. A file in a share snapshot can also be specified as a copy source." - }, - "DeleteSnapshots": { - "name": "x-ms-delete-snapshots", - "x-ms-client-name": "deleteSnapshots", - "description": "Specifies the option include to delete the base share and all of its snapshots.", - "in": "header", - "required": false, - "type": "string", - "enum": [ - "include" - ], - "x-ms-enum": { - "name": "DeleteSnapshotsOptionType", - "modelAsString": false - }, - "x-ms-parameter-location": "method" - }, - "FileCacheControl": { - "name": "x-ms-cache-control", - "x-ms-client-name": "fileCacheControl", - "description": "Sets the file's cache control. The File service stores this value but does not use or modify it.", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "file-HTTP-headers" - } - }, - "FileContentDisposition": { - "name": "x-ms-content-disposition", - "x-ms-client-name": "fileContentDisposition", - "description": "Sets the file's Content-Disposition header.", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "file-HTTP-headers" - } - }, - "FileContentEncoding": { - "name": "x-ms-content-encoding", - "x-ms-client-name": "fileContentEncoding", - "in": "header", - "description": "Specifies which content encodings have been applied to the file.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "file-HTTP-headers" - } - }, - "FileContentLanguage": { - "name": "x-ms-content-language", - "x-ms-client-name": "fileContentLanguage", - "in": "header", - "description": "Specifies the natural languages used by this resource.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "file-HTTP-headers" - } - }, - "FileContentMD5": { - "name": "x-ms-content-md5", - "x-ms-client-name": "fileContentMD5", - "in": "header", - "description": "Sets the file's MD5 hash.", - "required": false, - "type": "string", - "format": "byte", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "file-HTTP-headers" - } - }, - "FileContentType": { - "name": "x-ms-content-type", - "x-ms-client-name": "fileContentType", - "in": "header", - "description": "Sets the MIME content type of the file. The default type is 'application/octet-stream'.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "file-HTTP-headers" - } - }, - "FileType": { - "name": "x-ms-type", - "x-ms-client-name": "fileTypeConstant", - "in": "header", - "required": true, - "description": "Dummy constant parameter, file type can only be file.", - "type": "string", - "enum": [ - "file" - ], - "x-ms-parameter-location": "method" - }, - "GetRangeContentMD5": { - "name": "x-ms-range-get-content-md5", - "x-ms-client-name": "rangeGetContentMD5", - "in": "header", - "required": false, - "type": "boolean", - "x-ms-parameter-location": "method", - "description": "When this header is set to true and specified together with the Range header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size." - }, - "HandleId": { - "name": "x-ms-handle-id", - "x-ms-client-name": "handleId", - "in": "header", - "description": "Specifies handle ID opened on the file or directory to be closed. Asterix (‘*’) is a wildcard that specifies all handles.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "ListSharesInclude": { - "name": "include", - "in": "query", - "description": "Include this parameter to specify one or more datasets to include in the response.", - "required": false, - "type": "array", - "collectionFormat": "csv", - "items": { - "type": "string", - "enum": [ - "snapshots", - "metadata" - ], - "x-ms-enum": { - "name": "ListSharesIncludeType", - "modelAsString": false - } - }, - "x-ms-parameter-location": "method" - }, - "Marker": { - "name": "marker", - "in": "query", - "description": "A string value that identifies the portion of the list to be returned with the next list operation. The operation returns a marker value within the response body if the list returned was not complete. The marker value may then be used in a subsequent call to request the next set of list items. The marker value is opaque to the client.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "MaxResults": { - "name": "maxresults", - "in": "query", - "description": "Specifies the maximum number of entries to return. If the request does not specify maxresults, or specifies a value greater than 5,000, the server will return up to 5,000 items.", - "required": false, - "type": "integer", - "minimum": 1, - "x-ms-parameter-location": "method" - }, - "Metadata": { - "name": "x-ms-meta", - "x-ms-client-name": "metadata", - "in": "header", - "description": "A name-value pair to associate with a file storage object.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "x-ms-header-collection-prefix": "x-ms-meta-" - }, - "OptionalBody": { - "name": "optionalbody", - "in": "body", - "description": "Initial data.", - "required": false, - "schema": { - "type": "object", - "format": "file" - }, - "x-ms-parameter-location": "method" - }, - "Prefix": { - "name": "prefix", - "in": "query", - "description": "Filters the results to return only entries whose name begins with the specified prefix.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "Range": { - "name": "x-ms-range", - "x-ms-client-name": "range", - "in": "header", - "description": "Return file data only from the specified byte range.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "Recursive": { - "name": "x-ms-recursive", - "x-ms-client-name": "recursive", - "in": "header", - "description": "Specifies operation should apply to the directory specified in the URI, its files, its subdirectories and their files.", - "required": false, - "type": "boolean", - "x-ms-parameter-location": "method" - }, - "Url": { - "name": "url", - "in": "path", - "description": "The URL of the service account, share, directory or file that is the target of the desired operation.", - "required": true, - "type": "string", - "x-ms-skip-url-encoding": true - }, - "ShareAcl": { - "name": "shareAcl", - "in": "body", - "description": "The ACL for the share.", - "schema": { - "$ref": "#/definitions/SignedIdentifiers" - }, - "x-ms-parameter-location": "method" - }, - "ShareQuota": { - "name": "x-ms-share-quota", - "x-ms-client-name": "quota", - "in": "header", - "description": "Specifies the maximum size of the share, in gigabytes.", - "required": false, - "type": "integer", - "minimum": 1, - "x-ms-parameter-location": "method" - }, - "ShareSnapshot": { - "name": "sharesnapshot", - "in": "query", - "description": "The snapshot parameter is an opaque DateTime value that, when present, specifies the share snapshot to query.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "StorageServiceProperties": { - "name": "StorageServiceProperties", - "in": "body", - "description": "The StorageService properties.", - "required": true, - "schema": { - "$ref": "#/definitions/StorageServiceProperties" - }, - "x-ms-parameter-location": "method" - }, - "Timeout": { - "name": "timeout", - "in": "query", - "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for File Service Operations.", - "required": false, - "type": "integer", - "minimum": 0, - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_directories.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_directories.yaml index dd3a4a311b65..4b23f70512a7 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_directories.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_directories.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2014dad4-b636-11e9-aeb9-2816a845e8c6 + - c01ce8f4-d055-11e9-8167-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:31:59 GMT + - Fri, 06 Sep 2019 03:23:52 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare32270fb2/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:31:58 GMT + - Fri, 06 Sep 2019 03:23:52 GMT ETag: - - '"0x8D7185A03D3BF22"' + - '"0x8D73279A46B9DEE"' Last-Modified: - - Sat, 03 Aug 2019 21:31:58 GMT + - Fri, 06 Sep 2019 03:23:52 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c01ce8f4-d055-11e9-8167-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:23:52.7162350Z' + x-ms-file-creation-time: + - '2019-09-06T03:23:52.7162350Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:23:52.7162350Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 54958223-a01a-00cb-6542-4af630000000 + - a48cbf44-901a-0047-7962-6438af000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_directories_fail_on_exist.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_directories_fail_on_exist.yaml index 8589797a0285..3dbf7c0c63f2 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_directories_fail_on_exist.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_directories_fail_on_exist.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 20c9aa00-b636-11e9-b629-2816a845e8c6 + - c06a9d98-d055-11e9-b738-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:00 GMT + - Fri, 06 Sep 2019 03:23:53 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare38121575/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:31:59 GMT + - Fri, 06 Sep 2019 03:23:54 GMT ETag: - - '"0x8D7185A04846AA5"' + - '"0x8D73279A56CAA95"' Last-Modified: - - Sat, 03 Aug 2019 21:31:59 GMT + - Fri, 06 Sep 2019 03:23:54 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c06a9d98-d055-11e9-b738-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:23:54.4008341Z' + x-ms-file-creation-time: + - '2019-09-06T03:23:54.4008341Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:23:54.4008341Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 7639a43b-401a-00e8-7e42-4a99fb000000 + - efc16608-f01a-0023-1d62-64c937000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,36 +81,46 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 212011fe-b636-11e9-9c8d-2816a845e8c6 + - c145a752-d055-11e9-b42e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:01 GMT + - Fri, 06 Sep 2019 03:23:54 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare38121575/dir1?restype=directory response: body: string: "\uFEFFResourceAlreadyExistsThe - specified resource already exists.\nRequestId:7639a43d-401a-00e8-7f42-4a99fb000000\nTime:2019-08-03T21:32:00.0773915Z" + specified resource already exists.\nRequestId:efc1661f-f01a-0023-3262-64c937000000\nTime:2019-09-06T03:23:55.2365840Z" headers: Content-Length: - '228' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:31:59 GMT + - Fri, 06 Sep 2019 03:23:55 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c145a752-d055-11e9-b42e-001a7dda7113 x-ms-error-code: - ResourceAlreadyExists x-ms-request-id: - - 7639a43d-401a-00e8-7f42-4a99fb000000 + - efc1661f-f01a-0023-3262-64c937000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 409 message: The specified resource already exists. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_directories_with_metadata.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_directories_with_metadata.yaml index 2f8b254c08a1..61daa7a80bfa 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_directories_with_metadata.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_directories_with_metadata.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 21c47b5e-b636-11e9-a3fa-2816a845e8c6 + - c1f346ca-d055-11e9-aaaf-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:02 GMT + - Fri, 06 Sep 2019 03:23:55 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-meta-hello: - world x-ms-meta-number: - '42' x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare3942156d/dir1?restype=directory response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:00 GMT + - Fri, 06 Sep 2019 03:23:55 GMT ETag: - - '"0x8D7185A0580FA06"' + - '"0x8D73279A6571C3F"' Last-Modified: - - Sat, 03 Aug 2019 21:32:01 GMT + - Fri, 06 Sep 2019 03:23:55 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c1f346ca-d055-11e9-aaaf-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:23:55.9372863Z' + x-ms-file-creation-time: + - '2019-09-06T03:23:55.9372863Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:23:55.9372863Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 018ee66e-e01a-0029-6442-4a1242000000 + - 1032132d-201a-0052-1562-642f1c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -59,15 +83,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2203d7ac-b636-11e9-9c28-2816a845e8c6 + - c22d363e-d055-11e9-9bc0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:02 GMT + - Fri, 06 Sep 2019 03:23:56 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare3942156d/dir1?restype=directory response: @@ -77,25 +101,39 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:01 GMT + - Fri, 06 Sep 2019 03:23:55 GMT ETag: - - '"0x8D7185A0580FA06"' + - '"0x8D73279A6571C3F"' Last-Modified: - - Sat, 03 Aug 2019 21:32:01 GMT + - Fri, 06 Sep 2019 03:23:55 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c22d363e-d055-11e9-9bc0-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:23:55.9372863Z' + x-ms-file-creation-time: + - '2019-09-06T03:23:55.9372863Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:23:55.9372863Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-meta-hello: - world x-ms-meta-number: - '42' x-ms-request-id: - - 018ee670-e01a-0029-6542-4a1242000000 + - 10321331-201a-0052-1762-642f1c000000 x-ms-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_file_in_directory.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_file_in_directory.yaml index 3f8f2041bb47..0b5f34536351 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_file_in_directory.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_file_in_directory.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 22be3a98-b636-11e9-87f7-2816a845e8c6 + - c26a8d42-d055-11e9-860c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:03 GMT + - Fri, 06 Sep 2019 03:23:56 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare974d121f/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:02 GMT + - Fri, 06 Sep 2019 03:23:55 GMT ETag: - - '"0x8D7185A067794D1"' + - '"0x8D73279A6BEF7EB"' Last-Modified: - - Sat, 03 Aug 2019 21:32:03 GMT + - Fri, 06 Sep 2019 03:23:56 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c26a8d42-d055-11e9-860c-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:23:56.6179307Z' + x-ms-file-creation-time: + - '2019-09-06T03:23:56.6179307Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:23:56.6179307Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - bc104b0d-101a-001e-6b42-4abeed000000 + - a043390a-c01a-0075-4a62-6438d8000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,19 +81,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 22ffcaa8-b636-11e9-8b3d-2816a845e8c6 + - c2996210-d055-11e9-8297-001a7dda7113 x-ms-content-length: - '8192' x-ms-date: - - Sat, 03 Aug 2019 21:32:04 GMT + - Fri, 06 Sep 2019 03:23:56 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare974d121f/dir1/file974d121f response: @@ -79,19 +111,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:02 GMT + - Fri, 06 Sep 2019 03:23:55 GMT ETag: - - '"0x8D7185A068C590D"' + - '"0x8D73279A6CF9DBE"' Last-Modified: - - Sat, 03 Aug 2019 21:32:03 GMT + - Fri, 06 Sep 2019 03:23:56 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c2996210-d055-11e9-8297-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:23:56.7270334Z' + x-ms-file-creation-time: + - '2019-09-06T03:23:56.7270334Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-06T03:23:56.7270334Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - bc104b0f-101a-001e-6c42-4abeed000000 + - a043390c-c01a-0075-4b62-6438d8000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -109,15 +157,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 230fd0c2-b636-11e9-9903-2816a845e8c6 + - c2a4a398-d055-11e9-87a2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:04 GMT + - Fri, 06 Sep 2019 03:23:56 GMT x-ms-range: - bytes=0-8191 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -131,19 +179,21 @@ interactions: Content-MD5: - L8MEum9/C3zMQV5vDJbgTA== Date: - - Sat, 03 Aug 2019 21:32:02 GMT + - Fri, 06 Sep 2019 03:23:55 GMT ETag: - - '"0x8D7185A069F2122"' + - '"0x8D73279A6D67D38"' Last-Modified: - - Sat, 03 Aug 2019 21:32:03 GMT + - Fri, 06 Sep 2019 03:23:56 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c2a4a398-d055-11e9-87a2-001a7dda7113 x-ms-request-id: - - bc104b10-101a-001e-6d42-4abeed000000 + - a0433918-c01a-0075-5562-6438d8000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -157,17 +207,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 23227d90-b636-11e9-bc14-2816a845e8c6 + - c2ab07cc-d055-11e9-9667-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:04 GMT + - Fri, 06 Sep 2019 03:23:56 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare974d121f/dir1/file974d121f response: @@ -183,23 +233,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:32:02 GMT + - Fri, 06 Sep 2019 03:23:55 GMT ETag: - - '"0x8D7185A069F2122"' + - '"0x8D73279A6D67D38"' Last-Modified: - - Sat, 03 Aug 2019 21:32:03 GMT + - Fri, 06 Sep 2019 03:23:56 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c2ab07cc-d055-11e9-9667-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:23:56.7270334Z' + x-ms-file-creation-time: + - '2019-09-06T03:23:56.7270334Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-06T03:23:56.7270334Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - bc104b11-101a-001e-6e42-4abeed000000 + - a043391b-c01a-0075-5862-6438d8000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_subdirectories.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_subdirectories.yaml index a8866d371f58..8b683c75f79a 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_subdirectories.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_subdirectories.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 23d6678a-b636-11e9-af80-2816a845e8c6 + - c2d8615a-d055-11e9-a061-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:05 GMT + - Fri, 06 Sep 2019 03:23:57 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare643910fc/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:04 GMT + - Fri, 06 Sep 2019 03:23:56 GMT ETag: - - '"0x8D7185A07A2DDAA"' + - '"0x8D73279A720907A"' Last-Modified: - - Sat, 03 Aug 2019 21:32:05 GMT + - Fri, 06 Sep 2019 03:23:57 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c2d8615a-d055-11e9-a061-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:23:57.2575354Z' + x-ms-file-creation-time: + - '2019-09-06T03:23:57.2575354Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:23:57.2575354Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - ad7bb96c-801a-005f-7842-4a96fe000000 + - f5c5b08c-301a-0095-6f62-64bb41000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,15 +81,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 242d9bba-b636-11e9-bfc7-2816a845e8c6 + - c2f63024-d055-11e9-bd7c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:06 GMT + - Fri, 06 Sep 2019 03:23:57 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare643910fc/dir1%2Fdir2?restype=directory response: @@ -75,19 +107,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:04 GMT + - Fri, 06 Sep 2019 03:23:56 GMT ETag: - - '"0x8D7185A07B9C536"' + - '"0x8D73279A7294521"' Last-Modified: - - Sat, 03 Aug 2019 21:32:05 GMT + - Fri, 06 Sep 2019 03:23:57 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c2f63024-d055-11e9-bd7c-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:23:57.3145889Z' + x-ms-file-creation-time: + - '2019-09-06T03:23:57.3145889Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-06T03:23:57.3145889Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - ad7bb96e-801a-005f-7942-4a96fe000000 + - f5c5b08f-301a-0095-7162-64bb41000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_subdirectories_with_metadata.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_subdirectories_with_metadata.yaml index d25a13d61ace..1df913233c88 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_subdirectories_with_metadata.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_create_subdirectories_with_metadata.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 24dc38a4-b636-11e9-be0f-2816a845e8c6 + - c7e17590-d055-11e9-9691-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:07 GMT + - Fri, 06 Sep 2019 03:24:05 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare7d6016b7/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:06 GMT + - Fri, 06 Sep 2019 03:24:04 GMT ETag: - - '"0x8D7185A08B3BC0E"' + - '"0x8D73279AC28DCB5"' Last-Modified: - - Sat, 03 Aug 2019 21:32:06 GMT + - Fri, 06 Sep 2019 03:24:05 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c7e17590-d055-11e9-9691-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:05.7005237Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:05.7005237Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:05.7005237Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 301fdb36-701a-00c9-3342-4af4ca000000 + - 9f50da6e-b01a-00c6-4662-649875000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,19 +81,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 25396bd2-b636-11e9-a165-2816a845e8c6 + - c7fe862e-d055-11e9-a4ad-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:08 GMT + - Fri, 06 Sep 2019 03:24:05 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-meta-hello: - world x-ms-meta-number: - '42' x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare7d6016b7/dir1%2Fdir2?restype=directory response: @@ -79,19 +111,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:06 GMT + - Fri, 06 Sep 2019 03:24:04 GMT ETag: - - '"0x8D7185A08C635FC"' + - '"0x8D73279AC307FAE"' Last-Modified: - - Sat, 03 Aug 2019 21:32:06 GMT + - Fri, 06 Sep 2019 03:24:05 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c7fe862e-d055-11e9-a4ad-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:05.7505710Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:05.7505710Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-06T03:24:05.7505710Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 301fdb38-701a-00c9-3442-4af4ca000000 + - 9f50da72-b01a-00c6-4862-649875000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -105,15 +153,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 25492a68-b636-11e9-a150-2816a845e8c6 + - c805859a-d055-11e9-b4ac-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:08 GMT + - Fri, 06 Sep 2019 03:24:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare7d6016b7/dir1%2Fdir2?restype=directory response: @@ -123,25 +171,39 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:06 GMT + - Fri, 06 Sep 2019 03:24:04 GMT ETag: - - '"0x8D7185A08C635FC"' + - '"0x8D73279AC307FAE"' Last-Modified: - - Sat, 03 Aug 2019 21:32:06 GMT + - Fri, 06 Sep 2019 03:24:05 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c805859a-d055-11e9-b4ac-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:05.7505710Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:05.7505710Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-06T03:24:05.7505710Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-meta-hello: - world x-ms-meta-number: - '42' x-ms-request-id: - - 301fdb39-701a-00c9-3542-4af4ca000000 + - 9f50da75-b01a-00c6-4b62-649875000000 x-ms-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_directory_with_existing_share.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_directory_with_existing_share.yaml index 00f1e23ce868..37b7302fe1fa 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_directory_with_existing_share.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_directory_with_existing_share.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2609976c-b636-11e9-83c9-2816a845e8c6 + - ccaab446-d055-11e9-a686-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:09 GMT + - Fri, 06 Sep 2019 03:24:13 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare954e1740/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:08 GMT + - Fri, 06 Sep 2019 03:24:13 GMT ETag: - - '"0x8D7185A09C1DACE"' + - '"0x8D73279B0EF7C2F"' Last-Modified: - - Sat, 03 Aug 2019 21:32:08 GMT + - Fri, 06 Sep 2019 03:24:13 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ccaab446-d055-11e9-a686-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:13.7131055Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:13.7131055Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:13.7131055Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 874f8ce4-101a-005a-5242-4a6281000000 + - f9c5fa4f-201a-007d-2a62-6422d7000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,15 +81,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 26450642-b636-11e9-b443-2816a845e8c6 + - ccc45606-d055-11e9-9284-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:09 GMT + - Fri, 06 Sep 2019 03:24:13 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare954e1740/dir1?restype=directory response: @@ -75,13 +99,15 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:08 GMT + - Fri, 06 Sep 2019 03:24:13 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ccc45606-d055-11e9-9284-001a7dda7113 x-ms-request-id: - - 874f8ce9-101a-005a-5342-4a6281000000 + - f9c5fa51-201a-007d-2b62-6422d7000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -95,38 +121,38 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 267c1ed2-b636-11e9-a69f-2816a845e8c6 + - cccb55dc-d055-11e9-a178-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:10 GMT + - Fri, 06 Sep 2019 03:24:13 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare954e1740/dir1?restype=directory response: body: string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:874f8cea-101a-005a-5442-4a6281000000\nTime:2019-08-03T21:32:09.0808554Z" + specified resource does not exist.\nRequestId:f9c5fa52-201a-007d-2c62-6422d7000000\nTime:2019-09-06T03:24:13.9022410Z" headers: Content-Length: - '223' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:32:09 GMT + - Fri, 06 Sep 2019 03:24:13 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cccb55dc-d055-11e9-a178-001a7dda7113 x-ms-error-code: - ResourceNotFound x-ms-request-id: - - 874f8cea-101a-005a-5442-4a6281000000 + - f9c5fa52-201a-007d-2c62-6422d7000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified resource does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_directory_with_non_existing_directory.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_directory_with_non_existing_directory.yaml index a833f164383d..9cf832df2267 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_directory_with_non_existing_directory.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_directory_with_non_existing_directory.yaml @@ -11,36 +11,38 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 273130c0-b636-11e9-82b5-2816a845e8c6 + - ccfdf9ca-d055-11e9-b4fc-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:11 GMT + - Fri, 06 Sep 2019 03:24:14 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare5e371aac/dir1?restype=directory response: body: string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:4e0fcb1e-701a-0027-3942-4afe49000000\nTime:2019-08-03T21:32:10.6794158Z" + specified resource does not exist.\nRequestId:6d4de522-c01a-0038-3562-64f734000000\nTime:2019-09-06T03:24:14.3856046Z" headers: Content-Length: - '223' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:32:10 GMT + - Fri, 06 Sep 2019 03:24:13 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ccfdf9ca-d055-11e9-b4fc-001a7dda7113 x-ms-error-code: - ResourceNotFound x-ms-request-id: - - 4e0fcb1e-701a-0027-3942-4afe49000000 + - 6d4de522-c01a-0038-3562-64f734000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified resource does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_file_in_directory.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_file_in_directory.yaml index ff274b10b804..964b6190a854 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_file_in_directory.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_file_in_directory.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 281fca52-b636-11e9-bedb-2816a845e8c6 + - cd5f318c-d055-11e9-9e0b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:12 GMT + - Fri, 06 Sep 2019 03:24:14 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9728121e/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:11 GMT + - Fri, 06 Sep 2019 03:24:14 GMT ETag: - - '"0x8D7185A0BE87A43"' + - '"0x8D73279B1A5D8F2"' Last-Modified: - - Sat, 03 Aug 2019 21:32:12 GMT + - Fri, 06 Sep 2019 03:24:14 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cd5f318c-d055-11e9-9e0b-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:14.9082354Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:14.9082354Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:14.9082354Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - da623c36-c01a-00d0-3142-4ad8a2000000 + - a1c58591-501a-003a-4362-64498c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,19 +81,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 286ef3ac-b636-11e9-a38a-2816a845e8c6 + - cd7b65a4-d055-11e9-83ef-001a7dda7113 x-ms-content-length: - '11' x-ms-date: - - Sat, 03 Aug 2019 21:32:13 GMT + - Fri, 06 Sep 2019 03:24:14 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9728121e/dir1/file9728121e response: @@ -79,19 +111,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:12 GMT + - Fri, 06 Sep 2019 03:24:14 GMT ETag: - - '"0x8D7185A0BFBB7A4"' + - '"0x8D73279B1AD54D2"' Last-Modified: - - Sat, 03 Aug 2019 21:32:12 GMT + - Fri, 06 Sep 2019 03:24:14 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cd7b65a4-d055-11e9-83ef-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:24:14.9572818Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:14.9572818Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-06T03:24:14.9572818Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - da623c38-c01a-00d0-3242-4ad8a2000000 + - a1c58593-501a-003a-4462-64498c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -109,15 +157,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 288fac1a-b636-11e9-afb8-2816a845e8c6 + - cd821e86-d055-11e9-b8a0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:13 GMT + - Fri, 06 Sep 2019 03:24:15 GMT x-ms-range: - bytes=0-10 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -131,19 +179,21 @@ interactions: Content-MD5: - XrY7u+Ae7tCTyyK7j1rNww== Date: - - Sat, 03 Aug 2019 21:32:12 GMT + - Fri, 06 Sep 2019 03:24:14 GMT ETag: - - '"0x8D7185A0C1E6124"' + - '"0x8D73279B1B40D32"' Last-Modified: - - Sat, 03 Aug 2019 21:32:12 GMT + - Fri, 06 Sep 2019 03:24:15 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cd821e86-d055-11e9-b8a0-001a7dda7113 x-ms-request-id: - - da623c39-c01a-00d0-3342-4ad8a2000000 + - a1c58594-501a-003a-4562-64498c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -159,15 +209,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 28a4bf4a-b636-11e9-b01f-2816a845e8c6 + - cd895064-d055-11e9-8285-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:13 GMT + - Fri, 06 Sep 2019 03:24:15 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare9728121e/dir1/file9728121e response: @@ -177,13 +227,15 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:12 GMT + - Fri, 06 Sep 2019 03:24:14 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cd895064-d055-11e9-8285-001a7dda7113 x-ms-request-id: - - da623c3a-c01a-00d0-3442-4ad8a2000000 + - a1c58595-501a-003a-4662-64498c000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -197,15 +249,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 28cdc72e-b636-11e9-aa4f-2816a845e8c6 + - cd8f89c8-d055-11e9-abe8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:14 GMT + - Fri, 06 Sep 2019 03:24:15 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare9728121e/dir1/file9728121e response: @@ -213,19 +265,19 @@ interactions: string: '' headers: Date: - - Sat, 03 Aug 2019 21:32:12 GMT + - Fri, 06 Sep 2019 03:24:14 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin + x-ms-client-request-id: + - cd8f89c8-d055-11e9-abe8-001a7dda7113 x-ms-error-code: - ResourceNotFound x-ms-request-id: - - da623c3c-c01a-00d0-3542-4ad8a2000000 + - a1c58596-501a-003a-4762-64498c000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified resource does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_subdirectories.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_subdirectories.yaml index d5b524a0fa1d..de06726e6495 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_subdirectories.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_delete_subdirectories.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2992165e-b636-11e9-9e37-2816a845e8c6 + - cdc113de-d055-11e9-8839-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:15 GMT + - Fri, 06 Sep 2019 03:24:15 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare641710fb/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:14 GMT + - Fri, 06 Sep 2019 03:24:15 GMT ETag: - - '"0x8D7185A0D4C1B96"' + - '"0x8D73279B206FC35"' Last-Modified: - - Sat, 03 Aug 2019 21:32:14 GMT + - Fri, 06 Sep 2019 03:24:15 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cdc113de-d055-11e9-8839-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:15.5448373Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:15.5448373Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:15.5448373Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 3e23d218-001a-00c6-2942-4a193c000000 + - 8c638cf4-301a-0013-0262-6477f8000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,15 +81,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 29ea43f6-b636-11e9-9892-2816a845e8c6 + - cddc8a62-d055-11e9-96a5-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:15 GMT + - Fri, 06 Sep 2019 03:24:15 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare641710fb/dir1%2Fdir2?restype=directory response: @@ -75,19 +107,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:14 GMT + - Fri, 06 Sep 2019 03:24:15 GMT ETag: - - '"0x8D7185A0D7863CB"' + - '"0x8D73279B20EC648"' Last-Modified: - - Sat, 03 Aug 2019 21:32:14 GMT + - Fri, 06 Sep 2019 03:24:15 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cddc8a62-d055-11e9-96a5-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:15.5958856Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:15.5958856Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-06T03:24:15.5958856Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 3e23d21a-001a-00c6-2a42-4a193c000000 + - 8c638cf8-301a-0013-0562-6477f8000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -103,15 +151,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2a096dba-b636-11e9-b97f-2816a845e8c6 + - cde890fa-d055-11e9-ab4d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:16 GMT + - Fri, 06 Sep 2019 03:24:15 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare641710fb/dir1%2Fdir2?restype=directory response: @@ -121,13 +169,15 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:14 GMT + - Fri, 06 Sep 2019 03:24:15 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cde890fa-d055-11e9-ab4d-001a7dda7113 x-ms-request-id: - - 3e23d21b-001a-00c6-2b42-4a193c000000 + - 8c638cfc-301a-0013-0962-6477f8000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -141,38 +191,38 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2a283198-b636-11e9-99d8-2816a845e8c6 + - cdf00506-d055-11e9-b326-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:16 GMT + - Fri, 06 Sep 2019 03:24:15 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare641710fb/dir1%2Fdir2?restype=directory response: body: string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:3e23d21c-001a-00c6-2c42-4a193c000000\nTime:2019-08-03T21:32:15.2612765Z" + specified resource does not exist.\nRequestId:8c638cfd-301a-0013-0a62-6477f8000000\nTime:2019-09-06T03:24:15.7222522Z" headers: Content-Length: - '223' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:32:14 GMT + - Fri, 06 Sep 2019 03:24:15 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cdf00506-d055-11e9-b326-001a7dda7113 x-ms-error-code: - ResourceNotFound x-ms-request-id: - - 3e23d21c-001a-00c6-2c42-4a193c000000 + - 8c638cfd-301a-0013-0a62-6477f8000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified resource does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_exists.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_exists.yaml index 19c576005ac5..206b050b7594 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_exists.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_exists.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2acbc00c-b636-11e9-af8e-2816a845e8c6 + - ce1ad562-d055-11e9-bfc0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:17 GMT + - Fri, 06 Sep 2019 03:24:16 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare14f20f16/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:15 GMT + - Fri, 06 Sep 2019 03:24:15 GMT ETag: - - '"0x8D7185A0E8214F1"' + - '"0x8D73279B261DC7D"' Last-Modified: - - Sat, 03 Aug 2019 21:32:16 GMT + - Fri, 06 Sep 2019 03:24:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ce1ad562-d055-11e9-bfc0-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:16.1404029Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:16.1404029Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:16.1404029Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 39e0ad98-401a-00a7-7542-4a5de3000000 + - 4decb0c5-401a-0009-3662-641627000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -55,15 +79,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2b1fd7a4-b636-11e9-a282-2816a845e8c6 + - ce36bb12-d055-11e9-8ff0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:17 GMT + - Fri, 06 Sep 2019 03:24:16 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare14f20f16/dir1?restype=directory response: @@ -73,21 +97,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:16 GMT + - Fri, 06 Sep 2019 03:24:16 GMT ETag: - - '"0x8D7185A0E8214F1"' + - '"0x8D73279B261DC7D"' Last-Modified: - - Sat, 03 Aug 2019 21:32:16 GMT + - Fri, 06 Sep 2019 03:24:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - ce36bb12-d055-11e9-8ff0-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:16.1404029Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:16.1404029Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:16.1404029Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 39e0ad9a-401a-00a7-7642-4a5de3000000 + - 4decb0c7-401a-0009-3762-641627000000 x-ms-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_exists_with_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_exists_with_snapshot.yaml index 4aae6bd550b4..e6ed24be8b2d 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_exists_with_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_exists_with_snapshot.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2be65724-b636-11e9-a94a-2816a845e8c6 + - ce6288fe-d055-11e9-addb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:19 GMT + - Fri, 06 Sep 2019 03:24:16 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare14271500/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:18 GMT + - Fri, 06 Sep 2019 03:24:16 GMT ETag: - - '"0x8D7185A0FA2D4B9"' + - '"0x8D73279B2A84575"' Last-Modified: - - Sat, 03 Aug 2019 21:32:18 GMT + - Fri, 06 Sep 2019 03:24:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ce6288fe-d055-11e9-addb-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:16.6018421Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:16.6018421Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:16.6018421Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 089fd16b-d01a-004c-4342-4aa31f000000 + - 8d1a27d4-401a-009f-1d62-641ff6000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,15 +81,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2c265dbe-b636-11e9-9b1c-2816a845e8c6 + - ce7d19a2-d055-11e9-af7e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:19 GMT + - Fri, 06 Sep 2019 03:24:16 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare14271500?restype=share&comp=snapshot response: @@ -75,19 +99,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:18 GMT + - Fri, 06 Sep 2019 03:24:16 GMT ETag: - - '"0x8D7185A0F44106C"' + - '"0x8D73279B2835EB3"' Last-Modified: - - Sat, 03 Aug 2019 21:32:17 GMT + - Fri, 06 Sep 2019 03:24:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ce7d19a2-d055-11e9-af7e-001a7dda7113 x-ms-request-id: - - 089fd16d-d01a-004c-4442-4aa31f000000 + - 8d1a27d8-401a-009f-2062-641ff6000000 x-ms-snapshot: - - '2019-08-03T21:32:18.0000000Z' + - '2019-09-06T03:24:16.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -103,15 +129,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2c3a34f6-b636-11e9-b7f9-2816a845e8c6 + - ce92b11c-d055-11e9-9607-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:19 GMT + - Fri, 06 Sep 2019 03:24:16 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare14271500/dir1?restype=directory response: @@ -121,13 +147,15 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:18 GMT + - Fri, 06 Sep 2019 03:24:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ce92b11c-d055-11e9-9607-001a7dda7113 x-ms-request-id: - - 089fd16e-d01a-004c-4542-4aa31f000000 + - 8d1a27da-401a-009f-2262-641ff6000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -141,17 +169,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2c5d6e70-b636-11e9-bccc-2816a845e8c6 + - cea06c52-d055-11e9-96ef-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:20 GMT + - Fri, 06 Sep 2019 03:24:16 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare14271500/dir1?restype=directory&sharesnapshot=2019-08-03T21:32:18.0000000Z + uri: https://storagename.file.core.windows.net/utshare14271500/dir1?restype=directory&sharesnapshot=2019-09-06T03:24:16.0000000Z response: body: string: '' @@ -159,21 +187,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:18 GMT + - Fri, 06 Sep 2019 03:24:16 GMT ETag: - - '"0x8D7185A0FA2D4B9"' + - '"0x8D73279B2A84575"' Last-Modified: - - Sat, 03 Aug 2019 21:32:18 GMT + - Fri, 06 Sep 2019 03:24:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cea06c52-d055-11e9-96ef-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:16.6018421Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:16.6018421Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:16.6018421Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 089fd16f-d01a-004c-4642-4aa31f000000 + - 8d1a27dc-401a-009f-2462-641ff6000000 x-ms-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_not_exists.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_not_exists.yaml index c0b67d8f8ed1..2bb56ba07c5e 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_not_exists.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_not_exists.yaml @@ -9,38 +9,38 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2cfe7612-b636-11e9-a7d9-2816a845e8c6 + - cf617b50-d055-11e9-b500-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:21 GMT + - Fri, 06 Sep 2019 03:24:18 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare553610c6/dir1?restype=directory response: body: string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:c7cca618-501a-0019-4042-4a4868000000\nTime:2019-08-03T21:32:20.2783020Z" + specified resource does not exist.\nRequestId:00d3e48c-101a-00ad-3a62-641f81000000\nTime:2019-09-06T03:24:18.2739470Z" headers: Content-Length: - '223' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:32:19 GMT + - Fri, 06 Sep 2019 03:24:17 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cf617b50-d055-11e9-b500-001a7dda7113 x-ms-error-code: - ResourceNotFound x-ms-request-id: - - c7cca618-501a-0019-4042-4a4868000000 + - 00d3e48c-101a-00ad-3a62-641f81000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified resource does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_not_exists_with_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_not_exists_with_snapshot.yaml index b003ec2622f6..6d5daf61332d 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_not_exists_with_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_not_exists_with_snapshot.yaml @@ -11,15 +11,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2dd541e4-b636-11e9-aad0-2816a845e8c6 + - d86dd51c-d055-11e9-865f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:22 GMT + - Fri, 06 Sep 2019 03:24:33 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare6c0b16b0?restype=share&comp=snapshot response: @@ -29,19 +29,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:21 GMT + - Fri, 06 Sep 2019 03:24:32 GMT ETag: - - '"0x8D7185A11367F6E"' + - '"0x8D73279B9EAB482"' Last-Modified: - - Sat, 03 Aug 2019 21:32:21 GMT + - Fri, 06 Sep 2019 03:24:28 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d86dd51c-d055-11e9-865f-001a7dda7113 x-ms-request-id: - - c8b12eda-f01a-0036-5542-4ac952000000 + - 9f50dc4b-b01a-00c6-7c62-649875000000 x-ms-snapshot: - - '2019-08-03T21:32:21.0000000Z' + - '2019-09-06T03:24:33.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,15 +59,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2e346f64-b636-11e9-b8ca-2816a845e8c6 + - d8a58ca4-d055-11e9-8cd4-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:23 GMT + - Fri, 06 Sep 2019 03:24:33 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare6c0b16b0/dir1?restype=directory response: @@ -75,19 +85,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:21 GMT + - Fri, 06 Sep 2019 03:24:32 GMT ETag: - - '"0x8D7185A11C0E724"' + - '"0x8D73279BCD8547A"' Last-Modified: - - Sat, 03 Aug 2019 21:32:22 GMT + - Fri, 06 Sep 2019 03:24:33 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d8a58ca4-d055-11e9-8cd4-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:33.6940154Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:33.6940154Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:33.6940154Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - c8b12edd-f01a-0036-5642-4ac952000000 + - 9f50dc55-b01a-00c6-0262-649875000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -101,38 +127,38 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2e50ec9e-b636-11e9-8aa8-2816a845e8c6 + - d8aeae1e-d055-11e9-8a2d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:23 GMT + - Fri, 06 Sep 2019 03:24:33 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare6c0b16b0/dir1?restype=directory&sharesnapshot=2019-08-03T21:32:21.0000000Z + uri: https://storagename.file.core.windows.net/utshare6c0b16b0/dir1?restype=directory&sharesnapshot=2019-09-06T03:24:33.0000000Z response: body: string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:c8b12ede-f01a-0036-5742-4ac952000000\nTime:2019-08-03T21:32:22.2267246Z" + specified resource does not exist.\nRequestId:9f50dc57-b01a-00c6-0462-649875000000\nTime:2019-09-06T03:24:33.7484891Z" headers: Content-Length: - '223' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:32:21 GMT + - Fri, 06 Sep 2019 03:24:32 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - d8aeae1e-d055-11e9-8a2d-001a7dda7113 x-ms-error-code: - ResourceNotFound x-ms-request-id: - - c8b12ede-f01a-0036-5742-4ac952000000 + - 9f50dc57-b01a-00c6-0462-649875000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified resource does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_parent_not_exists.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_parent_not_exists.yaml index 394b7f68aa79..78eba52bd2c8 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_parent_not_exists.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_directory_parent_not_exists.yaml @@ -9,38 +9,38 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2ef34188-b636-11e9-93fb-2816a845e8c6 + - d8d62cee-d055-11e9-8ccf-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:24 GMT + - Fri, 06 Sep 2019 03:24:34 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshared53f13af/missing1%2Fmissing2?restype=directory response: body: string: "\uFEFFParentNotFoundThe - specified parent path does not exist.\nRequestId:e7b6764b-201a-007b-7a42-4a0fb0000000\nTime:2019-08-03T21:32:23.5836498Z" + specified parent path does not exist.\nRequestId:89f94e12-401a-00b0-3262-64123d000000\nTime:2019-09-06T03:24:34.1448308Z" headers: Content-Length: - '224' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:32:22 GMT + - Fri, 06 Sep 2019 03:24:33 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - d8d62cee-d055-11e9-8ccf-001a7dda7113 x-ms-error-code: - ParentNotFound x-ms-request-id: - - e7b6764b-201a-007b-7a42-4a0fb0000000 + - 89f94e12-401a-00b0-3262-64123d000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified parent path does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_metadata_with_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_metadata_with_snapshot.yaml index 04534d710c05..1890f25c5388 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_metadata_with_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_metadata_with_snapshot.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2faf1ae2-b636-11e9-b05b-2816a845e8c6 + - dad131ba-d055-11e9-9693-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:25 GMT + - Fri, 06 Sep 2019 03:24:37 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-meta-test1: - foo x-ms-meta-test2: - bar x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare94911740/dir1?restype=directory response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:24 GMT + - Fri, 06 Sep 2019 03:24:36 GMT ETag: - - '"0x8D7185A137304DA"' + - '"0x8D73279BF12F015"' Last-Modified: - - Sat, 03 Aug 2019 21:32:24 GMT + - Fri, 06 Sep 2019 03:24:37 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dad131ba-d055-11e9-9693-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:37.4335509Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:37.4335509Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:37.4335509Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - e9518e34-c01a-0071-3142-4a1639000000 + - 21b0dc6a-001a-0018-0c62-648c93000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -61,15 +85,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2ff632b4-b636-11e9-b8a6-2816a845e8c6 + - dae810d0-d055-11e9-8e15-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:26 GMT + - Fri, 06 Sep 2019 03:24:37 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare94911740?restype=share&comp=snapshot response: @@ -79,19 +103,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:24 GMT + - Fri, 06 Sep 2019 03:24:38 GMT ETag: - - '"0x8D7185A13121B55"' + - '"0x8D73279BEF0225A"' Last-Modified: - - Sat, 03 Aug 2019 21:32:24 GMT + - Fri, 06 Sep 2019 03:24:37 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dae810d0-d055-11e9-8e15-001a7dda7113 x-ms-request-id: - - e9518e36-c01a-0071-3242-4a1639000000 + - 21b0dc6d-001a-0018-0d62-648c93000000 x-ms-snapshot: - - '2019-08-03T21:32:25.0000000Z' + - '2019-09-06T03:24:38.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -107,19 +133,19 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3021314a-b636-11e9-885d-2816a845e8c6 + - dc3ee33a-d055-11e9-8fbf-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:26 GMT + - Fri, 06 Sep 2019 03:24:39 GMT x-ms-meta-test100: - foo100 x-ms-meta-test200: - bar200 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare94911740/dir1?restype=directory&comp=metadata response: @@ -129,19 +155,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:25 GMT + - Fri, 06 Sep 2019 03:24:39 GMT ETag: - - '"0x8D7185A13B2D89F"' + - '"0x8D73279C0723921"' Last-Modified: - - Sat, 03 Aug 2019 21:32:25 GMT + - Fri, 06 Sep 2019 03:24:39 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dc3ee33a-d055-11e9-8fbf-001a7dda7113 x-ms-request-id: - - e9518e37-c01a-0071-3342-4a1639000000 + - 21b0dc6e-001a-0018-0e62-648c93000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -155,17 +183,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 303b4062-b636-11e9-97a8-2816a845e8c6 + - dc54631c-d055-11e9-940a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:26 GMT + - Fri, 06 Sep 2019 03:24:39 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare94911740/dir1?restype=directory&sharesnapshot=2019-08-03T21:32:25.0000000Z + uri: https://storagename.file.core.windows.net/utshare94911740/dir1?restype=directory&sharesnapshot=2019-09-06T03:24:38.0000000Z response: body: string: '' @@ -173,25 +201,39 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:25 GMT + - Fri, 06 Sep 2019 03:24:39 GMT ETag: - - '"0x8D7185A137304DA"' + - '"0x8D73279BF12F015"' Last-Modified: - - Sat, 03 Aug 2019 21:32:24 GMT + - Fri, 06 Sep 2019 03:24:37 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - dc54631c-d055-11e9-940a-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:37.4335509Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:37.4335509Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:37.4335509Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-meta-test1: - foo x-ms-meta-test2: - bar x-ms-request-id: - - e9518e38-c01a-0071-3442-4a1639000000 + - 21b0dc6f-001a-0018-0f62-648c93000000 x-ms-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties.yaml index e406616bf974..549d7d1e5e30 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3106aca4-b636-11e9-a596-2816a845e8c6 + - dc80c47a-d055-11e9-8738-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:27 GMT + - Fri, 06 Sep 2019 03:24:40 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9b0c1262/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:27 GMT + - Fri, 06 Sep 2019 03:24:39 GMT ETag: - - '"0x8D7185A151B83F1"' + - '"0x8D73279C0C7E7EC"' Last-Modified: - - Sat, 03 Aug 2019 21:32:27 GMT + - Fri, 06 Sep 2019 03:24:40 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dc80c47a-d055-11e9-8738-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:40.2972652Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:40.2972652Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:40.2972652Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 93e1677f-c01a-003e-7f42-4ad221000000 + - b035b44c-d01a-008d-6162-646426000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -55,15 +79,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 319f2136-b636-11e9-bd60-2816a845e8c6 + - dc9caf1e-d055-11e9-8360-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:28 GMT + - Fri, 06 Sep 2019 03:24:40 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare9b0c1262/dir1?restype=directory response: @@ -73,21 +97,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:27 GMT + - Fri, 06 Sep 2019 03:24:39 GMT ETag: - - '"0x8D7185A151B83F1"' + - '"0x8D73279C0C7E7EC"' Last-Modified: - - Sat, 03 Aug 2019 21:32:27 GMT + - Fri, 06 Sep 2019 03:24:40 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - dc9caf1e-d055-11e9-8360-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:40.2972652Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:40.2972652Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:40.2972652Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 93e16782-c01a-003e-8042-4ad221000000 + - b035b44e-d01a-008d-6262-646426000000 x-ms-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties_server_encryption.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties_server_encryption.yaml index 7479689ac5d3..e9af8ebb908e 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties_server_encryption.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties_server_encryption.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 323a9050-b636-11e9-b4de-2816a845e8c6 + - dcdaff70-d055-11e9-bede-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:29 GMT + - Fri, 06 Sep 2019 03:24:40 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare2dc21a02/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:28 GMT + - Fri, 06 Sep 2019 03:24:40 GMT ETag: - - '"0x8D7185A15F5B7C5"' + - '"0x8D73279C12DA027"' Last-Modified: - - Sat, 03 Aug 2019 21:32:29 GMT + - Fri, 06 Sep 2019 03:24:40 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dcdaff70-d055-11e9-bede-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:40.9638951Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:40.9638951Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:40.9638951Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 784b9e0e-d01a-0047-3342-4abb6b000000 + - 1b47a5ce-001a-00b1-7b62-644de1000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -55,15 +79,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 329248d4-b636-11e9-8b80-2816a845e8c6 + - dd02b69a-d055-11e9-92cf-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:30 GMT + - Fri, 06 Sep 2019 03:24:41 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare2dc21a02/dir1?restype=directory response: @@ -73,21 +97,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:28 GMT + - Fri, 06 Sep 2019 03:24:40 GMT ETag: - - '"0x8D7185A15F5B7C5"' + - '"0x8D73279C12DA027"' Last-Modified: - - Sat, 03 Aug 2019 21:32:29 GMT + - Fri, 06 Sep 2019 03:24:40 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - dd02b69a-d055-11e9-92cf-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:40.9638951Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:40.9638951Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:40.9638951Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 784b9e10-d01a-0047-3442-4abb6b000000 + - 1b47a5d0-001a-00b1-7c62-644de1000000 x-ms-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties_with_non_existing_directory.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties_with_non_existing_directory.yaml index 0491f38fafbd..60b764c66a3f 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties_with_non_existing_directory.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties_with_non_existing_directory.yaml @@ -9,38 +9,38 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 333981b0-b636-11e9-bd9c-2816a845e8c6 + - dd39e0ec-d055-11e9-8513-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:31 GMT + - Fri, 06 Sep 2019 03:24:41 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare47651e25/dir1?restype=directory response: body: string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:5c6b0253-901a-00c8-7542-4af537000000\nTime:2019-08-03T21:32:30.8023210Z" + specified resource does not exist.\nRequestId:ea94c986-c01a-0091-2762-643646000000\nTime:2019-09-06T03:24:41.5120820Z" headers: Content-Length: - '223' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:32:30 GMT + - Fri, 06 Sep 2019 03:24:40 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - dd39e0ec-d055-11e9-8513-001a7dda7113 x-ms-error-code: - ResourceNotFound x-ms-request-id: - - 5c6b0253-901a-00c8-7542-4af537000000 + - ea94c986-c01a-0091-2762-643646000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified resource does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties_with_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties_with_snapshot.yaml index 589324ebfa23..ec4d2a438d00 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties_with_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_directory_properties_with_snapshot.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 34345ffe-b636-11e9-bc6e-2816a845e8c6 + - dd777bf8-d055-11e9-86f2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:33 GMT + - Fri, 06 Sep 2019 03:24:41 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-meta-test1: - foo x-ms-meta-test2: - bar x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharec869184c/dir1?restype=directory response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:32 GMT + - Fri, 06 Sep 2019 03:24:40 GMT ETag: - - '"0x8D7185A184914E3"' + - '"0x8D73279C1BF7C24"' Last-Modified: - - Sat, 03 Aug 2019 21:32:32 GMT + - Fri, 06 Sep 2019 03:24:41 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dd777bf8-d055-11e9-86f2-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:41.9197988Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:41.9197988Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:41.9197988Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - d3666c88-001a-0045-4c42-4ab991000000 + - d8de4330-a01a-00a8-2d62-64cd5a000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -61,15 +85,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 34e3aa24-b636-11e9-9618-2816a845e8c6 + - dd9477d4-d055-11e9-a255-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:34 GMT + - Fri, 06 Sep 2019 03:24:41 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharec869184c?restype=share&comp=snapshot response: @@ -79,19 +103,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:33 GMT + - Fri, 06 Sep 2019 03:24:41 GMT ETag: - - '"0x8D7185A179826B8"' + - '"0x8D73279C19D271D"' Last-Modified: - - Sat, 03 Aug 2019 21:32:31 GMT + - Fri, 06 Sep 2019 03:24:41 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dd9477d4-d055-11e9-a255-001a7dda7113 x-ms-request-id: - - d3666c8b-001a-0045-4d42-4ab991000000 + - d8de4332-a01a-00a8-2e62-64cd5a000000 x-ms-snapshot: - - '2019-08-03T21:32:33.0000000Z' + - '2019-09-06T03:24:42.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -107,19 +133,19 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 352fae30-b636-11e9-8a18-2816a845e8c6 + - ddb7b2a2-d055-11e9-9ea9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:34 GMT + - Fri, 06 Sep 2019 03:24:42 GMT x-ms-meta-test100: - foo100 x-ms-meta-test200: - bar200 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharec869184c/dir1?restype=directory&comp=metadata response: @@ -129,19 +155,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:33 GMT + - Fri, 06 Sep 2019 03:24:41 GMT ETag: - - '"0x8D7185A18BEA86E"' + - '"0x8D73279C1E97C7F"' Last-Modified: - - Sat, 03 Aug 2019 21:32:33 GMT + - Fri, 06 Sep 2019 03:24:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ddb7b2a2-d055-11e9-9ea9-001a7dda7113 x-ms-request-id: - - d3666c8c-001a-0045-4e42-4ab991000000 + - d8de4336-a01a-00a8-3262-64cd5a000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -155,17 +183,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 35657112-b636-11e9-b99b-2816a845e8c6 + - ddbf53ca-d055-11e9-91c2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:35 GMT + - Fri, 06 Sep 2019 03:24:42 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utsharec869184c/dir1?restype=directory&sharesnapshot=2019-08-03T21:32:33.0000000Z + uri: https://storagename.file.core.windows.net/utsharec869184c/dir1?restype=directory&sharesnapshot=2019-09-06T03:24:42.0000000Z response: body: string: '' @@ -173,25 +201,39 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:35 GMT + - Fri, 06 Sep 2019 03:24:41 GMT ETag: - - '"0x8D7185A184914E3"' + - '"0x8D73279C1BF7C24"' Last-Modified: - - Sat, 03 Aug 2019 21:32:32 GMT + - Fri, 06 Sep 2019 03:24:41 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - ddbf53ca-d055-11e9-91c2-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:41.9197988Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:41.9197988Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:41.9197988Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-meta-test1: - foo x-ms-meta-test2: - bar x-ms-request-id: - - d3666c8d-001a-0045-4f42-4ab991000000 + - d8de4337-a01a-00a8-3362-64cd5a000000 x-ms-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_set_directory_metadata.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_set_directory_metadata.yaml index d72267793e2e..6d4f800cce63 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_set_directory_metadata.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_get_set_directory_metadata.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3701d564-b636-11e9-a97d-2816a845e8c6 + - ddfea16e-d055-11e9-9a6f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:37 GMT + - Fri, 06 Sep 2019 03:24:42 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharebfa81301/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:36 GMT + - Fri, 06 Sep 2019 03:24:41 GMT ETag: - - '"0x8D7185A1AC536F8"' + - '"0x8D73279C2426067"' Last-Modified: - - Sat, 03 Aug 2019 21:32:37 GMT + - Fri, 06 Sep 2019 03:24:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ddfea16e-d055-11e9-9a6f-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:42.7776103Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:42.7776103Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:42.7776103Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 91b4116d-501a-003b-4142-4a265e000000 + - c3ea5771-301a-003c-1062-647a33000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,19 +81,19 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 37550b24-b636-11e9-9cf9-2816a845e8c6 + - de1767ca-d055-11e9-b213-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:38 GMT + - Fri, 06 Sep 2019 03:24:42 GMT x-ms-meta-hello: - world x-ms-meta-number: - '43' x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharebfa81301/dir1?restype=directory&comp=metadata response: @@ -79,19 +103,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:37 GMT + - Fri, 06 Sep 2019 03:24:41 GMT ETag: - - '"0x8D7185A1AE372CD"' + - '"0x8D73279C24966F6"' Last-Modified: - - Sat, 03 Aug 2019 21:32:37 GMT + - Fri, 06 Sep 2019 03:24:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - de1767ca-d055-11e9-b213-001a7dda7113 x-ms-request-id: - - 91b4116f-501a-003b-4242-4a265e000000 + - c3ea5773-301a-003c-1162-647a33000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -105,15 +131,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 37743076-b636-11e9-a481-2816a845e8c6 + - de1df1ca-d055-11e9-8e66-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:38 GMT + - Fri, 06 Sep 2019 03:24:42 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharebfa81301/dir1?restype=directory response: @@ -123,25 +149,39 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:37 GMT + - Fri, 06 Sep 2019 03:24:41 GMT ETag: - - '"0x8D7185A1AE372CD"' + - '"0x8D73279C24966F6"' Last-Modified: - - Sat, 03 Aug 2019 21:32:37 GMT + - Fri, 06 Sep 2019 03:24:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - de1df1ca-d055-11e9-8e66-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:42.8236534Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:42.7776103Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:42.7776103Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-meta-hello: - world x-ms-meta-number: - '43' x-ms-request-id: - - 91b41170-501a-003b-4342-4a265e000000 + - c3ea5775-301a-003c-1262-647a33000000 x-ms-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_nested_subdirectories_and_files.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_nested_subdirectories_and_files.yaml index f1826f68caec..a16898fc6849 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_nested_subdirectories_and_files.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_nested_subdirectories_and_files.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 37fcff1e-b636-11e9-ad8a-2816a845e8c6 + - de48a0b0-d055-11e9-8dce-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:39 GMT + - Fri, 06 Sep 2019 03:24:43 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9681172a/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:38 GMT + - Fri, 06 Sep 2019 03:24:43 GMT ETag: - - '"0x8D7185A1BB1BDCC"' + - '"0x8D73279C28C73A0"' Last-Modified: - - Sat, 03 Aug 2019 21:32:38 GMT + - Fri, 06 Sep 2019 03:24:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - de48a0b0-d055-11e9-8dce-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:43.2630688Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:43.2630688Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:43.2630688Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - e9776c3f-d01a-0008-2e42-4a7f73000000 + - 867448d4-e01a-0086-3962-649f4d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,15 +81,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3838729a-b636-11e9-92cf-2816a845e8c6 + - de61df9a-d055-11e9-a3e4-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:39 GMT + - Fri, 06 Sep 2019 03:24:43 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9681172a/dir1%2Fsubdir1?restype=directory response: @@ -75,19 +107,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:38 GMT + - Fri, 06 Sep 2019 03:24:43 GMT ETag: - - '"0x8D7185A1BC485ED"' + - '"0x8D73279C293EF80"' Last-Modified: - - Sat, 03 Aug 2019 21:32:38 GMT + - Fri, 06 Sep 2019 03:24:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - de61df9a-d055-11e9-a3e4-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:43.3121152Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:43.3121152Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-06T03:24:43.3121152Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - e9776c49-d01a-0008-3442-4a7f73000000 + - 867448d6-e01a-0086-3a62-649f4d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -103,15 +151,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3851d5f8-b636-11e9-95fb-2816a845e8c6 + - de6b4038-d055-11e9-9a71-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:40 GMT + - Fri, 06 Sep 2019 03:24:43 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9681172a/dir1%2Fsubdir1%2Fsubdir2?restype=directory response: @@ -121,19 +177,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:38 GMT + - Fri, 06 Sep 2019 03:24:43 GMT ETag: - - '"0x8D7185A1BDEC975"' + - '"0x8D73279C29D1977"' Last-Modified: - - Sat, 03 Aug 2019 21:32:38 GMT + - Fri, 06 Sep 2019 03:24:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - de6b4038-d055-11e9-9a71-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:43.3721719Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:43.3721719Z' + x-ms-file-id: + - '16140971433240035328' + x-ms-file-last-write-time: + - '2019-09-06T03:24:43.3721719Z' + x-ms-file-parent-id: + - '11529285414812647424' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - e9776c5a-d01a-0008-4242-4a7f73000000 + - 867448d7-e01a-0086-3b62-649f4d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -149,15 +221,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 38656c9c-b636-11e9-a209-2816a845e8c6 + - de728f74-d055-11e9-a7fb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:40 GMT + - Fri, 06 Sep 2019 03:24:43 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9681172a/dir1%2Fsubdir1%2Fsubdir3?restype=directory response: @@ -167,19 +247,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:38 GMT + - Fri, 06 Sep 2019 03:24:43 GMT ETag: - - '"0x8D7185A1BF0F530"' + - '"0x8D73279C2A49557"' Last-Modified: - - Sat, 03 Aug 2019 21:32:39 GMT + - Fri, 06 Sep 2019 03:24:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - de728f74-d055-11e9-a7fb-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:43.4212183Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:43.4212183Z' + x-ms-file-id: + - '10376363910205800448' + x-ms-file-last-write-time: + - '2019-09-06T03:24:43.4212183Z' + x-ms-file-parent-id: + - '11529285414812647424' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - e9776c5b-d01a-0008-4342-4a7f73000000 + - 867448d8-e01a-0086-3c62-649f4d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -195,19 +291,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3890b63e-b636-11e9-be71-2816a845e8c6 + - de7b9cee-d055-11e9-a95b-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:32:40 GMT + - Fri, 06 Sep 2019 03:24:43 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9681172a/dir1/file1 response: @@ -217,19 +321,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:38 GMT + - Fri, 06 Sep 2019 03:24:43 GMT ETag: - - '"0x8D7185A1C1D3D66"' + - '"0x8D73279C2AD4A03"' Last-Modified: - - Sat, 03 Aug 2019 21:32:39 GMT + - Fri, 06 Sep 2019 03:24:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - de7b9cee-d055-11e9-a95b-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:24:43.4782723Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:43.4782723Z' + x-ms-file-id: + - '14988049928633188352' + x-ms-file-last-write-time: + - '2019-09-06T03:24:43.4782723Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - e9776c5c-d01a-0008-4442-4a7f73000000 + - 867448d9-e01a-0086-3d62-649f4d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -247,15 +367,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 38acc5e6-b636-11e9-bd2d-2816a845e8c6 + - de82269a-d055-11e9-b79c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:40 GMT + - Fri, 06 Sep 2019 03:24:43 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -269,19 +389,21 @@ interactions: Content-MD5: - idkDvDXe3nJP1SxRQ3/1/Q== Date: - - Sat, 03 Aug 2019 21:32:39 GMT + - Fri, 06 Sep 2019 03:24:43 GMT ETag: - - '"0x8D7185A1C3B03FE"' + - '"0x8D73279C2B45096"' Last-Modified: - - Sat, 03 Aug 2019 21:32:39 GMT + - Fri, 06 Sep 2019 03:24:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - de82269a-d055-11e9-b79c-001a7dda7113 x-ms-request-id: - - e9776c5d-d01a-0008-4542-4a7f73000000 + - 867448da-e01a-0086-3e62-649f4d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -297,19 +419,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 38c16bde-b636-11e9-8a9b-2816a845e8c6 + - de89a326-d055-11e9-a68f-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:32:40 GMT + - Fri, 06 Sep 2019 03:24:43 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9681172a/dir1/subdir1/file2 response: @@ -319,19 +449,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:39 GMT + - Fri, 06 Sep 2019 03:24:43 GMT ETag: - - '"0x8D7185A1C4D08AA"' + - '"0x8D73279C2BB5729"' Last-Modified: - - Sat, 03 Aug 2019 21:32:39 GMT + - Fri, 06 Sep 2019 03:24:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - de89a326-d055-11e9-a68f-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:24:43.5703593Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:43.5703593Z' + x-ms-file-id: + - '12682206919419494400' + x-ms-file-last-write-time: + - '2019-09-06T03:24:43.5703593Z' + x-ms-file-parent-id: + - '11529285414812647424' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - e9776c5e-d01a-0008-4642-4a7f73000000 + - 867448db-e01a-0086-3f62-649f4d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -349,15 +495,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 38eafdb6-b636-11e9-a8c7-2816a845e8c6 + - de902d52-d055-11e9-9ffa-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:41 GMT + - Fri, 06 Sep 2019 03:24:43 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -371,19 +517,21 @@ interactions: Content-MD5: - /5zy1pDYiMszf2v0UmthMA== Date: - - Sat, 03 Aug 2019 21:32:39 GMT + - Fri, 06 Sep 2019 03:24:43 GMT ETag: - - '"0x8D7185A1C7A1457"' + - '"0x8D73279C2C20F8A"' Last-Modified: - - Sat, 03 Aug 2019 21:32:40 GMT + - Fri, 06 Sep 2019 03:24:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - de902d52-d055-11e9-9ffa-001a7dda7113 x-ms-request-id: - - e9776c5f-d01a-0008-4742-4a7f73000000 + - 867448dc-e01a-0086-4062-649f4d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -399,19 +547,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 39008cdc-b636-11e9-86dd-2816a845e8c6 + - de975c3e-d055-11e9-b54d-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:32:41 GMT + - Fri, 06 Sep 2019 03:24:43 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9681172a/dir1/subdir1/file3 response: @@ -421,19 +577,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:39 GMT + - Fri, 06 Sep 2019 03:24:43 GMT ETag: - - '"0x8D7185A1C8D51B0"' + - '"0x8D73279C2C93D36"' Last-Modified: - - Sat, 03 Aug 2019 21:32:40 GMT + - Fri, 06 Sep 2019 03:24:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - de975c3e-d055-11e9-b54d-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:24:43.6614454Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:43.6614454Z' + x-ms-file-id: + - '17293892937846882304' + x-ms-file-last-write-time: + - '2019-09-06T03:24:43.6614454Z' + x-ms-file-parent-id: + - '11529285414812647424' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - e9776c61-d01a-0008-4942-4a7f73000000 + - 867448dd-e01a-0086-4162-649f4d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -451,15 +623,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 39100330-b636-11e9-b432-2816a845e8c6 + - de9e109e-d055-11e9-9180-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:41 GMT + - Fri, 06 Sep 2019 03:24:43 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -473,19 +645,21 @@ interactions: Content-MD5: - eTafePeILBuqu8fUXcXaoA== Date: - - Sat, 03 Aug 2019 21:32:39 GMT + - Fri, 06 Sep 2019 03:24:43 GMT ETag: - - '"0x8D7185A1C9D8143"' + - '"0x8D73279C2D01CB0"' Last-Modified: - - Sat, 03 Aug 2019 21:32:40 GMT + - Fri, 06 Sep 2019 03:24:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - de9e109e-d055-11e9-9180-001a7dda7113 x-ms-request-id: - - e9776c63-d01a-0008-4a42-4a7f73000000 + - 867448de-e01a-0086-4262-649f4d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -499,15 +673,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 39208bfe-b636-11e9-9e2a-2816a845e8c6 + - dea4f474-d055-11e9-955c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:41 GMT + - Fri, 06 Sep 2019 03:24:43 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare9681172a/dir1?restype=directory&comp=list response: @@ -520,17 +694,17 @@ interactions: Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:32:39 GMT + - Fri, 06 Sep 2019 03:24:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin + x-ms-client-request-id: + - dea4f474-d055-11e9-955c-001a7dda7113 x-ms-request-id: - - e9776c64-d01a-0008-4b42-4a7f73000000 + - 867448df-e01a-0086-4362-649f4d000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_subdirectories_and_files.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_subdirectories_and_files.yaml index b190cc51807c..e98ffb2d2246 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_subdirectories_and_files.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_subdirectories_and_files.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 39e7ab10-b636-11e9-b321-2816a845e8c6 + - def80b4c-d055-11e9-886c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:42 GMT + - Fri, 06 Sep 2019 03:24:44 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharefcf21448/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:41 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1DB3428B"' + - '"0x8D73279C33BF0E9"' Last-Modified: - - Sat, 03 Aug 2019 21:32:42 GMT + - Fri, 06 Sep 2019 03:24:44 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - def80b4c-d055-11e9-886c-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:44.4131561Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:44.4131561Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:44.4131561Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 45d9b342-101a-00d9-7f42-4ac22c000000 + - fe535927-601a-0098-4a62-647395000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,15 +81,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3a457f80-b636-11e9-943f-2816a845e8c6 + - df1365fa-d055-11e9-a32b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:43 GMT + - Fri, 06 Sep 2019 03:24:44 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharefcf21448/dir1%2Fsubdir1?restype=directory response: @@ -75,19 +107,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:41 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1DD268F7"' + - '"0x8D73279C3487711"' Last-Modified: - - Sat, 03 Aug 2019 21:32:42 GMT + - Fri, 06 Sep 2019 03:24:44 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - df1365fa-d055-11e9-a32b-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:44.4952337Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:44.4952337Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-06T03:24:44.4952337Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 45d9b344-101a-00d9-8042-4ac22c000000 + - fe535929-601a-0098-4b62-647395000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -103,15 +151,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3a6525f6-b636-11e9-99d0-2816a845e8c6 + - df1df2b0-d055-11e9-8295-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:43 GMT + - Fri, 06 Sep 2019 03:24:44 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharefcf21448/dir1%2Fsubdir2?restype=directory response: @@ -121,19 +177,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:41 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1DF1684D"' + - '"0x8D73279C35439BA"' Last-Modified: - - Sat, 03 Aug 2019 21:32:42 GMT + - Fri, 06 Sep 2019 03:24:44 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - df1df2b0-d055-11e9-8295-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:44.5723066Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:44.5723066Z' + x-ms-file-id: + - '16140971433240035328' + x-ms-file-last-write-time: + - '2019-09-06T03:24:44.5723066Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 45d9b345-101a-00d9-0142-4ac22c000000 + - fe53592a-601a-0098-4c62-647395000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -149,15 +221,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3a84694a-b636-11e9-be25-2816a845e8c6 + - df2d51b6-d055-11e9-af16-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:43 GMT + - Fri, 06 Sep 2019 03:24:44 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharefcf21448/dir1%2Fsubdir3?restype=directory response: @@ -167,19 +247,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:41 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1E117940"' + - '"0x8D73279C3615C48"' Last-Modified: - - Sat, 03 Aug 2019 21:32:42 GMT + - Fri, 06 Sep 2019 03:24:44 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - df2d51b6-d055-11e9-af16-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:44.6583880Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:44.6583880Z' + x-ms-file-id: + - '10376363910205800448' + x-ms-file-last-write-time: + - '2019-09-06T03:24:44.6583880Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 45d9b346-101a-00d9-0242-4ac22c000000 + - fe53592b-601a-0098-4d62-647395000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -195,19 +291,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3a980924-b636-11e9-a472-2816a845e8c6 + - df36f874-d055-11e9-afce-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:32:43 GMT + - Fri, 06 Sep 2019 03:24:44 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharefcf21448/dir1/file1 response: @@ -217,19 +321,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:41 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1E28AEFE"' + - '"0x8D73279C3692663"' Last-Modified: - - Sat, 03 Aug 2019 21:32:42 GMT + - Fri, 06 Sep 2019 03:24:44 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - df36f874-d055-11e9-afce-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:24:44.7094371Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:44.7094371Z' + x-ms-file-id: + - '14988049928633188352' + x-ms-file-last-write-time: + - '2019-09-06T03:24:44.7094371Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 45d9b347-101a-00d9-0342-4ac22c000000 + - fe53592c-601a-0098-4e62-647395000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -247,15 +367,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3ac00f82-b636-11e9-a183-2816a845e8c6 + - df3e48b8-d055-11e9-95bb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:44 GMT + - Fri, 06 Sep 2019 03:24:44 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -269,19 +389,21 @@ interactions: Content-MD5: - idkDvDXe3nJP1SxRQ3/1/Q== Date: - - Sat, 03 Aug 2019 21:32:42 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1E5964D2"' + - '"0x8D73279C37165BA"' Last-Modified: - - Sat, 03 Aug 2019 21:32:43 GMT + - Fri, 06 Sep 2019 03:24:44 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - df3e48b8-d055-11e9-95bb-001a7dda7113 x-ms-request-id: - - 45d9b349-101a-00d9-0542-4ac22c000000 + - fe53592d-601a-0098-4f62-647395000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -297,19 +419,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3adfae68-b636-11e9-bcd0-2816a845e8c6 + - df46b21a-d055-11e9-991f-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:32:44 GMT + - Fri, 06 Sep 2019 03:24:44 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharefcf21448/dir1/file2 response: @@ -319,19 +449,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:42 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1E6C05D3"' + - '"0x8D73279C3789366"' Last-Modified: - - Sat, 03 Aug 2019 21:32:43 GMT + - Fri, 06 Sep 2019 03:24:44 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - df46b21a-d055-11e9-991f-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:24:44.8105318Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:44.8105318Z' + x-ms-file-id: + - '12682206919419494400' + x-ms-file-last-write-time: + - '2019-09-06T03:24:44.8105318Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 45d9b34b-101a-00d9-0742-4ac22c000000 + - fe53592e-601a-0098-5062-647395000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -349,15 +495,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3afe5a4a-b636-11e9-80ae-2816a845e8c6 + - df4d8a66-d055-11e9-a858-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:44 GMT + - Fri, 06 Sep 2019 03:24:44 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -371,19 +517,21 @@ interactions: Content-MD5: - /5zy1pDYiMszf2v0UmthMA== Date: - - Sat, 03 Aug 2019 21:32:42 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1E8D2867"' + - '"0x8D73279C382A7F7"' Last-Modified: - - Sat, 03 Aug 2019 21:32:43 GMT + - Fri, 06 Sep 2019 03:24:44 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - df4d8a66-d055-11e9-a858-001a7dda7113 x-ms-request-id: - - 45d9b34c-101a-00d9-0842-4ac22c000000 + - fe53592f-601a-0098-5162-647395000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -399,19 +547,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3b108126-b636-11e9-8f2f-2816a845e8c6 + - df5804ee-d055-11e9-abc8-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:32:44 GMT + - Fri, 06 Sep 2019 03:24:44 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharefcf21448/dir1/file3 response: @@ -421,19 +577,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:42 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1E9C1F41"' + - '"0x8D73279C389FCBD"' Last-Modified: - - Sat, 03 Aug 2019 21:32:43 GMT + - Fri, 06 Sep 2019 03:24:44 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - df5804ee-d055-11e9-abc8-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:24:44.9246397Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:44.9246397Z' + x-ms-file-id: + - '17293892937846882304' + x-ms-file-last-write-time: + - '2019-09-06T03:24:44.9246397Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 45d9b34e-101a-00d9-0942-4ac22c000000 + - fe535930-601a-0098-5262-647395000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -451,15 +623,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3b24259e-b636-11e9-b533-2816a845e8c6 + - df5edb68-d055-11e9-aa6d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:44 GMT + - Fri, 06 Sep 2019 03:24:44 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -473,19 +645,21 @@ interactions: Content-MD5: - eTafePeILBuqu8fUXcXaoA== Date: - - Sat, 03 Aug 2019 21:32:42 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1EB4DBE7"' + - '"0x8D73279C3910350"' Last-Modified: - - Sat, 03 Aug 2019 21:32:43 GMT + - Fri, 06 Sep 2019 03:24:44 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - df5edb68-d055-11e9-aa6d-001a7dda7113 x-ms-request-id: - - 45d9b34f-101a-00d9-0a42-4ac22c000000 + - fe535931-601a-0098-5362-647395000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -499,15 +673,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3b37c9ae-b636-11e9-a277-2816a845e8c6 + - df65c176-d055-11e9-a715-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:44 GMT + - Fri, 06 Sep 2019 03:24:45 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharefcf21448/dir1?restype=directory&comp=list response: @@ -521,17 +695,17 @@ interactions: Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:32:43 GMT + - Fri, 06 Sep 2019 03:24:44 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin + x-ms-client-request-id: + - df65c176-d055-11e9-a715-001a7dda7113 x-ms-request-id: - - 45d9b350-101a-00d9-0b42-4ac22c000000 + - fe535932-601a-0098-5462-647395000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_subdirectories_and_files_with_prefix.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_subdirectories_and_files_with_prefix.yaml index 0f97b1fada2c..9c8b2fa17d3d 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_subdirectories_and_files_with_prefix.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_subdirectories_and_files_with_prefix.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3be3532c-b636-11e9-8ce6-2816a845e8c6 + - df8ea3e4-d055-11e9-8d85-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:46 GMT + - Fri, 06 Sep 2019 03:24:45 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare10f21950/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:44 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1F9B951E"' + - '"0x8D73279C3DB8BDF"' Last-Modified: - - Sat, 03 Aug 2019 21:32:45 GMT + - Fri, 06 Sep 2019 03:24:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - df8ea3e4-d055-11e9-8d85-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:45.4591455Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:45.4591455Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:45.4591455Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 400fb1d3-401a-0042-0242-4a4f14000000 + - f694f706-101a-00e0-3962-64d06d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,15 +81,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3c399eae-b636-11e9-be34-2816a845e8c6 + - dfb4bd74-d055-11e9-8ad3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:46 GMT + - Fri, 06 Sep 2019 03:24:45 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare10f21950/dir1%2Fsubdir1?restype=directory response: @@ -75,19 +107,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:44 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1FC6A49A"' + - '"0x8D73279C3E68B08"' Last-Modified: - - Sat, 03 Aug 2019 21:32:45 GMT + - Fri, 06 Sep 2019 03:24:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dfb4bd74-d055-11e9-8ad3-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:45.5312136Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:45.5312136Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-06T03:24:45.5312136Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 400fb1d5-401a-0042-0342-4a4f14000000 + - f694f709-101a-00e0-3b62-64d06d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -103,15 +151,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3c595ea8-b636-11e9-82ad-2816a845e8c6 + - dfbc6822-d055-11e9-8c88-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:46 GMT + - Fri, 06 Sep 2019 03:24:45 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare10f21950/dir1%2Fsubdir2?restype=directory response: @@ -121,19 +177,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:44 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1FE5CB07"' + - '"0x8D73279C3EE06E4"' Last-Modified: - - Sat, 03 Aug 2019 21:32:45 GMT + - Fri, 06 Sep 2019 03:24:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dfbc6822-d055-11e9-8c88-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:45.5802596Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:45.5802596Z' + x-ms-file-id: + - '16140971433240035328' + x-ms-file-last-write-time: + - '2019-09-06T03:24:45.5802596Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 400fb1d7-401a-0042-0442-4a4f14000000 + - f694f70b-101a-00e0-3d62-64d06d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -149,15 +221,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3c6b6ade-b636-11e9-ae37-2816a845e8c6 + - dfc60740-d055-11e9-8ac2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:46 GMT + - Fri, 06 Sep 2019 03:24:45 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare10f21950/dir1%2Fsubdir3?restype=directory response: @@ -167,19 +247,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:45 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A1FF8BA3A"' + - '"0x8D73279C3F7F456"' Last-Modified: - - Sat, 03 Aug 2019 21:32:45 GMT + - Fri, 06 Sep 2019 03:24:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dfc60740-d055-11e9-8ac2-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:45.6453206Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:45.6453206Z' + x-ms-file-id: + - '10376363910205800448' + x-ms-file-last-write-time: + - '2019-09-06T03:24:45.6453206Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 400fb1d8-401a-0042-0542-4a4f14000000 + - f694f70c-101a-00e0-3e62-64d06d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -195,19 +291,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3c978362-b636-11e9-94d3-2816a845e8c6 + - dfcd5d1c-d055-11e9-94a2-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:32:47 GMT + - Fri, 06 Sep 2019 03:24:45 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare10f21950/dir1/file1 response: @@ -217,19 +321,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:45 GMT + - Fri, 06 Sep 2019 03:24:44 GMT ETag: - - '"0x8D7185A20261411"' + - '"0x8D73279C4060181"' Last-Modified: - - Sat, 03 Aug 2019 21:32:46 GMT + - Fri, 06 Sep 2019 03:24:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dfcd5d1c-d055-11e9-94a2-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:24:45.7374081Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:45.7374081Z' + x-ms-file-id: + - '14988049928633188352' + x-ms-file-last-write-time: + - '2019-09-06T03:24:45.7374081Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 400fb1d9-401a-0042-0642-4a4f14000000 + - f694f70e-101a-00e0-4062-64d06d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -247,15 +367,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3cb3b1d2-b636-11e9-a660-2816a845e8c6 + - dfdb0b36-d055-11e9-ae27-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:47 GMT + - Fri, 06 Sep 2019 03:24:45 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -269,19 +389,21 @@ interactions: Content-MD5: - idkDvDXe3nJP1SxRQ3/1/Q== Date: - - Sat, 03 Aug 2019 21:32:45 GMT + - Fri, 06 Sep 2019 03:24:45 GMT ETag: - - '"0x8D7185A204401BC"' + - '"0x8D73279C41127C4"' Last-Modified: - - Sat, 03 Aug 2019 21:32:46 GMT + - Fri, 06 Sep 2019 03:24:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dfdb0b36-d055-11e9-ae27-001a7dda7113 x-ms-request-id: - - 400fb1da-401a-0042-0742-4a4f14000000 + - f694f70f-101a-00e0-4162-64d06d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -297,19 +419,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3cd74848-b636-11e9-8ec5-2816a845e8c6 + - dfe69ce4-d055-11e9-a65b-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:32:47 GMT + - Fri, 06 Sep 2019 03:24:45 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare10f21950/dir1/file2 response: @@ -319,19 +449,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:45 GMT + - Fri, 06 Sep 2019 03:24:45 GMT ETag: - - '"0x8D7185A206439CE"' + - '"0x8D73279C4196723"' Last-Modified: - - Sat, 03 Aug 2019 21:32:46 GMT + - Fri, 06 Sep 2019 03:24:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dfe69ce4-d055-11e9-a65b-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:24:45.8645283Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:45.8645283Z' + x-ms-file-id: + - '12682206919419494400' + x-ms-file-last-write-time: + - '2019-09-06T03:24:45.8645283Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 400fb1db-401a-0042-0842-4a4f14000000 + - f694f710-101a-00e0-4262-64d06d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -349,15 +495,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3cf24be6-b636-11e9-afb9-2816a845e8c6 + - dfee5fd2-d055-11e9-9b9b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:47 GMT + - Fri, 06 Sep 2019 03:24:45 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -371,19 +517,21 @@ interactions: Content-MD5: - /5zy1pDYiMszf2v0UmthMA== Date: - - Sat, 03 Aug 2019 21:32:45 GMT + - Fri, 06 Sep 2019 03:24:45 GMT ETag: - - '"0x8D7185A2081B238"' + - '"0x8D73279C420E303"' Last-Modified: - - Sat, 03 Aug 2019 21:32:46 GMT + - Fri, 06 Sep 2019 03:24:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dfee5fd2-d055-11e9-9b9b-001a7dda7113 x-ms-request-id: - - 400fb1dd-401a-0042-0942-4a4f14000000 + - f694f711-101a-00e0-4362-64d06d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -399,19 +547,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3d07ddf4-b636-11e9-bef8-2816a845e8c6 + - dff671a8-d055-11e9-a06a-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:32:47 GMT + - Fri, 06 Sep 2019 03:24:45 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare10f21950/dir1/file3 response: @@ -421,19 +577,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:46 GMT + - Fri, 06 Sep 2019 03:24:45 GMT ETag: - - '"0x8D7185A20947A54"' + - '"0x8D73279C428D42F"' Last-Modified: - - Sat, 03 Aug 2019 21:32:46 GMT + - Fri, 06 Sep 2019 03:24:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dff671a8-d055-11e9-a06a-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:24:45.9656239Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:45.9656239Z' + x-ms-file-id: + - '17293892937846882304' + x-ms-file-last-write-time: + - '2019-09-06T03:24:45.9656239Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 400fb1de-401a-0042-0a42-4a4f14000000 + - f694f713-101a-00e0-4562-64d06d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -451,15 +623,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3d30d0e6-b636-11e9-a0bf-2816a845e8c6 + - dfff9218-d055-11e9-81a7-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:48 GMT + - Fri, 06 Sep 2019 03:24:46 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -473,19 +645,21 @@ interactions: Content-MD5: - eTafePeILBuqu8fUXcXaoA== Date: - - Sat, 03 Aug 2019 21:32:46 GMT + - Fri, 06 Sep 2019 03:24:45 GMT ETag: - - '"0x8D7185A20BF89D0"' + - '"0x8D73279C431D70D"' Last-Modified: - - Sat, 03 Aug 2019 21:32:47 GMT + - Fri, 06 Sep 2019 03:24:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - dfff9218-d055-11e9-81a7-001a7dda7113 x-ms-request-id: - - 400fb1df-401a-0042-0b42-4a4f14000000 + - f694f715-101a-00e0-4762-64d06d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -499,15 +673,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3d43788a-b636-11e9-8e3e-2816a845e8c6 + - e0069224-d055-11e9-ad1f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:48 GMT + - Fri, 06 Sep 2019 03:24:46 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare10f21950/dir1?prefix=sub&restype=directory&comp=list response: @@ -521,17 +695,17 @@ interactions: Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:32:46 GMT + - Fri, 06 Sep 2019 03:24:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin + x-ms-client-request-id: + - e0069224-d055-11e9-ad1f-001a7dda7113 x-ms-request-id: - - 400fb1e0-401a-0042-0c42-4a4f14000000 + - f694f716-101a-00e0-4862-64d06d000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_subdirectories_and_files_with_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_subdirectories_and_files_with_snapshot.yaml index 67412a04fe7a..691dc37a740c 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_subdirectories_and_files_with_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_list_subdirectories_and_files_with_snapshot.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3e073712-b636-11e9-bce0-2816a845e8c6 + - e0365cba-d055-11e9-866a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:46 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare44f21a32/dir1?restype=directory response: @@ -29,19 +37,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:48 GMT + - Fri, 06 Sep 2019 03:24:46 GMT ETag: - - '"0x8D7185A21B7D2A6"' + - '"0x8D73279C47BEA4B"' Last-Modified: - - Sat, 03 Aug 2019 21:32:48 GMT + - Fri, 06 Sep 2019 03:24:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e0365cba-d055-11e9-866a-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:46.5101387Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:46.5101387Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:46.5101387Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 07db4f43-701a-00af-0d42-4a4690000000 + - 3c006552-601a-001e-7b62-64bf2c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,15 +81,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3e4aa78a-b636-11e9-8c24-2816a845e8c6 + - e0515d58-d055-11e9-9131-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:50 GMT + - Fri, 06 Sep 2019 03:24:46 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare44f21a32/dir1%2Fsubdir1?restype=directory response: @@ -75,19 +107,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:48 GMT + - Fri, 06 Sep 2019 03:24:46 GMT ETag: - - '"0x8D7185A21D6F917"' + - '"0x8D73279C48317F4"' Last-Modified: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e0515d58-d055-11e9-9131-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:46.5571828Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:46.5571828Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-06T03:24:46.5571828Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 07db4f45-701a-00af-0e42-4a4690000000 + - 3c006554-601a-001e-7c62-64bf2c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -103,15 +151,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3e699c1e-b636-11e9-987c-2816a845e8c6 + - e0588e08-d055-11e9-83d1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:50 GMT + - Fri, 06 Sep 2019 03:24:46 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare44f21a32/dir1%2Fsubdir2?restype=directory response: @@ -121,19 +177,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:46 GMT ETag: - - '"0x8D7185A21F55C10"' + - '"0x8D73279C48A6CC2"' Last-Modified: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e0588e08-d055-11e9-83d1-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:46.6052290Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:46.6052290Z' + x-ms-file-id: + - '16140971433240035328' + x-ms-file-last-write-time: + - '2019-09-06T03:24:46.6052290Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 07db4f46-701a-00af-0f42-4a4690000000 + - 3c006555-601a-001e-7d62-64bf2c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -149,19 +221,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3e7b7406-b636-11e9-8486-2816a845e8c6 + - e0642240-d055-11e9-a80b-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:32:50 GMT + - Fri, 06 Sep 2019 03:24:46 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare44f21a32/dir1/file1 response: @@ -171,19 +251,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:46 GMT ETag: - - '"0x8D7185A22089971"' + - '"0x8D73279C4965680"' Last-Modified: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e0642240-d055-11e9-a80b-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:24:46.6833024Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:46.6833024Z' + x-ms-file-id: + - '10376363910205800448' + x-ms-file-last-write-time: + - '2019-09-06T03:24:46.6833024Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 07db4f47-701a-00af-1042-4a4690000000 + - 3c006556-601a-001e-7e62-64bf2c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -201,15 +297,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3ea25f94-b636-11e9-92f1-2816a845e8c6 + - e06b291a-d055-11e9-bcef-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:50 GMT + - Fri, 06 Sep 2019 03:24:46 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -223,19 +319,21 @@ interactions: Content-MD5: - idkDvDXe3nJP1SxRQ3/1/Q== Date: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:46 GMT ETag: - - '"0x8D7185A22307403"' + - '"0x8D73279C49D35FA"' Last-Modified: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e06b291a-d055-11e9-bcef-001a7dda7113 x-ms-request-id: - - 07db4f48-701a-00af-1142-4a4690000000 + - 3c006557-601a-001e-7f62-64bf2c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -251,15 +349,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3eb3d452-b636-11e9-8880-2816a845e8c6 + - e071de3e-d055-11e9-9e16-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:50 GMT + - Fri, 06 Sep 2019 03:24:46 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare44f21a32?restype=share&comp=snapshot response: @@ -269,19 +367,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:47 GMT ETag: - - '"0x8D7185A21797837"' + - '"0x8D73279C4546B3B"' Last-Modified: - - Sat, 03 Aug 2019 21:32:48 GMT + - Fri, 06 Sep 2019 03:24:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e071de3e-d055-11e9-9e16-001a7dda7113 x-ms-request-id: - - 07db4f49-701a-00af-1242-4a4690000000 + - 3c006558-601a-001e-8062-64bf2c000000 x-ms-snapshot: - - '2019-08-03T21:32:49.0000000Z' + - '2019-09-06T03:24:47.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -297,15 +397,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3ec8c32c-b636-11e9-a3b9-2816a845e8c6 + - e0fe3138-d055-11e9-8ade-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:50 GMT + - Fri, 06 Sep 2019 03:24:47 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare44f21a32/dir1%2Fsubdir3?restype=directory response: @@ -315,19 +423,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:47 GMT ETag: - - '"0x8D7185A225567DF"' + - '"0x8D73279C5309931"' Last-Modified: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:47 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e0fe3138-d055-11e9-8ade-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:47.6942641Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:47.6942641Z' + x-ms-file-id: + - '14988049928633188352' + x-ms-file-last-write-time: + - '2019-09-06T03:24:47.6942641Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 x-ms-request-id: - - 07db4f4a-701a-00af-1342-4a4690000000 + - 3c006559-601a-001e-0162-64bf2c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -343,19 +467,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3edbdac8-b636-11e9-8f62-2816a845e8c6 + - e10a2a00-d055-11e9-beed-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:32:51 GMT + - Fri, 06 Sep 2019 03:24:47 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare44f21a32/dir1/file2 response: @@ -365,19 +497,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:47 GMT ETag: - - '"0x8D7185A22687E29"' + - '"0x8D73279C53C82F8"' Last-Modified: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:47 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e10a2a00-d055-11e9-beed-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:24:47.7723384Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:47.7723384Z' + x-ms-file-id: + - '12682206919419494400' + x-ms-file-last-write-time: + - '2019-09-06T03:24:47.7723384Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 07db4f4b-701a-00af-1442-4a4690000000 + - 3c00655a-601a-001e-0262-64bf2c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -395,15 +543,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3eebfa86-b636-11e9-a735-2816a845e8c6 + - e1117808-d055-11e9-8c49-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:51 GMT + - Fri, 06 Sep 2019 03:24:47 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -417,19 +565,21 @@ interactions: Content-MD5: - /5zy1pDYiMszf2v0UmthMA== Date: - - Sat, 03 Aug 2019 21:32:49 GMT + - Fri, 06 Sep 2019 03:24:47 GMT ETag: - - '"0x8D7185A227AA9E4"' + - '"0x8D73279C543D7BF"' Last-Modified: - - Sat, 03 Aug 2019 21:32:50 GMT + - Fri, 06 Sep 2019 03:24:47 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e1117808-d055-11e9-8c49-001a7dda7113 x-ms-request-id: - - 07db4f4e-701a-00af-1543-4a4690000000 + - 3c00655b-601a-001e-0362-64bf2c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -445,19 +595,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3f093a4a-b636-11e9-913f-2816a845e8c6 + - e11961d2-d055-11e9-b15a-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:32:51 GMT + - Fri, 06 Sep 2019 03:24:47 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare44f21a32/dir1/file3 response: @@ -467,19 +625,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:32:50 GMT + - Fri, 06 Sep 2019 03:24:47 GMT ETag: - - '"0x8D7185A229589CD"' + - '"0x8D73279C54BC8EB"' Last-Modified: - - Sat, 03 Aug 2019 21:32:50 GMT + - Fri, 06 Sep 2019 03:24:47 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e11961d2-d055-11e9-b15a-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:24:47.8724331Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:47.8724331Z' + x-ms-file-id: + - '17293892937846882304' + x-ms-file-last-write-time: + - '2019-09-06T03:24:47.8724331Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 07db4f50-701a-00af-1643-4a4690000000 + - 3c00655c-601a-001e-0462-64bf2c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -497,15 +671,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3f188dac-b636-11e9-a87d-2816a845e8c6 + - e120fde2-d055-11e9-9fe1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:51 GMT + - Fri, 06 Sep 2019 03:24:47 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -519,19 +693,21 @@ interactions: Content-MD5: - eTafePeILBuqu8fUXcXaoA== Date: - - Sat, 03 Aug 2019 21:32:50 GMT + - Fri, 06 Sep 2019 03:24:47 GMT ETag: - - '"0x8D7185A22A6F219"' + - '"0x8D73279C55392FD"' Last-Modified: - - Sat, 03 Aug 2019 21:32:50 GMT + - Fri, 06 Sep 2019 03:24:47 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e120fde2-d055-11e9-9fe1-001a7dda7113 x-ms-request-id: - - 07db4f51-701a-00af-1743-4a4690000000 + - 3c00655d-601a-001e-0562-64bf2c000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -545,39 +721,39 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3f2f4224-b636-11e9-95fd-2816a845e8c6 + - e129d158-d055-11e9-a86f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:51 GMT + - Fri, 06 Sep 2019 03:24:47 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare44f21a32/dir1?sharesnapshot=2019-08-03T21:32:49.0000000Z&restype=directory&comp=list + uri: https://storagename.file.core.windows.net/utshare44f21a32/dir1?sharesnapshot=2019-09-06T03:24:47.0000000Z&restype=directory&comp=list response: body: string: "\uFEFFfile15subdir1file15subdir1subdir2" headers: Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:32:50 GMT + - Fri, 06 Sep 2019 03:24:47 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin + x-ms-client-request-id: + - e129d158-d055-11e9-a86f-001a7dda7113 x-ms-request-id: - - 07db4f52-701a-00af-1843-4a4690000000 + - 3c00655e-601a-001e-0662-64bf2c000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_set_directory_properties_with_empty_smb_properties.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_set_directory_properties_with_empty_smb_properties.yaml new file mode 100644 index 000000000000..85ba3499c6b3 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_set_directory_properties_with_empty_smb_properties.yaml @@ -0,0 +1,262 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e14fbf58-d055-11e9-b2e3-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:24:48 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshareec31d64/dir1?restype=directory + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Fri, 06 Sep 2019 03:24:47 GMT + ETag: + - '"0x8D73279C59518A9"' + Last-Modified: + - Fri, 06 Sep 2019 03:24:48 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e14fbf58-d055-11e9-b2e3-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:48.3528873Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:48.3528873Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:48.3528873Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 + x-ms-request-id: + - c829a04b-301a-0085-6762-647e29000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e169ec14-d055-11e9-99c8-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:24:48 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshareec31d64/dir1?restype=directory + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Fri, 06 Sep 2019 03:24:47 GMT + ETag: + - '"0x8D73279C59518A9"' + Last-Modified: + - Fri, 06 Sep 2019 03:24:48 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e169ec14-d055-11e9-99c8-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:48.3528873Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:48.3528873Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:48.3528873Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 + x-ms-request-id: + - c829a04d-301a-0085-6862-647e29000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e170295c-d055-11e9-a4c5-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:24:48 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - preserve + x-ms-file-last-write-time: + - preserve + x-ms-file-permission: + - preserve + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshareec31d64/dir1?restype=directory&comp=properties + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Fri, 06 Sep 2019 03:24:47 GMT + ETag: + - '"0x8D73279C5A34CE5"' + Last-Modified: + - Fri, 06 Sep 2019 03:24:48 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e170295c-d055-11e9-a4c5-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:48.4459749Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:48.3528873Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:48.3528873Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 + x-ms-request-id: + - c829a04e-301a-0085-6962-647e29000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e17837e8-d055-11e9-a6e7-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:24:48 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshareec31d64/dir1?restype=directory + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Fri, 06 Sep 2019 03:24:48 GMT + ETag: + - '"0x8D73279C5A34CE5"' + Last-Modified: + - Fri, 06 Sep 2019 03:24:48 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e17837e8-d055-11e9-a6e7-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:48.4459749Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:48.3528873Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:48.3528873Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 + x-ms-request-id: + - c829a04f-301a-0085-6a62-647e29000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_set_directory_properties_with_file_permission_key.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_set_directory_properties_with_file_permission_key.yaml new file mode 100644 index 000000000000..4fc0ba75e39a --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory.test_set_directory_properties_with_file_permission_key.yaml @@ -0,0 +1,262 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e1a71a68-d055-11e9-9405-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:24:48 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshareef771cd8/dir1?restype=directory + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Fri, 06 Sep 2019 03:24:48 GMT + ETag: + - '"0x8D73279C5F0E379"' + Last-Modified: + - Fri, 06 Sep 2019 03:24:48 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e1a71a68-d055-11e9-9405-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:48.9544569Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:48.9544569Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:48.9544569Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 + x-ms-request-id: + - 225ec522-501a-002a-5162-648ce4000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e1c5e468-d055-11e9-8384-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:24:49 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshareef771cd8/dir1?restype=directory + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Fri, 06 Sep 2019 03:24:48 GMT + ETag: + - '"0x8D73279C5F0E379"' + Last-Modified: + - Fri, 06 Sep 2019 03:24:48 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e1c5e468-d055-11e9-8384-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:48.9544569Z' + x-ms-file-creation-time: + - '2019-09-06T03:24:48.9544569Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T03:24:48.9544569Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 + x-ms-request-id: + - 225ec524-501a-002a-5262-648ce4000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e1cc233a-d055-11e9-aa68-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:24:49 GMT + x-ms-file-attributes: + - None + x-ms-file-creation-time: + - '2019-09-06T04:24:48.9544560Z' + x-ms-file-last-write-time: + - '2019-09-06T04:24:48.9544560Z' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshareef771cd8/dir1?restype=directory&comp=properties + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Fri, 06 Sep 2019 03:24:49 GMT + ETag: + - '"0x8D73279C65BCD11"' + Last-Modified: + - Fri, 06 Sep 2019 03:24:49 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e1cc233a-d055-11e9-aa68-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:49.6551185Z' + x-ms-file-creation-time: + - '2019-09-06T04:24:48.9544560Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T04:24:48.9544560Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 6114152433502392343*10394889115079208622 + x-ms-request-id: + - 225ec526-501a-002a-5462-648ce4000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - e230c49e-d055-11e9-a148-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:24:49 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshareef771cd8/dir1?restype=directory + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Fri, 06 Sep 2019 03:24:49 GMT + ETag: + - '"0x8D73279C65BCD11"' + Last-Modified: + - Fri, 06 Sep 2019 03:24:49 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e230c49e-d055-11e9-a148-001a7dda7113 + x-ms-file-attributes: + - Directory + x-ms-file-change-time: + - '2019-09-06T03:24:49.6551185Z' + x-ms-file-creation-time: + - '2019-09-06T04:24:48.9544560Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T04:24:48.9544560Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 6114152433502392343*10394889115079208622 + x-ms-request-id: + - 225ec52c-501a-002a-5a62-648ce4000000 + x-ms-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_directories_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_directories_async.yaml index b6f3a94dd9b1..f3c4786f05ac 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_directories_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_directories_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4003aade-b636-11e9-a254-2816a845e8c6 + - e872d58c-d055-11e9-be10-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:52 GMT + - Fri, 06 Sep 2019 03:25:00 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareff014ac?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:51 GMT + : Fri, 06 Sep 2019 03:24:59 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A23AE96AD"' + : '"0x8D73279CCACA45E"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:52 GMT + : Fri, 06 Sep 2019 03:25:00 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: da5d5cc7-801a-00b1-1443-4a9c7d000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: e872d58c-d055-11e9-be10-001a7dda7113 + x-ms-request-id: 1a3cdcfb-801a-00e2-4362-646ed5000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareff014ac - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4045bb0a-b636-11e9-8388-2816a845e8c6 + - e884564c-d055-11e9-a521-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:53 GMT + - Fri, 06 Sep 2019 03:25:00 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareff014ac/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:51 GMT + : Fri, 06 Sep 2019 03:24:59 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A23CC6D93"' + : '"0x8D73279CCB246F2"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:52 GMT + : Fri, 06 Sep 2019 03:25:00 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: da5d5cca-801a-00b1-1543-4a9c7d000000 + x-ms-client-request-id: e884564c-d055-11e9-a521-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:00.2881778Z' + x-ms-file-creation-time: '2019-09-06T03:25:00.2881778Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:00.2881778Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 1a3cdcfe-801a-00e2-4462-646ed5000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareff014ac/dir1 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_directories_fail_on_exist_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_directories_fail_on_exist_async.yaml index 386cdba159f9..0500bfa58172 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_directories_fail_on_exist_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_directories_fail_on_exist_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4085bc8c-b636-11e9-8a0f-2816a845e8c6 + - e892f786-d055-11e9-a9d8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:53 GMT + - Fri, 06 Sep 2019 03:25:00 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5b431a6f?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:52 GMT + : Fri, 06 Sep 2019 03:25:00 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A242A3217"' + : '"0x8D73279CD29DF3B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:52 GMT + : Fri, 06 Sep 2019 03:25:01 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d14f51ae-a01a-00ad-4a43-4a446a000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: e892f786-d055-11e9-a9d8-001a7dda7113 + x-ms-request-id: de79e8ef-801a-00cd-7a62-64631e000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5b431a6f - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 40b4e718-b636-11e9-b7d0-2816a845e8c6 + - e91363fa-d055-11e9-ac26-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:54 GMT + - Fri, 06 Sep 2019 03:25:01 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5b431a6f/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:52 GMT + : Fri, 06 Sep 2019 03:25:01 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A243B972E"' + : '"0x8D73279CD5516FE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:53 GMT + : Fri, 06 Sep 2019 03:25:01 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d14f51b1-a01a-00ad-4b43-4a446a000000 + x-ms-client-request-id: e91363fa-d055-11e9-ac26-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:01.3551870Z' + x-ms-file-creation-time: '2019-09-06T03:25:01.3551870Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:01.3551870Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: de79e8f3-801a-00cd-7b62-64631e000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5b431a6f/dir1 - restype=directory - '' @@ -98,21 +115,29 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 40ca3278-b636-11e9-b08e-2816a845e8c6 + - e92e7b50-d055-11e9-a6c7-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:54 GMT + - Fri, 06 Sep 2019 03:25:01 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5b431a6f/dir1?restype=directory response: body: string: "\uFEFFResourceAlreadyExistsThe - specified resource already exists.\nRequestId:d14f51b2-a01a-00ad-4c43-4a446a000000\nTime:2019-08-03T21:32:53.1534649Z" + specified resource already exists.\nRequestId:de79e8f4-801a-00cd-7c62-64631e000000\nTime:2019-09-06T03:25:01.5292744Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -122,13 +147,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:52 GMT + : Fri, 06 Sep 2019 03:25:01 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: e92e7b50-d055-11e9-a6c7-001a7dda7113 x-ms-error-code: ResourceAlreadyExists - x-ms-request-id: d14f51b2-a01a-00ad-4c43-4a446a000000 - x-ms-version: '2018-11-09' + x-ms-request-id: de79e8f4-801a-00cd-7c62-64631e000000 + x-ms-version: '2019-02-02' status: code: 409 message: The specified resource already exists. @@ -136,7 +162,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5b431a6f/dir1 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_directories_with_metadata_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_directories_with_metadata_async.yaml index dc63ce549614..0fe54fc4dcbb 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_directories_with_metadata_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_directories_with_metadata_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 410784c0-b636-11e9-b412-2816a845e8c6 + - e9632870-d055-11e9-bb98-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:54 GMT + - Fri, 06 Sep 2019 03:25:01 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5c431a67?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:53 GMT + : Fri, 06 Sep 2019 03:25:01 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A24A80E12"' + : '"0x8D73279CD964F7B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:53 GMT + : Fri, 06 Sep 2019 03:25:01 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bc104b59-101a-001e-7c43-4abeed000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: e9632870-d055-11e9-bb98-001a7dda7113 + x-ms-request-id: 1d4d8dc8-d01a-0024-5062-64a554000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5c431a67 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 413f4828-b636-11e9-8bad-2816a845e8c6 + - e96dd5ec-d055-11e9-b799-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:55 GMT + - Fri, 06 Sep 2019 03:25:01 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-meta-hello: - world x-ms-meta-number: - '42' x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5c431a67/dir1?restype=directory response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:53 GMT + : Fri, 06 Sep 2019 03:25:01 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A24D2E9B3"' + : '"0x8D73279CD9BA6F8"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:54 GMT + : Fri, 06 Sep 2019 03:25:01 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bc104b5c-101a-001e-7d43-4abeed000000 + x-ms-client-request-id: e96dd5ec-d055-11e9-b799-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:01.8176248Z' + x-ms-file-creation-time: '2019-09-06T03:25:01.8176248Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:01.8176248Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 1d4d8dcb-d01a-0024-5162-64a554000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5c431a67/dir1 - restype=directory - '' @@ -102,15 +119,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 41575df0-b636-11e9-b747-2816a845e8c6 + - e970dfb4-d055-11e9-9ccd-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:55 GMT + - Fri, 06 Sep 2019 03:25:01 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5c431a67/dir1?restype=directory response: @@ -122,24 +139,29 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:53 GMT + : Fri, 06 Sep 2019 03:25:01 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A24D2E9B3"' + : '"0x8D73279CD9BA6F8"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:54 GMT + : Fri, 06 Sep 2019 03:25:01 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: e970dfb4-d055-11e9-9ccd-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:01.8176248Z' + x-ms-file-creation-time: '2019-09-06T03:25:01.8176248Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:01.8176248Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 x-ms-meta-hello: world x-ms-meta-number: '42' - x-ms-request-id: bc104b5d-101a-001e-7e43-4abeed000000 + x-ms-request-id: 1d4d8dcc-d01a-0024-5262-64a554000000 x-ms-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -147,7 +169,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5c431a67/dir1 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_subdirectories_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_subdirectories_async.yaml index 478cd0f24582..809b2c083018 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_subdirectories_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_subdirectories_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 41b747fe-b636-11e9-9d62-2816a845e8c6 + - eb4f59e2-d055-11e9-b2e9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:55 GMT + - Fri, 06 Sep 2019 03:25:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare513515f6?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:54 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2562458B"' + : '"0x8D73279CF9AC776"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:54 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 45161c09-c01a-0053-7a43-4a780f000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: eb4f59e2-d055-11e9-b2e9-001a7dda7113 + x-ms-request-id: 564e0efe-001a-0027-5762-644430000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare513515f6 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 41f9a780-b636-11e9-a9dc-2816a845e8c6 + - eb78ec48-d055-11e9-b6a0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:56 GMT + - Fri, 06 Sep 2019 03:25:05 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare513515f6/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:54 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2580875E"' + : '"0x8D73279CFA7426F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:55 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 45161c0c-c01a-0053-7b43-4a780f000000 + x-ms-client-request-id: eb78ec48-d055-11e9-b6a0-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:05.2491375Z' + x-ms-file-creation-time: '2019-09-06T03:25:05.2491375Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:05.2491375Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 564e0f05-001a-0027-5c62-644430000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare513515f6/dir1 - restype=directory - '' @@ -98,15 +115,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 42177736-b636-11e9-b2a3-2816a845e8c6 + - eb7d5942-d055-11e9-8ec7-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:56 GMT + - Fri, 06 Sep 2019 03:25:05 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare513515f6/dir1%2Fdir2?restype=directory response: @@ -118,19 +143,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:54 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A259E26E4"' + : '"0x8D73279CFAAC66E"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:55 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 45161c0d-c01a-0053-7c43-4a780f000000 + x-ms-client-request-id: eb7d5942-d055-11e9-8ec7-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:05.2721774Z' + x-ms-file-creation-time: '2019-09-06T03:25:05.2721774Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-06T03:25:05.2721774Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 564e0f07-001a-0027-5e62-644430000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -138,7 +171,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare513515f6/dir1%2Fdir2 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_subdirectories_with_metadata_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_subdirectories_with_metadata_async.yaml index fc501cf1382f..49d354cf0320 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_subdirectories_with_metadata_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_create_subdirectories_with_metadata_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4241c2f0-b636-11e9-9345-2816a845e8c6 + - eb8c037e-d055-11e9-ac6d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:56 GMT + - Fri, 06 Sep 2019 03:25:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareaf941bb1?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:55 GMT + : Fri, 06 Sep 2019 03:25:04 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A25FFCC7D"' + : '"0x8D73279CFBF34C2"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:55 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2bbaf7df-001a-00ef-5843-4a6f7e000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: eb8c037e-d055-11e9-ac6d-001a7dda7113 + x-ms-request-id: 225ec5a6-501a-002a-4162-648ce4000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareaf941bb1 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 428a42ca-b636-11e9-9364-2816a845e8c6 + - eb963a7e-d055-11e9-9764-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:57 GMT + - Fri, 06 Sep 2019 03:25:05 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareaf941bb1/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:55 GMT + : Fri, 06 Sep 2019 03:25:04 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A261939AF"' + : '"0x8D73279CFC44D2F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:56 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2bbaf7e2-001a-00ef-5943-4a6f7e000000 + x-ms-client-request-id: eb963a7e-d055-11e9-9764-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:05.4394671Z' + x-ms-file-creation-time: '2019-09-06T03:25:05.4394671Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:05.4394671Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 225ec5a8-501a-002a-4262-648ce4000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareaf941bb1/dir1 - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 42b4a61e-b636-11e9-af0d-2816a845e8c6 + - eb9a639c-d055-11e9-a4a9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:57 GMT + - Fri, 06 Sep 2019 03:25:05 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-meta-hello: - world x-ms-meta-number: - '42' x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareaf941bb1/dir1%2Fdir2?restype=directory response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:56 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A263AAA7A"' + : '"0x8D73279CFC7F84F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:56 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2bbaf7e3-001a-00ef-5a43-4a6f7e000000 + x-ms-client-request-id: eb9a639c-d055-11e9-a4a9-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:05.4635087Z' + x-ms-file-creation-time: '2019-09-06T03:25:05.4635087Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-06T03:25:05.4635087Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 225ec5aa-501a-002a-4462-648ce4000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareaf941bb1/dir1%2Fdir2 - restype=directory - '' @@ -150,15 +183,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 42d13e64-b636-11e9-8a60-2816a845e8c6 + - eba1d7a2-d055-11e9-839e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:57 GMT + - Fri, 06 Sep 2019 03:25:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshareaf941bb1/dir1%2Fdir2?restype=directory response: @@ -170,24 +203,29 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:56 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A263AAA7A"' + : '"0x8D73279CFC7F84F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:56 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: eba1d7a2-d055-11e9-839e-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:05.4635087Z' + x-ms-file-creation-time: '2019-09-06T03:25:05.4635087Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-06T03:25:05.4635087Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 x-ms-meta-hello: world x-ms-meta-number: '42' - x-ms-request-id: 2bbaf7e4-001a-00ef-5b43-4a6f7e000000 + x-ms-request-id: 225ec5ab-501a-002a-4562-648ce4000000 x-ms-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -195,7 +233,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareaf941bb1/dir1%2Fdir2 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_directory_with_existing_share_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_directory_with_existing_share_async.yaml index 422232b5915b..cc90313da70f 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_directory_with_existing_share_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_directory_with_existing_share_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 42f9aa6e-b636-11e9-bfa3-2816a845e8c6 + - ebb54466-d055-11e9-9819-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:57 GMT + - Fri, 06 Sep 2019 03:25:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharecd351c3a?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:57 GMT + : Fri, 06 Sep 2019 03:25:04 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A26BB8D56"' + : '"0x8D73279CFE95BDD"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:57 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fcb7ef6d-001a-006c-0e43-4acfd3000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ebb54466-d055-11e9-9819-001a7dda7113 + x-ms-request-id: c1271172-901a-00c1-4762-64f416000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecd351c3a - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4352adb8-b636-11e9-85ce-2816a845e8c6 + - ebc112a2-d055-11e9-9d92-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:58 GMT + - Fri, 06 Sep 2019 03:25:05 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharecd351c3a/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:57 GMT + : Fri, 06 Sep 2019 03:25:04 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A26D8DC0B"' + : '"0x8D73279CFEF8F0F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:57 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fcb7ef70-001a-006c-0f43-4acfd3000000 + x-ms-client-request-id: ebc112a2-d055-11e9-9d92-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:05.7229583Z' + x-ms-file-creation-time: '2019-09-06T03:25:05.7229583Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:05.7229583Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: c1271175-901a-00c1-4862-64f416000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecd351c3a/dir1 - restype=directory - '' @@ -98,15 +115,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 436b2b9e-b636-11e9-8ab6-2816a845e8c6 + - ebc4c148-d055-11e9-b43a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:58 GMT + - Fri, 06 Sep 2019 03:25:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utsharecd351c3a/dir1?restype=directory response: @@ -118,12 +135,13 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:57 GMT + : Fri, 06 Sep 2019 03:25:04 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fcb7ef71-001a-006c-1043-4acfd3000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ebc4c148-d055-11e9-b43a-001a7dda7113 + x-ms-request-id: c1271176-901a-00c1-4962-64f416000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -131,7 +149,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecd351c3a/dir1 - restype=directory - '' @@ -139,21 +157,21 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4373fc74-b636-11e9-85b0-2816a845e8c6 + - ebc7f31e-d055-11e9-bb6c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:58 GMT + - Fri, 06 Sep 2019 03:25:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharecd351c3a/dir1?restype=directory response: body: string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:fcb7ef72-001a-006c-1143-4acfd3000000\nTime:2019-08-03T21:32:57.6276319Z" + specified resource does not exist.\nRequestId:c1271177-901a-00c1-4a62-64f416000000\nTime:2019-09-06T03:25:05.7623817Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -163,16 +181,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:57 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: ebc7f31e-d055-11e9-bb6c-001a7dda7113 x-ms-error-code: ResourceNotFound - x-ms-request-id: fcb7ef72-001a-006c-1143-4acfd3000000 - x-ms-version: '2018-11-09' + x-ms-request-id: c1271177-901a-00c1-4a62-64f416000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified resource does not exist. @@ -180,7 +196,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecd351c3a/dir1 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_directory_with_non_existing_directory_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_directory_with_non_existing_directory_async.yaml index 436379ff3608..d3110929fc46 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_directory_with_non_existing_directory_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_directory_with_non_existing_directory_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 43b6ac9a-b636-11e9-9720-2816a845e8c6 + - ebdf9fc0-d055-11e9-b3c4-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:59 GMT + - Fri, 06 Sep 2019 03:25:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharebe8e1fa6?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:57 GMT + : Fri, 06 Sep 2019 03:25:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A27766694"' + : '"0x8D73279D03D5834"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:58 GMT + : Fri, 06 Sep 2019 03:25:06 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7639a48b-401a-00e8-0c43-4a99fb000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ebdf9fc0-d055-11e9-b3c4-001a7dda7113 + x-ms-request-id: c406e7b2-d01a-009d-4162-64a14e000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharebe8e1fa6 - restype=share - '' @@ -50,21 +51,21 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 440e6724-b636-11e9-a29a-2816a845e8c6 + - ec55d9d4-d055-11e9-88b2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:32:59 GMT + - Fri, 06 Sep 2019 03:25:06 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utsharebe8e1fa6/dir1?restype=directory response: body: string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:7639a48e-401a-00e8-0d43-4a99fb000000\nTime:2019-08-03T21:32:58.6860422Z" + specified resource does not exist.\nRequestId:c406e7b5-d01a-009d-4262-64a14e000000\nTime:2019-09-06T03:25:06.7400894Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -74,13 +75,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:57 GMT + : Fri, 06 Sep 2019 03:25:06 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: ec55d9d4-d055-11e9-88b2-001a7dda7113 x-ms-error-code: ResourceNotFound - x-ms-request-id: 7639a48e-401a-00e8-0d43-4a99fb000000 - x-ms-version: '2018-11-09' + x-ms-request-id: c406e7b5-d01a-009d-4262-64a14e000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified resource does not exist. @@ -88,7 +90,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharebe8e1fa6/dir1 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_file_in_directory_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_file_in_directory_async.yaml index 9958f22ab146..8d3ea54a4621 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_file_in_directory_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_file_in_directory_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 443e553a-b636-11e9-a3f3-2816a845e8c6 + - ec6f91c6-d055-11e9-b17d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:00 GMT + - Fri, 06 Sep 2019 03:25:06 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare92671718?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:59 GMT + : Fri, 06 Sep 2019 03:25:06 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A27DE48D6"' + : '"0x8D73279D0A5D8F1"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:59 GMT + : Fri, 06 Sep 2019 03:25:06 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fcb7ef77-001a-006c-1343-4acfd3000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ec6f91c6-d055-11e9-b17d-001a7dda7113 + x-ms-request-id: c36cb591-401a-0054-7662-641ca3000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare92671718 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 446b555a-b636-11e9-a04d-2816a845e8c6 + - ec7ccf2e-d055-11e9-81e9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:00 GMT + - Fri, 06 Sep 2019 03:25:06 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare92671718/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:59 GMT + : Fri, 06 Sep 2019 03:25:06 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A27F15CF3"' + : '"0x8D73279D0AD94B9"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:59 GMT + : Fri, 06 Sep 2019 03:25:06 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fcb7ef79-001a-006c-1443-4acfd3000000 + x-ms-client-request-id: ec7ccf2e-d055-11e9-81e9-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:06.9682873Z' + x-ms-file-creation-time: '2019-09-06T03:25:06.9682873Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:06.9682873Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: c36cb595-401a-0054-7862-641ca3000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare92671718/dir1 - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4488f662-b636-11e9-84e0-2816a845e8c6 + - ec8506ec-d055-11e9-88e3-001a7dda7113 x-ms-content-length: - '11' x-ms-date: - - Sat, 03 Aug 2019 21:33:00 GMT + - Fri, 06 Sep 2019 03:25:07 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare92671718/dir1/file92671718 response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:59 GMT + : Fri, 06 Sep 2019 03:25:06 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A280EFC79"' + : '"0x8D73279D0B33B67"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:59 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fcb7ef7a-001a-006c-1543-4acfd3000000 + x-ms-client-request-id: ec8506ec-d055-11e9-88e3-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:25:07.0053223Z' + x-ms-file-creation-time: '2019-09-06T03:25:07.0053223Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-06T03:25:07.0053223Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: c36cb596-401a-0054-7962-641ca3000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare92671718/dir1/file92671718 - '' - '' @@ -154,15 +187,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 44a32f7a-b636-11e9-8ca7-2816a845e8c6 + - ec88120c-d055-11e9-a45b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:00 GMT + - Fri, 06 Sep 2019 03:25:07 GMT x-ms-range: - bytes=0-10 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -179,19 +212,20 @@ interactions: : XrY7u+Ae7tCTyyK7j1rNww== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:59 GMT + : Fri, 06 Sep 2019 03:25:06 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A282AC6E4"' + : '"0x8D73279D0B5ACFA"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:32:59 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fcb7ef7b-001a-006c-1643-4acfd3000000 + x-ms-client-request-id: ec88120c-d055-11e9-a45b-001a7dda7113 + x-ms-request-id: c36cb598-401a-0054-7b62-641ca3000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -199,7 +233,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare92671718/dir1/file92671718 - comp=range - '' @@ -207,15 +241,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 44b2cfe2-b636-11e9-b483-2816a845e8c6 + - ec8c06f8-d055-11e9-a4f8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:00 GMT + - Fri, 06 Sep 2019 03:25:07 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare92671718/dir1/file92671718 response: @@ -227,12 +261,13 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:59 GMT + : Fri, 06 Sep 2019 03:25:06 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fcb7ef7c-001a-006c-1743-4acfd3000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ec8c06f8-d055-11e9-a4f8-001a7dda7113 + x-ms-request-id: c36cb599-401a-0054-7c62-641ca3000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -240,7 +275,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare92671718/dir1/file92671718 - '' - '' @@ -248,15 +283,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 44bbd2e8-b636-11e9-ad61-2816a845e8c6 + - ec8dda8c-d055-11e9-bcca-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:00 GMT + - Fri, 06 Sep 2019 03:25:07 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare92671718/dir1/file92671718 response: @@ -265,19 +300,17 @@ interactions: headers: ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:59 GMT + : Fri, 06 Sep 2019 03:25:06 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 ? !!python/object/new:multidict._istr.istr - Transfer-Encoding : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: ec8dda8c-d055-11e9-bcca-001a7dda7113 x-ms-error-code: ResourceNotFound - x-ms-request-id: fcb7ef7d-001a-006c-1843-4acfd3000000 - x-ms-version: '2018-11-09' + x-ms-request-id: c36cb59a-401a-0054-7d62-641ca3000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified resource does not exist. @@ -285,7 +318,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare92671718/dir1/file92671718 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_subdirectories_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_subdirectories_async.yaml index b6a8044b133e..5f42b1790aa1 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_subdirectories_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_delete_subdirectories_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 450a1fc2-b636-11e9-84fb-2816a845e8c6 + - eca6479e-d055-11e9-aab8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:01 GMT + - Fri, 06 Sep 2019 03:25:07 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare510d15f5?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:59 GMT + : Fri, 06 Sep 2019 03:25:06 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A28AE2A6C"' + : '"0x8D73279D0DA8CDC"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:00 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 886b8b35-d01a-0065-3343-4ad55d000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: eca6479e-d055-11e9-aab8-001a7dda7113 + x-ms-request-id: f6a67de7-d01a-0069-3a62-646ab8000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare510d15f5 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 45441218-b636-11e9-bf36-2816a845e8c6 + - ecb1d862-d055-11e9-9bd2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:01 GMT + - Fri, 06 Sep 2019 03:25:07 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare510d15f5/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:32:59 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A28CACD59"' + : '"0x8D73279D0E3F422"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:00 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 886b8b39-d01a-0065-3443-4ad55d000000 + x-ms-client-request-id: ecb1d862-d055-11e9-9bd2-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:07.3246242Z' + x-ms-file-creation-time: '2019-09-06T03:25:07.3246242Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:07.3246242Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: f6a67dea-d01a-0069-3b62-646ab8000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare510d15f5/dir1 - restype=directory - '' @@ -98,15 +115,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 45641328-b636-11e9-a7f5-2816a845e8c6 + - ecb9eb6c-d055-11e9-996b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:02 GMT + - Fri, 06 Sep 2019 03:25:07 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare510d15f5/dir1%2Fdir2?restype=directory response: @@ -118,19 +143,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:00 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A28EA1AD2"' + : '"0x8D73279D0E7C59E"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:00 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 886b8b3a-d01a-0065-3543-4ad55d000000 + x-ms-client-request-id: ecb9eb6c-d055-11e9-996b-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:07.3496478Z' + x-ms-file-creation-time: '2019-09-06T03:25:07.3496478Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-06T03:25:07.3496478Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: f6a67deb-d01a-0069-3c62-646ab8000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -138,7 +171,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare510d15f5/dir1%2Fdir2 - restype=directory - '' @@ -146,15 +179,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4582f4da-b636-11e9-9157-2816a845e8c6 + - ecbdb96c-d055-11e9-8803-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:02 GMT + - Fri, 06 Sep 2019 03:25:07 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare510d15f5/dir1%2Fdir2?restype=directory response: @@ -166,12 +199,13 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:00 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 886b8b3b-d01a-0065-3643-4ad55d000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ecbdb96c-d055-11e9-8803-001a7dda7113 + x-ms-request-id: f6a67dec-d01a-0069-3d62-646ab8000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -179,7 +213,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare510d15f5/dir1%2Fdir2 - restype=directory - '' @@ -187,21 +221,21 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 45a19b24-b636-11e9-8cb4-2816a845e8c6 + - ecc3f6a8-d055-11e9-8260-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:02 GMT + - Fri, 06 Sep 2019 03:25:07 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare510d15f5/dir1%2Fdir2?restype=directory response: body: string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:886b8b3c-d01a-0065-3743-4ad55d000000\nTime:2019-08-03T21:33:01.2806130Z" + specified resource does not exist.\nRequestId:f6a67ded-d01a-0069-3e62-646ab8000000\nTime:2019-09-06T03:25:07.4141076Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -211,16 +245,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:00 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: ecc3f6a8-d055-11e9-8260-001a7dda7113 x-ms-error-code: ResourceNotFound - x-ms-request-id: 886b8b3c-d01a-0065-3743-4ad55d000000 - x-ms-version: '2018-11-09' + x-ms-request-id: f6a67ded-d01a-0069-3e62-646ab8000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified resource does not exist. @@ -228,7 +260,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare510d15f5/dir1%2Fdir2 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_exists_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_exists_async.yaml index 41e779712aa9..255bc6696d23 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_exists_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_exists_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 45d08598-b636-11e9-96ec-2816a845e8c6 + - ecd515e8-d055-11e9-b061-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:02 GMT + - Fri, 06 Sep 2019 03:25:07 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareea0a1410?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:01 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2989D664"' + : '"0x8D73279D109BE80"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:01 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3f05f90d-101a-009d-4d43-4a1e40000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ecd515e8-d055-11e9-b061-001a7dda7113 + x-ms-request-id: 07d42028-d01a-00b2-1262-64ac85000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareea0a1410 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 462177a6-b636-11e9-9741-2816a845e8c6 + - ece16976-d055-11e9-8c97-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:03 GMT + - Fri, 06 Sep 2019 03:25:07 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareea0a1410/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:01 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A29A7C0FE"' + : '"0x8D73279D10F7B7B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:02 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3f05f910-101a-009d-4e43-4a1e40000000 + x-ms-client-request-id: ece16976-d055-11e9-8c97-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:07.6098939Z' + x-ms-file-creation-time: '2019-09-06T03:25:07.6098939Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:07.6098939Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 07d4202b-d01a-00b2-1362-64ac85000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareea0a1410/dir1 - restype=directory - '' @@ -98,15 +115,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 46398092-b636-11e9-a318-2816a845e8c6 + - ece49b9c-d055-11e9-b532-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:03 GMT + - Fri, 06 Sep 2019 03:25:07 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshareea0a1410/dir1?restype=directory response: @@ -118,22 +135,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:01 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A29A7C0FE"' + : '"0x8D73279D10F7B7B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:02 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 3f05f911-101a-009d-4f43-4a1e40000000 + x-ms-client-request-id: ece49b9c-d055-11e9-b532-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:07.6098939Z' + x-ms-file-creation-time: '2019-09-06T03:25:07.6098939Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:07.6098939Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 07d4202c-d01a-00b2-1462-64ac85000000 x-ms-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -141,7 +163,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareea0a1410/dir1 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_exists_with_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_exists_with_snapshot_async.yaml index d8ee6ce323f9..08a9035f2fd1 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_exists_with_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_exists_with_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 46623b82-b636-11e9-9425-2816a845e8c6 + - ecf9c2c8-d055-11e9-ba1e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:03 GMT + - Fri, 06 Sep 2019 03:25:07 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare2fa019fa?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:01 GMT + : Fri, 06 Sep 2019 03:25:06 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2A0133B2"' + : '"0x8D73279D12D1162"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:02 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c514233a-501a-009a-0743-4ae8c5000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ecf9c2c8-d055-11e9-ba1e-001a7dda7113 + x-ms-request-id: 980d354c-701a-0002-0f62-64ed4c000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2fa019fa - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 469e9f88-b636-11e9-b5c2-2816a845e8c6 + - ed07e9e2-d055-11e9-8bf6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:04 GMT + - Fri, 06 Sep 2019 03:25:07 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare2fa019fa/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:02 GMT + : Fri, 06 Sep 2019 03:25:06 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2A24A8DF"' + : '"0x8D73279D1361FA5"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:02 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c514233f-501a-009a-0a43-4ae8c5000000 + x-ms-client-request-id: ed07e9e2-d055-11e9-8bf6-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:07.8631333Z' + x-ms-file-creation-time: '2019-09-06T03:25:07.8631333Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:07.8631333Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 980d354f-701a-0002-1062-64ed4c000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2fa019fa/dir1 - restype=directory - '' @@ -98,15 +115,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 46b68812-b636-11e9-82d1-2816a845e8c6 + - ed0bb7da-d055-11e9-be22-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:04 GMT + - Fri, 06 Sep 2019 03:25:07 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare2fa019fa?restype=share&comp=snapshot response: @@ -118,19 +135,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:02 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2A0133B2"' + : '"0x8D73279D12D1162"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:02 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c5142340-501a-009a-0b43-4ae8c5000000 - x-ms-snapshot: '2019-08-03T21:33:03.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: ed0bb7da-d055-11e9-be22-001a7dda7113 + x-ms-request-id: 980d3550-701a-0002-1162-64ed4c000000 + x-ms-snapshot: '2019-09-06T03:25:07.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -138,7 +156,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2fa019fa - restype=share&comp=snapshot - '' @@ -146,15 +164,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 46d5c59a-b636-11e9-be23-2816a845e8c6 + - ed154e36-d055-11e9-9f22-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:04 GMT + - Fri, 06 Sep 2019 03:25:07 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare2fa019fa/dir1?restype=directory response: @@ -166,12 +184,13 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:02 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c5142341-501a-009a-0c43-4ae8c5000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ed154e36-d055-11e9-9f22-001a7dda7113 + x-ms-request-id: 980d3551-701a-0002-1262-64ed4c000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -179,7 +198,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2fa019fa/dir1 - restype=directory - '' @@ -187,17 +206,17 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 46f54dda-b636-11e9-9fa4-2816a845e8c6 + - ed1aefa8-d055-11e9-907b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:04 GMT + - Fri, 06 Sep 2019 03:25:08 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare2fa019fa/dir1?restype=directory&sharesnapshot=2019-08-03T21:33:03.0000000Z + uri: https://storagename.file.core.windows.net/utshare2fa019fa/dir1?restype=directory&sharesnapshot=2019-09-06T03:25:07.0000000Z response: body: string: '' @@ -207,22 +226,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:02 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2A24A8DF"' + : '"0x8D73279D1361FA5"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:02 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c5142344-501a-009a-0d43-4ae8c5000000 + x-ms-client-request-id: ed1aefa8-d055-11e9-907b-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:07.8631333Z' + x-ms-file-creation-time: '2019-09-06T03:25:07.8631333Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:07.8631333Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 980d3552-701a-0002-1362-64ed4c000000 x-ms-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -230,8 +254,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2fa019fa/dir1 - - restype=directory&sharesnapshot=2019-08-03T21:33:03.0000000Z + - restype=directory&sharesnapshot=2019-09-06T03:25:07.0000000Z - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_not_exists_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_not_exists_async.yaml index 48bf748a22d7..ba07c818c45e 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_not_exists_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_not_exists_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4723737e-b636-11e9-91de-2816a845e8c6 + - ed2f2d28-d055-11e9-b288-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:04 GMT + - Fri, 06 Sep 2019 03:25:08 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare3e7115c0?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:04 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2AE2932C"' + : '"0x8D73279D162FAEF"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:04 GMT + : Fri, 06 Sep 2019 03:25:08 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 874f8d36-101a-005a-6143-4a6281000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ed2f2d28-d055-11e9-b288-001a7dda7113 + x-ms-request-id: b035b474-d01a-008d-6b62-646426000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare3e7115c0 - restype=share - '' @@ -50,21 +51,21 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4778958c-b636-11e9-a797-2816a845e8c6 + - ed3c1ca2-d055-11e9-b697-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:05 GMT + - Fri, 06 Sep 2019 03:25:08 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare3e7115c0/dir1?restype=directory response: body: string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:874f8d3b-101a-005a-6443-4a6281000000\nTime:2019-08-03T21:33:04.3701001Z" + specified resource does not exist.\nRequestId:b035b477-d01a-008d-6c62-646426000000\nTime:2019-09-06T03:25:08.2021372Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -74,16 +75,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:04 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: ed3c1ca2-d055-11e9-b697-001a7dda7113 x-ms-error-code: ResourceNotFound - x-ms-request-id: 874f8d3b-101a-005a-6443-4a6281000000 - x-ms-version: '2018-11-09' + x-ms-request-id: b035b477-d01a-008d-6c62-646426000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified resource does not exist. @@ -91,7 +90,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare3e7115c0/dir1 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_not_exists_with_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_not_exists_with_snapshot_async.yaml index 346b5371fec0..77fb1f63a69d 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_not_exists_with_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_not_exists_with_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 47bdab5a-b636-11e9-905c-2816a845e8c6 + - ed50a7f0-d055-11e9-a4da-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:05 GMT + - Fri, 06 Sep 2019 03:25:08 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9b981baa?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:04 GMT + : Fri, 06 Sep 2019 03:25:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2B5D336C"' + : '"0x8D73279D18521FA"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:04 GMT + : Fri, 06 Sep 2019 03:25:08 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 0eb4cb20-801a-001b-1e43-4a4a92000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ed50a7f0-d055-11e9-a4da-001a7dda7113 + x-ms-request-id: 88a7ee91-101a-0076-2862-64d9bc000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare9b981baa - restype=share - '' @@ -50,15 +51,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 47e54966-b636-11e9-bc04-2816a845e8c6 + - ed5c38c2-d055-11e9-b413-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:06 GMT + - Fri, 06 Sep 2019 03:25:08 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9b981baa?restype=share&comp=snapshot response: @@ -70,19 +71,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:05 GMT + : Fri, 06 Sep 2019 03:25:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2B5D336C"' + : '"0x8D73279D18521FA"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:04 GMT + : Fri, 06 Sep 2019 03:25:08 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 0eb4cb23-801a-001b-1f43-4a4a92000000 - x-ms-snapshot: '2019-08-03T21:33:05.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: ed5c38c2-d055-11e9-b413-001a7dda7113 + x-ms-request-id: 88a7ee95-101a-0076-2a62-64d9bc000000 + x-ms-snapshot: '2019-09-06T03:25:09.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +92,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare9b981baa - restype=share&comp=snapshot - '' @@ -98,15 +100,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 484e3038-b636-11e9-a330-2816a845e8c6 + - ee836de2-d055-11e9-ba98-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:06 GMT + - Fri, 06 Sep 2019 03:25:10 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9b981baa/dir1?restype=directory response: @@ -118,19 +128,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:05 GMT + : Fri, 06 Sep 2019 03:25:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2BD62A4A"' + : '"0x8D73279D2B15BE3"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:05 GMT + : Fri, 06 Sep 2019 03:25:10 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 0eb4cb26-801a-001b-2043-4a4a92000000 + x-ms-client-request-id: ee836de2-d055-11e9-ba98-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:10.3484899Z' + x-ms-file-creation-time: '2019-09-06T03:25:10.3484899Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:10.3484899Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 88a7eeaf-101a-0076-4162-64d9bc000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -138,7 +156,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare9b981baa/dir1 - restype=directory - '' @@ -146,21 +164,21 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 48734a28-b636-11e9-8a92-2816a845e8c6 + - ee884c7a-d055-11e9-b74c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:07 GMT + - Fri, 06 Sep 2019 03:25:10 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare9b981baa/dir1?restype=directory&sharesnapshot=2019-08-03T21:33:05.0000000Z + uri: https://storagename.file.core.windows.net/utshare9b981baa/dir1?restype=directory&sharesnapshot=2019-09-06T03:25:09.0000000Z response: body: string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:0eb4cb27-801a-001b-2143-4a4a92000000\nTime:2019-08-03T21:33:06.2214784Z" + specified resource does not exist.\nRequestId:88a7eeb1-101a-0076-4262-64d9bc000000\nTime:2019-09-06T03:25:10.3813521Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -170,16 +188,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:05 GMT + : Fri, 06 Sep 2019 03:25:09 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: ee884c7a-d055-11e9-b74c-001a7dda7113 x-ms-error-code: ResourceNotFound - x-ms-request-id: 0eb4cb27-801a-001b-2143-4a4a92000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 88a7eeb1-101a-0076-4262-64d9bc000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified resource does not exist. @@ -187,8 +203,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare9b981baa/dir1 - - restype=directory&sharesnapshot=2019-08-03T21:33:05.0000000Z + - restype=directory&sharesnapshot=2019-09-06T03:25:09.0000000Z - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_parent_not_exists_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_parent_not_exists_async.yaml index b9cd3d0eecb7..0935ad5b8596 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_parent_not_exists_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_directory_parent_not_exists_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 48d74a46-b636-11e9-890d-2816a845e8c6 + - eea3f57a-d055-11e9-9bef-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:07 GMT + - Fri, 06 Sep 2019 03:25:10 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharee15b18a9?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:06 GMT + : Fri, 06 Sep 2019 03:25:10 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2C979A7B"' + : '"0x8D73279D2D6FD6A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:07 GMT + : Fri, 06 Sep 2019 03:25:10 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: dafa9667-201a-00b7-7443-4a6b05000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: eea3f57a-d055-11e9-9bef-001a7dda7113 + x-ms-request-id: a06664ff-a01a-0073-6962-640b67000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee15b18a9 - restype=share - '' @@ -50,21 +51,21 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 492ea80a-b636-11e9-858b-2816a845e8c6 + - eeae7c36-d055-11e9-83aa-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:08 GMT + - Fri, 06 Sep 2019 03:25:10 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharee15b18a9/missing1%2Fmissing2?restype=directory response: body: string: "\uFEFFParentNotFoundThe - specified parent path does not exist.\nRequestId:dafa966a-201a-00b7-7543-4a6b05000000\nTime:2019-08-03T21:33:08.1298413Z" + specified parent path does not exist.\nRequestId:a0666502-a01a-0073-6a62-640b67000000\nTime:2019-09-06T03:25:10.6311345Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -74,16 +75,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:07 GMT + : Fri, 06 Sep 2019 03:25:10 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: eeae7c36-d055-11e9-83aa-001a7dda7113 x-ms-error-code: ParentNotFound - x-ms-request-id: dafa966a-201a-00b7-7543-4a6b05000000 - x-ms-version: '2018-11-09' + x-ms-request-id: a0666502-a01a-0073-6a62-640b67000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified parent path does not exist. @@ -91,7 +90,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee15b18a9/missing1%2Fmissing2 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_metadata_with_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_metadata_with_snapshot_async.yaml index 07e89d4db7e5..cd52c13450a7 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_metadata_with_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_metadata_with_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 49efc58c-b636-11e9-a0c0-2816a845e8c6 + - eebdb53a-d055-11e9-a6e3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:09 GMT + - Fri, 06 Sep 2019 03:25:10 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharecc781c3a?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:08 GMT + : Fri, 06 Sep 2019 03:25:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2DA04F3A"' + : '"0x8D73279D2F10DDD"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:08 GMT + : Fri, 06 Sep 2019 03:25:10 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 37d9aa04-501a-00b3-7243-4a9e87000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: eebdb53a-d055-11e9-a6e3-001a7dda7113 + x-ms-request-id: b035b47a-d01a-008d-6e62-646426000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecc781c3a - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4a480e70-b636-11e9-b10a-2816a845e8c6 + - eec8469e-d055-11e9-a977-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:10 GMT + - Fri, 06 Sep 2019 03:25:10 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-meta-test1: - foo x-ms-meta-test2: - bar x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharecc781c3a/dir1?restype=directory response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:08 GMT + : Fri, 06 Sep 2019 03:25:10 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2DCE1046"' + : '"0x8D73279D2FC59B5"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:09 GMT + : Fri, 06 Sep 2019 03:25:10 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 37d9aa07-501a-00b3-7343-4a9e87000000 + x-ms-client-request-id: eec8469e-d055-11e9-a977-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:10.8399541Z' + x-ms-file-creation-time: '2019-09-06T03:25:10.8399541Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:10.8399541Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: b035b47c-d01a-008d-6f62-646426000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecc781c3a/dir1 - restype=directory - '' @@ -102,15 +119,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4a51674a-b636-11e9-ab9b-2816a845e8c6 + - eed10f76-d055-11e9-9032-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:10 GMT + - Fri, 06 Sep 2019 03:25:10 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharecc781c3a?restype=share&comp=snapshot response: @@ -122,19 +139,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:08 GMT + : Fri, 06 Sep 2019 03:25:13 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2DA04F3A"' + : '"0x8D73279D2F10DDD"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:08 GMT + : Fri, 06 Sep 2019 03:25:10 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 37d9aa08-501a-00b3-7443-4a9e87000000 - x-ms-snapshot: '2019-08-03T21:33:09.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: eed10f76-d055-11e9-9032-001a7dda7113 + x-ms-request-id: b035b47d-d01a-008d-7062-646426000000 + x-ms-snapshot: '2019-09-06T03:25:13.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +160,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecc781c3a - restype=share&comp=snapshot - '' @@ -150,19 +168,19 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4a802c10-b636-11e9-8eb8-2816a845e8c6 + - f126d598-d055-11e9-a91d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:10 GMT + - Fri, 06 Sep 2019 03:25:14 GMT x-ms-meta-test100: - foo100 x-ms-meta-test200: - bar200 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharecc781c3a/dir1?restype=directory&comp=metadata response: @@ -174,19 +192,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:08 GMT + : Fri, 06 Sep 2019 03:25:14 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2E07A13C"' + : '"0x8D73279D5555A1B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:09 GMT + : Fri, 06 Sep 2019 03:25:14 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 37d9aa0b-501a-00b3-7743-4a9e87000000 + x-ms-client-request-id: f126d598-d055-11e9-a91d-001a7dda7113 + x-ms-request-id: b035b480-d01a-008d-7162-646426000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -194,7 +213,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecc781c3a/dir1 - restype=directory&comp=metadata - '' @@ -202,17 +221,17 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4aa51a88-b636-11e9-a8e4-2816a845e8c6 + - f131a4e8-d055-11e9-864c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:10 GMT + - Fri, 06 Sep 2019 03:25:14 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utsharecc781c3a/dir1?restype=directory&sharesnapshot=2019-08-03T21:33:09.0000000Z + uri: https://storagename.file.core.windows.net/utsharecc781c3a/dir1?restype=directory&sharesnapshot=2019-09-06T03:25:13.0000000Z response: body: string: '' @@ -222,24 +241,29 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:09 GMT + : Fri, 06 Sep 2019 03:25:14 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2DCE1046"' + : '"0x8D73279D2FC59B5"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:09 GMT + : Fri, 06 Sep 2019 03:25:10 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: f131a4e8-d055-11e9-864c-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:10.8399541Z' + x-ms-file-creation-time: '2019-09-06T03:25:10.8399541Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:10.8399541Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 x-ms-meta-test1: foo x-ms-meta-test2: bar - x-ms-request-id: 37d9aa0c-501a-00b3-7843-4a9e87000000 + x-ms-request-id: b035b481-d01a-008d-7262-646426000000 x-ms-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -247,8 +271,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecc781c3a/dir1 - - restype=directory&sharesnapshot=2019-08-03T21:33:09.0000000Z + - restype=directory&sharesnapshot=2019-09-06T03:25:13.0000000Z - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_async.yaml index 2eb93cb34c36..fe73f4998e99 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4aea8c9c-b636-11e9-a2d9-2816a845e8c6 + - f140b5a6-d055-11e9-ae63-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:11 GMT + - Fri, 06 Sep 2019 03:25:14 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare97e3175c?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:10 GMT + : Fri, 06 Sep 2019 03:25:14 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2EA108E3"' + : '"0x8D73279D573E5F5"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:10 GMT + : Fri, 06 Sep 2019 03:25:14 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 26d3fd26-901a-004b-6143-4a559a000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: f140b5a6-d055-11e9-ae63-001a7dda7113 + x-ms-request-id: 3360687a-301a-0061-5062-6470b7000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare97e3175c - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4b41e1c0-b636-11e9-b95c-2816a845e8c6 + - f14b690a-d055-11e9-9bc9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:11 GMT + - Fri, 06 Sep 2019 03:25:15 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare97e3175c/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:10 GMT + : Fri, 06 Sep 2019 03:25:14 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2EC85519"' + : '"0x8D73279D579DAE1"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:10 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 26d3fd29-901a-004b-6243-4a559a000000 + x-ms-client-request-id: f14b690a-d055-11e9-9bc9-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:15.0179041Z' + x-ms-file-creation-time: '2019-09-06T03:25:15.0179041Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:15.0179041Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 3360687d-301a-0061-5162-6470b7000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare97e3175c/dir1 - restype=directory - '' @@ -98,15 +115,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4b5a288c-b636-11e9-817c-2816a845e8c6 + - f14ee946-d055-11e9-8cc3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:12 GMT + - Fri, 06 Sep 2019 03:25:15 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare97e3175c/dir1?restype=directory response: @@ -118,22 +135,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:10 GMT + : Fri, 06 Sep 2019 03:25:14 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2EC85519"' + : '"0x8D73279D579DAE1"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:10 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 26d3fd2a-901a-004b-6343-4a559a000000 + x-ms-client-request-id: f14ee946-d055-11e9-8cc3-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:15.0179041Z' + x-ms-file-creation-time: '2019-09-06T03:25:15.0179041Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:15.0179041Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 3360687e-301a-0061-5262-6470b7000000 x-ms-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -141,7 +163,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare97e3175c/dir1 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_server_encryption_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_server_encryption_async.yaml index 9c5e90b17a51..56466c47256c 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_server_encryption_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_server_encryption_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4b7aed12-b636-11e9-912d-2816a845e8c6 + - f15e46b8-d055-11e9-b389-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:12 GMT + - Fri, 06 Sep 2019 03:25:15 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare85231efc?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:10 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2F264932"' + : '"0x8D73279D591CB1C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:11 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7ab19107-301a-0020-6243-4a08cc000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: f15e46b8-d055-11e9-b389-001a7dda7113 + x-ms-request-id: 82ee64e5-401a-008f-1c62-64da9e000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85231efc - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4bbe99ec-b636-11e9-b4f4-2816a845e8c6 + - f169fe88-d055-11e9-badb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:12 GMT + - Fri, 06 Sep 2019 03:25:15 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare85231efc/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:10 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2F453CFE"' + : '"0x8D73279D597F17E"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:11 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7ab1910a-301a-0020-6343-4a08cc000000 + x-ms-client-request-id: f169fe88-d055-11e9-badb-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:15.2150910Z' + x-ms-file-creation-time: '2019-09-06T03:25:15.2150910Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:15.2150910Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 82ee64e8-401a-008f-1d62-64da9e000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85231efc/dir1 - restype=directory - '' @@ -98,15 +115,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4bd66f4c-b636-11e9-82b1-2816a845e8c6 + - f16c94cc-d055-11e9-9577-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:12 GMT + - Fri, 06 Sep 2019 03:25:15 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare85231efc/dir1?restype=directory response: @@ -118,22 +135,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:11 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2F453CFE"' + : '"0x8D73279D597F17E"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:11 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7ab1910b-301a-0020-6443-4a08cc000000 + x-ms-client-request-id: f16c94cc-d055-11e9-9577-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:15.2150910Z' + x-ms-file-creation-time: '2019-09-06T03:25:15.2150910Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:15.2150910Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 82ee64ea-401a-008f-1e62-64da9e000000 x-ms-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -141,7 +163,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85231efc/dir1 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_with_non_existing_directory_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_with_non_existing_directory_async.yaml index 1cf41184ca6b..07babd144035 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_with_non_existing_directory_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_with_non_existing_directory_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4c06688c-b636-11e9-8186-2816a845e8c6 + - f179fa88-d055-11e9-8534-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:13 GMT + - Fri, 06 Sep 2019 03:25:15 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshared07a231f?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:12 GMT + : Fri, 06 Sep 2019 03:25:14 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A2FB9D58C"' + : '"0x8D73279D5ADFB48"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:12 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 40847710-c01a-001c-6943-4abc17000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: f179fa88-d055-11e9-8534-001a7dda7113 + x-ms-request-id: de18ca34-d01a-00a2-4c62-6469ed000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshared07a231f - restype=share - '' @@ -50,21 +51,21 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4c447ed8-b636-11e9-8242-2816a845e8c6 + - f18b3438-d055-11e9-bcbe-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:13 GMT + - Fri, 06 Sep 2019 03:25:15 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshared07a231f/dir1?restype=directory response: body: string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:40847713-c01a-001c-6a43-4abc17000000\nTime:2019-08-03T21:33:12.5807736Z" + specified resource does not exist.\nRequestId:de18ca37-d01a-00a2-4d62-6469ed000000\nTime:2019-09-06T03:25:15.4335712Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -74,16 +75,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:12 GMT + : Fri, 06 Sep 2019 03:25:14 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: f18b3438-d055-11e9-bcbe-001a7dda7113 x-ms-error-code: ResourceNotFound - x-ms-request-id: 40847713-c01a-001c-6a43-4abc17000000 - x-ms-version: '2018-11-09' + x-ms-request-id: de18ca37-d01a-00a2-4d62-6469ed000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified resource does not exist. @@ -91,7 +90,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshared07a231f/dir1 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_with_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_with_snapshot_async.yaml index 7699442fbc17..12c26b5cb377 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_with_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_directory_properties_with_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4c9f521c-b636-11e9-875d-2816a845e8c6 + - f1985b8c-d055-11e9-ad55-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:14 GMT + - Fri, 06 Sep 2019 03:25:15 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareba11d46?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:12 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A3060834E"' + : '"0x8D73279D5CC0024"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:13 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bc467532-601a-0055-1743-4a8f77000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: f1985b8c-d055-11e9-ad55-001a7dda7113 + x-ms-request-id: ca7d09d9-101a-0004-6762-64def3000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba11d46 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4cf72874-b636-11e9-a874-2816a845e8c6 + - f1a305d2-d055-11e9-96b0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:14 GMT + - Fri, 06 Sep 2019 03:25:15 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-meta-test1: - foo x-ms-meta-test2: - bar x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareba11d46/dir1?restype=directory response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:13 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A307D5999"' + : '"0x8D73279D5D137C6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:13 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bc467536-601a-0055-1843-4a8f77000000 + x-ms-client-request-id: f1a305d2-d055-11e9-96b0-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:15.5904454Z' + x-ms-file-creation-time: '2019-09-06T03:25:15.5904454Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:15.5904454Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: ca7d09dc-101a-0004-6862-64def3000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba11d46/dir1 - restype=directory - '' @@ -102,15 +119,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4d0dd458-b636-11e9-84b6-2816a845e8c6 + - f1a65ede-d055-11e9-93ac-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:14 GMT + - Fri, 06 Sep 2019 03:25:15 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareba11d46?restype=share&comp=snapshot response: @@ -122,19 +139,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:13 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A3060834E"' + : '"0x8D73279D5CC0024"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:13 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bc467537-601a-0055-1943-4a8f77000000 - x-ms-snapshot: '2019-08-03T21:33:13.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: f1a65ede-d055-11e9-93ac-001a7dda7113 + x-ms-request-id: ca7d09dd-101a-0004-6962-64def3000000 + x-ms-snapshot: '2019-09-06T03:25:17.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +160,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba11d46 - restype=share&comp=snapshot - '' @@ -150,19 +168,19 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4d4da652-b636-11e9-a142-2816a845e8c6 + - f2c8ef00-d055-11e9-a78a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:15 GMT + - Fri, 06 Sep 2019 03:25:17 GMT x-ms-meta-test100: - foo100 x-ms-meta-test200: - bar200 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareba11d46/dir1?restype=directory&comp=metadata response: @@ -174,19 +192,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:13 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A30D4D854"' + : '"0x8D73279D6F89A46"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:14 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bc467538-601a-0055-1a43-4a8f77000000 + x-ms-client-request-id: f2c8ef00-d055-11e9-a78a-001a7dda7113 + x-ms-request-id: ca7d09e2-101a-0004-6b62-64def3000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -194,7 +213,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba11d46/dir1 - restype=directory&comp=metadata - '' @@ -202,17 +221,17 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4d717e58-b636-11e9-a128-2816a845e8c6 + - f2d6994c-d055-11e9-af0c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:15 GMT + - Fri, 06 Sep 2019 03:25:17 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshareba11d46/dir1?restype=directory&sharesnapshot=2019-08-03T21:33:13.0000000Z + uri: https://storagename.file.core.windows.net/utshareba11d46/dir1?restype=directory&sharesnapshot=2019-09-06T03:25:17.0000000Z response: body: string: '' @@ -222,24 +241,29 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:13 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A307D5999"' + : '"0x8D73279D5D137C6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:13 GMT + : Fri, 06 Sep 2019 03:25:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: f2d6994c-d055-11e9-af0c-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:15.5904454Z' + x-ms-file-creation-time: '2019-09-06T03:25:15.5904454Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:15.5904454Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 x-ms-meta-test1: foo x-ms-meta-test2: bar - x-ms-request-id: bc467539-601a-0055-1b43-4a8f77000000 + x-ms-request-id: ca7d09e3-101a-0004-6c62-64def3000000 x-ms-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -247,8 +271,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba11d46/dir1 - - restype=directory&sharesnapshot=2019-08-03T21:33:13.0000000Z + - restype=directory&sharesnapshot=2019-09-06T03:25:17.0000000Z - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_set_directory_metadata_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_set_directory_metadata_async.yaml index ef79b947a519..9db6c0e531d2 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_set_directory_metadata_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_get_set_directory_metadata_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4daf4c24-b636-11e9-a1e5-2816a845e8c6 + - f2e5d0e2-d055-11e9-96e1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:15 GMT + - Fri, 06 Sep 2019 03:25:17 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharec53317fb?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:14 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A3162B516"' + : '"0x8D73279D718BD64"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:15 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 9654eb9e-f01a-003d-1343-4ad126000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: f2e5d0e2-d055-11e9-96e1-001a7dda7113 + x-ms-request-id: 1d4d8e8f-d01a-0024-7762-64a554000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharec53317fb - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4df1213a-b636-11e9-8291-2816a845e8c6 + - f2efdfac-d055-11e9-9de6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:16 GMT + - Fri, 06 Sep 2019 03:25:17 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharec53317fb/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:14 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A3177295A"' + : '"0x8D73279D71DDE9F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:15 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 9654eba3-f01a-003d-1643-4ad126000000 + x-ms-client-request-id: f2efdfac-d055-11e9-9de6-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:17.7705119Z' + x-ms-file-creation-time: '2019-09-06T03:25:17.7705119Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:17.7705119Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 1d4d8e91-d01a-0024-7862-64a554000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharec53317fb/dir1 - restype=directory - '' @@ -98,19 +115,19 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4e091bac-b636-11e9-bd31-2816a845e8c6 + - f2f31d8c-d055-11e9-8f99-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:16 GMT + - Fri, 06 Sep 2019 03:25:17 GMT x-ms-meta-hello: - world x-ms-meta-number: - '43' x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharec53317fb/dir1?restype=directory&comp=metadata response: @@ -122,19 +139,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:15 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A318FE5FB"' + : '"0x8D73279D720774D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:15 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 9654eba5-f01a-003d-1743-4ad126000000 + x-ms-client-request-id: f2f31d8c-d055-11e9-8f99-001a7dda7113 + x-ms-request-id: 1d4d8e92-d01a-0024-7962-64a554000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -142,7 +160,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharec53317fb/dir1 - restype=directory&comp=metadata - '' @@ -150,15 +168,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4e295f1a-b636-11e9-be04-2816a845e8c6 + - f2f6a9c0-d055-11e9-ab3b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:16 GMT + - Fri, 06 Sep 2019 03:25:17 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharec53317fb/dir1?restype=directory response: @@ -170,24 +188,29 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:15 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A318FE5FB"' + : '"0x8D73279D720774D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:15 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: f2f6a9c0-d055-11e9-ab3b-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:17.7875277Z' + x-ms-file-creation-time: '2019-09-06T03:25:17.7705119Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:17.7705119Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 x-ms-meta-hello: world x-ms-meta-number: '43' - x-ms-request-id: 9654eba6-f01a-003d-1843-4ad126000000 + x-ms-request-id: 1d4d8e93-d01a-0024-7a62-64a554000000 x-ms-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -195,7 +218,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharec53317fb/dir1 - restype=directory - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_nested_subdirectories_and_files_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_nested_subdirectories_and_files_async.yaml index 7698531b9955..a96d0513de8a 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_nested_subdirectories_and_files_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_nested_subdirectories_and_files_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4e55bb82-b636-11e9-bcdc-2816a845e8c6 + - f306f574-d055-11e9-a5b6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:17 GMT + - Fri, 06 Sep 2019 03:25:17 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharecde41c24?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:15 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A321513CD"' + : '"0x8D73279D73A8525"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:16 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e23d270-001a-00c6-3b43-4a193c000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: f306f574-d055-11e9-a5b6-001a7dda7113 + x-ms-request-id: 992368a3-201a-00c4-4e62-6426cd000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecde41c24 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4ead9a46-b636-11e9-9f91-2816a845e8c6 + - f31415a4-d055-11e9-ba9f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:17 GMT + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:16 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A3233E4F6"' + : '"0x8D73279D7423856"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:16 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e23d273-001a-00c6-3c43-4a193c000000 + x-ms-client-request-id: f31415a4-d055-11e9-ba9f-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:18.0087382Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.0087382Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:18.0087382Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 992368a6-201a-00c4-4f62-6426cd000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecde41c24/dir1 - restype=directory - '' @@ -98,15 +115,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4ec63de8-b636-11e9-91cd-2816a845e8c6 + - f31870c0-d055-11e9-9a28-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:17 GMT + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1%2Fsubdir1?restype=directory response: @@ -118,19 +143,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:16 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A324BDE24"' + : '"0x8D73279D745E2B9"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:16 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e23d274-001a-00c6-3d43-4a193c000000 + x-ms-client-request-id: f31870c0-d055-11e9-9a28-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:18.0327609Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.0327609Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-06T03:25:18.0327609Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 992368a7-201a-00c4-5062-6426cd000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -138,7 +171,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecde41c24/dir1%2Fsubdir1 - restype=directory - '' @@ -146,15 +179,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4ee63f74-b636-11e9-978d-2816a845e8c6 + - f31d5b0a-d055-11e9-9c80-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:17 GMT + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1%2Fsubdir1%2Fsubdir2?restype=directory response: @@ -166,19 +207,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:16 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A326C1637"' + : '"0x8D73279D74B3B34"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:16 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e23d276-001a-00c6-3e43-4a193c000000 + x-ms-client-request-id: f31d5b0a-d055-11e9-9c80-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:18.0677940Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.0677940Z' + x-ms-file-id: '16140971433240035328' + x-ms-file-last-write-time: '2019-09-06T03:25:18.0677940Z' + x-ms-file-parent-id: '11529285414812647424' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 992368a8-201a-00c4-5162-6426cd000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -186,7 +235,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecde41c24/dir1%2Fsubdir1%2Fsubdir2 - restype=directory - '' @@ -194,15 +243,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4f0bd624-b636-11e9-9925-2816a845e8c6 + - f3210964-d055-11e9-a20b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:18 GMT + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1%2Fsubdir1%2Fsubdir3?restype=directory response: @@ -214,19 +271,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:16 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A3291F490"' + : '"0x8D73279D74EBE7E"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:17 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e23d277-001a-00c6-3f43-4a193c000000 + x-ms-client-request-id: f3210964-d055-11e9-a20b-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:18.0908158Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.0908158Z' + x-ms-file-id: '10376363910205800448' + x-ms-file-last-write-time: '2019-09-06T03:25:18.0908158Z' + x-ms-file-parent-id: '11529285414812647424' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 992368a9-201a-00c4-5262-6426cd000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -234,7 +299,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecde41c24/dir1%2Fsubdir1%2Fsubdir3 - restype=directory - '' @@ -242,19 +307,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4f27b69c-b636-11e9-b00c-2816a845e8c6 + - f324b694-d055-11e9-80ce-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:33:18 GMT + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1/file1 response: @@ -266,19 +339,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:16 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A32AE0D23"' + : '"0x8D73279D752DE2D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:17 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e23d278-001a-00c6-4043-4a193c000000 + x-ms-client-request-id: f324b694-d055-11e9-80ce-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:25:18.1178413Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.1178413Z' + x-ms-file-id: '14988049928633188352' + x-ms-file-last-write-time: '2019-09-06T03:25:18.1178413Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 992368aa-201a-00c4-5362-6426cd000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -286,7 +367,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecde41c24/dir1/file1 - '' - '' @@ -298,15 +379,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 4f31db3a-b636-11e9-aeac-2816a845e8c6 + - f327c078-d055-11e9-b6ec-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:18 GMT + - Fri, 06 Sep 2019 03:25:18 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -323,19 +404,20 @@ interactions: : idkDvDXe3nJP1SxRQ3/1/Q== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:16 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A32B8482C"' + : '"0x8D73279D75576DE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:17 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e23d279-001a-00c6-4143-4a193c000000 + x-ms-client-request-id: f327c078-d055-11e9-b6ec-001a7dda7113 + x-ms-request-id: 992368ab-201a-00c4-5462-6426cd000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -343,7 +425,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecde41c24/dir1/file1 - comp=range - '' @@ -351,21 +433,29 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4f2a0cfa-b636-11e9-b375-2816a845e8c6 + - f32773da-d055-11e9-b12c-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:33:18 GMT + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1/subdir1/file2 + uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1/subdir1/file3 response: body: string: '' @@ -375,19 +465,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:17 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A32CD5AA3"' + : '"0x8D73279D75B1D8C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:17 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2c3f8a94-601a-00d6-0743-4a2fda000000 + x-ms-client-request-id: f32773da-d055-11e9-b12c-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:25:18.1718924Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.1718924Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:25:18.1718924Z' + x-ms-file-parent-id: '11529285414812647424' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a48cc324-901a-0047-6b62-6438af000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -395,29 +493,37 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utsharecde41c24/dir1/subdir1/file2 + - emilydevtest.file.core.windows.net + - /utsharecde41c24/dir1/subdir1/file3 - '' - '' - request: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4f2c9100-b636-11e9-9ec5-2816a845e8c6 + - f326151c-d055-11e9-8945-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:33:18 GMT + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1/subdir1/file3 + uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1/subdir1/file2 response: body: string: '' @@ -427,19 +533,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:16 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A32CEE181"' + : '"0x8D73279D75AA844"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:17 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: cc2004ae-f01a-00be-3643-4a718b000000 + x-ms-client-request-id: f326151c-d055-11e9-8945-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:25:18.1688900Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.1688900Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:25:18.1688900Z' + x-ms-file-parent-id: '11529285414812647424' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a3f0b545-c01a-00e3-2762-643109000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -447,31 +561,31 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utsharecde41c24/dir1/subdir1/file3 + - emilydevtest.file.core.windows.net + - /utsharecde41c24/dir1/subdir1/file2 - '' - '' - request: - body: data2 + body: data3 headers: Content-Length: - '5' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 4f50900a-b636-11e9-8bcb-2816a845e8c6 + - f32ffd30-d055-11e9-b91b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:18 GMT + - Fri, 06 Sep 2019 03:25:18 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT - uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1/subdir1/file2?comp=range + uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1/subdir1/file3?comp=range response: body: string: '' @@ -481,22 +595,23 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Content-Md5 - : /5zy1pDYiMszf2v0UmthMA== + : eTafePeILBuqu8fUXcXaoA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:17 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A32D8F573"' + : '"0x8D73279D75DDD5B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:17 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2c3f8a96-601a-00d6-0843-4a2fda000000 + x-ms-client-request-id: f32ffd30-d055-11e9-b91b-001a7dda7113 + x-ms-request-id: a48cc327-901a-0047-6c62-6438af000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -504,31 +619,31 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utsharecde41c24/dir1/subdir1/file2 + - emilydevtest.file.core.windows.net + - /utsharecde41c24/dir1/subdir1/file3 - comp=range - '' - request: - body: data3 + body: data2 headers: Content-Length: - '5' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 4f52c0cc-b636-11e9-9f5a-2816a845e8c6 + - f330995a-d055-11e9-a1c3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:18 GMT + - Fri, 06 Sep 2019 03:25:18 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT - uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1/subdir1/file3?comp=range + uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1/subdir1/file2?comp=range response: body: string: '' @@ -538,22 +653,23 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Content-Md5 - : eTafePeILBuqu8fUXcXaoA== + : /5zy1pDYiMszf2v0UmthMA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:16 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A32D9DFFD"' + : '"0x8D73279D75E79C1"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:17 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: cc2004b0-f01a-00be-3743-4a718b000000 + x-ms-client-request-id: f330995a-d055-11e9-a1c3-001a7dda7113 + x-ms-request-id: a3f0b547-c01a-00e3-2862-643109000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -561,8 +677,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utsharecde41c24/dir1/subdir1/file3 + - emilydevtest.file.core.windows.net + - /utsharecde41c24/dir1/subdir1/file2 - comp=range - '' - request: @@ -571,15 +687,15 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4f5d722e-b636-11e9-bb46-2816a845e8c6 + - f333a9fe-d055-11e9-8731-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:18 GMT + - Fri, 06 Sep 2019 03:25:18 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharecde41c24/dir1?restype=directory&comp=list response: @@ -594,18 +710,16 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:16 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 ? !!python/object/new:multidict._istr.istr - Transfer-Encoding : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cc2004b1-f01a-00be-3843-4a718b000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: f333a9fe-d055-11e9-8731-001a7dda7113 + x-ms-request-id: a3f0b549-c01a-00e3-2a62-643109000000 + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -613,7 +727,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharecde41c24/dir1 - restype=directory&comp=list - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_subdirectories_and_files_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_subdirectories_and_files_async.yaml index 91bbfcdc4bba..65277027e4f1 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_subdirectories_and_files_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_subdirectories_and_files_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4f8e2718-b636-11e9-91c4-2816a845e8c6 + - f3471cb4-d055-11e9-9044-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:19 GMT + - Fri, 06 Sep 2019 03:25:18 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare11ad1942?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:17 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A334E0724"' + : '"0x8D73279D77DFFC8"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 39e0adf0-401a-00a7-0543-4a5de3000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: f3471cb4-d055-11e9-9044-001a7dda7113 + x-ms-request-id: 351d89fc-f01a-000c-5662-64c4fc000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare11ad1942 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4fe539c0-b636-11e9-a1dc-2816a845e8c6 + - f3558794-d055-11e9-8acf-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:19 GMT + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:17 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A336C9DB1"' + : '"0x8D73279D7845A67"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 39e0adf3-401a-00a7-0643-4a5de3000000 + x-ms-client-request-id: f3558794-d055-11e9-8acf-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:18.4421479Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.4421479Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:18.4421479Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 351d89ff-f01a-000c-5762-64c4fc000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare11ad1942/dir1 - restype=directory - '' @@ -98,15 +115,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 50027fee-b636-11e9-89bb-2816a845e8c6 + - f35ab79e-d055-11e9-b4d3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:19 GMT + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1%2Fsubdir1?restype=directory response: @@ -118,19 +143,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:17 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A338D4B09"' + : '"0x8D73279D78852FD"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 39e0adf4-401a-00a7-0743-4a5de3000000 + x-ms-client-request-id: f35ab79e-d055-11e9-b4d3-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:18.4681725Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.4681725Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-06T03:25:18.4681725Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 351d8a01-f01a-000c-5962-64c4fc000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -138,7 +171,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare11ad1942/dir1%2Fsubdir1 - restype=directory - '' @@ -146,17 +179,29 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 5004e078-b636-11e9-a7a7-2816a845e8c6 + - f3622c88-d055-11e9-a82b-001a7dda7113 + x-ms-content-length: + - '5' x-ms-date: - - Sat, 03 Aug 2019 21:33:19 GMT + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1%2Fsubdir2?restype=directory + uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1/file3 response: body: string: '' @@ -166,19 +211,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A33B01B9C"' + : '"0x8D73279D795C3BE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7afa84d0-a01a-008f-7e43-4a2a5c000000 + x-ms-client-request-id: f3622c88-d055-11e9-a82b-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:25:18.5562558Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.5562558Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:25:18.5562558Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: f694f835-101a-00e0-4662-64d06d000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -186,25 +239,37 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare11ad1942/dir1%2Fsubdir2 - - restype=directory + - emilydevtest.file.core.windows.net + - /utshare11ad1942/dir1/file3 + - '' - '' - request: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 50085a82-b636-11e9-9dfc-2816a845e8c6 + - f360cde4-d055-11e9-826c-001a7dda7113 + x-ms-content-length: + - '5' x-ms-date: - - Sat, 03 Aug 2019 21:33:19 GMT + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1%2Fsubdir3?restype=directory + uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1/file2 response: body: string: '' @@ -214,19 +279,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A33B217CD"' + : '"0x8D73279D795C3BE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 9bef8ce0-101a-0078-5b43-4a0cb7000000 + x-ms-client-request-id: f360cde4-d055-11e9-826c-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:25:18.5562558Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.5562558Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:25:18.5562558Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 1a3cdd20-801a-00e2-4a62-646ed5000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -234,29 +307,31 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare11ad1942/dir1%2Fsubdir3 - - restype=directory + - emilydevtest.file.core.windows.net + - /utshare11ad1942/dir1/file2 + - '' - '' - request: - body: null + body: data3 headers: + Content-Length: + - '5' + Content-Type: + - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 500cc1cc-b636-11e9-af34-2816a845e8c6 - x-ms-content-length: - - '5' + - f36f1bf6-d055-11e9-bf78-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:19 GMT - x-ms-type: - - file + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-range: + - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' + x-ms-write: + - update method: PUT - uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1/file2 + uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1/file3?comp=range response: body: string: '' @@ -265,20 +340,24 @@ interactions: - Content-Length : '0' ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : eTafePeILBuqu8fUXcXaoA== + ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A33B4893F"' + : '"0x8D73279D79CCA51"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 963d4ab9-801a-0098-2143-4aea3f000000 + x-ms-client-request-id: f36f1bf6-d055-11e9-bf78-001a7dda7113 + x-ms-request-id: f694f837-101a-00e0-4762-64d06d000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -286,29 +365,31 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare11ad1942/dir1/file2 - - '' + - emilydevtest.file.core.windows.net + - /utshare11ad1942/dir1/file3 + - comp=range - '' - request: - body: null + body: data2 headers: + Content-Length: + - '5' + Content-Type: + - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 500aa4ac-b636-11e9-af42-2816a845e8c6 - x-ms-content-length: - - '5' + - f36f69de-d055-11e9-a92e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:19 GMT - x-ms-type: - - file + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-range: + - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' + x-ms-write: + - update method: PUT - uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1/file1 + uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1/file2?comp=range response: body: string: '' @@ -317,20 +398,24 @@ interactions: - Content-Length : '0' ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : /5zy1pDYiMszf2v0UmthMA== + ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A33B4FE84"' + : '"0x8D73279D79D8DD5"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ddeb6ea9-601a-0038-3143-4a2559000000 + x-ms-client-request-id: f36f69de-d055-11e9-a92e-001a7dda7113 + x-ms-request-id: 1a3cdd21-801a-00e2-4b62-646ed5000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -338,29 +423,37 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare11ad1942/dir1/file1 - - '' + - emilydevtest.file.core.windows.net + - /utshare11ad1942/dir1/file2 + - comp=range - '' - request: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 500ec858-b636-11e9-9147-2816a845e8c6 + - f35f963a-d055-11e9-89f6-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:33:19 GMT + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1/file3 + uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1/file1 response: body: string: '' @@ -370,19 +463,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A33B59ADD"' + : '"0x8D73279D7A57EFD"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 9eff0466-201a-0095-7143-4a0533000000 + x-ms-client-request-id: f35f963a-d055-11e9-89f6-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:25:18.6593533Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.6593533Z' + x-ms-file-id: '13835075647468208128' + x-ms-file-last-write-time: '2019-09-06T03:25:18.6593533Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: ea94ca2c-c01a-0091-1962-643646000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -390,31 +491,33 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare11ad1942/dir1/file3 + - emilydevtest.file.core.windows.net + - /utshare11ad1942/dir1/file1 - '' - '' - request: - body: data2 + body: null headers: - Content-Length: - - '5' - Content-Type: - - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 x-ms-client-request-id: - - 5037cf62-b636-11e9-8c3a-2816a845e8c6 + - f35e379e-d055-11e9-9abd-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:20 GMT - x-ms-range: - - bytes=0-4 + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' - x-ms-write: - - update + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1/file2?comp=range + uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1%2Fsubdir3?restype=directory response: body: string: '' @@ -423,23 +526,28 @@ interactions: - Content-Length : '0' ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : /5zy1pDYiMszf2v0UmthMA== - ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:19 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A33BEC44C"' + : '"0x8D73279D7A5CD3C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:19 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 963d4abb-801a-0098-2243-4aea3f000000 + x-ms-client-request-id: f35e379e-d055-11e9-9abd-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:18.6613564Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.6613564Z' + x-ms-file-id: '13835146016212385792' + x-ms-file-last-write-time: '2019-09-06T03:25:18.6613564Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 782f506d-f01a-00b5-7262-64c0e6000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -447,9 +555,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare11ad1942/dir1/file2 - - comp=range + - emilydevtest.file.core.windows.net + - /utshare11ad1942/dir1%2Fsubdir3 + - restype=directory - '' - request: body: data1 @@ -459,15 +567,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 503a21b8-b636-11e9-b155-2816a845e8c6 + - f37a3402-d055-11e9-87d7-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:20 GMT + - Fri, 06 Sep 2019 03:25:18 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -484,19 +592,20 @@ interactions: : idkDvDXe3nJP1SxRQ3/1/Q== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:17 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A33C24760"' + : '"0x8D73279D7A7F094"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:19 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ddeb6eab-601a-0038-3243-4a2559000000 + x-ms-client-request-id: f37a3402-d055-11e9-87d7-001a7dda7113 + x-ms-request-id: ea94ca2f-c01a-0091-1a62-643646000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -504,31 +613,33 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare11ad1942/dir1/file1 - comp=range - '' - request: - body: data3 + body: null headers: - Content-Length: - - '5' - Content-Type: - - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 x-ms-client-request-id: - - 503b9c80-b636-11e9-9c3e-2816a845e8c6 + - f35c8b22-d055-11e9-83cf-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:20 GMT - x-ms-range: - - bytes=0-4 + - Fri, 06 Sep 2019 03:25:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' - x-ms-write: - - update + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1/file3?comp=range + uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1%2Fsubdir2?restype=directory response: body: string: '' @@ -537,23 +648,28 @@ interactions: - Content-Length : '0' ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : eTafePeILBuqu8fUXcXaoA== - ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A33C26E77"' + : '"0x8D73279D7A7F094"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:19 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 9eff0468-201a-0095-7243-4a0533000000 + x-ms-client-request-id: f35c8b22-d055-11e9-83cf-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:18.6753684Z' + x-ms-file-creation-time: '2019-09-06T03:25:18.6753684Z' + x-ms-file-id: '13835110831840296960' + x-ms-file-last-write-time: '2019-09-06T03:25:18.6753684Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 8aa0f50f-d01a-00ef-7c62-64a601000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -561,9 +677,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare11ad1942/dir1/file3 - - comp=range + - emilydevtest.file.core.windows.net + - /utshare11ad1942/dir1%2Fsubdir2 + - restype=directory - '' - request: body: null @@ -571,15 +687,15 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 50468190-b636-11e9-9b5a-2816a845e8c6 + - f37ccf1e-d055-11e9-b7c0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:20 GMT + - Fri, 06 Sep 2019 03:25:18 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare11ad1942/dir1?restype=directory&comp=list response: @@ -595,18 +711,16 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 ? !!python/object/new:multidict._istr.istr - Transfer-Encoding : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 9eff0469-201a-0095-7343-4a0533000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: f37ccf1e-d055-11e9-b7c0-001a7dda7113 + x-ms-request-id: 8aa0f512-d01a-00ef-7d62-64a601000000 + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -614,7 +728,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare11ad1942/dir1 - restype=directory&comp=list - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_subdirectories_and_files_with_prefix_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_subdirectories_and_files_with_prefix_async.yaml index 3556146d7517..df53ef0ce452 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_subdirectories_and_files_with_prefix_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_subdirectories_and_files_with_prefix_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 50733ffa-b636-11e9-8903-2816a845e8c6 + - f39e5cd4-d055-11e9-9c74-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:20 GMT + - Fri, 06 Sep 2019 03:25:18 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare61aa1e4a?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A3413EF8B"' + : '"0x8D73279D7D1C861"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:19 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: cc42b4ca-801a-007d-0b43-4af8c8000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: f39e5cd4-d055-11e9-9c74-001a7dda7113 + x-ms-request-id: 92969b31-001a-006a-2b62-648bdc000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare61aa1e4a - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 50c0753a-b636-11e9-9d78-2816a845e8c6 + - f3abae1c-d055-11e9-aebf-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:21 GMT + - Fri, 06 Sep 2019 03:25:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:18 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A3446AAAD"' + : '"0x8D73279D7DA576B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:19 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: cc42b4cd-801a-007d-0c43-4af8c8000000 + x-ms-client-request-id: f3abae1c-d055-11e9-aebf-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:19.0056811Z' + x-ms-file-creation-time: '2019-09-06T03:25:19.0056811Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:19.0056811Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 92969b35-001a-006a-2d62-648bdc000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare61aa1e4a/dir1 - restype=directory - '' @@ -98,15 +115,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 50cf34f4-b636-11e9-a8ad-2816a845e8c6 + - f3b04b38-d055-11e9-b9da-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:21 GMT + - Fri, 06 Sep 2019 03:25:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1%2Fsubdir1?restype=directory response: @@ -118,19 +143,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:19 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A3454DE0F"' + : '"0x8D73279D7DE01CA"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: cc42b4ce-801a-007d-0d43-4af8c8000000 + x-ms-client-request-id: f3b04b38-d055-11e9-b9da-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:19.0297034Z' + x-ms-file-creation-time: '2019-09-06T03:25:19.0297034Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-06T03:25:19.0297034Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 92969b36-001a-006a-2e62-648bdc000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -138,7 +171,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare61aa1e4a/dir1%2Fsubdir1 - restype=directory - '' @@ -146,21 +179,25 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 50d5cf86-b636-11e9-8b0e-2816a845e8c6 - x-ms-content-length: - - '5' + - f3b1a9e8-d055-11e9-9a32-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:21 GMT - x-ms-type: - - file + - Fri, 06 Sep 2019 03:25:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1/file1 + uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1%2Fsubdir2?restype=directory response: body: string: '' @@ -170,19 +207,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:19 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A347BCE17"' + : '"0x8D73279D7EB4B76"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c8b12f2d-f01a-0036-6443-4ac952000000 + x-ms-client-request-id: f3b1a9e8-d055-11e9-9a32-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:19.1167862Z' + x-ms-file-creation-time: '2019-09-06T03:25:19.1167862Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:25:19.1167862Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 850f966a-101a-00bd-6762-64dae9000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -190,25 +235,37 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare61aa1e4a/dir1/file1 - - '' + - emilydevtest.file.core.windows.net + - /utshare61aa1e4a/dir1%2Fsubdir2 + - restype=directory - '' - request: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 50d39026-b636-11e9-a973-2816a845e8c6 + - f3b59eda-d055-11e9-957f-001a7dda7113 + x-ms-content-length: + - '5' x-ms-date: - - Sat, 03 Aug 2019 21:33:21 GMT + - Fri, 06 Sep 2019 03:25:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1%2Fsubdir3?restype=directory + uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1/file2 response: body: string: '' @@ -218,19 +275,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A347D06D0"' + : '"0x8D73279D7EB4B76"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 01599383-801a-0076-4543-4ae0bc000000 + x-ms-client-request-id: f3b59eda-d055-11e9-957f-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:25:19.1167862Z' + x-ms-file-creation-time: '2019-09-06T03:25:19.1167862Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:25:19.1167862Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: ea94ca30-c01a-0091-1b62-643646000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -238,25 +303,37 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare61aa1e4a/dir1%2Fsubdir3 - - restype=directory + - emilydevtest.file.core.windows.net + - /utshare61aa1e4a/dir1/file2 + - '' - '' - request: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 50d149ca-b636-11e9-8fcd-2816a845e8c6 + - f3b4403a-d055-11e9-acd7-001a7dda7113 + x-ms-content-length: + - '5' x-ms-date: - - Sat, 03 Aug 2019 21:33:21 GMT + - Fri, 06 Sep 2019 03:25:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1%2Fsubdir2?restype=directory + uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1/file1 response: body: string: '' @@ -266,19 +343,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:19 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A347E3F89"' + : '"0x8D73279D7EB728B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3742116b-c01a-00b6-5443-4a6af8000000 + x-ms-client-request-id: f3b4403a-d055-11e9-acd7-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:25:19.1177867Z' + x-ms-file-creation-time: '2019-09-06T03:25:19.1177867Z' + x-ms-file-id: '13835075647468208128' + x-ms-file-last-write-time: '2019-09-06T03:25:19.1177867Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 5e7c60d8-d01a-0079-2962-64afd0000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -286,29 +371,33 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare61aa1e4a/dir1%2Fsubdir2 - - restype=directory + - emilydevtest.file.core.windows.net + - /utshare61aa1e4a/dir1/file1 + - '' - '' - request: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 50d937d0-b636-11e9-a181-2816a845e8c6 - x-ms-content-length: - - '5' + - f3b30890-d055-11e9-b94e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:21 GMT - x-ms-type: - - file + - Fri, 06 Sep 2019 03:25:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1/file3 + uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1%2Fsubdir3?restype=directory response: body: string: '' @@ -318,19 +407,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A347F512B"' + : '"0x8D73279D7ECAB57"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 066cd5f4-601a-00bb-2543-4a85f4000000 + x-ms-client-request-id: f3b30890-d055-11e9-b94e-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:19.1257943Z' + x-ms-file-creation-time: '2019-09-06T03:25:19.1257943Z' + x-ms-file-id: '13835146016212385792' + x-ms-file-last-write-time: '2019-09-06T03:25:19.1257943Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: b569790c-601a-0053-2d62-6470c0000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -338,29 +435,31 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare61aa1e4a/dir1/file3 - - '' + - emilydevtest.file.core.windows.net + - /utshare61aa1e4a/dir1%2Fsubdir3 + - restype=directory - '' - request: - body: null + body: data2 headers: + Content-Length: + - '5' + Content-Type: + - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 50d7d2da-b636-11e9-9b07-2816a845e8c6 - x-ms-content-length: - - '5' + - f3c134da-d055-11e9-a135-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:21 GMT - x-ms-type: - - file + - Fri, 06 Sep 2019 03:25:19 GMT + x-ms-range: + - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' + x-ms-write: + - update method: PUT - uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1/file2 + uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1/file2?comp=range response: body: string: '' @@ -369,20 +468,24 @@ interactions: - Content-Length : '0' ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : /5zy1pDYiMszf2v0UmthMA== + ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:19 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A347FED8B"' + : '"0x8D73279D7EF4408"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 35db773b-f01a-0097-5f43-4a07c9000000 + x-ms-client-request-id: f3c134da-d055-11e9-a135-001a7dda7113 + x-ms-request-id: ea94ca31-c01a-0091-1c62-643646000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -390,9 +493,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare61aa1e4a/dir1/file2 - - '' + - comp=range - '' - request: body: data1 @@ -402,15 +505,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 50fedec0-b636-11e9-9cc4-2816a845e8c6 + - f3c21e9c-d055-11e9-b7d2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:21 GMT + - Fri, 06 Sep 2019 03:25:19 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -427,19 +530,20 @@ interactions: : idkDvDXe3nJP1SxRQ3/1/Q== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:19 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A3486CC9C"' + : '"0x8D73279D7F02EA0"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c8b12f2f-f01a-0036-6543-4ac952000000 + x-ms-client-request-id: f3c21e9c-d055-11e9-b7d2-001a7dda7113 + x-ms-request-id: 5e7c60da-d01a-0079-2a62-64afd0000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -447,31 +551,37 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare61aa1e4a/dir1/file1 - comp=range - '' - request: - body: data3 + body: null headers: - Content-Length: - - '5' - Content-Type: - - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 x-ms-client-request-id: - - 51024610-b636-11e9-bee5-2816a845e8c6 + - f3b6fd1c-d055-11e9-8576-001a7dda7113 + x-ms-content-length: + - '5' x-ms-date: - - Sat, 03 Aug 2019 21:33:21 GMT - x-ms-range: - - bytes=0-4 + - Fri, 06 Sep 2019 03:25:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file x-ms-version: - - '2018-11-09' - x-ms-write: - - update + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1/file3?comp=range + uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1/file3 response: body: string: '' @@ -480,23 +590,28 @@ interactions: - Content-Length : '0' ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : eTafePeILBuqu8fUXcXaoA== - ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A348A76C7"' + : '"0x8D73279D803BB5C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 066cd5f6-601a-00bb-2643-4a85f4000000 + x-ms-client-request-id: f3b6fd1c-d055-11e9-8576-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:25:19.2769372Z' + x-ms-file-creation-time: '2019-09-06T03:25:19.2769372Z' + x-ms-file-id: '13835110831840296960' + x-ms-file-last-write-time: '2019-09-06T03:25:19.2769372Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 9a221000-001a-007a-6062-644eb4000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -504,31 +619,31 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare61aa1e4a/dir1/file3 - - comp=range + - '' - '' - request: - body: data2 + body: data3 headers: Content-Length: - '5' Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 51041870-b636-11e9-945a-2816a845e8c6 + - f3d9d2ec-d055-11e9-b646-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:21 GMT + - Fri, 06 Sep 2019 03:25:19 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT - uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1/file2?comp=range + uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1/file3?comp=range response: body: string: '' @@ -538,22 +653,23 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Content-Md5 - : /5zy1pDYiMszf2v0UmthMA== + : eTafePeILBuqu8fUXcXaoA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:19 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A348A9DDE"' + : '"0x8D73279D8080225"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 35db773d-f01a-0097-6043-4a07c9000000 + x-ms-client-request-id: f3d9d2ec-d055-11e9-b646-001a7dda7113 + x-ms-request-id: 9a221003-001a-007a-6162-644eb4000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -561,8 +677,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare61aa1e4a/dir1/file2 + - emilydevtest.file.core.windows.net + - /utshare61aa1e4a/dir1/file3 - comp=range - '' - request: @@ -571,15 +687,15 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 510eb1c2-b636-11e9-adb6-2816a845e8c6 + - f3dca2b4-d055-11e9-a0cb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:21 GMT + - Fri, 06 Sep 2019 03:25:19 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare61aa1e4a/dir1?prefix=sub&restype=directory&comp=list response: @@ -595,18 +711,16 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 ? !!python/object/new:multidict._istr.istr - Transfer-Encoding : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 35db773e-f01a-0097-6143-4a07c9000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: f3dca2b4-d055-11e9-a0cb-001a7dda7113 + x-ms-request-id: 9a221004-001a-007a-6262-644eb4000000 + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -614,7 +728,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare61aa1e4a/dir1 - prefix=sub&restype=directory&comp=list - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_subdirectories_and_files_with_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_subdirectories_and_files_with_snapshot_async.yaml index 6b5b8baad99f..c4801e435d36 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_subdirectories_and_files_with_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_list_subdirectories_and_files_with_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 51478bd8-b636-11e9-889a-2816a845e8c6 + - f401c51c-d055-11e9-a1f9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:21 GMT + - Fri, 06 Sep 2019 03:25:19 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9ff01f2c?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A35042CCE"' + : '"0x8D73279D8363C1F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e7b6769b-201a-007b-0743-4a0fb0000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: f401c51c-d055-11e9-a1f9-001a7dda7113 + x-ms-request-id: 6c47bf1d-f01a-00a5-3762-64058e000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare9ff01f2c - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 519c2b40-b636-11e9-8f6c-2816a845e8c6 + - f410dcb4-d055-11e9-bbc3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:22 GMT + - Fri, 06 Sep 2019 03:25:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A3522B3CE"' + : '"0x8D73279D83F250D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e7b6769e-201a-007b-0843-4a0fb0000000 + x-ms-client-request-id: f410dcb4-d055-11e9-bbc3-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:19.6663053Z' + x-ms-file-creation-time: '2019-09-06T03:25:19.6663053Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:19.6663053Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 6c47bf21-f01a-00a5-3962-64058e000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare9ff01f2c/dir1 - restype=directory - '' @@ -98,15 +115,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 51b86336-b636-11e9-abe1-2816a845e8c6 + - f4156d86-d055-11e9-9440-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:22 GMT + - Fri, 06 Sep 2019 03:25:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1%2Fsubdir1?restype=directory response: @@ -118,19 +143,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:20 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A353E08FC"' + : '"0x8D73279D8431DA7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e7b6769f-201a-007b-0943-4a0fb0000000 + x-ms-client-request-id: f4156d86-d055-11e9-9440-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:19.6923303Z' + x-ms-file-creation-time: '2019-09-06T03:25:19.6923303Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-06T03:25:19.6923303Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 6c47bf22-f01a-00a5-3a62-64058e000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -138,7 +171,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare9ff01f2c/dir1%2Fsubdir1 - restype=directory - '' @@ -146,17 +179,29 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 51ba6822-b636-11e9-a4df-2816a845e8c6 + - f41878a6-d055-11e9-8957-001a7dda7113 + x-ms-content-length: + - '5' x-ms-date: - - Sat, 03 Aug 2019 21:33:22 GMT + - Fri, 06 Sep 2019 03:25:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1%2Fsubdir2?restype=directory + uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1/file1 response: body: string: '' @@ -166,19 +211,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A355CE136"' + : '"0x8D73279D84B5D02"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: be4dbcdc-f01a-0014-2743-4aa764000000 + x-ms-client-request-id: f41878a6-d055-11e9-8957-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:25:19.7463810Z' + x-ms-file-creation-time: '2019-09-06T03:25:19.7463810Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:25:19.7463810Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: b569790e-601a-0053-2e62-6470c0000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -186,29 +239,33 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare9ff01f2c/dir1%2Fsubdir2 - - restype=directory + - emilydevtest.file.core.windows.net + - /utshare9ff01f2c/dir1/file1 + - '' - '' - request: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 51bcf1f0-b636-11e9-8281-2816a845e8c6 - x-ms-content-length: - - '5' + - f416f318-d055-11e9-8c49-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:22 GMT - x-ms-type: - - file + - Fri, 06 Sep 2019 03:25:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1/file1 + uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1%2Fsubdir2?restype=directory response: body: string: '' @@ -218,19 +275,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A355E681E"' + : '"0x8D73279D84B5D02"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 530c714c-f01a-009c-1443-4a1fbd000000 + x-ms-client-request-id: f416f318-d055-11e9-8c49-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:19.7463810Z' + x-ms-file-creation-time: '2019-09-06T03:25:19.7463810Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:25:19.7463810Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: b0474314-801a-0029-7362-646d80000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -238,9 +303,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare9ff01f2c/dir1/file1 - - '' + - emilydevtest.file.core.windows.net + - /utshare9ff01f2c/dir1%2Fsubdir2 + - restype=directory - '' - request: body: data1 @@ -250,15 +315,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 51e1e392-b636-11e9-8431-2816a845e8c6 + - f420104c-d055-11e9-b945-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:22 GMT + - Fri, 06 Sep 2019 03:25:19 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -275,19 +340,20 @@ interactions: : idkDvDXe3nJP1SxRQ3/1/Q== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A35691874"' + : '"0x8D73279D84DCE99"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 530c714e-f01a-009c-1543-4a1fbd000000 + x-ms-client-request-id: f420104c-d055-11e9-b945-001a7dda7113 + x-ms-request-id: b569790f-601a-0053-2f62-6470c0000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -295,7 +361,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare9ff01f2c/dir1/file1 - comp=range - '' @@ -303,15 +369,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 51ecbe28-b636-11e9-98f4-2816a845e8c6 + - f422367a-d055-11e9-b6a6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:23 GMT + - Fri, 06 Sep 2019 03:25:19 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9ff01f2c?restype=share&comp=snapshot response: @@ -323,19 +389,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:20 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A35042CCE"' + : '"0x8D73279D8363C1F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 530c714f-f01a-009c-1643-4a1fbd000000 - x-ms-snapshot: '2019-08-03T21:33:21.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: f422367a-d055-11e9-b6a6-001a7dda7113 + x-ms-request-id: b5697910-601a-0053-3062-6470c0000000 + x-ms-snapshot: '2019-09-06T03:25:19.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -343,7 +410,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare9ff01f2c - restype=share&comp=snapshot - '' @@ -351,15 +418,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 5212303a-b636-11e9-910d-2816a845e8c6 + - f49a358c-d055-11e9-a450-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:23 GMT + - Fri, 06 Sep 2019 03:25:20 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1%2Fsubdir3?restype=directory response: @@ -371,19 +446,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:20 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A3598E3B9"' + : '"0x8D73279D8C7D713"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:22 GMT + : Fri, 06 Sep 2019 03:25:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 530c7150-f01a-009c-1743-4a1fbd000000 + x-ms-client-request-id: f49a358c-d055-11e9-a450-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:20.5621523Z' + x-ms-file-creation-time: '2019-09-06T03:25:20.5621523Z' + x-ms-file-id: '11529250230440558592' + x-ms-file-last-write-time: '2019-09-06T03:25:20.5621523Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: b5697911-601a-0053-3162-6470c0000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -391,7 +474,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare9ff01f2c/dir1%2Fsubdir3 - restype=directory - '' @@ -399,19 +482,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 52146450-b636-11e9-97e4-2816a845e8c6 + - f49c0918-d055-11e9-9259-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:33:23 GMT + - Fri, 06 Sep 2019 03:25:20 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1/file2 response: @@ -423,19 +514,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A359BF187"' + : '"0x8D73279D8C9D359"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:22 GMT + : Fri, 06 Sep 2019 03:25:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: be4dbcdf-f01a-0014-2843-4aa764000000 + x-ms-client-request-id: f49c0918-d055-11e9-9259-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:25:20.5751641Z' + x-ms-file-creation-time: '2019-09-06T03:25:20.5751641Z' + x-ms-file-id: '11529320599184736256' + x-ms-file-last-write-time: '2019-09-06T03:25:20.5751641Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: b0474319-801a-0029-7462-646d80000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -443,29 +542,31 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare9ff01f2c/dir1/file2 - '' - '' - request: - body: null + body: data2 headers: + Content-Length: + - '5' + Content-Type: + - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 52161718-b636-11e9-9001-2816a845e8c6 - x-ms-content-length: - - '5' + - f49f1438-d055-11e9-a854-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:23 GMT - x-ms-type: - - file + - Fri, 06 Sep 2019 03:25:20 GMT + x-ms-range: + - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' + x-ms-write: + - update method: PUT - uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1/file3 + uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1/file2?comp=range response: body: string: '' @@ -474,20 +575,24 @@ interactions: - Content-Length : '0' ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : /5zy1pDYiMszf2v0UmthMA== + ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A359C8DE4"' + : '"0x8D73279D8CCE15F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:22 GMT + : Fri, 06 Sep 2019 03:25:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e7b676a2-201a-007b-0a43-4a0fb0000000 + x-ms-client-request-id: f49f1438-d055-11e9-a854-001a7dda7113 + x-ms-request-id: b047431a-801a-0029-7562-646d80000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -495,31 +600,37 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare9ff01f2c/dir1/file3 - - '' + - emilydevtest.file.core.windows.net + - /utshare9ff01f2c/dir1/file2 + - comp=range - '' - request: - body: data2 + body: null headers: - Content-Length: - - '5' - Content-Type: - - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 x-ms-client-request-id: - - 521f019c-b636-11e9-9583-2816a845e8c6 + - f49db594-d055-11e9-87f0-001a7dda7113 + x-ms-content-length: + - '5' x-ms-date: - - Sat, 03 Aug 2019 21:33:23 GMT - x-ms-range: - - bytes=0-4 + - Fri, 06 Sep 2019 03:25:20 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file x-ms-version: - - '2018-11-09' - x-ms-write: - - update + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1/file2?comp=range + uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1/file3 response: body: string: '' @@ -528,23 +639,28 @@ interactions: - Content-Length : '0' ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : /5zy1pDYiMszf2v0UmthMA== - ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:20 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A35A4F3DC"' + : '"0x8D73279D8CB5A5C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:22 GMT + : Fri, 06 Sep 2019 03:25:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: be4dbce0-f01a-0014-2943-4aa764000000 + x-ms-client-request-id: f49db594-d055-11e9-87f0-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:25:20.5851740Z' + x-ms-file-creation-time: '2019-09-06T03:25:20.5851740Z' + x-ms-file-id: '16140971433240035328' + x-ms-file-last-write-time: '2019-09-06T03:25:20.5851740Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 6c47bf2d-f01a-00a5-4362-64058e000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -552,9 +668,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare9ff01f2c/dir1/file2 - - comp=range + - emilydevtest.file.core.windows.net + - /utshare9ff01f2c/dir1/file3 + - '' - '' - request: body: data3 @@ -564,15 +680,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 521fcb12-b636-11e9-9d89-2816a845e8c6 + - f4a7c0e4-d055-11e9-a080-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:23 GMT + - Fri, 06 Sep 2019 03:25:20 GMT x-ms-range: - bytes=0-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -589,19 +705,20 @@ interactions: : eTafePeILBuqu8fUXcXaoA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:20 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185A35A60579"' + : '"0x8D73279D8D5960B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:33:22 GMT + : Fri, 06 Sep 2019 03:25:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e7b676a3-201a-007b-0b43-4a0fb0000000 + x-ms-client-request-id: f4a7c0e4-d055-11e9-a080-001a7dda7113 + x-ms-request-id: 6c47bf2e-f01a-00a5-4462-64058e000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -609,7 +726,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare9ff01f2c/dir1/file3 - comp=range - '' @@ -619,22 +736,22 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 522dd3a4-b636-11e9-917e-2816a845e8c6 + - f4ac52e4-d055-11e9-afed-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:33:23 GMT + - Fri, 06 Sep 2019 03:25:20 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1?sharesnapshot=2019-08-03T21:33:21.0000000Z&restype=directory&comp=list + uri: https://storagename.file.core.windows.net/utshare9ff01f2c/dir1?sharesnapshot=2019-09-06T03:25:19.0000000Z&restype=directory&comp=list response: body: string: "\uFEFFfile15subdir1file15subdir1subdir2" headers: @@ -643,18 +760,16 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:33:21 GMT + : Fri, 06 Sep 2019 03:25:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 ? !!python/object/new:multidict._istr.istr - Transfer-Encoding : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: e7b676a4-201a-007b-0c43-4a0fb0000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: f4ac52e4-d055-11e9-afed-001a7dda7113 + x-ms-request-id: 6c47bf30-f01a-00a5-4662-64058e000000 + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -662,8 +777,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare9ff01f2c/dir1 - - sharesnapshot=2019-08-03T21:33:21.0000000Z&restype=directory&comp=list + - sharesnapshot=2019-09-06T03:25:19.0000000Z&restype=directory&comp=list - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_set_directory_properties_with_empty_smb_properties_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_set_directory_properties_with_empty_smb_properties_async.yaml new file mode 100644 index 000000000000..86053461f7a5 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_set_directory_properties_with_empty_smb_properties_async.yaml @@ -0,0 +1,290 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f4be2766-d055-11e9-96bb-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:25:20 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare8e58225e?restype=share + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 03:25:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73279D8F1D34C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 03:25:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: f4be2766-d055-11e9-96bb-001a7dda7113 + x-ms-request-id: 5da685e5-c01a-0065-0462-64fdb0000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare8e58225e + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f4c96a38-d055-11e9-a1c8-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:25:20 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare8e58225e/dir1?restype=directory + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 03:25:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73279D8F77E24"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 03:25:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: f4c96a38-d055-11e9-a1c8-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:20.8744484Z' + x-ms-file-creation-time: '2019-09-06T03:25:20.8744484Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:20.8744484Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 5da685e9-c01a-0065-0662-64fdb0000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare8e58225e/dir1 + - restype=directory + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f4cc9c76-d055-11e9-844c-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:25:20 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshare8e58225e/dir1?restype=directory + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 03:25:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73279D8F77E24"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 03:25:20 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: f4cc9c76-d055-11e9-844c-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:20.8744484Z' + x-ms-file-creation-time: '2019-09-06T03:25:20.8744484Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:20.8744484Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 5da685ea-c01a-0065-0762-64fdb0000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare8e58225e/dir1 + - restype=directory + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f4ce79d2-d055-11e9-bcc8-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:25:20 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - preserve + x-ms-file-last-write-time: + - preserve + x-ms-file-permission: + - preserve + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare8e58225e/dir1?restype=directory&comp=properties + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 03:25:21 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73279D91790FE"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 03:25:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: f4ce79d2-d055-11e9-bcc8-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:21.0846462Z' + x-ms-file-creation-time: '2019-09-06T03:25:20.8744484Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:20.8744484Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 5da685eb-c01a-0065-0862-64fdb0000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare8e58225e/dir1 + - restype=directory&comp=properties + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f4ecedb8-d055-11e9-9a76-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:25:21 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshare8e58225e/dir1?restype=directory + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 03:25:21 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73279D91790FE"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 03:25:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: f4ecedb8-d055-11e9-9a76-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:21.0846462Z' + x-ms-file-creation-time: '2019-09-06T03:25:20.8744484Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:20.8744484Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 5da685f0-c01a-0065-0d62-64fdb0000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare8e58225e/dir1 + - restype=directory + - '' +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_set_directory_properties_with_file_permission_key_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_set_directory_properties_with_file_permission_key_async.yaml new file mode 100644 index 000000000000..095ecd199aa3 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_directory_async.test_set_directory_properties_with_file_permission_key_async.yaml @@ -0,0 +1,290 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f502e0a8-d055-11e9-8d61-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:25:21 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare695621d2?restype=share + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 03:25:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73279D93CC39A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 03:25:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: f502e0a8-d055-11e9-8d61-001a7dda7113 + x-ms-request-id: a4a325e4-001a-0055-7c62-64437f000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare695621d2 + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f516be70-d055-11e9-b39f-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:25:21 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare695621d2/dir1?restype=directory + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 03:25:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73279D9453BBC"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 03:25:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: f516be70-d055-11e9-b39f-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:21.3839292Z' + x-ms-file-creation-time: '2019-09-06T03:25:21.3839292Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:21.3839292Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: a4a325e7-001a-0055-7d62-64437f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare695621d2/dir1 + - restype=directory + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f519f580-d055-11e9-836c-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:25:21 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshare695621d2/dir1?restype=directory + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 03:25:20 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73279D9453BBC"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 03:25:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: f519f580-d055-11e9-836c-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:21.3839292Z' + x-ms-file-creation-time: '2019-09-06T03:25:21.3839292Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:25:21.3839292Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: a4a325e8-001a-0055-7e62-64437f000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare695621d2/dir1 + - restype=directory + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f51be20c-d055-11e9-aab6-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:25:21 GMT + x-ms-file-attributes: + - None + x-ms-file-creation-time: + - '2019-09-06T04:25:21.3839290Z' + x-ms-file-last-write-time: + - '2019-09-06T04:25:21.3839290Z' + x-ms-file-permission-key: + - 17913408918638655783*10394889115079208622 + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare695621d2/dir1?restype=directory&comp=properties + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 03:25:21 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73279D98D79C8"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 03:25:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: f51be20c-d055-11e9-aab6-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:21.8573768Z' + x-ms-file-creation-time: '2019-09-06T04:25:21.3839290Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T04:25:21.3839290Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 6114152433502392343*10394889115079208622 + x-ms-request-id: a4a325eb-001a-0055-8062-64437f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare695621d2/dir1 + - restype=directory&comp=properties + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - f57bd168-d055-11e9-951a-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 03:25:22 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshare695621d2/dir1?restype=directory + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 03:25:21 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73279D98D79C8"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 03:25:21 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: f57bd168-d055-11e9-951a-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:25:21.8573768Z' + x-ms-file-creation-time: '2019-09-06T04:25:21.3839290Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T04:25:21.3839290Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 6114152433502392343*10394889115079208622 + x-ms-request-id: a4a325ee-001a-0055-0262-64437f000000 + x-ms-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare695621d2/dir1 + - restype=directory + - '' +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_abort_copy_file.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_abort_copy_file.yaml index f8ed6be0fdf1..5131312a9633 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_abort_copy_file.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_abort_copy_file.yaml @@ -11,81 +11,38 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 791f4f48-b639-11e9-9d2d-2816a845e8c6 + - 54a560c0-d048-11e9-a6dd-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:55:57 GMT + - Fri, 06 Sep 2019 01:47:48 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://remotestoragename.file.core.windows.net/remotesharebd580c3e?restype=share response: body: string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:5da95861-401a-012f-3a46-4af60c000000\nTime:2019-08-03T21:55:56.5803504Z" + specified share already exists.\nRequestId:285c6914-901a-0009-3855-64d5a5000000\nTime:2019-09-06T01:47:48.9704691Z" headers: Content-Length: - '222' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:55:56 GMT + - Fri, 06 Sep 2019 01:47:48 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - ShareAlreadyExists - x-ms-request-id: - - 5da95861-401a-012f-3a46-4af60c000000 - x-ms-version: - - '2018-11-09' - status: - code: 409 - message: The specified share already exists. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 634b6f24-b63a-11e9-8ab3-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:02:30 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://remotestoragename.file.core.windows.net/remotesharebd580c3e?restype=share - response: - body: - string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:c73e55f8-f01a-0114-0d47-4ab452000000\nTime:2019-08-03T22:02:29.4306667Z" - headers: - Content-Length: - - '222' - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 22:02:29 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + - 54a560c0-d048-11e9-a6dd-001a7dda7113 x-ms-error-code: - ShareAlreadyExists x-ms-request-id: - - c73e55f8-f01a-0114-0d47-4ab452000000 + - 285c6914-901a-0009-3855-64d5a5000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 409 message: The specified share already exists. @@ -101,63 +58,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9186fdcc-b63a-11e9-ac51-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:47 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://remotestoragename.file.core.windows.net/remotesharebd580c3e?restype=share - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:47 GMT - ETag: - - '"0x8D7185E758CF157"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:47 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - db5d1320-001a-0101-7947-4a76cb000000 - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 9240671a-b63a-11e9-8e68-2816a845e8c6 + - 54cbd066-d048-11e9-9a7a-001a7dda7113 x-ms-content-length: - '8388608' x-ms-date: - - Sat, 03 Aug 2019 22:03:48 GMT + - Fri, 06 Sep 2019 01:47:49 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://remotestoragename.file.core.windows.net/remotesharebd580c3e/filebd580c3e response: @@ -167,19 +88,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:03:47 GMT + - Fri, 06 Sep 2019 01:47:48 GMT ETag: - - '"0x8D7185E75C92AD6"' + - '"0x8D7326C39012B0C"' Last-Modified: - - Sat, 03 Aug 2019 22:03:47 GMT + - Fri, 06 Sep 2019 01:47:49 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 54cbd066-d048-11e9-9a7a-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:47:49.0449164Z' + x-ms-file-creation-time: + - '2019-09-06T01:47:49.0449164Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:47:49.0449164Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 5068516693366841476*17218973682704664586 x-ms-request-id: - - db5d1324-001a-0101-7a47-4a76cb000000 + - 285c6917-901a-0009-3955-64d5a5000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -197,15 +134,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 924cd54c-b63a-11e9-8c52-2816a845e8c6 + - 54d9b400-d048-11e9-9432-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:49 GMT + - Fri, 06 Sep 2019 01:47:49 GMT x-ms-range: - bytes=0-4194303 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -219,19 +156,21 @@ interactions: Content-MD5: - O+kCfdGnulSkbl/qLCRhQA== Date: - - Sat, 03 Aug 2019 22:03:54 GMT + - Fri, 06 Sep 2019 01:47:48 GMT ETag: - - '"0x8D7185E79FA01FE"' + - '"0x8D7326C3933921D"' Last-Modified: - - Sat, 03 Aug 2019 22:03:54 GMT + - Fri, 06 Sep 2019 01:47:49 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 54d9b400-d048-11e9-9432-001a7dda7113 x-ms-request-id: - - db5d1325-001a-0101-7b47-4a76cb000000 + - 285c6918-901a-0009-3a55-64d5a5000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -249,15 +188,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 9685880c-b63a-11e9-b4c5-2816a845e8c6 + - 551233c0-d048-11e9-873f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:56 GMT + - Fri, 06 Sep 2019 01:47:49 GMT x-ms-range: - bytes=4194304-8388607 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -271,19 +210,21 @@ interactions: Content-MD5: - O+kCfdGnulSkbl/qLCRhQA== Date: - - Sat, 03 Aug 2019 22:04:00 GMT + - Fri, 06 Sep 2019 01:47:48 GMT ETag: - - '"0x8D7185E7D68505A"' + - '"0x8D7326C39537E12"' Last-Modified: - - Sat, 03 Aug 2019 22:04:00 GMT + - Fri, 06 Sep 2019 01:47:49 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 551233c0-d048-11e9-873f-001a7dda7113 x-ms-request-id: - - db5d1339-001a-0101-7d47-4a76cb000000 + - 285c6924-901a-0009-3b55-64d5a5000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -299,17 +240,17 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 99f364ec-b63a-11e9-83a6-2816a845e8c6 + - 552dbd9a-d048-11e9-96dc-001a7dda7113 x-ms-copy-source: - - https://pytestremote.file.core.windows.net/remotesharebd580c3e/filebd580c3e?se=2019-08-03T23%3A04%3A01Z&sp=r&sv=2018-03-28&sr=f&sig=7VAIzPVmVIRekrsGzBtqC18awy92Ll9BPxAYly3rtJU%3D + - https://zemaintest.file.core.windows.net/remotesharebd580c3e/filebd580c3e?se=2019-09-06T02%3A47%3A49Z&sp=r&sv=2019-02-02&sr=f&sig=%2B5DwGVR5169hnzLWziVLKYuPCsixWEzJUnx7pqqkJyo%3D x-ms-date: - - Sat, 03 Aug 2019 22:04:01 GMT + - Fri, 06 Sep 2019 01:47:49 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharebd580c3e/targetfile response: @@ -319,21 +260,23 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:04:01 GMT + - Fri, 06 Sep 2019 01:47:49 GMT ETag: - - '"0x8D7185E7DF361E8"' + - '"0x8D7326C399391E0"' Last-Modified: - - Sat, 03 Aug 2019 22:04:01 GMT + - Fri, 06 Sep 2019 01:47:50 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 552dbd9a-d048-11e9-96dc-001a7dda7113 x-ms-copy-id: - - 1cfc6cd1-d247-4734-b49b-3f3d5d0498aa + - 56bc51d9-ff70-4e23-88b8-82253eb74dd1 x-ms-copy-status: - pending x-ms-request-id: - - e9f152a6-c01a-0058-0d47-4a607b000000 + - a3f02b36-c01a-00e3-7255-643109000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -349,19 +292,19 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 9a86b78c-b63a-11e9-8bbb-2816a845e8c6 + - 556832f8-d048-11e9-b707-001a7dda7113 x-ms-copy-action: - abort x-ms-date: - - Sat, 03 Aug 2019 22:04:02 GMT + - Fri, 06 Sep 2019 01:47:50 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utsharebd580c3e/targetfile?copyid=1cfc6cd1-d247-4734-b49b-3f3d5d0498aa&comp=copy + uri: https://storagename.file.core.windows.net/utsharebd580c3e/targetfile?copyid=56bc51d9-ff70-4e23-88b8-82253eb74dd1&comp=copy response: body: string: '' @@ -369,13 +312,15 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:04:01 GMT + - Fri, 06 Sep 2019 01:47:49 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 556832f8-d048-11e9-b707-001a7dda7113 x-ms-request-id: - - e9f152aa-c01a-0058-0e47-4a607b000000 + - a3f02b3b-c01a-00e3-7455-643109000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 204 message: No Content @@ -389,23 +334,23 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 9aa56d40-b63a-11e9-a7b6-2816a845e8c6 + - 558216da-d048-11e9-b45b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:04:03 GMT + - Fri, 06 Sep 2019 01:47:50 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharebd580c3e/targetfile response: body: string: "\uFEFFInvalidRangeThe - range specified is invalid for the current size of the resource.\nRequestId:e9f152ad-c01a-0058-1047-4a607b000000\nTime:2019-08-03T22:04:01.9378399Z" + range specified is invalid for the current size of the resource.\nRequestId:a3f02b3d-c01a-00e3-7655-643109000000\nTime:2019-09-06T01:47:50.2410773Z" headers: Content-Length: - '249' @@ -414,17 +359,17 @@ interactions: Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 22:04:01 GMT + - Fri, 06 Sep 2019 01:47:49 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - 558216da-d048-11e9-b45b-001a7dda7113 x-ms-error-code: - InvalidRange x-ms-request-id: - - e9f152ad-c01a-0058-1047-4a607b000000 + - a3f02b3d-c01a-00e3-7655-643109000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 416 message: The range specified is invalid for the current size of the resource. @@ -438,15 +383,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 9ab6d728-b63a-11e9-bb26-2816a845e8c6 + - 558b1dcc-d048-11e9-8b2b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:04:03 GMT + - Fri, 06 Sep 2019 01:47:50 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharebd580c3e/targetfile response: @@ -460,33 +405,47 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:04:01 GMT + - Fri, 06 Sep 2019 01:47:49 GMT ETag: - - '"0x8D7185E7E160B56"' + - '"0x8D7326C39ABB393"' Last-Modified: - - Sat, 03 Aug 2019 22:04:01 GMT + - Fri, 06 Sep 2019 01:47:50 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - 558b1dcc-d048-11e9-8b2b-001a7dda7113 x-ms-copy-completion-time: - - Sat, 03 Aug 2019 22:04:01 GMT + - Fri, 06 Sep 2019 01:47:50 GMT x-ms-copy-id: - - 1cfc6cd1-d247-4734-b49b-3f3d5d0498aa + - 56bc51d9-ff70-4e23-88b8-82253eb74dd1 x-ms-copy-progress: - 0/8388608 x-ms-copy-source: - - https://remotestoragename.file.core.windows.net/remotesharebd580c3e/filebd580c3e?se=2019-08-03T23%3A04%3A01Z&sp=r&sv=2018-03-28&sr=f&sig=7VAIzPVmVIRekrsGzBtqC18awy92Ll9BPxAYly3rtJU%3D + - https://remotestoragename.file.core.windows.net/remotesharebd580c3e/filebd580c3e?se=2019-09-06T02%3A47%3A49Z&sp=r&sv=2019-02-02&sr=f&sig=%2B5DwGVR5169hnzLWziVLKYuPCsixWEzJUnx7pqqkJyo%3D x-ms-copy-status: - aborted + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:47:50.0043744Z' + x-ms-file-creation-time: + - '2019-09-06T01:47:50.0043744Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:47:50.1625235Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - e9f152ae-c01a-0058-1147-4a607b000000 + - a3f02b3f-c01a-00e3-7855-643109000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_abort_copy_file_with_synchronous_copy_fails.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_abort_copy_file_with_synchronous_copy_fails.yaml index 71cc8956c622..cad152bf9507 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_abort_copy_file_with_synchronous_copy_fails.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_abort_copy_file_with_synchronous_copy_fails.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 79fb9da4-b639-11e9-8dc9-2816a845e8c6 + - 566b0a6e-d048-11e9-b2c4-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:55:58 GMT + - Fri, 06 Sep 2019 01:47:51 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharebfcc180b/filebfcc180b response: @@ -33,236 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:55:57 GMT + - Fri, 06 Sep 2019 01:47:51 GMT ETag: - - '"0x8D7185D5DB549F3"' + - '"0x8D7326C3AB2DBF5"' Last-Modified: - - Sat, 03 Aug 2019 21:55:57 GMT + - Fri, 06 Sep 2019 01:47:51 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 4b0ecd1f-501a-00b8-1046-4a86f3000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - Y9GaToxL5bc5IrTN8VV6xsXzxFP9VCNOYCqjblH8Ja4jmBSRkwXcnlERdsc+wG+qTTS2/ffqyuFG - cXILSgR9nBlnnkaDWMCkfXazmLg5WSR2pfYtsBtp/RIxvbFuJn6ethXNfwy/iEHlax3CAM3FQ+tM - Y4F2A9uD5e0kv/itFQg+JqAFEeZeJeFecWAS2Wx7aln8Y1oRIezNbR4oPom+Q5rkf7wQuEc5sfaJ - fKr0d0DZOC34RlrjNhn0f9ce0+mWrZ7VLBJRKCeySlc+jV2plNoMcsDlPlTmPhpThnjS1bJUIwsj - yW6ou3rFeicmR65d5eyGb8+WlFFDpFhMxqCChfpZiJQ9/RicnYJksKTToNUqNz9YNWUzYHTpa4p+ - udJLt5xOrIpM69EHm7p3p3iWQi0zyLQYXq2556vd7Q8r/JOC+DxXkmSBYXoNP8r50u9oBIoWJr2p - 4id/l1mwnwvMIbQ3QbR83MaRv/v1xI33RIfWjyWvXluIHrh6PbodHo3vFQoVT2+hiEkwsKdxw/lw - GUoZiR3t77tlWJG4okTRfuWXbYrXtXDr3e1ANFWIm0/w5s/e1X19+qxPGAXXRVnggg+3rry0oBvz - HZTURvE1+REOKCClzG38hqdH+FLp7w7rjUVDf9s9nJ0ortXV9KKGT/EMPf1jRu5t5SnKkyggbEtN - S41vpES18ykR1iZ0EwEdWrnOXHWCV68PAF+T9RfMDAvRaL2eJvmfZZWyvB+knuq/7jKR5AHRykOJ - Ft/nZxEXSJCcM5U7akoMsku/1kgbJla3zrinWCHryvBc8zkmw8P7RVK5nOkxcqYjxxa1zd8qBla8 - j91D+qbEQBeN0RuEgW+Udpyu0HTJmp96XG+e0a/tQ5+z91SM4jvan234J16haiSSepYWqVL33v1T - fwKQK8Hk/kB+JtRAvjyoFbBQq1VkZz2hjOBO4TLj13i1HhTYHNtDDPRbQ3m4wpakT3a2b5LQ0lhs - qsMPDBgb+z8CwqnUMEAm6y/Lb9zQWVwFk9NyK4xmLU9vJXow7e4zjyaO3+EJCNbKZibEsWbRGPZ8 - JJqXfP7mEGgSd9IIZieHLJRgQW+18TOL8hhtNFugOUIzaJEhn0GqiAj4vf1M7C/krw4FutxJ++eP - HuX4/gnr4L6yEDnuY1HYGc2ytXWbPEjsuvT4dRe1lgURGtrGjgXzjvq3LjzJvobBjclsMrwpxbjO - ntKtTUd/qNxqhNS3EkeNclQ+811OJomKLd8Uyb3Ptu3KisR4oa81sAP1M39uBBYe82MzMRvwho9E - w2MxDXuNwxkDpdTnR32nzB7WeJqDZwEP1Eoju15z1r5wBRFaBWyOYNu9bOe90frz0JtKE9A1Jg== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - 7a4ff9ca-b639-11e9-bd49-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:55:59 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharebfcc180b/filebfcc180b?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - m2ODYQufGvqRJ4zd0YGn7A== - Date: - - Sat, 03 Aug 2019 21:55:57 GMT - ETag: - - '"0x8D7185D5DDC6106"' - Last-Modified: - - Sat, 03 Aug 2019 21:55:58 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + - 566b0a6e-d048-11e9-b2c4-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:47:51.8871541Z' + x-ms-file-creation-time: + - '2019-09-06T01:47:51.8871541Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:47:51.8871541Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 4b0ecd21-501a-00b8-1146-4a86f3000000 + - 20c61f83-001a-00c3-4855-644aae000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7a63e4f4-b639-11e9-8749-2816a845e8c6 - x-ms-copy-source: - - https://amqptest.file.core.windows.net/utsharebfcc180b/filebfcc180b - x-ms-date: - - Sat, 03 Aug 2019 21:55:59 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharebfcc180b/targetfile - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:55:59 GMT - ETag: - - '"0x8D7185D5E7AE0BB"' - Last-Modified: - - Sat, 03 Aug 2019 21:55:59 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-copy-id: - - 2de4a4ae-c259-448b-abe1-172a02596902 - x-ms-copy-status: - - success - x-ms-request-id: - - 71d3f623-b01a-0075-7e46-4ae3bb000000 - x-ms-version: - - '2018-11-09' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7b0b41dc-b639-11e9-9fd5-2816a845e8c6 - x-ms-copy-action: - - abort - x-ms-date: - - Sat, 03 Aug 2019 21:56:00 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharebfcc180b/targetfile?copyid=2de4a4ae-c259-448b-abe1-172a02596902&comp=copy - response: - body: - string: "\uFEFFNoPendingCopyOperationThere - is currently no pending copy operation.\nRequestId:71d3f627-b01a-0075-7f46-4ae3bb000000\nTime:2019-08-03T21:56:00.0742261Z" - headers: - Content-Length: - - '236' - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 21:55:59 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - NoPendingCopyOperation - x-ms-request-id: - - 71d3f627-b01a-0075-7f46-4ae3bb000000 - x-ms-version: - - '2018-11-09' - status: - code: 409 - message: There is currently no pending copy operation. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 648ff146-b63a-11e9-be80-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:02:32 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharebfcc180b/filebfcc180b - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:02:30 GMT - ETag: - - '"0x8D7185E48459EB0"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:31 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - e093a86f-c01a-0035-3247-4aca55000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -298,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 64cab00c-b63a-11e9-af21-2816a845e8c6 + - 56871798-d048-11e9-bf00-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:02:32 GMT + - Fri, 06 Sep 2019 01:47:51 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -320,236 +127,21 @@ interactions: Content-MD5: - m2ODYQufGvqRJ4zd0YGn7A== Date: - - Sat, 03 Aug 2019 22:02:30 GMT - ETag: - - '"0x8D7185E4855A727"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:31 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - e093a871-c01a-0035-3347-4aca55000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 64dc2d9e-b63a-11e9-9cb0-2816a845e8c6 - x-ms-copy-source: - - https://amqptest.file.core.windows.net/utsharebfcc180b/filebfcc180b - x-ms-date: - - Sat, 03 Aug 2019 22:02:32 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharebfcc180b/targetfile - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:02:31 GMT + - Fri, 06 Sep 2019 01:47:51 GMT ETag: - - '"0x8D7185E48B42C13"' + - '"0x8D7326C3ABBDED7"' Last-Modified: - - Sat, 03 Aug 2019 22:02:32 GMT + - Fri, 06 Sep 2019 01:47:51 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-copy-id: - - 01e9410c-05b9-4531-8f3a-ff3b845a713b - x-ms-copy-status: - - success - x-ms-request-id: - - 38b11343-e01a-006d-4647-4ace2e000000 - x-ms-version: - - '2018-11-09' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 653adc4c-b63a-11e9-a93d-2816a845e8c6 - x-ms-copy-action: - - abort - x-ms-date: - - Sat, 03 Aug 2019 22:02:33 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharebfcc180b/targetfile?copyid=01e9410c-05b9-4531-8f3a-ff3b845a713b&comp=copy - response: - body: - string: "\uFEFFNoPendingCopyOperationThere - is currently no pending copy operation.\nRequestId:38b11347-e01a-006d-4747-4ace2e000000\nTime:2019-08-03T22:02:32.6865708Z" - headers: - Content-Length: - - '236' - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 22:02:32 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - NoPendingCopyOperation + - 56871798-d048-11e9-bf00-001a7dda7113 x-ms-request-id: - - 38b11347-e01a-006d-4747-4ace2e000000 - x-ms-version: - - '2018-11-09' - status: - code: 409 - message: There is currently no pending copy operation. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9bee059a-b63a-11e9-a468-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:04:05 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharebfcc180b/filebfcc180b - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:04:04 GMT - ETag: - - '"0x8D7185E7FAC5EB3"' - Last-Modified: - - Sat, 03 Aug 2019 22:04:04 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 37d9b890-501a-00b3-5047-4a9e87000000 + - 20c61f85-001a-00c3-4955-644aae000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - Y9GaToxL5bc5IrTN8VV6xsXzxFP9VCNOYCqjblH8Ja4jmBSRkwXcnlERdsc+wG+qTTS2/ffqyuFG - cXILSgR9nBlnnkaDWMCkfXazmLg5WSR2pfYtsBtp/RIxvbFuJn6ethXNfwy/iEHlax3CAM3FQ+tM - Y4F2A9uD5e0kv/itFQg+JqAFEeZeJeFecWAS2Wx7aln8Y1oRIezNbR4oPom+Q5rkf7wQuEc5sfaJ - fKr0d0DZOC34RlrjNhn0f9ce0+mWrZ7VLBJRKCeySlc+jV2plNoMcsDlPlTmPhpThnjS1bJUIwsj - yW6ou3rFeicmR65d5eyGb8+WlFFDpFhMxqCChfpZiJQ9/RicnYJksKTToNUqNz9YNWUzYHTpa4p+ - udJLt5xOrIpM69EHm7p3p3iWQi0zyLQYXq2556vd7Q8r/JOC+DxXkmSBYXoNP8r50u9oBIoWJr2p - 4id/l1mwnwvMIbQ3QbR83MaRv/v1xI33RIfWjyWvXluIHrh6PbodHo3vFQoVT2+hiEkwsKdxw/lw - GUoZiR3t77tlWJG4okTRfuWXbYrXtXDr3e1ANFWIm0/w5s/e1X19+qxPGAXXRVnggg+3rry0oBvz - HZTURvE1+REOKCClzG38hqdH+FLp7w7rjUVDf9s9nJ0ortXV9KKGT/EMPf1jRu5t5SnKkyggbEtN - S41vpES18ykR1iZ0EwEdWrnOXHWCV68PAF+T9RfMDAvRaL2eJvmfZZWyvB+knuq/7jKR5AHRykOJ - Ft/nZxEXSJCcM5U7akoMsku/1kgbJla3zrinWCHryvBc8zkmw8P7RVK5nOkxcqYjxxa1zd8qBla8 - j91D+qbEQBeN0RuEgW+Udpyu0HTJmp96XG+e0a/tQ5+z91SM4jvan234J16haiSSepYWqVL33v1T - fwKQK8Hk/kB+JtRAvjyoFbBQq1VkZz2hjOBO4TLj13i1HhTYHNtDDPRbQ3m4wpakT3a2b5LQ0lhs - qsMPDBgb+z8CwqnUMEAm6y/Lb9zQWVwFk9NyK4xmLU9vJXow7e4zjyaO3+EJCNbKZibEsWbRGPZ8 - JJqXfP7mEGgSd9IIZieHLJRgQW+18TOL8hhtNFugOUIzaJEhn0GqiAj4vf1M7C/krw4FutxJ++eP - HuX4/gnr4L6yEDnuY1HYGc2ytXWbPEjsuvT4dRe1lgURGtrGjgXzjvq3LjzJvobBjclsMrwpxbjO - ntKtTUd/qNxqhNS3EkeNclQ+811OJomKLd8Uyb3Ptu3KisR4oa81sAP1M39uBBYe82MzMRvwho9E - w2MxDXuNwxkDpdTnR32nzB7WeJqDZwEP1Eoju15z1r5wBRFaBWyOYNu9bOe90frz0JtKE9A1Jg== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9c3bc038-b63a-11e9-802c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:04:05 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharebfcc180b/filebfcc180b?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - m2ODYQufGvqRJ4zd0YGn7A== - Date: - - Sat, 03 Aug 2019 22:04:04 GMT - ETag: - - '"0x8D7185E7FC605DA"' - Last-Modified: - - Sat, 03 Aug 2019 22:04:04 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 37d9b892-501a-00b3-5147-4a9e87000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -565,17 +157,17 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 9c5bfdf6-b63a-11e9-95c4-2816a845e8c6 + - 56908710-d048-11e9-8d0a-001a7dda7113 x-ms-copy-source: - - https://amqptest.file.core.windows.net/utsharebfcc180b/filebfcc180b + - https://emilydevtest.file.core.windows.net/utsharebfcc180b/filebfcc180b x-ms-date: - - Sat, 03 Aug 2019 22:04:05 GMT + - Fri, 06 Sep 2019 01:47:52 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharebfcc180b/targetfile response: @@ -585,21 +177,23 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:04:04 GMT + - Fri, 06 Sep 2019 01:47:52 GMT ETag: - - '"0x8D7185E804FC151"' + - '"0x8D7326C3B4AFB02"' Last-Modified: - - Sat, 03 Aug 2019 22:04:05 GMT + - Fri, 06 Sep 2019 01:47:52 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 56908710-d048-11e9-8d0a-001a7dda7113 x-ms-copy-id: - - 055b25d6-a6e1-41ef-b70f-627eda041422 + - b0e6e3b5-b0bd-4a0c-af2f-2a95498e16e2 x-ms-copy-status: - success x-ms-request-id: - - 7d06af5e-801a-00d7-4f47-4a2e27000000 + - bd16e98d-001a-008e-0455-648542000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -615,38 +209,40 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 9cd8566e-b63a-11e9-91c1-2816a845e8c6 + - 5728c8fe-d048-11e9-bdfc-001a7dda7113 x-ms-copy-action: - abort x-ms-date: - - Sat, 03 Aug 2019 22:04:06 GMT + - Fri, 06 Sep 2019 01:47:53 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utsharebfcc180b/targetfile?copyid=055b25d6-a6e1-41ef-b70f-627eda041422&comp=copy + uri: https://storagename.file.core.windows.net/utsharebfcc180b/targetfile?copyid=b0e6e3b5-b0bd-4a0c-af2f-2a95498e16e2&comp=copy response: body: string: "\uFEFFNoPendingCopyOperationThere - is currently no pending copy operation.\nRequestId:7d06af62-801a-00d7-5047-4a2e27000000\nTime:2019-08-03T22:04:06.0903310Z" + is currently no pending copy operation.\nRequestId:bd16e991-001a-008e-0555-648542000000\nTime:2019-09-06T01:47:53.1876800Z" headers: Content-Length: - '236' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 22:04:05 GMT + - Fri, 06 Sep 2019 01:47:52 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 5728c8fe-d048-11e9-bdfc-001a7dda7113 x-ms-error-code: - NoPendingCopyOperation x-ms-request-id: - - 7d06af62-801a-00d7-5047-4a2e27000000 + - bd16e991-001a-008e-0555-648542000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 409 message: There is currently no pending copy operation. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_clear_range.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_clear_range.yaml deleted file mode 100644 index b3c6fddfb28e..000000000000 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_clear_range.yaml +++ /dev/null @@ -1,728 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7c8df002-b639-11e9-a596-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 21:56:03 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8e490a80/file8e490a80 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:02 GMT - ETag: - - '"0x8D7185D6046F3DD"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:02 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - cdaa7e2c-801a-0032-1446-4a3cd0000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - oKL4TiG7CRBOBegNRmmV+COuE6ip8SpUMYc2/QM7lOVdmAAGNy+An9/uVBcrp/TkgoCivh6OgvWa - vvQC5SmwnMmI7EsKJ2Cn6K9icWd3gV0QlaqvAvyDxCJ86LYFXLvnbnSXpcCpnPvElVyus8cLa8O3 - As8VQDP3/sY0tAC3VpQzgdLJs7dQBoP8l/LoQwvEYChMR+epC+QNX+4dAm+fgGp9/OYxbWclIoE+ - b+DeV9cH2SUji2P4OQZ9jhchowJfCADPMLaR+2/tqDJdHlKcHMsqSI+DsRyLPM7eDE4ASNEQRK54 - XDtBhxLW1kptKNXbnopi+UxMMAZurV+norUG6BX+HYnxi7FZEiPdKzABK+Jy70HuIpV09mGHpcfj - s4hbaAsArxxFJbNrd5NSrF5+eQ+JR/VW/t4lEhHLLzNFxcq0ZnIXVQ9zefWjmLib+BBaHvlMq07+ - PvfsUzJMLi44KnxzrY9WbO/OTJo0YXW+ZCU7KXINYrvUxR3TUchnPbDKw00h1hrJWalOLeoIS2AU - hL7o2EYrYNpHlMl4Nx0m2ESFSvnrt4JjvMV1ZTcrYB7cePh6kSgFGcs0hC10K4Wft+0w2U6ZW6SF - S0YjK+4qjWxy4lMjnbDHO2fRHZcqwWGwe0J7cmMk6jYPUpfwa+VL9gtj/GW77eI0764/RV0GsHd+ - XJhQrImCD1fWCrg4EY2xNT9JKJgNfAt3bxmjnVSwOZwcMIoWUTcj2u4kTEF0ThswzuwWgMyM81Ir - dhMWOUmAnke37CF+ED7GpRWUOrc78aiORPgaMHVrFnB/YVv9e+oS2QIRshNd+4BdTBwMmlbcCU4l - fAD0Im/8WudJMtjvKZkjiGoMXKji4FP1mxhFJqvwAXoVzAJBRpPiVM+f8AhiDq7ZDUHaHwP1D2J+ - nvR8X0HXs87HV+sFsRDA7ClfUJwq55uaTLvVcJVaXkWSg5FGt3SW24Y8Q+cpDO/W3ZXZ15vdxBtm - 1ow2kfupv8nzhT6nfim8mUaiECeKxMcu63TucH84q6JAi8GeysqOoY1W1Gyj+KznWgKVBtgOksrK - rDwDHrLa5C2BzXCDrewzfAJm8lALyRlQ5H5v/kgCf9xve4f2Revt19KjlO5RTrMXVprxr+3NoC/a - ZnKSlvjQHyMeE5pKkdSz44YZ4JDjOxjhcJ1Ws/4G54XzG5Ofr5LDqBjthtmN/pUlaZpm3aEai19C - KcFNVkuTQd2M9u3WP0zWVI0lDw2hxf2527RrbNBycgJ7DSrQrBvC2iLw7LaycTxYDoVp1GOWi2DR - LDyxCI67wC+rExD6unmXU0gfId2Pk3FVq4uB8U1GAQxA54UwPN85IBDifWVPaBRrG3tVqj5gaA== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7ce0649e-b639-11e9-9726-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:03 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare8e490a80/file8e490a80?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - 10oIGCD43jcWIEbMX0Evdw== - Date: - - Sat, 03 Aug 2019 21:56:02 GMT - ETag: - - '"0x8D7185D606D206D"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:02 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - cdaa7e2e-801a-0032-1546-4a3cd0000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7cf2d788-b639-11e9-b52f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:03 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - clear - method: PUT - uri: https://storagename.file.core.windows.net/utshare8e490a80/file8e490a80?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:02 GMT - ETag: - - '"0x8D7185D607E88B9"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:02 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - cdaa7e31-801a-0032-1646-4a3cd0000000 - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7d02f252-b639-11e9-9560-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:03 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare8e490a80/file8e490a80 - response: - body: - string: !!binary | - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+ - XJhQrImCD1fWCrg4EY2xNT9JKJgNfAt3bxmjnVSwOZwcMIoWUTcj2u4kTEF0ThswzuwWgMyM81Ir - dhMWOUmAnke37CF+ED7GpRWUOrc78aiORPgaMHVrFnB/YVv9e+oS2QIRshNd+4BdTBwMmlbcCU4l - fAD0Im/8WudJMtjvKZkjiGoMXKji4FP1mxhFJqvwAXoVzAJBRpPiVM+f8AhiDq7ZDUHaHwP1D2J+ - nvR8X0HXs87HV+sFsRDA7ClfUJwq55uaTLvVcJVaXkWSg5FGt3SW24Y8Q+cpDO/W3ZXZ15vdxBtm - 1ow2kfupv8nzhT6nfim8mUaiECeKxMcu63TucH84q6JAi8GeysqOoY1W1Gyj+KznWgKVBtgOksrK - rDwDHrLa5C2BzXCDrewzfAJm8lALyRlQ5H5v/kgCf9xve4f2Revt19KjlO5RTrMXVprxr+3NoC/a - ZnKSlvjQHyMeE5pKkdSz44YZ4JDjOxjhcJ1Ws/4G54XzG5Ofr5LDqBjthtmN/pUlaZpm3aEai19C - KcFNVkuTQd2M9u3WP0zWVI0lDw2hxf2527RrbNBycgJ7DSrQrBvC2iLw7LaycTxYDoVp1GOWi2DR - LDyxCI67wC+rExD6unmXU0gfId2Pk3FVq4uB8U1GAQxA54UwPN85IBDifWVPaBRrG3tVqj5gaA== - headers: - Accept-Ranges: - - bytes - Content-Length: - - '1024' - Content-Range: - - bytes 0-1023/1024 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:03 GMT - ETag: - - '"0x8D7185D607E88B9"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:02 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - cdaa7e32-801a-0032-1746-4a3cd0000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 662f1d68-b63a-11e9-8bfe-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:02:35 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8e490a80/file8e490a80 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:02:33 GMT - ETag: - - '"0x8D7185E49E1E689"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:34 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2c3fa26c-601a-00d6-6047-4a2fda000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - oKL4TiG7CRBOBegNRmmV+COuE6ip8SpUMYc2/QM7lOVdmAAGNy+An9/uVBcrp/TkgoCivh6OgvWa - vvQC5SmwnMmI7EsKJ2Cn6K9icWd3gV0QlaqvAvyDxCJ86LYFXLvnbnSXpcCpnPvElVyus8cLa8O3 - As8VQDP3/sY0tAC3VpQzgdLJs7dQBoP8l/LoQwvEYChMR+epC+QNX+4dAm+fgGp9/OYxbWclIoE+ - b+DeV9cH2SUji2P4OQZ9jhchowJfCADPMLaR+2/tqDJdHlKcHMsqSI+DsRyLPM7eDE4ASNEQRK54 - XDtBhxLW1kptKNXbnopi+UxMMAZurV+norUG6BX+HYnxi7FZEiPdKzABK+Jy70HuIpV09mGHpcfj - s4hbaAsArxxFJbNrd5NSrF5+eQ+JR/VW/t4lEhHLLzNFxcq0ZnIXVQ9zefWjmLib+BBaHvlMq07+ - PvfsUzJMLi44KnxzrY9WbO/OTJo0YXW+ZCU7KXINYrvUxR3TUchnPbDKw00h1hrJWalOLeoIS2AU - hL7o2EYrYNpHlMl4Nx0m2ESFSvnrt4JjvMV1ZTcrYB7cePh6kSgFGcs0hC10K4Wft+0w2U6ZW6SF - S0YjK+4qjWxy4lMjnbDHO2fRHZcqwWGwe0J7cmMk6jYPUpfwa+VL9gtj/GW77eI0764/RV0GsHd+ - XJhQrImCD1fWCrg4EY2xNT9JKJgNfAt3bxmjnVSwOZwcMIoWUTcj2u4kTEF0ThswzuwWgMyM81Ir - dhMWOUmAnke37CF+ED7GpRWUOrc78aiORPgaMHVrFnB/YVv9e+oS2QIRshNd+4BdTBwMmlbcCU4l - fAD0Im/8WudJMtjvKZkjiGoMXKji4FP1mxhFJqvwAXoVzAJBRpPiVM+f8AhiDq7ZDUHaHwP1D2J+ - nvR8X0HXs87HV+sFsRDA7ClfUJwq55uaTLvVcJVaXkWSg5FGt3SW24Y8Q+cpDO/W3ZXZ15vdxBtm - 1ow2kfupv8nzhT6nfim8mUaiECeKxMcu63TucH84q6JAi8GeysqOoY1W1Gyj+KznWgKVBtgOksrK - rDwDHrLa5C2BzXCDrewzfAJm8lALyRlQ5H5v/kgCf9xve4f2Revt19KjlO5RTrMXVprxr+3NoC/a - ZnKSlvjQHyMeE5pKkdSz44YZ4JDjOxjhcJ1Ws/4G54XzG5Ofr5LDqBjthtmN/pUlaZpm3aEai19C - KcFNVkuTQd2M9u3WP0zWVI0lDw2hxf2527RrbNBycgJ7DSrQrBvC2iLw7LaycTxYDoVp1GOWi2DR - LDyxCI67wC+rExD6unmXU0gfId2Pk3FVq4uB8U1GAQxA54UwPN85IBDifWVPaBRrG3tVqj5gaA== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6667069e-b63a-11e9-9bf8-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:02:35 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare8e490a80/file8e490a80?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - 10oIGCD43jcWIEbMX0Evdw== - Date: - - Sat, 03 Aug 2019 22:02:33 GMT - ETag: - - '"0x8D7185E49F2D98F"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:34 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2c3fa279-601a-00d6-6c47-4a2fda000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 66788d08-b63a-11e9-9e2d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:02:35 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - clear - method: PUT - uri: https://storagename.file.core.windows.net/utshare8e490a80/file8e490a80?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:02:33 GMT - ETag: - - '"0x8D7185E4A0468F2"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:34 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2c3fa281-601a-00d6-7447-4a2fda000000 - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6689ca6e-b63a-11e9-96c8-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:02:35 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare8e490a80/file8e490a80 - response: - body: - string: !!binary | - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+ - XJhQrImCD1fWCrg4EY2xNT9JKJgNfAt3bxmjnVSwOZwcMIoWUTcj2u4kTEF0ThswzuwWgMyM81Ir - dhMWOUmAnke37CF+ED7GpRWUOrc78aiORPgaMHVrFnB/YVv9e+oS2QIRshNd+4BdTBwMmlbcCU4l - fAD0Im/8WudJMtjvKZkjiGoMXKji4FP1mxhFJqvwAXoVzAJBRpPiVM+f8AhiDq7ZDUHaHwP1D2J+ - nvR8X0HXs87HV+sFsRDA7ClfUJwq55uaTLvVcJVaXkWSg5FGt3SW24Y8Q+cpDO/W3ZXZ15vdxBtm - 1ow2kfupv8nzhT6nfim8mUaiECeKxMcu63TucH84q6JAi8GeysqOoY1W1Gyj+KznWgKVBtgOksrK - rDwDHrLa5C2BzXCDrewzfAJm8lALyRlQ5H5v/kgCf9xve4f2Revt19KjlO5RTrMXVprxr+3NoC/a - ZnKSlvjQHyMeE5pKkdSz44YZ4JDjOxjhcJ1Ws/4G54XzG5Ofr5LDqBjthtmN/pUlaZpm3aEai19C - KcFNVkuTQd2M9u3WP0zWVI0lDw2hxf2527RrbNBycgJ7DSrQrBvC2iLw7LaycTxYDoVp1GOWi2DR - LDyxCI67wC+rExD6unmXU0gfId2Pk3FVq4uB8U1GAQxA54UwPN85IBDifWVPaBRrG3tVqj5gaA== - headers: - Accept-Ranges: - - bytes - Content-Length: - - '1024' - Content-Range: - - bytes 0-1023/1024 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:02:33 GMT - ETag: - - '"0x8D7185E4A0468F2"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:34 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 2c3fa28a-601a-00d6-7d47-4a2fda000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9e40359c-b63a-11e9-937b-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:04:09 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8e490a80/file8e490a80 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:04:08 GMT - ETag: - - '"0x8D7185E820ED9C2"' - Last-Modified: - - Sat, 03 Aug 2019 22:04:08 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 94486a41-301a-00a8-4947-4ab015000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - oKL4TiG7CRBOBegNRmmV+COuE6ip8SpUMYc2/QM7lOVdmAAGNy+An9/uVBcrp/TkgoCivh6OgvWa - vvQC5SmwnMmI7EsKJ2Cn6K9icWd3gV0QlaqvAvyDxCJ86LYFXLvnbnSXpcCpnPvElVyus8cLa8O3 - As8VQDP3/sY0tAC3VpQzgdLJs7dQBoP8l/LoQwvEYChMR+epC+QNX+4dAm+fgGp9/OYxbWclIoE+ - b+DeV9cH2SUji2P4OQZ9jhchowJfCADPMLaR+2/tqDJdHlKcHMsqSI+DsRyLPM7eDE4ASNEQRK54 - XDtBhxLW1kptKNXbnopi+UxMMAZurV+norUG6BX+HYnxi7FZEiPdKzABK+Jy70HuIpV09mGHpcfj - s4hbaAsArxxFJbNrd5NSrF5+eQ+JR/VW/t4lEhHLLzNFxcq0ZnIXVQ9zefWjmLib+BBaHvlMq07+ - PvfsUzJMLi44KnxzrY9WbO/OTJo0YXW+ZCU7KXINYrvUxR3TUchnPbDKw00h1hrJWalOLeoIS2AU - hL7o2EYrYNpHlMl4Nx0m2ESFSvnrt4JjvMV1ZTcrYB7cePh6kSgFGcs0hC10K4Wft+0w2U6ZW6SF - S0YjK+4qjWxy4lMjnbDHO2fRHZcqwWGwe0J7cmMk6jYPUpfwa+VL9gtj/GW77eI0764/RV0GsHd+ - XJhQrImCD1fWCrg4EY2xNT9JKJgNfAt3bxmjnVSwOZwcMIoWUTcj2u4kTEF0ThswzuwWgMyM81Ir - dhMWOUmAnke37CF+ED7GpRWUOrc78aiORPgaMHVrFnB/YVv9e+oS2QIRshNd+4BdTBwMmlbcCU4l - fAD0Im/8WudJMtjvKZkjiGoMXKji4FP1mxhFJqvwAXoVzAJBRpPiVM+f8AhiDq7ZDUHaHwP1D2J+ - nvR8X0HXs87HV+sFsRDA7ClfUJwq55uaTLvVcJVaXkWSg5FGt3SW24Y8Q+cpDO/W3ZXZ15vdxBtm - 1ow2kfupv8nzhT6nfim8mUaiECeKxMcu63TucH84q6JAi8GeysqOoY1W1Gyj+KznWgKVBtgOksrK - rDwDHrLa5C2BzXCDrewzfAJm8lALyRlQ5H5v/kgCf9xve4f2Revt19KjlO5RTrMXVprxr+3NoC/a - ZnKSlvjQHyMeE5pKkdSz44YZ4JDjOxjhcJ1Ws/4G54XzG5Ofr5LDqBjthtmN/pUlaZpm3aEai19C - KcFNVkuTQd2M9u3WP0zWVI0lDw2hxf2527RrbNBycgJ7DSrQrBvC2iLw7LaycTxYDoVp1GOWi2DR - LDyxCI67wC+rExD6unmXU0gfId2Pk3FVq4uB8U1GAQxA54UwPN85IBDifWVPaBRrG3tVqj5gaA== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9ead0c64-b63a-11e9-b8b9-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:04:09 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare8e490a80/file8e490a80?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - 10oIGCD43jcWIEbMX0Evdw== - Date: - - Sat, 03 Aug 2019 22:04:08 GMT - ETag: - - '"0x8D7185E823DBA7C"' - Last-Modified: - - Sat, 03 Aug 2019 22:04:08 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 94486a46-301a-00a8-4c47-4ab015000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9ecc711c-b63a-11e9-9543-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:04:10 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - clear - method: PUT - uri: https://storagename.file.core.windows.net/utshare8e490a80/file8e490a80?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:04:08 GMT - ETag: - - '"0x8D7185E825E19A1"' - Last-Modified: - - Sat, 03 Aug 2019 22:04:08 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 94486a48-301a-00a8-4d47-4ab015000000 - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9eeb5518-b63a-11e9-a277-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:04:10 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare8e490a80/file8e490a80 - response: - body: - string: !!binary | - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+ - XJhQrImCD1fWCrg4EY2xNT9JKJgNfAt3bxmjnVSwOZwcMIoWUTcj2u4kTEF0ThswzuwWgMyM81Ir - dhMWOUmAnke37CF+ED7GpRWUOrc78aiORPgaMHVrFnB/YVv9e+oS2QIRshNd+4BdTBwMmlbcCU4l - fAD0Im/8WudJMtjvKZkjiGoMXKji4FP1mxhFJqvwAXoVzAJBRpPiVM+f8AhiDq7ZDUHaHwP1D2J+ - nvR8X0HXs87HV+sFsRDA7ClfUJwq55uaTLvVcJVaXkWSg5FGt3SW24Y8Q+cpDO/W3ZXZ15vdxBtm - 1ow2kfupv8nzhT6nfim8mUaiECeKxMcu63TucH84q6JAi8GeysqOoY1W1Gyj+KznWgKVBtgOksrK - rDwDHrLa5C2BzXCDrewzfAJm8lALyRlQ5H5v/kgCf9xve4f2Revt19KjlO5RTrMXVprxr+3NoC/a - ZnKSlvjQHyMeE5pKkdSz44YZ4JDjOxjhcJ1Ws/4G54XzG5Ofr5LDqBjthtmN/pUlaZpm3aEai19C - KcFNVkuTQd2M9u3WP0zWVI0lDw2hxf2527RrbNBycgJ7DSrQrBvC2iLw7LaycTxYDoVp1GOWi2DR - LDyxCI67wC+rExD6unmXU0gfId2Pk3FVq4uB8U1GAQxA54UwPN85IBDifWVPaBRrG3tVqj5gaA== - headers: - Accept-Ranges: - - bytes - Content-Length: - - '1024' - Content-Range: - - bytes 0-1023/1024 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:04:08 GMT - ETag: - - '"0x8D7185E825E19A1"' - Last-Modified: - - Sat, 03 Aug 2019 22:04:08 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 94486a49-301a-00a8-4e47-4ab015000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_copy_file_async_private_file.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_copy_file_async_private_file.yaml index c6189bc48d17..cffe02fbd9ec 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_copy_file_async_private_file.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_copy_file_async_private_file.yaml @@ -11,81 +11,38 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 7e90e462-b639-11e9-bf3c-2816a845e8c6 + - 5952f652-d048-11e9-9c54-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:56:06 GMT + - Fri, 06 Sep 2019 01:47:56 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://remotestoragename.file.core.windows.net/remoteshare82ca119d?restype=share response: body: string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:a3be5447-e01a-0069-3446-4a6ecf000000\nTime:2019-08-03T21:56:05.6015492Z" + specified share already exists.\nRequestId:afbf7ccf-a01a-004e-6155-640ace000000\nTime:2019-09-06T01:47:56.8104928Z" headers: Content-Length: - '222' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:56:05 GMT + - Fri, 06 Sep 2019 01:47:56 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - ShareAlreadyExists - x-ms-request-id: - - a3be5447-e01a-0069-3446-4a6ecf000000 - x-ms-version: - - '2018-11-09' - status: - code: 409 - message: The specified share already exists. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 672f0006-b63a-11e9-9c57-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:02:36 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://remotestoragename.file.core.windows.net/remoteshare82ca119d?restype=share - response: - body: - string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:a956a3d1-b01a-00b6-3a47-4a3f9b000000\nTime:2019-08-03T22:02:35.9149010Z" - headers: - Content-Length: - - '222' - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 22:02:35 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + - 5952f652-d048-11e9-9c54-001a7dda7113 x-ms-error-code: - ShareAlreadyExists x-ms-request-id: - - a956a3d1-b01a-00b6-3a47-4a3f9b000000 + - afbf7ccf-a01a-004e-6155-640ace000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 409 message: The specified share already exists. @@ -101,63 +58,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9fb59cca-b63a-11e9-99e4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:04:11 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://remotestoragename.file.core.windows.net/remoteshare82ca119d?restype=share - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:04:10 GMT - ETag: - - '"0x8D7185E8373D40F"' - Last-Modified: - - Sat, 03 Aug 2019 22:04:10 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - f16e8ae8-101a-005e-0d47-4ac260000000 - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - a00b43ba-b63a-11e9-a618-2816a845e8c6 + - 59781380-d048-11e9-81a8-001a7dda7113 x-ms-content-length: - '8388608' x-ms-date: - - Sat, 03 Aug 2019 22:04:12 GMT + - Fri, 06 Sep 2019 01:47:56 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://remotestoragename.file.core.windows.net/remoteshare82ca119d/file82ca119d response: @@ -167,19 +88,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:04:10 GMT + - Fri, 06 Sep 2019 01:47:56 GMT ETag: - - '"0x8D7185E839A3628"' + - '"0x8D7326C3DAD8A6A"' Last-Modified: - - Sat, 03 Aug 2019 22:04:11 GMT + - Fri, 06 Sep 2019 01:47:56 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 59781380-d048-11e9-81a8-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:47:56.8854634Z' + x-ms-file-creation-time: + - '2019-09-06T01:47:56.8854634Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:47:56.8854634Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 5068516693366841476*17218973682704664586 x-ms-request-id: - - f16e8aeb-101a-005e-0e47-4ac260000000 + - afbf7cd2-a01a-004e-6355-640ace000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -197,15 +134,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - a01ee3de-b63a-11e9-bdca-2816a845e8c6 + - 5982c38c-d048-11e9-9d12-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:04:12 GMT + - Fri, 06 Sep 2019 01:47:56 GMT x-ms-range: - bytes=0-4194303 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -219,19 +156,21 @@ interactions: Content-MD5: - O+kCfdGnulSkbl/qLCRhQA== Date: - - Sat, 03 Aug 2019 22:04:17 GMT + - Fri, 06 Sep 2019 01:47:57 GMT ETag: - - '"0x8D7185E87B277CB"' + - '"0x8D7326C3DDF06E1"' Last-Modified: - - Sat, 03 Aug 2019 22:04:17 GMT + - Fri, 06 Sep 2019 01:47:57 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 5982c38c-d048-11e9-9d12-001a7dda7113 x-ms-request-id: - - f16e8aec-101a-005e-0f47-4ac260000000 + - afbf7cd9-a01a-004e-6a55-640ace000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -249,15 +188,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - a43f10d0-b63a-11e9-b518-2816a845e8c6 + - 59bc82e4-d048-11e9-a6e6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:04:19 GMT + - Fri, 06 Sep 2019 01:47:57 GMT x-ms-range: - bytes=4194304-8388607 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -271,19 +210,21 @@ interactions: Content-MD5: - O+kCfdGnulSkbl/qLCRhQA== Date: - - Sat, 03 Aug 2019 22:04:23 GMT + - Fri, 06 Sep 2019 01:47:57 GMT ETag: - - '"0x8D7185E8BA109D0"' + - '"0x8D7326C3DFD44B8"' Last-Modified: - - Sat, 03 Aug 2019 22:04:24 GMT + - Fri, 06 Sep 2019 01:47:57 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 59bc82e4-d048-11e9-a6e6-001a7dda7113 x-ms-request-id: - - f16e8af6-101a-005e-1247-4ac260000000 + - afbf7cdc-a01a-004e-6b55-640ace000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -299,38 +240,40 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - a8315a52-b63a-11e9-bc21-2816a845e8c6 + - 59da789c-d048-11e9-b19e-001a7dda7113 x-ms-copy-source: - - https://pytestremote.file.core.windows.net/remoteshare82ca119d/file82ca119d + - https://zemaintest.file.core.windows.net/remoteshare82ca119d/file82ca119d x-ms-date: - - Sat, 03 Aug 2019 22:04:25 GMT + - Fri, 06 Sep 2019 01:47:57 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare82ca119d/targetfile response: body: string: "\uFEFFCannotVerifyCopySourceThe - specified resource does not exist.\nRequestId:134b71c5-701a-00c2-0c47-4aecbe000000\nTime:2019-08-03T22:04:25.7418321Z" + specified resource does not exist.\nRequestId:1031b158-201a-0052-1955-642f1c000000\nTime:2019-09-06T01:48:06.1112373Z" headers: Content-Length: - '229' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 22:04:25 GMT + - Fri, 06 Sep 2019 01:48:06 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 59da789c-d048-11e9-b19e-001a7dda7113 x-ms-error-code: - CannotVerifyCopySource x-ms-request-id: - - 134b71c5-701a-00c2-0c47-4aecbe000000 + - 1031b158-201a-0052-1955-642f1c000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified resource does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_copy_file_async_private_file_with_sas.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_copy_file_async_private_file_with_sas.yaml index eadf518ae00d..d13fcb4b2b22 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_copy_file_async_private_file_with_sas.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_copy_file_async_private_file_with_sas.yaml @@ -11,81 +11,38 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 7f3e8b06-b639-11e9-a3b4-2816a845e8c6 + - 6441881c-d048-11e9-be60-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:56:07 GMT + - Fri, 06 Sep 2019 01:48:14 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://remotestoragename.file.core.windows.net/remoteshare3416155e?restype=share response: body: string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:88a5a92b-301a-00ca-0146-4aa2ae000000\nTime:2019-08-03T21:56:06.7592260Z" + specified share already exists.\nRequestId:c0339980-501a-005b-6655-64c857000000\nTime:2019-09-06T01:48:15.1541455Z" headers: Content-Length: - '222' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:56:06 GMT + - Fri, 06 Sep 2019 01:48:15 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - ShareAlreadyExists - x-ms-request-id: - - 88a5a92b-301a-00ca-0146-4aa2ae000000 - x-ms-version: - - '2018-11-09' - status: - code: 409 - message: The specified share already exists. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 68416952-b63a-11e9-b341-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:02:38 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://remotestoragename.file.core.windows.net/remoteshare3416155e?restype=share - response: - body: - string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:5a8b7541-201a-0074-1247-4ab725000000\nTime:2019-08-03T22:02:37.5844713Z" - headers: - Content-Length: - - '222' - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 22:02:36 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + - 6441881c-d048-11e9-be60-001a7dda7113 x-ms-error-code: - ShareAlreadyExists x-ms-request-id: - - 5a8b7541-201a-0074-1247-4ab725000000 + - c0339980-501a-005b-6655-64c857000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 409 message: The specified share already exists. @@ -101,63 +58,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - aa861a9e-b63a-11e9-b6f2-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:04:29 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://remotestoragename.file.core.windows.net/remoteshare3416155e?restype=share - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:04:28 GMT - ETag: - - '"0x8D7185E8E5FB9BC"' - Last-Modified: - - Sat, 03 Aug 2019 22:04:29 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 74309ddd-901a-00a1-3047-4afff8000000 - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - aaed4c34-b63a-11e9-9902-2816a845e8c6 + - 64669cde-d048-11e9-be63-001a7dda7113 x-ms-content-length: - '8388608' x-ms-date: - - Sat, 03 Aug 2019 22:04:30 GMT + - Fri, 06 Sep 2019 01:48:15 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://remotestoragename.file.core.windows.net/remoteshare3416155e/file3416155e response: @@ -167,19 +88,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:04:28 GMT + - Fri, 06 Sep 2019 01:48:15 GMT ETag: - - '"0x8D7185E8E7F0BDE"' + - '"0x8D7326C489BA4D5"' Last-Modified: - - Sat, 03 Aug 2019 22:04:29 GMT + - Fri, 06 Sep 2019 01:48:15 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 64669cde-d048-11e9-be63-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:15.2231125Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:15.2231125Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:48:15.2231125Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 5068516693366841476*17218973682704664586 x-ms-request-id: - - 74309de1-901a-00a1-3147-4afff8000000 + - c0339983-501a-005b-6755-64c857000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -197,15 +134,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - ab03e8fa-b63a-11e9-93cf-2816a845e8c6 + - 6470e106-d048-11e9-8fb6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:04:30 GMT + - Fri, 06 Sep 2019 01:48:15 GMT x-ms-range: - bytes=0-4194303 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -219,19 +156,21 @@ interactions: Content-MD5: - O+kCfdGnulSkbl/qLCRhQA== Date: - - Sat, 03 Aug 2019 22:04:35 GMT + - Fri, 06 Sep 2019 01:48:15 GMT ETag: - - '"0x8D7185E929EA1CF"' + - '"0x8D7326C48CE8133"' Last-Modified: - - Sat, 03 Aug 2019 22:04:36 GMT + - Fri, 06 Sep 2019 01:48:15 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 6470e106-d048-11e9-8fb6-001a7dda7113 x-ms-request-id: - - 74309de2-901a-00a1-3247-4afff8000000 + - c0339985-501a-005b-6955-64c857000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -249,15 +188,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - af2a2142-b63a-11e9-8ed5-2816a845e8c6 + - 64ae33f8-d048-11e9-a208-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:04:37 GMT + - Fri, 06 Sep 2019 01:48:15 GMT x-ms-range: - bytes=4194304-8388607 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -271,19 +210,21 @@ interactions: Content-MD5: - O+kCfdGnulSkbl/qLCRhQA== Date: - - Sat, 03 Aug 2019 22:04:41 GMT + - Fri, 06 Sep 2019 01:48:15 GMT ETag: - - '"0x8D7185E964E15D1"' + - '"0x8D7326C48F265BF"' Last-Modified: - - Sat, 03 Aug 2019 22:04:42 GMT + - Fri, 06 Sep 2019 01:48:15 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 64ae33f8-d048-11e9-a208-001a7dda7113 x-ms-request-id: - - 74309dea-901a-00a1-3547-4afff8000000 + - c0339989-501a-005b-6c55-64c857000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -299,17 +240,17 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b2d9a352-b63a-11e9-992c-2816a845e8c6 + - 64cd01d0-d048-11e9-9b58-001a7dda7113 x-ms-copy-source: - - https://pytestremote.file.core.windows.net/remoteshare3416155e/file3416155e?se=2019-08-03T23%3A04%3A43Z&sp=r&sv=2018-03-28&sr=f&sig=pf7eRZuMp4zvmCxzbGnJg/K5BmPaJJDn9eVweszEKqw%3D + - https://zemaintest.file.core.windows.net/remoteshare3416155e/file3416155e?se=2019-09-06T02%3A48%3A15Z&sp=r&sv=2019-02-02&sr=f&sig=paaeXlrZG/45ho7eXO6lC4YkxRBi4eF09SaavUMPwb8%3D x-ms-date: - - Sat, 03 Aug 2019 22:04:43 GMT + - Fri, 06 Sep 2019 01:48:15 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare3416155e/targetfile response: @@ -319,21 +260,23 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:04:42 GMT + - Fri, 06 Sep 2019 01:48:16 GMT ETag: - - '"0x8D7185E96F5556F"' + - '"0x8D7326C492BFEA8"' Last-Modified: - - Sat, 03 Aug 2019 22:04:43 GMT + - Fri, 06 Sep 2019 01:48:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 64cd01d0-d048-11e9-9b58-001a7dda7113 x-ms-copy-id: - - 78c93509-82b1-4983-8a9f-40746bc99ac8 + - 6dbfa599-3201-48e7-8fa8-636658e4428f x-ms-copy-status: - pending x-ms-request-id: - - 73ca3708-701a-008d-3747-4a28a6000000 + - 7ff77923-f01a-009a-8055-64cd2d000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -347,15 +290,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b394e564-b63a-11e9-bc31-2816a845e8c6 + - 6501fad2-d048-11e9-b1ad-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:04:44 GMT + - Fri, 06 Sep 2019 01:48:16 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare3416155e/targetfile response: @@ -367,147 +310,45 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:04:44 GMT + - Fri, 06 Sep 2019 01:48:16 GMT ETag: - - '"0x8D7185E97430E5B"' + - '"0x8D7326C492BFEA8"' Last-Modified: - - Sat, 03 Aug 2019 22:04:43 GMT + - Fri, 06 Sep 2019 01:48:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-copy-id: - - 78c93509-82b1-4983-8a9f-40746bc99ac8 - x-ms-copy-progress: - - 0/8388608 - x-ms-copy-source: - - https://remotestoragename.file.core.windows.net/remoteshare3416155e/file3416155e?se=2019-08-03T23%3A04%3A43Z&sp=r&sv=2018-03-28&sr=f&sig=pf7eRZuMp4zvmCxzbGnJg/K5BmPaJJDn9eVweszEKqw%3D - x-ms-copy-status: - - pending - x-ms-request-id: - - 90a18310-501a-0030-4747-4a3e2a000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - b7bf108c-b63a-11e9-b292-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:04:51 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare3416155e/targetfile - response: - body: - string: '' - headers: - Content-Length: - - '8388608' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:04:50 GMT - ETag: - - '"0x8D7185E97430E5B"' - Last-Modified: - - Sat, 03 Aug 2019 22:04:43 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-copy-id: - - 78c93509-82b1-4983-8a9f-40746bc99ac8 - x-ms-copy-progress: - - 0/8388608 - x-ms-copy-source: - - https://remotestoragename.file.core.windows.net/remoteshare3416155e/file3416155e?se=2019-08-03T23%3A04%3A43Z&sp=r&sv=2018-03-28&sr=f&sig=pf7eRZuMp4zvmCxzbGnJg/K5BmPaJJDn9eVweszEKqw%3D - x-ms-copy-status: - - pending - x-ms-request-id: - - 90a18319-501a-0030-4a47-4a3e2a000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - bb869dd4-b63a-11e9-aa58-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:04:58 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare3416155e/targetfile - response: - body: - string: '' - headers: - Content-Length: - - '8388608' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:04:57 GMT - ETag: - - '"0x8D7185E97430E5B"' - Last-Modified: - - Sat, 03 Aug 2019 22:04:43 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + - 6501fad2-d048-11e9-b1ad-001a7dda7113 x-ms-copy-id: - - 78c93509-82b1-4983-8a9f-40746bc99ac8 + - 6dbfa599-3201-48e7-8fa8-636658e4428f x-ms-copy-progress: - 0/8388608 x-ms-copy-source: - - https://remotestoragename.file.core.windows.net/remoteshare3416155e/file3416155e?se=2019-08-03T23%3A04%3A43Z&sp=r&sv=2018-03-28&sr=f&sig=pf7eRZuMp4zvmCxzbGnJg/K5BmPaJJDn9eVweszEKqw%3D + - https://remotestoragename.file.core.windows.net/remoteshare3416155e/file3416155e?se=2019-09-06T02%3A48%3A15Z&sp=r&sv=2019-02-02&sr=f&sig=paaeXlrZG/45ho7eXO6lC4YkxRBi4eF09SaavUMPwb8%3D x-ms-copy-status: - pending + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:16.1691304Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:16.1691304Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:48:16.1691304Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 90a1831e-501a-0030-4b47-4a3e2a000000 + - ca7cca74-101a-0004-6455-64def3000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -521,15 +362,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - bf305ac2-b63a-11e9-8af5-2816a845e8c6 + - 68ad9858-d048-11e9-85a2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:04 GMT + - Fri, 06 Sep 2019 01:48:22 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare3416155e/targetfile response: @@ -541,91 +382,47 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:05:03 GMT + - Fri, 06 Sep 2019 01:48:22 GMT ETag: - - '"0x8D7185E97430E5B"' + - '"0x8D7326C499A6B8E"' Last-Modified: - - Sat, 03 Aug 2019 22:04:43 GMT + - Fri, 06 Sep 2019 01:48:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-copy-id: - - 78c93509-82b1-4983-8a9f-40746bc99ac8 - x-ms-copy-progress: - - 0/8388608 - x-ms-copy-source: - - https://remotestoragename.file.core.windows.net/remoteshare3416155e/file3416155e?se=2019-08-03T23%3A04%3A43Z&sp=r&sv=2018-03-28&sr=f&sig=pf7eRZuMp4zvmCxzbGnJg/K5BmPaJJDn9eVweszEKqw%3D - x-ms-copy-status: - - pending - x-ms-request-id: - - 90a1832c-501a-0030-4e47-4a3e2a000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - c2d9d5e2-b63a-11e9-9e3e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:10 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare3416155e/targetfile - response: - body: - string: '' - headers: - Content-Length: - - '8388608' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:05:09 GMT - ETag: - - '"0x8D7185EA31446FD"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:03 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + - 68ad9858-d048-11e9-85a2-001a7dda7113 x-ms-copy-completion-time: - - Sat, 03 Aug 2019 22:05:03 GMT + - Fri, 06 Sep 2019 01:48:16 GMT x-ms-copy-id: - - 78c93509-82b1-4983-8a9f-40746bc99ac8 + - 6dbfa599-3201-48e7-8fa8-636658e4428f x-ms-copy-progress: - 8388608/8388608 x-ms-copy-source: - - https://remotestoragename.file.core.windows.net/remoteshare3416155e/file3416155e?se=2019-08-03T23%3A04%3A43Z&sp=r&sv=2018-03-28&sr=f&sig=pf7eRZuMp4zvmCxzbGnJg/K5BmPaJJDn9eVweszEKqw%3D + - https://remotestoragename.file.core.windows.net/remoteshare3416155e/file3416155e?se=2019-09-06T02%3A48%3A15Z&sp=r&sv=2019-02-02&sr=f&sig=paaeXlrZG/45ho7eXO6lC4YkxRBi4eF09SaavUMPwb8%3D x-ms-copy-status: - success + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:16.1691304Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:16.1691304Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:48:16.1691304Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 90a18335-501a-0030-5147-4a3e2a000000 + - ca7cca8b-101a-0004-7455-64def3000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -639,17 +436,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c2fc50f4-b63a-11e9-812b-2816a845e8c6 + - 68b44976-d048-11e9-916e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:10 GMT + - Fri, 06 Sep 2019 01:48:22 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare3416155e/targetfile response: @@ -665,33 +462,47 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:05:08 GMT + - Fri, 06 Sep 2019 01:48:22 GMT ETag: - - '"0x8D7185EA31446FD"' + - '"0x8D7326C499A6B8E"' Last-Modified: - - Sat, 03 Aug 2019 22:05:03 GMT + - Fri, 06 Sep 2019 01:48:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - 68b44976-d048-11e9-916e-001a7dda7113 x-ms-copy-completion-time: - - Sat, 03 Aug 2019 22:05:03 GMT + - Fri, 06 Sep 2019 01:48:16 GMT x-ms-copy-id: - - 78c93509-82b1-4983-8a9f-40746bc99ac8 + - 6dbfa599-3201-48e7-8fa8-636658e4428f x-ms-copy-progress: - 8388608/8388608 x-ms-copy-source: - - https://remotestoragename.file.core.windows.net/remoteshare3416155e/file3416155e?se=2019-08-03T23%3A04%3A43Z&sp=r&sv=2018-03-28&sr=f&sig=pf7eRZuMp4zvmCxzbGnJg/K5BmPaJJDn9eVweszEKqw%3D + - https://remotestoragename.file.core.windows.net/remoteshare3416155e/file3416155e?se=2019-09-06T02%3A48%3A15Z&sp=r&sv=2019-02-02&sr=f&sig=paaeXlrZG/45ho7eXO6lC4YkxRBi4eF09SaavUMPwb8%3D x-ms-copy-status: - success + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:16.1691304Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:16.1691304Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:48:16.1691304Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 73ca3730-701a-008d-3e47-4a28a6000000 + - 7ff77963-f01a-009a-3555-64cd2d000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_copy_file_with_existing_file.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_copy_file_with_existing_file.yaml index d48fde16c5b9..496ba516c4c0 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_copy_file_with_existing_file.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_copy_file_with_existing_file.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 7fd950c2-b639-11e9-98de-2816a845e8c6 + - 69f90406-d048-11e9-be34-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:56:08 GMT + - Fri, 06 Sep 2019 01:48:24 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare838911ab/file838911ab response: @@ -33,273 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:07 GMT + - Fri, 06 Sep 2019 01:48:24 GMT ETag: - - '"0x8D7185D639ED0CF"' + - '"0x8D7326C4E3E381E"' Last-Modified: - - Sat, 03 Aug 2019 21:56:07 GMT + - Fri, 06 Sep 2019 01:48:24 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ddeb762c-601a-0038-0646-4a2559000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - Wu4rV6aZVQV2inZPDUDVTJI78/0r8arMCsRenZlr0xOcut741flM/ZtZe3MJkDxN6V6QvGJ7EWsU - I3vxBS3QTkOs3kHNN/R33gHBZaUlOXWDhwPGpYK4SWxyQXiSeHgfEQG6N730N5F+CHajcXyPdph/ - RO3AEvZLgl78fZCEltsvmf2EfEZ2bApBhN6KxlkpWbk4YY8RkzxkaAEacJgbZiUWOn2xgRiL6DyT - K4DNbFRWvdeUbIf+2gNfnfHPriGfCuVh/o9khMwpHiudjH+gAI7T2nR463UuA3Pz4fcAysMKflhC - CK3mkE2XW7GFmIHOffKv5Iiw/AMjUQWMHtvlktY7H02CvN4ieKVf97GPoIXgSwJUU0X7fReQqnTn - nrjKc6J3o+Y+4k9A9KtloSTKTqL9gsKj3E6RS7Xq44cYYUYzsnaeLnqvCeUtmzpcrDT3dRffliAz - wy+KVJDUmbap3FH1lzT6ytccSntQS9UmCQIC6MCDWqJE3UgMBI+8ig0916gIq4Xr46jEOedr/VJw - 9fGwQRFRgkYnkqvxVuw/pLRxzx4wxIzoZwZerHeQmkm91b4vW3hWAH0x2TrE3acVjfpYQJXC7NC+ - QrCHHmqrTTG4kzphhtswqxbxlApJgP1Rqa1LBjY+K9h0BOeNkEv1kBn7o1eE7Y/GPLnD84kY4EPE - XbfvXA6VeSWA7DbNI/3EFkXTwMxbHVMWfafHSBoQxvVQz3cOWVZqnvrVeu3YQwcgVuQrDCVTjd/s - 3MdUHVeC7Y6FHmA5rGUARoOUSr9rP8CFQrXwWF23WjLvEhND1wfnW0gfy5YjTw8NmD9/JrtNdvT4 - zRq3uenTg205/sthqMt+Hr9r5/hJJ0IDadnvJHvbE+ual2m5CkQAPzeZ7g67kptan3NG8roisyGS - BE7P7uDUG49rGHbLugnOaWtigSWArKDld8/vLhKufHfqwDICPqTxQVg6N8UMEa0rXuX9UwTBgSpJ - kaXBTPWVQbopYAnJJIWeIu1NrkMU9gh5rijaW8GAn+9+LiOpF0ytvX+GWeQ9jAqiAxgavHojrjl0 - q7/w3UsMdIItrVulpez2yw8S2kIkJkKUriSy50Y4x9OxPeKNAGZvHiYRMGndoyZtZ4wohawP5FdL - 7rNds3ykPn21NtxEgKEtz4OqfEuYp3poZCrLpVdhVfaiygsPsE0flEIT5OsbMhBNnuHG1nvQDzmy - TPAUOUyZrl4sK7Ijm25quoZ0WX7PIrVZL0qjqfl9xFURatOgb1EHZTHwl15juCYWgJIi5zOo2G+z - 0OTjWAi7075w1xpmBhMp2+pum4PGaEpT3Q8xAp13dM8YI+hUe0rF0pkWeoezOA07R/GbYJrj9w== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 802b810c-b639-11e9-a886-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:09 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare838911ab/file838911ab?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - LidahSID502R07gPXodQnw== - Date: - - Sat, 03 Aug 2019 21:56:07 GMT - ETag: - - '"0x8D7185D63B6A2E5"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:08 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ddeb762e-601a-0038-0746-4a2559000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 803ca318-b639-11e9-afc9-2816a845e8c6 - x-ms-copy-source: - - https://amqptest.file.core.windows.net/utshare838911ab/file838911ab - x-ms-date: - - Sat, 03 Aug 2019 21:56:09 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare838911ab/file1copy - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:07 GMT - ETag: - - '"0x8D7185D641352BC"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:08 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-copy-id: - - a7f945e0-0611-4272-b547-992ade2294e5 - x-ms-copy-status: - - success - x-ms-request-id: - - f71bbb65-201a-0059-3546-4a6186000000 - x-ms-version: - - '2018-11-09' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 80a8a3a4-b639-11e9-8e01-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:09 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare838911ab/file1copy - response: - body: - string: !!binary | - Wu4rV6aZVQV2inZPDUDVTJI78/0r8arMCsRenZlr0xOcut741flM/ZtZe3MJkDxN6V6QvGJ7EWsU - I3vxBS3QTkOs3kHNN/R33gHBZaUlOXWDhwPGpYK4SWxyQXiSeHgfEQG6N730N5F+CHajcXyPdph/ - RO3AEvZLgl78fZCEltsvmf2EfEZ2bApBhN6KxlkpWbk4YY8RkzxkaAEacJgbZiUWOn2xgRiL6DyT - K4DNbFRWvdeUbIf+2gNfnfHPriGfCuVh/o9khMwpHiudjH+gAI7T2nR463UuA3Pz4fcAysMKflhC - CK3mkE2XW7GFmIHOffKv5Iiw/AMjUQWMHtvlktY7H02CvN4ieKVf97GPoIXgSwJUU0X7fReQqnTn - nrjKc6J3o+Y+4k9A9KtloSTKTqL9gsKj3E6RS7Xq44cYYUYzsnaeLnqvCeUtmzpcrDT3dRffliAz - wy+KVJDUmbap3FH1lzT6ytccSntQS9UmCQIC6MCDWqJE3UgMBI+8ig0916gIq4Xr46jEOedr/VJw - 9fGwQRFRgkYnkqvxVuw/pLRxzx4wxIzoZwZerHeQmkm91b4vW3hWAH0x2TrE3acVjfpYQJXC7NC+ - QrCHHmqrTTG4kzphhtswqxbxlApJgP1Rqa1LBjY+K9h0BOeNkEv1kBn7o1eE7Y/GPLnD84kY4EPE - XbfvXA6VeSWA7DbNI/3EFkXTwMxbHVMWfafHSBoQxvVQz3cOWVZqnvrVeu3YQwcgVuQrDCVTjd/s - 3MdUHVeC7Y6FHmA5rGUARoOUSr9rP8CFQrXwWF23WjLvEhND1wfnW0gfy5YjTw8NmD9/JrtNdvT4 - zRq3uenTg205/sthqMt+Hr9r5/hJJ0IDadnvJHvbE+ual2m5CkQAPzeZ7g67kptan3NG8roisyGS - BE7P7uDUG49rGHbLugnOaWtigSWArKDld8/vLhKufHfqwDICPqTxQVg6N8UMEa0rXuX9UwTBgSpJ - kaXBTPWVQbopYAnJJIWeIu1NrkMU9gh5rijaW8GAn+9+LiOpF0ytvX+GWeQ9jAqiAxgavHojrjl0 - q7/w3UsMdIItrVulpez2yw8S2kIkJkKUriSy50Y4x9OxPeKNAGZvHiYRMGndoyZtZ4wohawP5FdL - 7rNds3ykPn21NtxEgKEtz4OqfEuYp3poZCrLpVdhVfaiygsPsE0flEIT5OsbMhBNnuHG1nvQDzmy - TPAUOUyZrl4sK7Ijm25quoZ0WX7PIrVZL0qjqfl9xFURatOgb1EHZTHwl15juCYWgJIi5zOo2G+z - 0OTjWAi7075w1xpmBhMp2+pum4PGaEpT3Q8xAp13dM8YI+hUe0rF0pkWeoezOA07R/GbYJrj9w== - headers: - Accept-Ranges: - - bytes - Content-Length: - - '1024' - Content-Range: - - bytes 0-1023/1024 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:07 GMT - ETag: - - '"0x8D7185D641352BC"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:08 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-copy-completion-time: - - Sat, 03 Aug 2019 21:56:08 GMT - x-ms-copy-id: - - a7f945e0-0611-4272-b547-992ade2294e5 - x-ms-copy-progress: - - 1024/1024 - x-ms-copy-source: - - https://storagename.file.core.windows.net/utshare838911ab/file838911ab - x-ms-copy-status: - - success - x-ms-request-id: - - f71bbb68-201a-0059-3646-4a6186000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 68d2e8be-b63a-11e9-b247-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:02:39 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare838911ab/file838911ab - response: - body: - string: '' - headers: - Content-Length: + - 69f90406-d048-11e9-be34-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:24.6771742Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:24.6771742Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:48:24.6771742Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:02:38 GMT - ETag: - - '"0x8D7185E4C86CDAA"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:38 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 9bef9696-101a-0078-1947-4a0cb7000000 + - bd71ef4c-601a-0043-6755-64b5a8000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -335,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 69164f64-b63a-11e9-b49c-2816a845e8c6 + - 6a12581c-d048-11e9-8252-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:02:39 GMT + - Fri, 06 Sep 2019 01:48:24 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -357,273 +127,21 @@ interactions: Content-MD5: - LidahSID502R07gPXodQnw== Date: - - Sat, 03 Aug 2019 22:02:38 GMT - ETag: - - '"0x8D7185E4CA1867C"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:38 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 9bef9699-101a-0078-1a47-4a0cb7000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 692dc4da-b63a-11e9-bfc7-2816a845e8c6 - x-ms-copy-source: - - https://amqptest.file.core.windows.net/utshare838911ab/file838911ab - x-ms-date: - - Sat, 03 Aug 2019 22:02:40 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare838911ab/file1copy - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:02:38 GMT - ETag: - - '"0x8D7185E4D02CAFB"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:39 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-copy-id: - - 13796ac8-c8d5-427c-93ad-3870a62e7e23 - x-ms-copy-status: - - success - x-ms-request-id: - - 03c172f9-f01a-00d8-3447-4ac3d1000000 - x-ms-version: - - '2018-11-09' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 698f6300-b63a-11e9-8119-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:02:40 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare838911ab/file1copy - response: - body: - string: !!binary | - Wu4rV6aZVQV2inZPDUDVTJI78/0r8arMCsRenZlr0xOcut741flM/ZtZe3MJkDxN6V6QvGJ7EWsU - I3vxBS3QTkOs3kHNN/R33gHBZaUlOXWDhwPGpYK4SWxyQXiSeHgfEQG6N730N5F+CHajcXyPdph/ - RO3AEvZLgl78fZCEltsvmf2EfEZ2bApBhN6KxlkpWbk4YY8RkzxkaAEacJgbZiUWOn2xgRiL6DyT - K4DNbFRWvdeUbIf+2gNfnfHPriGfCuVh/o9khMwpHiudjH+gAI7T2nR463UuA3Pz4fcAysMKflhC - CK3mkE2XW7GFmIHOffKv5Iiw/AMjUQWMHtvlktY7H02CvN4ieKVf97GPoIXgSwJUU0X7fReQqnTn - nrjKc6J3o+Y+4k9A9KtloSTKTqL9gsKj3E6RS7Xq44cYYUYzsnaeLnqvCeUtmzpcrDT3dRffliAz - wy+KVJDUmbap3FH1lzT6ytccSntQS9UmCQIC6MCDWqJE3UgMBI+8ig0916gIq4Xr46jEOedr/VJw - 9fGwQRFRgkYnkqvxVuw/pLRxzx4wxIzoZwZerHeQmkm91b4vW3hWAH0x2TrE3acVjfpYQJXC7NC+ - QrCHHmqrTTG4kzphhtswqxbxlApJgP1Rqa1LBjY+K9h0BOeNkEv1kBn7o1eE7Y/GPLnD84kY4EPE - XbfvXA6VeSWA7DbNI/3EFkXTwMxbHVMWfafHSBoQxvVQz3cOWVZqnvrVeu3YQwcgVuQrDCVTjd/s - 3MdUHVeC7Y6FHmA5rGUARoOUSr9rP8CFQrXwWF23WjLvEhND1wfnW0gfy5YjTw8NmD9/JrtNdvT4 - zRq3uenTg205/sthqMt+Hr9r5/hJJ0IDadnvJHvbE+ual2m5CkQAPzeZ7g67kptan3NG8roisyGS - BE7P7uDUG49rGHbLugnOaWtigSWArKDld8/vLhKufHfqwDICPqTxQVg6N8UMEa0rXuX9UwTBgSpJ - kaXBTPWVQbopYAnJJIWeIu1NrkMU9gh5rijaW8GAn+9+LiOpF0ytvX+GWeQ9jAqiAxgavHojrjl0 - q7/w3UsMdIItrVulpez2yw8S2kIkJkKUriSy50Y4x9OxPeKNAGZvHiYRMGndoyZtZ4wohawP5FdL - 7rNds3ykPn21NtxEgKEtz4OqfEuYp3poZCrLpVdhVfaiygsPsE0flEIT5OsbMhBNnuHG1nvQDzmy - TPAUOUyZrl4sK7Ijm25quoZ0WX7PIrVZL0qjqfl9xFURatOgb1EHZTHwl15juCYWgJIi5zOo2G+z - 0OTjWAi7075w1xpmBhMp2+pum4PGaEpT3Q8xAp13dM8YI+hUe0rF0pkWeoezOA07R/GbYJrj9w== - headers: - Accept-Ranges: - - bytes - Content-Length: - - '1024' - Content-Range: - - bytes 0-1023/1024 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:02:39 GMT - ETag: - - '"0x8D7185E4D02CAFB"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:39 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-copy-completion-time: - - Sat, 03 Aug 2019 22:02:39 GMT - x-ms-copy-id: - - 13796ac8-c8d5-427c-93ad-3870a62e7e23 - x-ms-copy-progress: - - 1024/1024 - x-ms-copy-source: - - https://storagename.file.core.windows.net/utshare838911ab/file838911ab - x-ms-copy-status: - - success - x-ms-request-id: - - 03c172fc-f01a-00d8-3547-4ac3d1000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - c76d39c2-b63a-11e9-bc5c-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:05:18 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare838911ab/file838911ab - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:05:16 GMT + - Fri, 06 Sep 2019 01:48:24 GMT ETag: - - '"0x8D7185EAB1F63A9"' + - '"0x8D7326C4E44F07F"' Last-Modified: - - Sat, 03 Aug 2019 22:05:17 GMT + - Fri, 06 Sep 2019 01:48:24 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - bc10561d-101a-001e-7047-4abeed000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - Wu4rV6aZVQV2inZPDUDVTJI78/0r8arMCsRenZlr0xOcut741flM/ZtZe3MJkDxN6V6QvGJ7EWsU - I3vxBS3QTkOs3kHNN/R33gHBZaUlOXWDhwPGpYK4SWxyQXiSeHgfEQG6N730N5F+CHajcXyPdph/ - RO3AEvZLgl78fZCEltsvmf2EfEZ2bApBhN6KxlkpWbk4YY8RkzxkaAEacJgbZiUWOn2xgRiL6DyT - K4DNbFRWvdeUbIf+2gNfnfHPriGfCuVh/o9khMwpHiudjH+gAI7T2nR463UuA3Pz4fcAysMKflhC - CK3mkE2XW7GFmIHOffKv5Iiw/AMjUQWMHtvlktY7H02CvN4ieKVf97GPoIXgSwJUU0X7fReQqnTn - nrjKc6J3o+Y+4k9A9KtloSTKTqL9gsKj3E6RS7Xq44cYYUYzsnaeLnqvCeUtmzpcrDT3dRffliAz - wy+KVJDUmbap3FH1lzT6ytccSntQS9UmCQIC6MCDWqJE3UgMBI+8ig0916gIq4Xr46jEOedr/VJw - 9fGwQRFRgkYnkqvxVuw/pLRxzx4wxIzoZwZerHeQmkm91b4vW3hWAH0x2TrE3acVjfpYQJXC7NC+ - QrCHHmqrTTG4kzphhtswqxbxlApJgP1Rqa1LBjY+K9h0BOeNkEv1kBn7o1eE7Y/GPLnD84kY4EPE - XbfvXA6VeSWA7DbNI/3EFkXTwMxbHVMWfafHSBoQxvVQz3cOWVZqnvrVeu3YQwcgVuQrDCVTjd/s - 3MdUHVeC7Y6FHmA5rGUARoOUSr9rP8CFQrXwWF23WjLvEhND1wfnW0gfy5YjTw8NmD9/JrtNdvT4 - zRq3uenTg205/sthqMt+Hr9r5/hJJ0IDadnvJHvbE+ual2m5CkQAPzeZ7g67kptan3NG8roisyGS - BE7P7uDUG49rGHbLugnOaWtigSWArKDld8/vLhKufHfqwDICPqTxQVg6N8UMEa0rXuX9UwTBgSpJ - kaXBTPWVQbopYAnJJIWeIu1NrkMU9gh5rijaW8GAn+9+LiOpF0ytvX+GWeQ9jAqiAxgavHojrjl0 - q7/w3UsMdIItrVulpez2yw8S2kIkJkKUriSy50Y4x9OxPeKNAGZvHiYRMGndoyZtZ4wohawP5FdL - 7rNds3ykPn21NtxEgKEtz4OqfEuYp3poZCrLpVdhVfaiygsPsE0flEIT5OsbMhBNnuHG1nvQDzmy - TPAUOUyZrl4sK7Ijm25quoZ0WX7PIrVZL0qjqfl9xFURatOgb1EHZTHwl15juCYWgJIi5zOo2G+z - 0OTjWAi7075w1xpmBhMp2+pum4PGaEpT3Q8xAp13dM8YI+hUe0rF0pkWeoezOA07R/GbYJrj9w== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - c7b0f124-b63a-11e9-a7b5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:18 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare838911ab/file838911ab?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - LidahSID502R07gPXodQnw== - Date: - - Sat, 03 Aug 2019 22:05:17 GMT - ETag: - - '"0x8D7185EAB3CB500"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:17 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + - 6a12581c-d048-11e9-8252-001a7dda7113 x-ms-request-id: - - bc10561f-101a-001e-7147-4abeed000000 + - bd71ef4e-601a-0043-6855-64b5a8000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -639,17 +157,17 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c7c672b4-b63a-11e9-b2bd-2816a845e8c6 + - 6a195968-d048-11e9-ba86-001a7dda7113 x-ms-copy-source: - - https://amqptest.file.core.windows.net/utshare838911ab/file838911ab + - https://emilydevtest.file.core.windows.net/utshare838911ab/file838911ab x-ms-date: - - Sat, 03 Aug 2019 22:05:18 GMT + - Fri, 06 Sep 2019 01:48:24 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare838911ab/file1copy response: @@ -659,21 +177,23 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:05:18 GMT + - Fri, 06 Sep 2019 01:48:27 GMT ETag: - - '"0x8D7185EABD58E6C"' + - '"0x8D7326C4FF7C4ED"' Last-Modified: - - Sat, 03 Aug 2019 22:05:18 GMT + - Fri, 06 Sep 2019 01:48:27 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 6a195968-d048-11e9-ba86-001a7dda7113 x-ms-copy-id: - - a21bd0a8-74f3-4f24-bf36-2fabeb8b6ec4 + - e5acaa6d-f864-428c-823d-5aab69bcd8cf x-ms-copy-status: - success x-ms-request-id: - - 13ecdcc1-001a-00cd-0847-4a0148000000 + - 1031b179-201a-0052-2155-642f1c000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -687,17 +207,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c85d19d8-b63a-11e9-88b4-2816a845e8c6 + - 6bcea668-d048-11e9-9443-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:19 GMT + - Fri, 06 Sep 2019 01:48:27 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare838911ab/file1copy response: @@ -731,33 +251,47 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:05:18 GMT + - Fri, 06 Sep 2019 01:48:35 GMT ETag: - - '"0x8D7185EABD58E6C"' + - '"0x8D7326C4FF7C4ED"' Last-Modified: - - Sat, 03 Aug 2019 22:05:18 GMT + - Fri, 06 Sep 2019 01:48:27 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - 6bcea668-d048-11e9-9443-001a7dda7113 x-ms-copy-completion-time: - - Sat, 03 Aug 2019 22:05:18 GMT + - Fri, 06 Sep 2019 01:48:27 GMT x-ms-copy-id: - - a21bd0a8-74f3-4f24-bf36-2fabeb8b6ec4 + - e5acaa6d-f864-428c-823d-5aab69bcd8cf x-ms-copy-progress: - 1024/1024 x-ms-copy-source: - https://storagename.file.core.windows.net/utshare838911ab/file838911ab x-ms-copy-status: - success + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:24.6771742Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:27.5709165Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T01:48:24.6771742Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 13ecdcc5-001a-00cd-0947-4a0148000000 + - 1031b17e-201a-0052-2255-642f1c000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file.yaml index 731190ef569e..07d61e20f03c 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 814e07a8-b639-11e9-a931-2816a845e8c6 + - 7111d5fe-d048-11e9-926d-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:56:11 GMT + - Fri, 06 Sep 2019 01:48:36 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare8e670a80/file8e670a80 response: @@ -33,119 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:09 GMT + - Fri, 06 Sep 2019 01:48:35 GMT ETag: - - '"0x8D7185D650E5B36"' + - '"0x8D7326C55571FDE"' Last-Modified: - - Sat, 03 Aug 2019 21:56:10 GMT + - Fri, 06 Sep 2019 01:48:36 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - b00444d6-d01a-00a9-5f46-4ab1e8000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 81a30b76-b639-11e9-a3f5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:11 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare8e670a80/file8e670a80 - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:09 GMT - ETag: - - '"0x8D7185D650E5B36"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:10 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - b00444d9-d01a-00a9-6046-4ab1e8000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 6a6fa82e-b63a-11e9-bb9f-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:02:42 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8e670a80/file8e670a80 - response: - body: - string: '' - headers: - Content-Length: + - 7111d5fe-d048-11e9-926d-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:36.5844446Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:36.5844446Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:48:36.5844446Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:02:41 GMT - ETag: - - '"0x8D7185E4E2538C7"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:41 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 49584ac2-501a-0074-0347-4ae246000000 + - 60a74b24-b01a-0032-3055-645383000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -159,15 +83,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 6aac02b0-b63a-11e9-8c51-2816a845e8c6 + - 712b63d8-d048-11e9-9655-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:02:42 GMT + - Fri, 06 Sep 2019 01:48:36 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare8e670a80/file8e670a80 response: @@ -179,123 +103,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:02:41 GMT + - Fri, 06 Sep 2019 01:48:35 GMT ETag: - - '"0x8D7185E4E2538C7"' + - '"0x8D7326C55571FDE"' Last-Modified: - - Sat, 03 Aug 2019 22:02:41 GMT + - Fri, 06 Sep 2019 01:48:36 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 49584ac5-501a-0074-0447-4ae246000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - c9254912-b63a-11e9-a605-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:05:21 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8e670a80/file8e670a80 - response: - body: - string: '' - headers: - Content-Length: + - 712b63d8-d048-11e9-9655-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:36.5844446Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:36.5844446Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:48:36.5844446Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:05:19 GMT - ETag: - - '"0x8D7185EACFA9478"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:20 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - e97778b4-d01a-0008-7547-4a7f73000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - c9865854-b63a-11e9-8492-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:21 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare8e670a80/file8e670a80 - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:05:19 GMT - ETag: - - '"0x8D7185EACFA9478"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:20 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - e97778b6-d01a-0008-7647-4a7f73000000 + - 60a74b26-b01a-0032-3155-645383000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_from_text.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_from_text.yaml index 0d0a7baed182..0515fdd0dc4e 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_from_text.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_from_text.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 85d32abe-b639-11e9-ad18-2816a845e8c6 + - 77d8e88c-d048-11e9-a396-001a7dda7113 x-ms-content-length: - '27' x-ms-date: - - Sat, 03 Aug 2019 21:56:18 GMT + - Fri, 06 Sep 2019 01:48:47 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharee270eb7/filee270eb7 response: @@ -33,177 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:17 GMT + - Fri, 06 Sep 2019 01:48:47 GMT ETag: - - '"0x8D7185D698CEC7F"' + - '"0x8D7326C5C230D3D"' Last-Modified: - - Sat, 03 Aug 2019 21:56:17 GMT + - Fri, 06 Sep 2019 01:48:47 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d406fb47-d01a-0080-6146-4ac7aa000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: "hello \u554A\u9F44\u4E02\u72DB\u72DC world" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8615634c-b639-11e9-8482-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:19 GMT - x-ms-range: - - bytes=0-26 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharee270eb7/filee270eb7?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - 1dmqejQJFCXZC/Jqkmc1Lw== - Date: - - Sat, 03 Aug 2019 21:56:17 GMT - ETag: - - '"0x8D7185D69A31097"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:17 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d406fb49-d01a-0080-6246-4ac7aa000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 862872e6-b639-11e9-a9fc-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:19 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharee270eb7/filee270eb7 - response: - body: - string: "hello \u554A\u9F44\u4E02\u72DB\u72DC world" - headers: - Accept-Ranges: - - bytes - Content-Length: - - '27' - Content-Range: - - bytes 0-26/27 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:17 GMT - ETag: - - '"0x8D7185D69A31097"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:17 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - d406fb4a-d01a-0080-6346-4ac7aa000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 6d447ad8-b63a-11e9-a3b6-2816a845e8c6 - x-ms-content-length: - - '27' - x-ms-date: - - Sat, 03 Aug 2019 22:02:46 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee270eb7/filee270eb7 - response: - body: - string: '' - headers: - Content-Length: + - 77d8e88c-d048-11e9-a396-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:47.9872317Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:47.9872317Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:48:47.9872317Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:02:45 GMT - ETag: - - '"0x8D7185E50FB992B"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:46 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 9fd38ac8-901a-00ae-2a47-4a476d000000 + - 40c5e652-801a-0016-3e55-64a523000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -221,15 +87,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 6d9a7450-b63a-11e9-b77f-2816a845e8c6 + - 77f74214-d048-11e9-ace7-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:02:47 GMT + - Fri, 06 Sep 2019 01:48:48 GMT x-ms-range: - bytes=0-26 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -243,19 +109,21 @@ interactions: Content-MD5: - 1dmqejQJFCXZC/Jqkmc1Lw== Date: - - Sat, 03 Aug 2019 22:02:45 GMT + - Fri, 06 Sep 2019 01:48:47 GMT ETag: - - '"0x8D7185E512A2BB7"' + - '"0x8D7326C5C299E83"' Last-Modified: - - Sat, 03 Aug 2019 22:02:46 GMT + - Fri, 06 Sep 2019 01:48:48 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 77f74214-d048-11e9-ace7-001a7dda7113 x-ms-request-id: - - 9fd38acc-901a-00ae-2b47-4a476d000000 + - 40c5e656-801a-0016-4055-64a523000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -269,17 +137,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 6daf3926-b63a-11e9-9ede-2816a845e8c6 + - 780336fa-d048-11e9-b8ac-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:02:47 GMT + - Fri, 06 Sep 2019 01:48:48 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharee270eb7/filee270eb7 response: @@ -295,181 +163,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:02:45 GMT + - Fri, 06 Sep 2019 01:48:47 GMT ETag: - - '"0x8D7185E512A2BB7"' + - '"0x8D7326C5C299E83"' Last-Modified: - - Sat, 03 Aug 2019 22:02:46 GMT + - Fri, 06 Sep 2019 01:48:48 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 9fd38acd-901a-00ae-2c47-4a476d000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - cd433182-b63a-11e9-90db-2816a845e8c6 - x-ms-content-length: - - '27' - x-ms-date: - - Sat, 03 Aug 2019 22:05:27 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee270eb7/filee270eb7 - response: - body: - string: '' - headers: - Content-Length: + - 780336fa-d048-11e9-b8ac-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:47.9872317Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:47.9872317Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:48:47.9872317Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:05:26 GMT - ETag: - - '"0x8D7185EB1248DD4"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:27 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ca338674-301a-0046-4647-4aba96000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: "hello \u554A\u9F44\u4E02\u72DB\u72DC world" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - cdac20f8-b63a-11e9-a551-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:28 GMT - x-ms-range: - - bytes=0-26 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharee270eb7/filee270eb7?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - 1dmqejQJFCXZC/Jqkmc1Lw== - Date: - - Sat, 03 Aug 2019 22:05:26 GMT - ETag: - - '"0x8D7185EB1372ED2"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:27 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ca338676-301a-0046-4747-4aba96000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - cdcb658a-b63a-11e9-8d49-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:28 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharee270eb7/filee270eb7 - response: - body: - string: "hello \u554A\u9F44\u4E02\u72DB\u72DC world" - headers: - Accept-Ranges: - - bytes - Content-Length: - - '27' - Content-Range: - - bytes 0-26/27 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:05:26 GMT - ETag: - - '"0x8D7185EB1372ED2"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:27 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ca338677-301a-0046-4847-4aba96000000 + - 40c5e658-801a-0016-4255-64a523000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_from_text_with_encoding.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_from_text_with_encoding.yaml index 7a42dd2371f6..e08dc5d8708c 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_from_text_with_encoding.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_from_text_with_encoding.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 872b249c-b639-11e9-bf4e-2816a845e8c6 + - 78776514-d048-11e9-adef-001a7dda7113 x-ms-content-length: - '36' x-ms-date: - - Sat, 03 Aug 2019 21:56:20 GMT + - Fri, 06 Sep 2019 01:48:48 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare7791478/file7791478 response: @@ -33,179 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:19 GMT + - Fri, 06 Sep 2019 01:48:48 GMT ETag: - - '"0x8D7185D6AE25A70"' + - '"0x8D7326C5CBC3E00"' Last-Modified: - - Sat, 03 Aug 2019 21:56:20 GMT + - Fri, 06 Sep 2019 01:48:48 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2931ae71-f01a-00b5-1346-4a69ff000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - //5oAGUAbABsAG8AIABKVUSfAk7bctxyIAB3AG8AcgBsAGQA - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '36' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 877e89fe-b639-11e9-aacc-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:21 GMT - x-ms-range: - - bytes=0-35 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare7791478/file7791478?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - O7c5HRnUhbM5yD4T1wnm/w== - Date: - - Sat, 03 Aug 2019 21:56:20 GMT - ETag: - - '"0x8D7185D6B09E6D4"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:20 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2931ae73-f01a-00b5-1446-4a69ff000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 878f27d2-b639-11e9-bdd7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:21 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare7791478/file7791478 - response: - body: - string: !!binary | - //5oAGUAbABsAG8AIABKVUSfAk7bctxyIAB3AG8AcgBsAGQA - headers: - Accept-Ranges: - - bytes - Content-Length: - - '36' - Content-Range: - - bytes 0-35/36 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:20 GMT - ETag: - - '"0x8D7185D6B09E6D4"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:20 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 2931ae74-f01a-00b5-1546-4a69ff000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 6ead76ba-b63a-11e9-ba3b-2816a845e8c6 - x-ms-content-length: - - '36' - x-ms-date: - - Sat, 03 Aug 2019 22:02:49 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare7791478/file7791478 - response: - body: - string: '' - headers: - Content-Length: + - 78776514-d048-11e9-adef-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:48.9911808Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:48.9911808Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:48:48.9911808Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:02:47 GMT - ETag: - - '"0x8D7185E5270C9E5"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:48 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ca33859a-301a-0046-1c47-4aba96000000 + - a8987965-701a-0012-0855-642824000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -224,15 +88,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 6ef72e9e-b63a-11e9-9a50-2816a845e8c6 + - 78908dc6-d048-11e9-98a4-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:02:49 GMT + - Fri, 06 Sep 2019 01:48:49 GMT x-ms-range: - bytes=0-35 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -246,19 +110,21 @@ interactions: Content-MD5: - O7c5HRnUhbM5yD4T1wnm/w== Date: - - Sat, 03 Aug 2019 22:02:48 GMT + - Fri, 06 Sep 2019 01:48:48 GMT ETag: - - '"0x8D7185E52856716"' + - '"0x8D7326C5CC36BAD"' Last-Modified: - - Sat, 03 Aug 2019 22:02:48 GMT + - Fri, 06 Sep 2019 01:48:49 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 78908dc6-d048-11e9-98a4-001a7dda7113 x-ms-request-id: - - ca33859c-301a-0046-1d47-4aba96000000 + - a8987967-701a-0012-0955-642824000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -272,17 +138,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 6f0b5550-b63a-11e9-950b-2816a845e8c6 + - 7897380a-d048-11e9-ac13-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:02:49 GMT + - Fri, 06 Sep 2019 01:48:49 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare7791478/file7791478 response: @@ -299,183 +165,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:02:48 GMT + - Fri, 06 Sep 2019 01:48:49 GMT ETag: - - '"0x8D7185E52856716"' + - '"0x8D7326C5CC36BAD"' Last-Modified: - - Sat, 03 Aug 2019 22:02:48 GMT + - Fri, 06 Sep 2019 01:48:49 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - ca33859d-301a-0046-1e47-4aba96000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - ce8d24de-b63a-11e9-b9c4-2816a845e8c6 - x-ms-content-length: - - '36' - x-ms-date: - - Sat, 03 Aug 2019 22:05:30 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare7791478/file7791478 - response: - body: - string: '' - headers: - Content-Length: + - 7897380a-d048-11e9-ac13-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:48.9911808Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:48.9911808Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:48:48.9911808Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:05:28 GMT - ETag: - - '"0x8D7185EB24E76EC"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:29 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 721fcecb-801a-0010-4f47-4a52e6000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - //5oAGUAbABsAG8AIABKVUSfAk7bctxyIAB3AG8AcgBsAGQA - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '36' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - ced3c528-b63a-11e9-8678-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:30 GMT - x-ms-range: - - bytes=0-35 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare7791478/file7791478?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - O7c5HRnUhbM5yD4T1wnm/w== - Date: - - Sat, 03 Aug 2019 22:05:28 GMT - ETag: - - '"0x8D7185EB25E313D"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:29 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 721fcecd-801a-0010-5047-4a52e6000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - cee3710a-b63a-11e9-84b7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:30 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare7791478/file7791478 - response: - body: - string: !!binary | - //5oAGUAbABsAG8AIABKVUSfAk7bctxyIAB3AG8AcgBsAGQA - headers: - Accept-Ranges: - - bytes - Content-Length: - - '36' - Content-Range: - - bytes 0-35/36 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:05:29 GMT - ETag: - - '"0x8D7185EB25E313D"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:29 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 721fcece-801a-0010-5147-4a52e6000000 + - a8987968-701a-0012-0a55-642824000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_will_set_all_smb_properties.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_will_set_all_smb_properties.yaml new file mode 100644 index 000000000000..6c896a4e76c4 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_will_set_all_smb_properties.yaml @@ -0,0 +1,140 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7c73c67a-d048-11e9-b4b5-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Fri, 06 Sep 2019 01:48:55 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare5c361627/file5c361627 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Fri, 06 Sep 2019 01:48:55 GMT + ETag: + - '"0x8D7326C60BBDAC3"' + Last-Modified: + - Fri, 06 Sep 2019 01:48:55 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 7c73c67a-d048-11e9-b4b5-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:55.6995267Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:55.6995267Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:48:55.6995267Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 + x-ms-request-id: + - d9b66866-b01a-008b-1755-645799000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7c902e3e-d048-11e9-aa59-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 01:48:55 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.file.core.windows.net/utshare5c361627/file5c361627 + response: + body: + string: '' + headers: + Content-Length: + - '1024' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Fri, 06 Sep 2019 01:48:55 GMT + ETag: + - '"0x8D7326C60BBDAC3"' + Last-Modified: + - Fri, 06 Sep 2019 01:48:55 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 7c902e3e-d048-11e9-aa59-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:48:55.6995267Z' + x-ms-file-creation-time: + - '2019-09-06T01:48:55.6995267Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:48:55.6995267Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 + x-ms-request-id: + - d9b6686a-b01a-008b-1a55-645799000000 + x-ms-server-encrypted: + - 'true' + x-ms-type: + - File + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_with_invalid_file_permission.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_with_invalid_file_permission.yaml new file mode 100644 index 000000000000..159e7e873504 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_with_invalid_file_permission.yaml @@ -0,0 +1,61 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7cb57ec8-d048-11e9-b158-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Fri, 06 Sep 2019 01:48:56 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - abcde + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare725b1688/file725b1688 + response: + body: + string: "\uFEFFFileInvalidPermissionThe + specified file permission is not valid.\nRequestId:aa037816-201a-000f-5255-642598000000\nTime:2019-09-06T01:48:56.0937030Z" + headers: + Content-Length: + - '233' + Content-Type: + - application/xml + Date: + - Fri, 06 Sep 2019 01:48:55 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 7cb57ec8-d048-11e9-b158-001a7dda7113 + x-ms-error-code: + - FileInvalidPermission + x-ms-request-id: + - aa037816-201a-000f-5255-642598000000 + x-ms-version: + - '2019-02-02' + status: + code: 400 + message: The specified file permission is not valid. +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_with_md5_small.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_with_md5_small.yaml index f3b80faa0bf4..b4af51bc6e78 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_with_md5_small.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_with_md5_small.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 88464c46-b639-11e9-a05d-2816a845e8c6 + - 8387ee94-d048-11e9-939f-001a7dda7113 x-ms-content-length: - '512' x-ms-date: - - Sat, 03 Aug 2019 21:56:22 GMT + - Fri, 06 Sep 2019 01:49:07 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5bf81078/file5bf81078 response: @@ -33,132 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:21 GMT + - Fri, 06 Sep 2019 01:49:06 GMT ETag: - - '"0x8D7185D6BFE103E"' + - '"0x8D7326C67D0547D"' Last-Modified: - - Sat, 03 Aug 2019 21:56:21 GMT + - Fri, 06 Sep 2019 01:49:07 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 55a7a059-f01a-0079-0f46-4a0d4a000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - DtIVbImXT2PzoOY6csZxoSzGwO2k1FOqGDzuIrE+a1vFoNQbbiBfnXKjaAqpXcsL8X0kFWd6zSb5 - YHtw/qBIaEheNr+oQznPtE/UWSejMuMRBOmZ5VYUjp5rCyTUsKPR09vPCuKVGK8KHy7dDXJhwlLK - 9WSbBichhJYKB716aJLbh98J93fB4ZC/feXMxjzVfAKcXvrFXXryet9oHGsva2fzkX4na+e9ndl6 - hHsU7YxtKOxE6LphLnWUd7aEyMBEOoxHpIdOPwrt6g3cPc2pAiAcT6W9BNTl/C0mppF5mjDD58tV - ESqJnaFAs/a/eboJgNJRxYPyijrlilyDpSTSjYhQOk2GjINLp5dHwAgVfDs5cV41Kav4c0C9M7U/ - VsN0eICNbY+T+vbIiWLQIg1d98s3whfkU9Z69/xpmkHRckY2qWLhAnCdwRrXKMIL4B9255yjNOHe - xScNFIUTG1G8QZdEugGVi1ejHkM1AEyspgb9sbt6vah/WAe6F4sQEkNhDjJlsr3eARo0vbzm61VN - Ta6gkpjkPAxa5ggkIhyPug05qBxgqllq78BPmqRSa16i2Le6WLhyifc+W8rpV563rJmR4FsImzyp - cS7BX/j5QortcKEzbUfms0bHfu6UAxFacBIizBSuYRBBRjhW+NVRosQOWFFJ62/OeRa5OylbS38= - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-MD5: - - HHhCuQmzeIcqLucDqDgnYg== - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 888728a8-b639-11e9-b99d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:23 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare5bf81078/file5bf81078?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - HHhCuQmzeIcqLucDqDgnYg== - Date: - - Sat, 03 Aug 2019 21:56:21 GMT - ETag: - - '"0x8D7185D6C143456"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:22 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 55a7a05b-f01a-0079-1046-4a0d4a000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 6fa31eb0-b63a-11e9-9906-2816a845e8c6 - x-ms-content-length: - - '512' - x-ms-date: - - Sat, 03 Aug 2019 22:02:50 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare5bf81078/file5bf81078 - response: - body: - string: '' - headers: - Content-Length: + - 8387ee94-d048-11e9-939f-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:07.5777661Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:07.5777661Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:07.5777661Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:02:49 GMT - ETag: - - '"0x8D7185E535B2D83"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:50 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 18dba97d-201a-003f-4947-4ad3dc000000 + - f13f2f9a-901a-00d1-6755-64317e000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -187,15 +98,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 6fe10474-b63a-11e9-b7b1-2816a845e8c6 + - 83a518b8-d048-11e9-92fc-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:02:51 GMT + - Fri, 06 Sep 2019 01:49:07 GMT x-ms-range: - bytes=0-511 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -209,132 +120,21 @@ interactions: Content-MD5: - HHhCuQmzeIcqLucDqDgnYg== Date: - - Sat, 03 Aug 2019 22:02:49 GMT + - Fri, 06 Sep 2019 01:49:06 GMT ETag: - - '"0x8D7185E536EB917"' + - '"0x8D7326C67D7822A"' Last-Modified: - - Sat, 03 Aug 2019 22:02:50 GMT + - Fri, 06 Sep 2019 01:49:07 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 18dba97f-201a-003f-4a47-4ad3dc000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - cfaf606c-b63a-11e9-ba34-2816a845e8c6 - x-ms-content-length: - - '512' - x-ms-date: - - Sat, 03 Aug 2019 22:05:32 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare5bf81078/file5bf81078 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:05:31 GMT - ETag: - - '"0x8D7185EB369DE94"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:31 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 18dbaa6a-201a-003f-7347-4ad3dc000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - DtIVbImXT2PzoOY6csZxoSzGwO2k1FOqGDzuIrE+a1vFoNQbbiBfnXKjaAqpXcsL8X0kFWd6zSb5 - YHtw/qBIaEheNr+oQznPtE/UWSejMuMRBOmZ5VYUjp5rCyTUsKPR09vPCuKVGK8KHy7dDXJhwlLK - 9WSbBichhJYKB716aJLbh98J93fB4ZC/feXMxjzVfAKcXvrFXXryet9oHGsva2fzkX4na+e9ndl6 - hHsU7YxtKOxE6LphLnWUd7aEyMBEOoxHpIdOPwrt6g3cPc2pAiAcT6W9BNTl/C0mppF5mjDD58tV - ESqJnaFAs/a/eboJgNJRxYPyijrlilyDpSTSjYhQOk2GjINLp5dHwAgVfDs5cV41Kav4c0C9M7U/ - VsN0eICNbY+T+vbIiWLQIg1d98s3whfkU9Z69/xpmkHRckY2qWLhAnCdwRrXKMIL4B9255yjNOHe - xScNFIUTG1G8QZdEugGVi1ejHkM1AEyspgb9sbt6vah/WAe6F4sQEkNhDjJlsr3eARo0vbzm61VN - Ta6gkpjkPAxa5ggkIhyPug05qBxgqllq78BPmqRSa16i2Le6WLhyifc+W8rpV563rJmR4FsImzyp - cS7BX/j5QortcKEzbUfms0bHfu6UAxFacBIizBSuYRBBRjhW+NVRosQOWFFJ62/OeRa5OylbS38= - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-MD5: - - HHhCuQmzeIcqLucDqDgnYg== - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - cff011ee-b63a-11e9-a4c0-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:32 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare5bf81078/file5bf81078?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - HHhCuQmzeIcqLucDqDgnYg== - Date: - - Sat, 03 Aug 2019 22:05:31 GMT - ETag: - - '"0x8D7185EB37CF4D9"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:31 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + - 83a518b8-d048-11e9-92fc-001a7dda7113 x-ms-request-id: - - 18dbaa6c-201a-003f-7447-4ad3dc000000 + - f13f2f9c-901a-00d1-6855-64317e000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_with_metadata.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_with_metadata.yaml index 0b186d198203..a2c13d6630f9 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_with_metadata.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_create_file_with_metadata.yaml @@ -11,15 +11,23 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 88ffc39e-b639-11e9-8ed8-2816a845e8c6 + - 856e57f8-d048-11e9-a985-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:56:23 GMT + - Fri, 06 Sep 2019 01:49:10 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-meta: - '{''hello'': ''world'', ''number'': ''42''}' x-ms-meta-hello: @@ -29,7 +37,7 @@ interactions: x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare4cc6103b/file4cc6103b response: @@ -39,129 +47,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:22 GMT + - Fri, 06 Sep 2019 01:49:10 GMT ETag: - - '"0x8D7185D6CCD6CE3"' + - '"0x8D7326C69B28181"' Last-Modified: - - Sat, 03 Aug 2019 21:56:23 GMT + - Fri, 06 Sep 2019 01:49:10 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 066cdd8c-601a-00bb-7546-4a85f4000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 89524d62-b639-11e9-8f2d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:24 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare4cc6103b/file4cc6103b - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:22 GMT - ETag: - - '"0x8D7185D6CCD6CE3"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:23 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-meta-hello: - - world - x-ms-meta-number: - - '42' - x-ms-request-id: - - 066cdd8f-601a-00bb-7646-4a85f4000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 7044eafa-b63a-11e9-91a6-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:02:51 GMT - x-ms-meta: - - '{''hello'': ''world'', ''number'': ''42''}' - x-ms-meta-hello: - - world - x-ms-meta-number: - - '42' - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare4cc6103b/file4cc6103b - response: - body: - string: '' - headers: - Content-Length: + - 856e57f8-d048-11e9-a985-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:10.7377537Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:10.7377537Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:10.7377537Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:02:50 GMT - ETag: - - '"0x8D7185E53FBD086"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:51 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - c7ccb064-501a-0019-2f47-4a4868000000 + - 53b40316-101a-0092-5155-64d722000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -175,15 +89,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 7081559e-b63a-11e9-9811-2816a845e8c6 + - 8586b2c0-d048-11e9-8875-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:02:52 GMT + - Fri, 06 Sep 2019 01:49:10 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare4cc6103b/file4cc6103b response: @@ -195,137 +109,41 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:02:50 GMT + - Fri, 06 Sep 2019 01:49:10 GMT ETag: - - '"0x8D7185E53FBD086"' + - '"0x8D7326C69B28181"' Last-Modified: - - Sat, 03 Aug 2019 22:02:51 GMT + - Fri, 06 Sep 2019 01:49:10 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-meta-hello: - - world - x-ms-meta-number: - - '42' - x-ms-request-id: - - c7ccb066-501a-0019-3047-4a4868000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - d067ce2c-b63a-11e9-a2d6-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:05:33 GMT - x-ms-meta: - - '{''hello'': ''world'', ''number'': ''42''}' - x-ms-meta-hello: - - world - x-ms-meta-number: - - '42' - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare4cc6103b/file4cc6103b - response: - body: - string: '' - headers: - Content-Length: + - 8586b2c0-d048-11e9-8875-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:10.7377537Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:10.7377537Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:10.7377537Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:05:32 GMT - ETag: - - '"0x8D7185EB4253A60"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:32 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - f9bdb96a-f01a-0072-1b47-4a153e000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - d0ba02ee-b63a-11e9-95b5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:33 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare4cc6103b/file4cc6103b - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:05:32 GMT - ETag: - - '"0x8D7185EB4253A60"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:32 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-meta-hello: - world x-ms-meta-number: - '42' x-ms-request-id: - - f9bdb975-f01a-0072-2547-4a153e000000 + - 53b40317-101a-0092-5255-64d722000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_delete_file_with_existing_file.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_delete_file_with_existing_file.yaml index 02ab20483fcb..8780e65e2dc5 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_delete_file_with_existing_file.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_delete_file_with_existing_file.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 89f115b4-b639-11e9-b879-2816a845e8c6 + - 866d1086-d048-11e9-a6e8-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:56:25 GMT + - Fri, 06 Sep 2019 01:49:12 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea52e1263/filea52e1263 response: @@ -33,221 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:23 GMT + - Fri, 06 Sep 2019 01:49:11 GMT ETag: - - '"0x8D7185D6DC455B1"' + - '"0x8D7326C6AB89830"' Last-Modified: - - Sat, 03 Aug 2019 21:56:24 GMT + - Fri, 06 Sep 2019 01:49:12 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d14f5980-a01a-00ad-3946-4a446a000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - gBoznTf0lUxgQCCHta5mIj4rqFaj/s2yL2tYcQzfyknidqKiGGav3ZfQUdLsGup7niyk5xcaa5mn - xY8wAJR13OgrvRVYvLHl2RBSGNVDfnS/oT2Mf8S9TbM7cpRUN9DNdA4M23ETNsRPq20U2u7+wfYV - 9gEHdZYwc/gziEqb4Z7ngw+IYQEhuyUfKZEoXOS8KfGC2QTp8HX2KCpv6+ZpfhjI7AOLXLWlYKxM - 9j5rUZMnVtF9FQtZP0HTuHBn7SqPBQnIJ0ho4oVhVcweKPQtdRcGWdG+C32BohpRZA4iopHwAE7a - qzd3c1A+fEBMEc7PtpPgThQmrDWhtTNsgIMBIxklahm/tW/xZ4wzLBfHb22juQvCA67i2CJBKtG/ - oLDAiEII4u+CwMAZ9KFGDiUp2+BPziN9VSXVSy3gDLW7qK7skhhr7+aiOL8cUW0/C9WTvc2kyOxC - CugGh6gke8FAP4iqNzl1qUQbQw3YCMVLutTLJLggZ3/ycZLKASV+5ArWh/5OmUKjsnnAEudI6pxR - cGTMzHtiqguFPDHeSpQjkfDuJuR0mdzG6UoTezP9ohPrUb6PENA1JGqSjjC3p6gwRvVbce6Pr31b - M4oPpjeG8Grq7Kbm0YyLlrd8uqST6JuMa/kEQkB9TwZYG1mtsq/x9gzw1HQNn0du9GMsTOBvFTgc - AGUJxIyzjL/tI/JM7ftyctki7CRbp1XEwzhzvPFQ8eskX0sFmgSbJAhMC+a6cU84qOzApgTDl1zM - LirTfrsVGkv+PcJeaL8u0yzHPN13oY6eU3493PF5efIfh/mmJ15ejR5onL+Fr4H+efn2nCeKEoId - mXlxsbxeVuQYurv8xuaiv25Oh521bjRbKN0DglBETNbOtZCn044Y8PiklcvSqMY3iR5PL/kiFG1t - UwtfzRNhJ6qC/kQCN8Sr8V1ff24zsmH02eRIYnSuNyBlf/PcaMxMCI4x9lXuF6tMO6XIGxJ4mdJc - 1NIxI9ztJq6s7JDDMdb715YkfqxwsAM35VLkwP0GvUM5iECB7tSW7fSi7P0boaRoWBcuAEYrZeKg - U9zsn8OuOCmxTUezLPBKoUxrmIgGELkWiKJTR4rKyYI3zz7lU3Q9TUtIyT9t0OCuzI+goWyTr09C - BrtM+VxASYseKe1e41X0OBOd4bcN6LgD9sBjOaWWXZ+jtEjxVQ2FqRxhDYzQjWBJsko+USedWtOm - Tk7qKjbbpJF1VV5qXwxOg9bbrXdnYP0v0CJ9+KoIMbN36bykFThpYpmFq80r+/T2Fw7O5HsfXYoV - fWAgrLE5jdy4cFzyANy5yMGUKmSrZbxRH9HWlrTUGsO9J3hEHPQKgqq00m6zXUJ3Fa2FZC0g5g== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8a4b133a-b639-11e9-afd6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:26 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharea52e1263/filea52e1263?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - kYX3yCcb2t9ha9/xH6nBZw== - Date: - - Sat, 03 Aug 2019 21:56:24 GMT - ETag: - - '"0x8D7185D6DD63342"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:24 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d14f5982-a01a-00ad-3a46-4a446a000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8a5b5e02-b639-11e9-9d1b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:26 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utsharea52e1263/filea52e1263 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:24 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d14f5983-a01a-00ad-3b46-4a446a000000 - x-ms-version: - - '2018-11-09' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8a8c3cda-b639-11e9-afa2-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:26 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharea52e1263/filea52e1263 - response: - body: - string: '' - headers: - Date: - - Sat, 03 Aug 2019 21:56:24 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-error-code: - - ResourceNotFound - x-ms-request-id: - - d14f5984-a01a-00ad-3c46-4a446a000000 - x-ms-version: - - '2018-11-09' - status: - code: 404 - message: The specified resource does not exist. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 70d49954-b63a-11e9-8ad3-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:02:52 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea52e1263/filea52e1263 - response: - body: - string: '' - headers: - Content-Length: + - 866d1086-d048-11e9-a6e8-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:12.4553776Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:12.4553776Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:12.4553776Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:02:51 GMT - ETag: - - '"0x8D7185E548A6ECF"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:52 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 7639ae89-401a-00e8-5947-4a99fb000000 + - b68674aa-201a-00d4-7b55-64e3a5000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -283,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 71142d9e-b63a-11e9-91e2-2816a845e8c6 + - 868de09c-d048-11e9-8461-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:02:53 GMT + - Fri, 06 Sep 2019 01:49:12 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -305,221 +127,21 @@ interactions: Content-MD5: - kYX3yCcb2t9ha9/xH6nBZw== Date: - - Sat, 03 Aug 2019 22:02:51 GMT + - Fri, 06 Sep 2019 01:49:11 GMT ETag: - - '"0x8D7185E549E216E"' + - '"0x8D7326C6AC06247"' Last-Modified: - - Sat, 03 Aug 2019 22:02:52 GMT + - Fri, 06 Sep 2019 01:49:12 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 7639ae8a-401a-00e8-5a47-4a99fb000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7123171e-b63a-11e9-a2ae-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:02:53 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utsharea52e1263/filea52e1263 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:02:51 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 7639ae8b-401a-00e8-5b47-4a99fb000000 - x-ms-version: - - '2018-11-09' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 71323980-b63a-11e9-91f2-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:02:53 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharea52e1263/filea52e1263 - response: - body: - string: '' - headers: - Date: - - Sat, 03 Aug 2019 22:02:51 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-error-code: - - ResourceNotFound + - 868de09c-d048-11e9-8461-001a7dda7113 x-ms-request-id: - - 7639ae8c-401a-00e8-5c47-4a99fb000000 - x-ms-version: - - '2018-11-09' - status: - code: 404 - message: The specified resource does not exist. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - d115199c-b63a-11e9-b5da-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:05:34 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea52e1263/filea52e1263 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:05:33 GMT - ETag: - - '"0x8D7185EB4CC2017"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:33 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - c7ccb14c-501a-0019-5847-4a4868000000 + - b68674ac-201a-00d4-7c55-64e3a5000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - gBoznTf0lUxgQCCHta5mIj4rqFaj/s2yL2tYcQzfyknidqKiGGav3ZfQUdLsGup7niyk5xcaa5mn - xY8wAJR13OgrvRVYvLHl2RBSGNVDfnS/oT2Mf8S9TbM7cpRUN9DNdA4M23ETNsRPq20U2u7+wfYV - 9gEHdZYwc/gziEqb4Z7ngw+IYQEhuyUfKZEoXOS8KfGC2QTp8HX2KCpv6+ZpfhjI7AOLXLWlYKxM - 9j5rUZMnVtF9FQtZP0HTuHBn7SqPBQnIJ0ho4oVhVcweKPQtdRcGWdG+C32BohpRZA4iopHwAE7a - qzd3c1A+fEBMEc7PtpPgThQmrDWhtTNsgIMBIxklahm/tW/xZ4wzLBfHb22juQvCA67i2CJBKtG/ - oLDAiEII4u+CwMAZ9KFGDiUp2+BPziN9VSXVSy3gDLW7qK7skhhr7+aiOL8cUW0/C9WTvc2kyOxC - CugGh6gke8FAP4iqNzl1qUQbQw3YCMVLutTLJLggZ3/ycZLKASV+5ArWh/5OmUKjsnnAEudI6pxR - cGTMzHtiqguFPDHeSpQjkfDuJuR0mdzG6UoTezP9ohPrUb6PENA1JGqSjjC3p6gwRvVbce6Pr31b - M4oPpjeG8Grq7Kbm0YyLlrd8uqST6JuMa/kEQkB9TwZYG1mtsq/x9gzw1HQNn0du9GMsTOBvFTgc - AGUJxIyzjL/tI/JM7ftyctki7CRbp1XEwzhzvPFQ8eskX0sFmgSbJAhMC+a6cU84qOzApgTDl1zM - LirTfrsVGkv+PcJeaL8u0yzHPN13oY6eU3493PF5efIfh/mmJ15ejR5onL+Fr4H+efn2nCeKEoId - mXlxsbxeVuQYurv8xuaiv25Oh521bjRbKN0DglBETNbOtZCn044Y8PiklcvSqMY3iR5PL/kiFG1t - UwtfzRNhJ6qC/kQCN8Sr8V1ff24zsmH02eRIYnSuNyBlf/PcaMxMCI4x9lXuF6tMO6XIGxJ4mdJc - 1NIxI9ztJq6s7JDDMdb715YkfqxwsAM35VLkwP0GvUM5iECB7tSW7fSi7P0boaRoWBcuAEYrZeKg - U9zsn8OuOCmxTUezLPBKoUxrmIgGELkWiKJTR4rKyYI3zz7lU3Q9TUtIyT9t0OCuzI+goWyTr09C - BrtM+VxASYseKe1e41X0OBOd4bcN6LgD9sBjOaWWXZ+jtEjxVQ2FqRxhDYzQjWBJsko+USedWtOm - Tk7qKjbbpJF1VV5qXwxOg9bbrXdnYP0v0CJ9+KoIMbN36bykFThpYpmFq80r+/T2Fw7O5HsfXYoV - fWAgrLE5jdy4cFzyANy5yMGUKmSrZbxRH9HWlrTUGsO9J3hEHPQKgqq00m6zXUJ3Fa2FZC0g5g== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - d151b110-b63a-11e9-8356-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:34 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharea52e1263/filea52e1263?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - kYX3yCcb2t9ha9/xH6nBZw== - Date: - - Sat, 03 Aug 2019 22:05:33 GMT - ETag: - - '"0x8D7185EB4DE24BF"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:33 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - c7ccb14f-501a-0019-5947-4a4868000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -535,15 +157,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d16396b4-b63a-11e9-9dae-2816a845e8c6 + - 869448d2-d048-11e9-a905-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:34 GMT + - Fri, 06 Sep 2019 01:49:12 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utsharea52e1263/filea52e1263 response: @@ -553,13 +175,15 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:05:33 GMT + - Fri, 06 Sep 2019 01:49:11 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 869448d2-d048-11e9-a905-001a7dda7113 x-ms-request-id: - - c7ccb150-501a-0019-5a47-4a4868000000 + - b68674ad-201a-00d4-7d55-64e3a5000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -573,15 +197,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d17a9e48-b63a-11e9-9b5c-2816a845e8c6 + - 869a5f4a-d048-11e9-b883-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:35 GMT + - Fri, 06 Sep 2019 01:49:12 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utsharea52e1263/filea52e1263 response: @@ -589,19 +213,19 @@ interactions: string: '' headers: Date: - - Sat, 03 Aug 2019 22:05:33 GMT + - Fri, 06 Sep 2019 01:49:11 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin + x-ms-client-request-id: + - 869a5f4a-d048-11e9-b883-001a7dda7113 x-ms-error-code: - ResourceNotFound x-ms-request-id: - - c7ccb151-501a-0019-5b47-4a4868000000 + - b68674ae-201a-00d4-7e55-64e3a5000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified resource does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_delete_file_with_non_existing_file.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_delete_file_with_non_existing_file.yaml index 867de82aacfa..ae6b27f74263 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_delete_file_with_non_existing_file.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_delete_file_with_non_existing_file.yaml @@ -11,126 +11,38 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 8b11f40a-b639-11e9-b357-2816a845e8c6 + - 86cbaff0-d048-11e9-a78a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:56:27 GMT + - Fri, 06 Sep 2019 01:49:12 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utsharef2f4140d/filef2f4140d response: body: string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:bf3212e4-e01a-0000-1046-4a6400000000\nTime:2019-08-03T21:56:30.3351941Z" + specified resource does not exist.\nRequestId:2cd909de-e01a-0096-7d55-645a25000000\nTime:2019-09-06T01:49:13.0498200Z" headers: Content-Length: - '223' Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:56:29 GMT + - Fri, 06 Sep 2019 01:49:12 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - ResourceNotFound - x-ms-request-id: - - bf3212e4-e01a-0000-1046-4a6400000000 - x-ms-version: - - '2018-11-09' - status: - code: 404 - message: The specified resource does not exist. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 71a08fd8-b63a-11e9-967a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:02:54 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utsharef2f4140d/filef2f4140d - response: - body: - string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:3e2e9fe7-b01a-0031-0e47-4a3fd7000000\nTime:2019-08-03T22:02:53.6452993Z" - headers: - Content-Length: - - '223' - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 22:02:52 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - ResourceNotFound - x-ms-request-id: - - 3e2e9fe7-b01a-0031-0e47-4a3fd7000000 - x-ms-version: - - '2018-11-09' - status: - code: 404 - message: The specified resource does not exist. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - d23bbc4a-b63a-11e9-a4b1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:36 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utsharef2f4140d/filef2f4140d - response: - body: - string: "\uFEFFResourceNotFoundThe - specified resource does not exist.\nRequestId:7639af81-401a-00e8-0a47-4a99fb000000\nTime:2019-08-03T22:05:35.6203988Z" - headers: - Content-Length: - - '223' - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 22:05:34 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + - 86cbaff0-d048-11e9-a78a-001a7dda7113 x-ms-error-code: - ResourceNotFound x-ms-request-id: - - 7639af81-401a-00e8-0a47-4a99fb000000 + - 2cd909de-e01a-0096-7d55-645a25000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified resource does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_exists.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_exists.yaml index 9e3d50557c36..5fe88da91005 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_exists.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_exists.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 8e2395b0-b639-11e9-8493-2816a845e8c6 + - 86fccf76-d048-11e9-934a-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:56:32 GMT + - Fri, 06 Sep 2019 01:49:13 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare8ebf0aac/file8ebf0aac response: @@ -33,238 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:31 GMT + - Fri, 06 Sep 2019 01:49:13 GMT ETag: - - '"0x8D7185D71E881BE"' + - '"0x8D7326C6B53C53F"' Last-Modified: - - Sat, 03 Aug 2019 21:56:31 GMT + - Fri, 06 Sep 2019 01:49:13 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 944867bd-301a-00a8-4f46-4ab015000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - HXoCOVdR44c20a5IkNEDOzf2aU+VIn30qjOyCv6Iq/VMNq8hu0Zz9l/vytMOdHWZ8PISxZgLW8nM - gIO2XpAJigaSI2/UxFjd7DxZj+l+XLttoEavA2jCdaCLbwnSl8NE2OYOBgirI62D96pGB+GjQG+h - Vx8WsItqf9CrCzWmBV0hEQxcIjfCMsGFi5wkSfT3AWAHxFMS3O6EU0T4GOaY/S8aqSk4ZYGSzB2f - OapMD8l1TzJPS1GbfRKqe84z0Zk14EfOcNct5+rEE/UR4kn2FlC0YC/zJmA9zNBHaiepTtKrUAUB - yGKmZiTmg0HuuZXQD98gQjW/lGpEFMroVwXCgs/X/Kq7yaeqGUj8Ro62QEFwNW2DzBxuSeIc/VSN - bswCCAHgBLkgtccxiSTBxAG1VzlW3EIsjYVxIxIJ0kqkE6ezFEHIAljkW0zVtnS8a4ZOWVz0g7wE - t2sn5Rufe+wfH1gdBl1ZmqRFujPqDYPZw8uMxo+g0FVAQMwRFwI6bBX7SfJ1ZB4mNs5VRJlOaoXB - 8XDJBBhcVp4lBldGVTjfLMyi0NtGsQYmUSshKLxtmEI3uStlJCnl+KURxtxCSj0eDusyAOr8MgVe - oRYX5XESpRKghNkSAPCq06lCGQwt1PYnlSGpdq29SAwQFBPcX/inJMOpLHK3EUpA5SWi07o1sRV0 - jIWO08tvCP48dBYgBaFIupffHe2N42Yymychjc+kWlAMDine6S59uwSisAiPer+OSoKcys08hshm - TvctLTI8SGDrm2e58xTV5nGc4HgBwMKAsjiWXyClWetZQHOlb62icVkYJ/sCxLRCYwZmBQAGHspg - hUO7DeKXOjgjFfKezjDFwIzqmUQvUsTw0SGHR/7L/CL5NcaMh2230WhgKFid9yvIE1wl0kykwLmg - Ccu4k1vf1ozQbwfWWHiAUEka63UgjRZe1bzwvIqVsIIQcCO6oKawKXJzTK9rBMHxtL82DxrvVwBD - wqaaH0S8ezfJuEnQoK1Wmoe9IpLSH3kW3VehAGiK8LFsOZOxKgjgWaZBhsvAD4HifeXeZx5cbWrL - Hx+R87v4KtLLMJqkPmCX6pDay1/qxp5WXDTHeLw7j+S4jHuM7ASwjoHs6LN5GREI44sdgl5rG4DF - HdcDsoI9C7pJaRpO+wxmvtivuChD9HutsWDUKJBTKWCcFsLb4xdYbrxwjsAIpqYfnMrNlkWb7HSu - VMNXqULHWgZQVHrESWjxuItCUgJZfVRT2F8ac0TLUXoO0xoWtoYMl0ehxzn7E5hdf2tm3S92J6Dk - QHGFQpqM9ah3HvgjiBGaqy3QBKbb1ndtoUAuCYDWolJjkaRRGHYuLlWBn350M1OU97uwOhk6gg== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8e744328-b639-11e9-a1f5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:33 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare8ebf0aac/file8ebf0aac?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - WGjC2+rcjWDG0/OvuyDQHg== - Date: - - Sat, 03 Aug 2019 21:56:31 GMT - ETag: - - '"0x8D7185D720201D4"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:31 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 944867bf-301a-00a8-5046-4ab015000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8e86dd50-b639-11e9-999d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:33 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare8ebf0aac/file8ebf0aac - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:31 GMT - ETag: - - '"0x8D7185D720201D4"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:31 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 944867c0-301a-00a8-5146-4ab015000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 72594946-b63a-11e9-9df6-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:02:55 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8ebf0aac/file8ebf0aac - response: - body: - string: "\uFEFFShareNotFoundThe - specified share does not exist.\nRequestId:49584ad9-501a-0074-0a47-4ae246000000\nTime:2019-08-03T22:02:54.7367144Z" - headers: - Content-Length: - - '217' - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 22:02:54 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - ShareNotFound - x-ms-request-id: - - 49584ad9-501a-0074-0a47-4ae246000000 - x-ms-version: - - '2018-11-09' - status: - code: 404 - message: The specified share does not exist. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - d2fb4390-b63a-11e9-95c1-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:05:37 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8ebf0aac/file8ebf0aac - response: - body: - string: '' - headers: - Content-Length: + - 86fccf76-d048-11e9-934a-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:13.4723391Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:13.4723391Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:13.4723391Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:05:36 GMT - ETag: - - '"0x8D7185EB6C00D8C"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:36 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - dafaa0fc-201a-00b7-4a47-4a6b05000000 + - a48bf1c1-901a-0047-6e55-6438af000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -300,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - d3455f0a-b63a-11e9-9e39-2816a845e8c6 + - 8727baec-d048-11e9-88ed-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:38 GMT + - Fri, 06 Sep 2019 01:49:13 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -322,19 +127,21 @@ interactions: Content-MD5: - WGjC2+rcjWDG0/OvuyDQHg== Date: - - Sat, 03 Aug 2019 22:05:36 GMT + - Fri, 06 Sep 2019 01:49:13 GMT ETag: - - '"0x8D7185EB6D1C405"' + - '"0x8D7326C6B5A7D9F"' Last-Modified: - - Sat, 03 Aug 2019 22:05:36 GMT + - Fri, 06 Sep 2019 01:49:13 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8727baec-d048-11e9-88ed-001a7dda7113 x-ms-request-id: - - dafaa0fe-201a-00b7-4b47-4a6b05000000 + - a48bf1c5-901a-0047-7155-6438af000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -348,15 +155,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d3578624-b63a-11e9-a73a-2816a845e8c6 + - 872e9506-d048-11e9-9889-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:38 GMT + - Fri, 06 Sep 2019 01:49:13 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare8ebf0aac/file8ebf0aac response: @@ -368,23 +175,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:05:36 GMT + - Fri, 06 Sep 2019 01:49:13 GMT ETag: - - '"0x8D7185EB6D1C405"' + - '"0x8D7326C6B5A7D9F"' Last-Modified: - - Sat, 03 Aug 2019 22:05:36 GMT + - Fri, 06 Sep 2019 01:49:13 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - 872e9506-d048-11e9-9889-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:13.4723391Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:13.4723391Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:13.4723391Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - dafaa0ff-201a-00b7-4c47-4a6b05000000 + - a48bf1c6-901a-0047-7255-6438af000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_exists_with_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_exists_with_snapshot.yaml index 344cd4e85d62..d2413a621caf 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_exists_with_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_exists_with_snapshot.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 8f26f630-b639-11e9-85e5-2816a845e8c6 + - 875e9f0c-d048-11e9-bc66-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:56:34 GMT + - Fri, 06 Sep 2019 01:49:13 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare50281096/file50281096 response: @@ -33,275 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:33 GMT + - Fri, 06 Sep 2019 01:49:13 GMT ETag: - - '"0x8D7185D72E649A1"' + - '"0x8D7326C6BAD6CA2"' Last-Modified: - - Sat, 03 Aug 2019 21:56:33 GMT + - Fri, 06 Sep 2019 01:49:14 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - bb97b220-201a-001d-4b46-4abdea000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - nQec/b8Qxr5oTgQNYb0neALSC6lY7RcJI68VJ8ahcBv0/fjQQq0VwF2YmQikmmtauBcuytZiftTz - UX+p6r/+WimZ4HQ1yc6cnsdO1Wf9GNwnYpZjVzmINONhOHG8kFKZQnWTbMtymIPgKiMAA9Uhm7vh - /rAFl4cO3owOyaVW9/KVgw1rJr2QA6HUOs+CfviDxKMf8NoRYFMDr9rf5nxVZWZXFaJHtqI2OhLQ - /CtuVatupuNTOXwd6jOOap5JPGB5E0fO1y+quIYLD5BlMJuznoZ+WsaCjxFtvAp6MXNPwVcxKRMI - pmEEy9V37QC/32eDQWuz6R0t7LLzla9sCqaYwGwskzaCixK40mNOAm9FhGB8tWRXRgJ07p4JKKvr - aHQmb8TPmhza9M0zXYPI4S10qxSq+hc92WxwHWchehPeeYcSii6XM3/nNlehu/3Ax4q3j8L1lsLL - qkwJcLycCaocOTkPVDAM6WdL2xzz6+RUNpv63iuZnHCEBUIIobWb/XMHYY6QEl0OHL0HNd6u0AOh - 0g4l9eeQQBt0fm2ITQ8z2vbOtH1J4lf3v9VZCdbnfEbHrYXckn47qVKNK5cqNJvWvZepzwwLVaRq - +jmIBeEZDbXMTVd+yu2IRmj6R7lWB7Q2HDTE7nHot3F2TZGmO+tOFwPrVZvn8DEELVCEO5eoQJ4a - J7T+i+WZ8EF9bDdA6fsmHIVPkoeuEUTGQAV5zH5FjT9a800YjLDKWgpVEPwkQEyPtR/ZLQlyrRf3 - JSzzgFY0XglOJZ1yaWz5iDdoDBJoLE8GA0tRbUp11E1WnBm0/Yvl1qhkINfjO70Y20h28Vm4qQ0d - m8miUU50GR/xRmtr2eJ648diLX5GqxVimPo1j6udEvy2vXGf+uugimq0GKPsuN3Zj3wvuqxO7V3F - gaAtoFYQJQQdsC3Sn3o0OWPRuopaDMIa0yPk+6LBULVCo5f8kC7BS6dfOxjub4+X7PJj1tN/VIJY - 6pzyvtMmTQwGFqTeOxKDUFSzBBnQERkvwCkz7Do3VmBwH9OYwnijSjtpKB55lfvH3sRFKgDlFtoI - Ag0j0MQKxuOxkj9jSvFgMJJdEiLPvtU+gdgOAjO5cA896XWoYHCCMYqHH1cC6d/VpeGARml1BecG - j9dIewY8CI5ovlE3Tk84+0pG6BjZi091VrK3g8w/708NZTHnQc4dAfHeS/TS2HAljWMeSZUqpq7t - 9rfTO+W93daoBZRTZJvkAQsj3u+CRN74yRLok+N/ZKf3hGz5TlsT5qc9TqyMunYfzevq9ShfTV4W - YsmXXUD0UitxYIepJiiJT9zD6PbkhVjJU/mdxgWgpuuiL+6cEWWwWujFKECTOn4JOBgXdsIwsA== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8f6dd394-b639-11e9-afe4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:34 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare50281096/file50281096?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - pSS41aVVx5ykgxoVILxPCg== - Date: - - Sat, 03 Aug 2019 21:56:33 GMT - ETag: - - '"0x8D7185D72FEB810"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:33 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - bb97b222-201a-001d-4c46-4abdea000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8f90d558-b639-11e9-be31-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:34 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare50281096?restype=share&comp=snapshot - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:36 GMT - ETag: - - '"0x8D7185D72954E75"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:32 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - bb97b223-201a-001d-4d46-4abdea000000 - x-ms-snapshot: - - '2019-08-03T21:56:35.0000000Z' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 91625878-b639-11e9-8b40-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:38 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utshare50281096/file50281096 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:36 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - bb97b228-201a-001d-5046-4abdea000000 - x-ms-version: - - '2018-11-09' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 917c65be-b639-11e9-9c0b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:38 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare50281096/file50281096?sharesnapshot=2019-08-03T21:56:35.0000000Z - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:37 GMT - ETag: - - '"0x8D7185D72FEB810"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:33 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 7afa8c75-a01a-008f-5046-4a2a5c000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 73281392-b63a-11e9-a368-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:02:56 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare50281096/file50281096 - response: - body: - string: '' - headers: - Content-Length: + - 875e9f0c-d048-11e9-bc66-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:14.0598946Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:14.0598946Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:14.0598946Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:02:55 GMT - ETag: - - '"0x8D7185E56DE6828"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:55 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - a2cf674b-701a-000e-7f47-4a880b000000 + - cc1808b0-b01a-009b-6e55-6492f1000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -337,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 73656a5c-b63a-11e9-bc4d-2816a845e8c6 + - 87821a08-d048-11e9-9755-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:02:57 GMT + - Fri, 06 Sep 2019 01:49:14 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -359,184 +127,21 @@ interactions: Content-MD5: - pSS41aVVx5ykgxoVILxPCg== Date: - - Sat, 03 Aug 2019 22:02:55 GMT + - Fri, 06 Sep 2019 01:49:13 GMT ETag: - - '"0x8D7185E56F1575A"' + - '"0x8D7326C6BB55DD2"' Last-Modified: - - Sat, 03 Aug 2019 22:02:56 GMT + - Fri, 06 Sep 2019 01:49:14 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - a2cf674c-701a-000e-8047-4a880b000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 737a0c40-b63a-11e9-b7b4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:02:57 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare50281096?restype=share&comp=snapshot - response: - body: - string: "\uFEFFShareNotFoundThe - specified share does not exist.\nRequestId:a2cf674d-701a-000e-0147-4a880b000000\nTime:2019-08-03T22:02:56.3505477Z" - headers: - Content-Length: - - '217' - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 22:02:55 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: - - ShareNotFound + - 87821a08-d048-11e9-9755-001a7dda7113 x-ms-request-id: - - a2cf674d-701a-000e-0147-4a880b000000 - x-ms-version: - - '2018-11-09' - status: - code: 404 - message: The specified share does not exist. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - d3e081ae-b63a-11e9-92c8-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:05:39 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare50281096/file50281096 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:05:37 GMT - ETag: - - '"0x8D7185EB79893A0"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:38 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - cc42bf90-801a-007d-0247-4af8c8000000 + - cc1808b2-b01a-009b-6f55-6492f1000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - nQec/b8Qxr5oTgQNYb0neALSC6lY7RcJI68VJ8ahcBv0/fjQQq0VwF2YmQikmmtauBcuytZiftTz - UX+p6r/+WimZ4HQ1yc6cnsdO1Wf9GNwnYpZjVzmINONhOHG8kFKZQnWTbMtymIPgKiMAA9Uhm7vh - /rAFl4cO3owOyaVW9/KVgw1rJr2QA6HUOs+CfviDxKMf8NoRYFMDr9rf5nxVZWZXFaJHtqI2OhLQ - /CtuVatupuNTOXwd6jOOap5JPGB5E0fO1y+quIYLD5BlMJuznoZ+WsaCjxFtvAp6MXNPwVcxKRMI - pmEEy9V37QC/32eDQWuz6R0t7LLzla9sCqaYwGwskzaCixK40mNOAm9FhGB8tWRXRgJ07p4JKKvr - aHQmb8TPmhza9M0zXYPI4S10qxSq+hc92WxwHWchehPeeYcSii6XM3/nNlehu/3Ax4q3j8L1lsLL - qkwJcLycCaocOTkPVDAM6WdL2xzz6+RUNpv63iuZnHCEBUIIobWb/XMHYY6QEl0OHL0HNd6u0AOh - 0g4l9eeQQBt0fm2ITQ8z2vbOtH1J4lf3v9VZCdbnfEbHrYXckn47qVKNK5cqNJvWvZepzwwLVaRq - +jmIBeEZDbXMTVd+yu2IRmj6R7lWB7Q2HDTE7nHot3F2TZGmO+tOFwPrVZvn8DEELVCEO5eoQJ4a - J7T+i+WZ8EF9bDdA6fsmHIVPkoeuEUTGQAV5zH5FjT9a800YjLDKWgpVEPwkQEyPtR/ZLQlyrRf3 - JSzzgFY0XglOJZ1yaWz5iDdoDBJoLE8GA0tRbUp11E1WnBm0/Yvl1qhkINfjO70Y20h28Vm4qQ0d - m8miUU50GR/xRmtr2eJ648diLX5GqxVimPo1j6udEvy2vXGf+uugimq0GKPsuN3Zj3wvuqxO7V3F - gaAtoFYQJQQdsC3Sn3o0OWPRuopaDMIa0yPk+6LBULVCo5f8kC7BS6dfOxjub4+X7PJj1tN/VIJY - 6pzyvtMmTQwGFqTeOxKDUFSzBBnQERkvwCkz7Do3VmBwH9OYwnijSjtpKB55lfvH3sRFKgDlFtoI - Ag0j0MQKxuOxkj9jSvFgMJJdEiLPvtU+gdgOAjO5cA896XWoYHCCMYqHH1cC6d/VpeGARml1BecG - j9dIewY8CI5ovlE3Tk84+0pG6BjZi091VrK3g8w/708NZTHnQc4dAfHeS/TS2HAljWMeSZUqpq7t - 9rfTO+W93daoBZRTZJvkAQsj3u+CRN74yRLok+N/ZKf3hGz5TlsT5qc9TqyMunYfzevq9ShfTV4W - YsmXXUD0UitxYIepJiiJT9zD6PbkhVjJU/mdxgWgpuuiL+6cEWWwWujFKECTOn4JOBgXdsIwsA== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - d424e608-b63a-11e9-b7d6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:39 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare50281096/file50281096?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - pSS41aVVx5ykgxoVILxPCg== - Date: - - Sat, 03 Aug 2019 22:05:37 GMT - ETag: - - '"0x8D7185EB7B23AC8"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:38 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - cc42bf92-801a-007d-0347-4af8c8000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -552,15 +157,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d447a3f6-b63a-11e9-ab69-2816a845e8c6 + - 878a03e2-d048-11e9-ab4c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:39 GMT + - Fri, 06 Sep 2019 01:49:14 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare50281096?restype=share&comp=snapshot response: @@ -570,19 +175,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:05:37 GMT + - Fri, 06 Sep 2019 01:49:14 GMT ETag: - - '"0x8D7185EB74DBB73"' + - '"0x8D7326C6B7D15DD"' Last-Modified: - - Sat, 03 Aug 2019 22:05:37 GMT + - Fri, 06 Sep 2019 01:49:13 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 878a03e2-d048-11e9-ab4c-001a7dda7113 x-ms-request-id: - - cc42bf93-801a-007d-0447-4af8c8000000 + - cc1808b3-b01a-009b-7055-6492f1000000 x-ms-snapshot: - - '2019-08-03T22:05:38.0000000Z' + - '2019-09-06T01:49:14.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -598,15 +205,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d482757a-b63a-11e9-aeb4-2816a845e8c6 + - 8791c6b8-d048-11e9-aff5-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:40 GMT + - Fri, 06 Sep 2019 01:49:14 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare50281096/file50281096 response: @@ -616,13 +223,15 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:05:38 GMT + - Fri, 06 Sep 2019 01:49:14 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8791c6b8-d048-11e9-aff5-001a7dda7113 x-ms-request-id: - - cc42bf95-801a-007d-0547-4af8c8000000 + - cc1808b4-b01a-009b-7155-6492f1000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -636,17 +245,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d4a4fc02-b63a-11e9-942a-2816a845e8c6 + - 8799fe76-d048-11e9-8250-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:40 GMT + - Fri, 06 Sep 2019 01:49:14 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD - uri: https://storagename.file.core.windows.net/utshare50281096/file50281096?sharesnapshot=2019-08-03T22:05:38.0000000Z + uri: https://storagename.file.core.windows.net/utshare50281096/file50281096?sharesnapshot=2019-09-06T01:49:14.0000000Z response: body: string: '' @@ -656,23 +265,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:05:38 GMT + - Fri, 06 Sep 2019 01:49:14 GMT ETag: - - '"0x8D7185EB7B23AC8"' + - '"0x8D7326C6BB55DD2"' Last-Modified: - - Sat, 03 Aug 2019 22:05:38 GMT + - Fri, 06 Sep 2019 01:49:14 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - 8799fe76-d048-11e9-8250-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:14.0598946Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:14.0598946Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:14.0598946Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 2931b17a-f01a-00b5-1d47-4a69ff000000 + - 7c205aa9-301a-0071-3355-64b5df000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_not_exists.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_not_exists.yaml index 11c7dc1a23dd..8bb83f9df151 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_not_exists.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_not_exists.yaml @@ -9,15 +9,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 926569b0-b639-11e9-8704-2816a845e8c6 + - 87d3a930-d048-11e9-9f44-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:56:39 GMT + - Fri, 06 Sep 2019 01:49:14 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utsharebd5b0c5c/missingdir/filebd5b0c5c response: @@ -25,103 +25,19 @@ interactions: string: '' headers: Date: - - Sat, 03 Aug 2019 21:56:39 GMT + - Fri, 06 Sep 2019 01:49:14 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin - x-ms-error-code: - - ParentNotFound - x-ms-request-id: - - c1ab3374-901a-00e1-2446-4a8375000000 - x-ms-version: - - '2018-11-09' - status: - code: 404 - message: The specified parent path does not exist. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 7443e494-b63a-11e9-9f60-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:02:58 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharebd5b0c5c/missingdir/filebd5b0c5c - response: - body: - string: '' - headers: - Date: - - Sat, 03 Aug 2019 22:02:56 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-error-code: - - ParentNotFound - x-ms-request-id: - - 2bbb0202-001a-00ef-5147-4a6f7e000000 - x-ms-version: - - '2018-11-09' - status: - code: 404 - message: The specified parent path does not exist. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - d5875bd2-b63a-11e9-bac4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:41 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharebd5b0c5c/missingdir/filebd5b0c5c - response: - body: - string: '' - headers: - Date: - - Sat, 03 Aug 2019 22:05:40 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin + - 87d3a930-d048-11e9-9f44-001a7dda7113 x-ms-error-code: - ParentNotFound x-ms-request-id: - - 180a3af4-401a-002f-1b47-4ae53a000000 + - 2f84fe5b-a01a-002e-6e55-6401e3000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified parent path does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_not_exists_with_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_not_exists_with_snapshot.yaml index 5d4439364813..7318a7164f7a 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_not_exists_with_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_not_exists_with_snapshot.yaml @@ -11,15 +11,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 936073e4-b639-11e9-aa27-2816a845e8c6 + - 880322e4-d048-11e9-a354-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:56:41 GMT + - Fri, 06 Sep 2019 01:49:14 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare96641246?restype=share&comp=snapshot response: @@ -29,227 +29,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:40 GMT + - Fri, 06 Sep 2019 01:49:16 GMT ETag: - - '"0x8D7185D76B4F57D"' + - '"0x8D7326C6C291742"' Last-Modified: - - Sat, 03 Aug 2019 21:56:39 GMT + - Fri, 06 Sep 2019 01:49:14 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - caa6c0b7-401a-00ac-7f46-4a4597000000 - x-ms-snapshot: - - '2019-08-03T21:56:40.0000000Z' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 93b83b48-b639-11e9-8a18-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 21:56:41 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare96641246/file96641246 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:40 GMT - ETag: - - '"0x8D7185D774C93A9"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:40 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - caa6c0ba-401a-00ac-8046-4a4597000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - FZyBMMmJ7oWtIg2Z/s0HjIyJ0jFzp53vuomXAxTUTGCD4jiXQCRNf8gLBmacEJEqXiObvAGVJzwY - 4nHpER55wSq9XOGzcxx2lm8cq44kQdSpoitPRBqUqayUyni5pWGQpym8yoywhVqJ2rfaTG6GCCzf - p6a23RaJXvFXYAVwb1DYOZCPeito/Vc6GQhA7b92995wAKXqhid1W1ADy+1zz1wywhJ6wu4AZ2IL - /RVa2kMyBvUpS4+yEGExIyVcHOxKGQTKfGtwZTQ/D8PXOURpTk06ZYJuXFN2/DkYXcySQFnTn93y - EoyxIPc58tckz015OOuQXtBEhfMVHW6PDmmUqfXMDz3W1FzdIXUtgKx7W49xtoRCOM+ggHxYodi7 - LU44V+WqDo0IdT+HEXqFYCCR2S+IRR/5zpZ+ljcLJ76BJappaiRlqUsbWMgVOhfoNDBLhlSgZxjs - 0XbfVCz0mV4Xx6jsYcXksZBZ3OQrN3VUHCBsPYKKejOc+LE+648ttr/E2lynAW2CP+6C/GnDniNh - wmS6l9+6dqa9xWJjIfN+/Gfp9WkpLXhXuabunTdkrunPaDWh1OZVjN1RSakKz5XfYIfqf1kM+4k5 - tQDJyLrwhq+javnKlrqvy2q6KkA4FtVHlLh3avvyg3hdZl2B5jBPz4JYWQjBD3bsEEEylIoMXXWP - d9tKLyxhfHBliW4fJXpnVevAJFj09KGx+OD9+DcF5C2R5hP5C9FSoEphQ/PegFdsweLu2vaWd/Kt - 3EPQqzGDTRxEBuBdEZDg+7f8rroYztj9avt356jvLwrOMavJOxK/FHXz1sbf6wjG8TUpQZ9x0da9 - iUBcz9aAgWjBjtBN11EqcX5E2B7WMy9XOBpWw5mYYpTqOKr63N33VuMuQzoqX6MVP1+iJYPhG8Rh - y7qVMqFvoQJE6BH90OA1v44sa76veyBnI2Lf+jZKZSUggWdQQWkpvCzhZ9BC4CfMpPzltqbFDqfA - 3x0/tLP2GrCnbUxrAGyDfTIiWURFv/Inmm7TU2aHcXhTe7GGsxLysbOgbBZAaaswLQqYoqOT5ph4 - Ij2dtDnPk2OFaKULlcfBTmjdrfDtfJUoYMhGgAMnHTNBUefWPzNDNlIrWzowtg6SlB6gHmq3qSTh - SENqzGYcbWwleRRRuDWlbamEuf0RJpu3qtDeWb0L3QhDVpWYN5vdIbUzlX0oRKV2F9uQgc39q30f - SLcdBVdjjVmdalS6babaSrxUqht278le74I5N3jxhqFdlxXoqke9lNBmZ0O/dBgmbysjNB/iIuRT - TsePAyYFP/pTXDQ4sBzn9F3iWOWBLPD60O7L3QQJ5SFL1NoM2Q6phVbcA9b2ZGKEks2gIpRw3w== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 93d38e14-b639-11e9-ae93-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:42 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare96641246/file96641246?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - JdCESxswQrKhZOGy9GEXOg== - Date: - - Sat, 03 Aug 2019 21:56:40 GMT - ETag: - - '"0x8D7185D77609476"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:41 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - caa6c0bb-401a-00ac-0146-4a4597000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 93e89026-b639-11e9-9342-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:42 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare96641246/file96641246?sharesnapshot=2019-08-03T21:56:40.0000000Z - response: - body: - string: '' - headers: - Date: - - Sat, 03 Aug 2019 21:56:40 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-error-code: - - ResourceNotFound - x-ms-request-id: - - 59d4143b-801a-00ba-5846-4a8409000000 - x-ms-version: - - '2018-11-09' - status: - code: 404 - message: The specified resource does not exist. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 74f893b4-b63a-11e9-a96b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:02:59 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare96641246?restype=share&comp=snapshot - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:02:58 GMT - ETag: - - '"0x8D7185E585D682C"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:58 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + - 880322e4-d048-11e9-a354-001a7dda7113 x-ms-request-id: - - d10d0793-301a-002b-1a47-4a10b8000000 + - abdcf993-901a-0057-5755-64fdc7000000 x-ms-snapshot: - - '2019-08-03T22:02:58.0000000Z' + - '2019-09-06T01:49:16.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -265,19 +59,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 7530893a-b63a-11e9-a051-2816a845e8c6 + - 8914ebca-d048-11e9-b392-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 22:03:00 GMT + - Fri, 06 Sep 2019 01:49:16 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare96641246/file96641246 response: @@ -287,227 +89,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:02:58 GMT + - Fri, 06 Sep 2019 01:49:16 GMT ETag: - - '"0x8D7185E58BAAAD8"' + - '"0x8D7326C6D628B8E"' Last-Modified: - - Sat, 03 Aug 2019 22:02:59 GMT + - Fri, 06 Sep 2019 01:49:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d10d0796-301a-002b-1b47-4a10b8000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - FZyBMMmJ7oWtIg2Z/s0HjIyJ0jFzp53vuomXAxTUTGCD4jiXQCRNf8gLBmacEJEqXiObvAGVJzwY - 4nHpER55wSq9XOGzcxx2lm8cq44kQdSpoitPRBqUqayUyni5pWGQpym8yoywhVqJ2rfaTG6GCCzf - p6a23RaJXvFXYAVwb1DYOZCPeito/Vc6GQhA7b92995wAKXqhid1W1ADy+1zz1wywhJ6wu4AZ2IL - /RVa2kMyBvUpS4+yEGExIyVcHOxKGQTKfGtwZTQ/D8PXOURpTk06ZYJuXFN2/DkYXcySQFnTn93y - EoyxIPc58tckz015OOuQXtBEhfMVHW6PDmmUqfXMDz3W1FzdIXUtgKx7W49xtoRCOM+ggHxYodi7 - LU44V+WqDo0IdT+HEXqFYCCR2S+IRR/5zpZ+ljcLJ76BJappaiRlqUsbWMgVOhfoNDBLhlSgZxjs - 0XbfVCz0mV4Xx6jsYcXksZBZ3OQrN3VUHCBsPYKKejOc+LE+648ttr/E2lynAW2CP+6C/GnDniNh - wmS6l9+6dqa9xWJjIfN+/Gfp9WkpLXhXuabunTdkrunPaDWh1OZVjN1RSakKz5XfYIfqf1kM+4k5 - tQDJyLrwhq+javnKlrqvy2q6KkA4FtVHlLh3avvyg3hdZl2B5jBPz4JYWQjBD3bsEEEylIoMXXWP - d9tKLyxhfHBliW4fJXpnVevAJFj09KGx+OD9+DcF5C2R5hP5C9FSoEphQ/PegFdsweLu2vaWd/Kt - 3EPQqzGDTRxEBuBdEZDg+7f8rroYztj9avt356jvLwrOMavJOxK/FHXz1sbf6wjG8TUpQZ9x0da9 - iUBcz9aAgWjBjtBN11EqcX5E2B7WMy9XOBpWw5mYYpTqOKr63N33VuMuQzoqX6MVP1+iJYPhG8Rh - y7qVMqFvoQJE6BH90OA1v44sa76veyBnI2Lf+jZKZSUggWdQQWkpvCzhZ9BC4CfMpPzltqbFDqfA - 3x0/tLP2GrCnbUxrAGyDfTIiWURFv/Inmm7TU2aHcXhTe7GGsxLysbOgbBZAaaswLQqYoqOT5ph4 - Ij2dtDnPk2OFaKULlcfBTmjdrfDtfJUoYMhGgAMnHTNBUefWPzNDNlIrWzowtg6SlB6gHmq3qSTh - SENqzGYcbWwleRRRuDWlbamEuf0RJpu3qtDeWb0L3QhDVpWYN5vdIbUzlX0oRKV2F9uQgc39q30f - SLcdBVdjjVmdalS6babaSrxUqht278le74I5N3jxhqFdlxXoqke9lNBmZ0O/dBgmbysjNB/iIuRT - TsePAyYFP/pTXDQ4sBzn9F3iWOWBLPD60O7L3QQJ5SFL1NoM2Q6phVbcA9b2ZGKEks2gIpRw3w== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - 75408f52-b63a-11e9-9a8e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:00 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare96641246/file96641246?comp=range - response: - body: - string: '' - headers: - Content-Length: + - 8914ebca-d048-11e9-b392-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:16.9246094Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:16.9246094Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:16.9246094Z' + x-ms-file-parent-id: - '0' - Content-MD5: - - JdCESxswQrKhZOGy9GEXOg== - Date: - - Sat, 03 Aug 2019 22:02:58 GMT - ETag: - - '"0x8D7185E58CCAF80"' - Last-Modified: - - Sat, 03 Aug 2019 22:02:59 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d10d0799-301a-002b-1c47-4a10b8000000 + - abdcf997-901a-0057-5855-64fdc7000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7554f106-b63a-11e9-8153-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:00 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare96641246/file96641246?sharesnapshot=2019-08-03T22:02:58.0000000Z - response: - body: - string: '' - headers: - Date: - - Sat, 03 Aug 2019 22:02:58 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-error-code: - - ResourceNotFound - x-ms-request-id: - - d366769c-001a-0045-1b47-4ab991000000 - x-ms-version: - - '2018-11-09' - status: - code: 404 - message: The specified resource does not exist. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - d61dd1cc-b63a-11e9-ab01-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:42 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare96641246?restype=share&comp=snapshot - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:05:41 GMT - ETag: - - '"0x8D7185EB98C32F6"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:41 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - a2cf683f-701a-000e-2c47-4a880b000000 - x-ms-snapshot: - - '2019-08-03T22:05:42.0000000Z' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - d6700d00-b63a-11e9-bc60-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:05:43 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare96641246/file96641246 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:05:41 GMT - ETag: - - '"0x8D7185EBA0C01B6"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:42 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - a2cf6843-701a-000e-2d47-4a880b000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -543,15 +153,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - d691a780-b63a-11e9-9923-2816a845e8c6 + - 89376180-d048-11e9-884b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:43 GMT + - Fri, 06 Sep 2019 01:49:16 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -565,19 +175,21 @@ interactions: Content-MD5: - JdCESxswQrKhZOGy9GEXOg== Date: - - Sat, 03 Aug 2019 22:05:41 GMT + - Fri, 06 Sep 2019 01:49:16 GMT ETag: - - '"0x8D7185EBA255AB4"' + - '"0x8D7326C6D6F11B6"' Last-Modified: - - Sat, 03 Aug 2019 22:05:42 GMT + - Fri, 06 Sep 2019 01:49:17 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 89376180-d048-11e9-884b-001a7dda7113 x-ms-request-id: - - a2cf6844-701a-000e-2e47-4a880b000000 + - abdcf999-901a-0057-5955-64fdc7000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -591,35 +203,35 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d6aec294-b63a-11e9-996f-2816a845e8c6 + - 8943c418-d048-11e9-9281-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:43 GMT + - Fri, 06 Sep 2019 01:49:17 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD - uri: https://storagename.file.core.windows.net/utshare96641246/file96641246?sharesnapshot=2019-08-03T22:05:42.0000000Z + uri: https://storagename.file.core.windows.net/utshare96641246/file96641246?sharesnapshot=2019-09-06T01:49:16.0000000Z response: body: string: '' headers: Date: - - Sat, 03 Aug 2019 22:05:42 GMT + - Fri, 06 Sep 2019 01:49:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin + x-ms-client-request-id: + - 8943c418-d048-11e9-9281-001a7dda7113 x-ms-error-code: - ResourceNotFound x-ms-request-id: - - bb97b52a-201a-001d-5a47-4abdea000000 + - f13f2fdb-901a-00d1-1e55-64317e000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified resource does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_unicode_data.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_unicode_data.yaml index 41cc96a8b2e6..e6d94c976a86 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_unicode_data.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_unicode_data.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 94d5d7d8-b639-11e9-908b-2816a845e8c6 + - 89a6dde8-d048-11e9-a51a-001a7dda7113 x-ms-content-length: - '26' x-ms-date: - - Sat, 03 Aug 2019 21:56:43 GMT + - Fri, 06 Sep 2019 01:49:17 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshared62d0cec/filed62d0cec response: @@ -33,177 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:42 GMT + - Fri, 06 Sep 2019 01:49:17 GMT ETag: - - '"0x8D7185D789E7E67"' + - '"0x8D7326C6DEA04C8"' Last-Modified: - - Sat, 03 Aug 2019 21:56:43 GMT + - Fri, 06 Sep 2019 01:49:17 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 90a1806d-501a-0030-4d46-4a3e2a000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: "hello world\u554A\u9F44\u4E02\u72DB\u72DC" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '26' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 952b58b6-b639-11e9-bdf4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:44 GMT - x-ms-range: - - bytes=0-25 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshared62d0cec/filed62d0cec?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - aFkhSeVIRnJoB2MmKjC25w== - Date: - - Sat, 03 Aug 2019 21:56:42 GMT - ETag: - - '"0x8D7185D78BF52CD"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:43 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 90a1806f-501a-0030-4e46-4a3e2a000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 954a6186-b639-11e9-b9bb-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:44 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshared62d0cec/filed62d0cec - response: - body: - string: "hello world\u554A\u9F44\u4E02\u72DB\u72DC" - headers: - Accept-Ranges: - - bytes - Content-Length: - - '26' - Content-Range: - - bytes 0-25/26 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:42 GMT - ETag: - - '"0x8D7185D78BF52CD"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:43 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 90a18070-501a-0030-4f46-4a3e2a000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 75ffaa5a-b63a-11e9-a2f9-2816a845e8c6 - x-ms-content-length: - - '26' - x-ms-date: - - Sat, 03 Aug 2019 22:03:01 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshared62d0cec/filed62d0cec - response: - body: - string: '' - headers: - Content-Length: + - 89a6dde8-d048-11e9-a51a-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:17.8124488Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:17.8124488Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:17.8124488Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:03:00 GMT - ETag: - - '"0x8D7185E59AFBEC8"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:00 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 066cdfba-601a-00bb-5a47-4a85f4000000 + - f9e40db2-201a-00eb-0b55-642b06000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -221,15 +87,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 7644d03a-b63a-11e9-bb17-2816a845e8c6 + - 89be1238-d048-11e9-a291-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:02 GMT + - Fri, 06 Sep 2019 01:49:17 GMT x-ms-range: - bytes=0-25 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -243,19 +109,21 @@ interactions: Content-MD5: - aFkhSeVIRnJoB2MmKjC25w== Date: - - Sat, 03 Aug 2019 22:03:00 GMT + - Fri, 06 Sep 2019 01:49:17 GMT ETag: - - '"0x8D7185E59CF0C41"' + - '"0x8D7326C6DF06EF5"' Last-Modified: - - Sat, 03 Aug 2019 22:03:00 GMT + - Fri, 06 Sep 2019 01:49:17 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 89be1238-d048-11e9-a291-001a7dda7113 x-ms-request-id: - - 066cdfbc-601a-00bb-5b47-4a85f4000000 + - f9e40db4-201a-00eb-0d55-642b06000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -269,17 +137,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 765420d8-b63a-11e9-a353-2816a845e8c6 + - 89c450f6-d048-11e9-8638-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:02 GMT + - Fri, 06 Sep 2019 01:49:17 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshared62d0cec/filed62d0cec response: @@ -295,181 +163,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:03:00 GMT + - Fri, 06 Sep 2019 01:49:17 GMT ETag: - - '"0x8D7185E59CF0C41"' + - '"0x8D7326C6DF06EF5"' Last-Modified: - - Sat, 03 Aug 2019 22:03:00 GMT + - Fri, 06 Sep 2019 01:49:17 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 066cdfbd-601a-00bb-5c47-4a85f4000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - d7a06c18-b63a-11e9-8c44-2816a845e8c6 - x-ms-content-length: - - '26' - x-ms-date: - - Sat, 03 Aug 2019 22:05:45 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshared62d0cec/filed62d0cec - response: - body: - string: '' - headers: - Content-Length: + - 89c450f6-d048-11e9-8638-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:17.8124488Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:17.8124488Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:17.8124488Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:05:44 GMT - ETag: - - '"0x8D7185EBB59F43A"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:44 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 530c7c10-f01a-009c-0547-4a1fbd000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: "hello world\u554A\u9F44\u4E02\u72DB\u72DC" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '26' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - d7ee7a94-b63a-11e9-9442-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:45 GMT - x-ms-range: - - bytes=0-25 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshared62d0cec/filed62d0cec?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - aFkhSeVIRnJoB2MmKjC25w== - Date: - - Sat, 03 Aug 2019 22:05:44 GMT - ETag: - - '"0x8D7185EBB7AA18E"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:44 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 530c7c12-f01a-009c-0647-4a1fbd000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - d8001b4a-b63a-11e9-aaf8-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:45 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshared62d0cec/filed62d0cec - response: - body: - string: "hello world\u554A\u9F44\u4E02\u72DB\u72DC" - headers: - Accept-Ranges: - - bytes - Content-Length: - - '26' - Content-Range: - - bytes 0-25/26 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:05:44 GMT - ETag: - - '"0x8D7185EBB7AA18E"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:44 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 530c7c13-f01a-009c-0747-4a1fbd000000 + - f9e40db5-201a-00eb-0e55-642b06000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_unicode_data_and_file_attributes.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_unicode_data_and_file_attributes.yaml new file mode 100644 index 000000000000..b2b66e967a3a --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_file_unicode_data_and_file_attributes.yaml @@ -0,0 +1,264 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8a305ac0-d048-11e9-973e-001a7dda7113 + x-ms-content-length: + - '26' + x-ms-date: + - Fri, 06 Sep 2019 01:49:18 GMT + x-ms-file-attributes: + - Temporary + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare2d181523/file2d181523 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Fri, 06 Sep 2019 01:49:18 GMT + ETag: + - '"0x8D7326C6E74DA36"' + Last-Modified: + - Fri, 06 Sep 2019 01:49:18 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8a305ac0-d048-11e9-973e-001a7dda7113 + x-ms-file-attributes: + - Archive | Temporary + x-ms-file-change-time: + - '2019-09-06T01:49:18.7223094Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:18.7223094Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:18.7223094Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 + x-ms-request-id: + - 6806966f-001a-00d3-0255-648fc6000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: "hello world\u554A\u9F44\u4E02\u72DB\u72DC" + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '26' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8a494bd2-d048-11e9-b33a-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 01:49:18 GMT + x-ms-range: + - bytes=0-25 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshare2d181523/file2d181523?comp=range + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - aFkhSeVIRnJoB2MmKjC25w== + Date: + - Fri, 06 Sep 2019 01:49:18 GMT + ETag: + - '"0x8D7326C6E7BB9AC"' + Last-Modified: + - Fri, 06 Sep 2019 01:49:18 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8a494bd2-d048-11e9-b33a-001a7dda7113 + x-ms-request-id: + - 68069671-001a-00d3-0355-648fc6000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8a50ed92-d048-11e9-a365-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 01:49:18 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshare2d181523/file2d181523 + response: + body: + string: "hello world\u554A\u9F44\u4E02\u72DB\u72DC" + headers: + Accept-Ranges: + - bytes + Content-Length: + - '26' + Content-Range: + - bytes 0-25/26 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Fri, 06 Sep 2019 01:49:18 GMT + ETag: + - '"0x8D7326C6E7BB9AC"' + Last-Modified: + - Fri, 06 Sep 2019 01:49:18 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8a50ed92-d048-11e9-a365-001a7dda7113 + x-ms-file-attributes: + - Archive | Temporary + x-ms-file-change-time: + - '2019-09-06T01:49:18.7223094Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:18.7223094Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:18.7223094Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 + x-ms-request-id: + - 68069672-001a-00d3-0455-648fc6000000 + x-ms-server-encrypted: + - 'true' + x-ms-type: + - File + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8a583f82-d048-11e9-a4b3-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 01:49:18 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.file.core.windows.net/utshare2d181523/file2d181523 + response: + body: + string: '' + headers: + Content-Length: + - '26' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Fri, 06 Sep 2019 01:49:18 GMT + ETag: + - '"0x8D7326C6E7BB9AC"' + Last-Modified: + - Fri, 06 Sep 2019 01:49:18 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8a583f82-d048-11e9-a4b3-001a7dda7113 + x-ms-file-attributes: + - Archive | Temporary + x-ms-file-change-time: + - '2019-09-06T01:49:18.7223094Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:18.7223094Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:18.7223094Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 + x-ms-request-id: + - 68069674-001a-00d3-0655-648fc6000000 + x-ms-server-encrypted: + - 'true' + x-ms-type: + - File + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_metadata.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_metadata.yaml index 999f29920c54..460102d1df48 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_metadata.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_metadata.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 95f094ae-b639-11e9-8900-2816a845e8c6 + - 8a7f659c-d048-11e9-a29e-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:56:45 GMT + - Fri, 06 Sep 2019 01:49:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshared5e60cec/filed5e60cec response: @@ -33,189 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:44 GMT + - Fri, 06 Sep 2019 01:49:18 GMT ETag: - - '"0x8D7185D79AB646E"' + - '"0x8D7326C6EC35B56"' Last-Modified: - - Sat, 03 Aug 2019 21:56:44 GMT + - Fri, 06 Sep 2019 01:49:19 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ca955560-001a-0023-2246-4a0bcb000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - 8+soRcdX0SSCWJHs6ZZnwgRvTrBIzqEeTI8eEqdxiTtwWAO/ISSSs5Ohx2fBe02F1pLhLEGoUq/i - I/RHI6UFuD7CcNYVI9fpC9KLhjJ4OkxtdyNh76FnRNk/M6WVGntCsx5YZN9wXE9uXV5F8c4Lbb1p - B+NgU8xxRXVNgD4NE504bJmzcs2EoYHf69x2xX6ATT1DF0k3eceY0EL1HD1oPTZvllJDnlYNf1W7 - VjiAToTa+fxqWNsftP0oMmvU1QLAZ8wC1oLPfwfV4++LXV+Hg/NCC5sD9xAvC+WDE4ZSeMTZ9kyA - Nsu7etoOeALbyBkWLsg23MMAjasLhqKpz9aidI5RWPEO0V2XE5SuRFzHe8caAOT4fEmhs4fNlXD7 - kXaXWiaJXfYuaImjsSz2+eqOyVK5ilEsKLNuZNApo7BkaJVM4+aPIoTSqG+MkcBIoTQEb469cjB8 - +f0ZA+S2rFv0Vy3pE4JWaqa5XC6TkvrsBs0kjsSn+2+9yOKmBpTPzd5t6HgP7hE3F1On6/Djg6nr - c6UIAQX0qkzYgobgu++jNITB1giV+6JL8NniOBxY2Y/DSJld+7axew4Re/x5TMb7phNOdYDGsbYj - c2c3GeDOLneTZVw3Tvt+3GbzSpjNkNUoASXMLV/k/A2WiBgUzCUcU/Tp4MPtXxncaIidvxjg+Fa6 - CT9UaZT5NEEQBI2Q49wBQiXIWso5iD4VZ6T+BbjdvpqyEToVibbNOMrSDg5miOzmCm04sjxqbmX9 - GyRkCZLJhIscWMoAmiTYej5VkyLNoUSdMNjFrBbIAmCofNuD876TtJXIpOQC0vl8ODzx5vE907iR - oUoE9EoH0sDQbZkm9H6AUhoHCPzH4QzWy5yhqjJcXehuZTaoRDnioej2FM3ofouMU3q4OPa1A/Fy - 4cLFicOAAj9nu/4j7bS9/eZb8Tu0wgDJIWq8K7WyZdm54btxURDnKgSsJmUgh2JQiCsMNc2cweG6 - ASZkc8y5L2CBfY5RT34DwR/mz+oKNmPtDhvoi2pyK9LOrTIftxuNKWVDGfYGr0N7NJ0FmSAe/gp3 - 8r0aTZ0MMwLyBT4ccKbCE2QHz/cnkUFhh1Kjj0niJ6fncgNd2qWkX0HFw+4GERSjO60W9r8FWgBM - V1LrzW0JMU/isIBzts2L9Yjte4s9cyghhA7eOt/tVJJ+kmDTviiqfgSpQ8v82ZrhxbwSeYXiqHCf - bxLVrBJWu0dZTn0mY5ZgKhSY8OmJrRfaOnZ0liUhmU3S+/MTSQPVXoC7RmOoGlV0OzEiPMhM84B8 - WDfAobH0aGYHL37rUuqUD/OcHxPV5q4PCN4W0m4ZNRh6M3S6qRoqpN5uOoiHk6udglioYRhB3Q== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 96440d24-b639-11e9-b09d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:46 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshared5e60cec/filed5e60cec?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - C2L3f1Z5K+WrjBuvUFr49Q== - Date: - - Sat, 03 Aug 2019 21:56:45 GMT - ETag: - - '"0x8D7185D79D142D8"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:45 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ca955562-001a-0023-2346-4a0bcb000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9656d01e-b639-11e9-8ead-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:46 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshared5e60cec/filed5e60cec - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:45 GMT - ETag: - - '"0x8D7185D79D142D8"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:45 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - ca955563-001a-0023-2446-4a0bcb000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 76d3249e-b63a-11e9-9eda-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:03:02 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshared5e60cec/filed5e60cec - response: - body: - string: '' - headers: - Content-Length: + - 8a7f659c-d048-11e9-a29e-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:19.2367958Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:19.2367958Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:19.2367958Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:03:01 GMT - ETag: - - '"0x8D7185E5A897D5A"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:02 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - f71bbdab-201a-0059-1c47-4a6186000000 + - f9c4dde2-201a-007d-4e55-6422d7000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -251,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 770e920a-b63a-11e9-b0e8-2816a845e8c6 + - 8a97dbba-d048-11e9-99ff-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:03 GMT + - Fri, 06 Sep 2019 01:49:19 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -273,19 +127,21 @@ interactions: Content-MD5: - C2L3f1Z5K+WrjBuvUFr49Q== Date: - - Sat, 03 Aug 2019 22:03:01 GMT + - Fri, 06 Sep 2019 01:49:18 GMT ETag: - - '"0x8D7185E5A982606"' + - '"0x8D7326C6ECD21B4"' Last-Modified: - - Sat, 03 Aug 2019 22:03:02 GMT + - Fri, 06 Sep 2019 01:49:19 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8a97dbba-d048-11e9-99ff-001a7dda7113 x-ms-request-id: - - f71bbdad-201a-0059-1d47-4a6186000000 + - f9c4dde4-201a-007d-4f55-6422d7000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -299,15 +155,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 771d491c-b63a-11e9-acfd-2816a845e8c6 + - 8aa103d4-d048-11e9-8218-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:03 GMT + - Fri, 06 Sep 2019 01:49:19 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshared5e60cec/filed5e60cec response: @@ -319,193 +175,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:03:01 GMT + - Fri, 06 Sep 2019 01:49:18 GMT ETag: - - '"0x8D7185E5A982606"' + - '"0x8D7326C6ECD21B4"' Last-Modified: - - Sat, 03 Aug 2019 22:03:02 GMT + - Fri, 06 Sep 2019 01:49:19 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - f71bbdae-201a-0059-1e47-4a6186000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - d8771a58-b63a-11e9-b1a2-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:05:46 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshared5e60cec/filed5e60cec - response: - body: - string: '' - headers: - Content-Length: + - 8aa103d4-d048-11e9-8218-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:19.2367958Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:19.2367958Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:19.2367958Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:05:45 GMT - ETag: - - '"0x8D7185EBC34EB81"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:45 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - eefda14e-a01a-0043-4f47-4a4ee9000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - 8+soRcdX0SSCWJHs6ZZnwgRvTrBIzqEeTI8eEqdxiTtwWAO/ISSSs5Ohx2fBe02F1pLhLEGoUq/i - I/RHI6UFuD7CcNYVI9fpC9KLhjJ4OkxtdyNh76FnRNk/M6WVGntCsx5YZN9wXE9uXV5F8c4Lbb1p - B+NgU8xxRXVNgD4NE504bJmzcs2EoYHf69x2xX6ATT1DF0k3eceY0EL1HD1oPTZvllJDnlYNf1W7 - VjiAToTa+fxqWNsftP0oMmvU1QLAZ8wC1oLPfwfV4++LXV+Hg/NCC5sD9xAvC+WDE4ZSeMTZ9kyA - Nsu7etoOeALbyBkWLsg23MMAjasLhqKpz9aidI5RWPEO0V2XE5SuRFzHe8caAOT4fEmhs4fNlXD7 - kXaXWiaJXfYuaImjsSz2+eqOyVK5ilEsKLNuZNApo7BkaJVM4+aPIoTSqG+MkcBIoTQEb469cjB8 - +f0ZA+S2rFv0Vy3pE4JWaqa5XC6TkvrsBs0kjsSn+2+9yOKmBpTPzd5t6HgP7hE3F1On6/Djg6nr - c6UIAQX0qkzYgobgu++jNITB1giV+6JL8NniOBxY2Y/DSJld+7axew4Re/x5TMb7phNOdYDGsbYj - c2c3GeDOLneTZVw3Tvt+3GbzSpjNkNUoASXMLV/k/A2WiBgUzCUcU/Tp4MPtXxncaIidvxjg+Fa6 - CT9UaZT5NEEQBI2Q49wBQiXIWso5iD4VZ6T+BbjdvpqyEToVibbNOMrSDg5miOzmCm04sjxqbmX9 - GyRkCZLJhIscWMoAmiTYej5VkyLNoUSdMNjFrBbIAmCofNuD876TtJXIpOQC0vl8ODzx5vE907iR - oUoE9EoH0sDQbZkm9H6AUhoHCPzH4QzWy5yhqjJcXehuZTaoRDnioej2FM3ofouMU3q4OPa1A/Fy - 4cLFicOAAj9nu/4j7bS9/eZb8Tu0wgDJIWq8K7WyZdm54btxURDnKgSsJmUgh2JQiCsMNc2cweG6 - ASZkc8y5L2CBfY5RT34DwR/mz+oKNmPtDhvoi2pyK9LOrTIftxuNKWVDGfYGr0N7NJ0FmSAe/gp3 - 8r0aTZ0MMwLyBT4ccKbCE2QHz/cnkUFhh1Kjj0niJ6fncgNd2qWkX0HFw+4GERSjO60W9r8FWgBM - V1LrzW0JMU/isIBzts2L9Yjte4s9cyghhA7eOt/tVJJ+kmDTviiqfgSpQ8v82ZrhxbwSeYXiqHCf - bxLVrBJWu0dZTn0mY5ZgKhSY8OmJrRfaOnZ0liUhmU3S+/MTSQPVXoC7RmOoGlV0OzEiPMhM84B8 - WDfAobH0aGYHL37rUuqUD/OcHxPV5q4PCN4W0m4ZNRh6M3S6qRoqpN5uOoiHk6udglioYRhB3Q== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - d8c8c252-b63a-11e9-9637-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:47 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshared5e60cec/filed5e60cec?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - C2L3f1Z5K+WrjBuvUFr49Q== - Date: - - Sat, 03 Aug 2019 22:05:45 GMT - ETag: - - '"0x8D7185EBC53C3BB"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:46 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - eefda151-a01a-0043-5047-4a4ee9000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - d8d94da4-b63a-11e9-95b9-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:47 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshared5e60cec/filed5e60cec - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:05:46 GMT - ETag: - - '"0x8D7185EBC53C3BB"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:46 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - eefda153-a01a-0043-5147-4a4ee9000000 + - f9c4dde5-201a-007d-5055-6422d7000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_metadata_with_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_metadata_with_snapshot.yaml index 5bcbfc9ca648..5151defad1b9 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_metadata_with_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_metadata_with_snapshot.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 978b5194-b639-11e9-a1fb-2816a845e8c6 + - 8acde1e4-d048-11e9-865b-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:56:48 GMT + - Fri, 06 Sep 2019 01:49:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6 response: @@ -33,763 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:46 GMT + - Fri, 06 Sep 2019 01:49:19 GMT ETag: - - '"0x8D7185D7B475E1D"' + - '"0x8D7326C6F120390"' Last-Modified: - - Sat, 03 Aug 2019 21:56:47 GMT + - Fri, 06 Sep 2019 01:49:19 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 5bc5bc3b-801a-0039-4146-4a24a4000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - tzIc74EHD/K5gwhrc2hCQVoT5VEwjvhox4Nbsy9GHKoRUcQeur9z/kxvBr+pNcGIeY3quQWmOGda - eARDyQZLZ+yvcOQs+SN70eZtklUYQUDgyBxIJByszj2HOdYvJ/3hpWNiymGjWZyT8/CKQqyWyxFB - 26WZOcZMEWmz3h+jHoG+lFvbsqLgOtcpfuIdoT7nNCWNYijY+85QGDys11XLN65iUPQHCc9W9TdE - uiavmz+4lA/ZtFqUejkZ55g/+m5NrIrkWWC3rS34B3I7tu6BI/CVKS4jyQqHlH5X5NvTLvAZaRHX - sY0peZucc4Izzpp0jVrZqfz2PvJw6BMK8xtcem8XEY6xoAClXvb4ybO0Mvw3Wlr4M3iMn5SoZ9JB - U7sXEmbfb5C9P0Ev8jigdAz+jm8A3JCua6C6frCKLKPfjB/gSCRHogkx3+K7dtvkbsnqTZ9cw7Ii - 3UHktF9Hu/hFGhslXpHi9UnCBL0pE+D4zjd1uuePBQQEPO6w9TRdKrMcUy0ZqDEYKbHicAYmD9Jb - eNZMlI/2MJRdZE65bOaUXYcz/YEm0TGk7MCDYhvR+wHritGH8tO8D0QitsNCKl9ZYXQlD+BBnE7D - NoyTTxTXCBrk/srBO1laMRDPPZGXTg9br+pp0WIHEh4fuzP0Nh4HalsMClauZsbu4d7Y15NjDGAs - LXzsT2whM6Lxd21PcBhpYHwwGVqRhV/irFBYE/d/Ga0SidkMOiucJ3w6n6YtK+KAme33M4S1e93c - ThSdehUnJb4i3z9cJ7x59aIUKuknoShdl3kKis60wjlvcdSlX4CtNX+oI2uM34Bn3g5S8LB+ewIf - ju8DK9prpxYgXENaOpWid3QNFhSUST/lSirauovSWl55aW3ZetM5w8njvzPqkAtnLpgxaKYHvsnA - LhsiNshNu/s4o65E9KYSNlELvzcymnurMviu9ddVtkJIW3Sn+LrTgQWODkqXjKAMlfaCCdxuVbVv - Yhichho7DdDgfnmqtsh4Clj6/D0j7GQj61+Cqmb8MgBjMZu7nUlnPgfT8JWUYEEpmtFWkckDx40o - 6pRxOw0kMyqERB10Z6KM7ZZqQ73SOXinKw3Oe5i0o5HCkoPXDC94rqGqfCldCcs4eM+w3UTXHG6d - aR8fe/UCTPsqjRChZRDT+xxb6I2BD1a4AqMAqibkssP5wyF9IhjoGwGi4rj4wjrwWzWHPL0kwzZE - Rig7AJxLZOaq0QprvPy1r8vyTizzayvxJ9lpG9jlptJ630a6pmHaJFVHNvAquvSCebfl/Q8qX/TT - Q3aaiyHor967raEeeNIIIKYrQEcw7Fopk+MnFWGIY9TzmlRKe7UyVld9t+McxzdtqJE02FcWjQ== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 97da0086-b639-11e9-b82d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:48 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - JNwYeiXk+Kaj3E8lM78LNA== - Date: - - Sat, 03 Aug 2019 21:56:47 GMT - ETag: - - '"0x8D7185D7B6524B9"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:47 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 5bc5bc3e-801a-0039-4246-4a24a4000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 97ea499e-b639-11e9-9153-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:48 GMT - x-ms-meta: - - '{''test1'': ''foo'', ''test2'': ''bar''}' - x-ms-meta-test1: - - foo - x-ms-meta-test2: - - bar - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6?comp=metadata - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:47 GMT - ETag: - - '"0x8D7185D7B8387B2"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:47 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 5bc5bc3f-801a-0039-4346-4a24a4000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 981c42f0-b639-11e9-b964-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:49 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb6cf12d6?restype=share&comp=snapshot - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:47 GMT - ETag: - - '"0x8D7185D7AF9CB6A"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:47 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 5bc5bc40-801a-0039-4446-4a24a4000000 - x-ms-snapshot: - - '2019-08-03T21:56:48.0000000Z' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9838f708-b639-11e9-93d7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:49 GMT - x-ms-meta: - - '{''test100'': ''foo100'', ''test200'': ''bar200''}' - x-ms-meta-test100: - - foo100 - x-ms-meta-test200: - - bar200 - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6?comp=metadata - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:47 GMT - ETag: - - '"0x8D7185D7BC3D0B8"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:48 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 5bc5bc41-801a-0039-4546-4a24a4000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9856fc8c-b639-11e9-ae94-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:49 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6 - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:47 GMT - ETag: - - '"0x8D7185D7BC3D0B8"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:48 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-meta-test100: - - foo100 - x-ms-meta-test200: - - bar200 - x-ms-request-id: - - 5bc5bc42-801a-0039-4646-4a24a4000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 986ef036-b639-11e9-a269-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:49 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6?sharesnapshot=2019-08-03T21:56:48.0000000Z - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:48 GMT - ETag: - - '"0x8D7185D7B8387B2"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:47 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-meta-test1: - - foo - x-ms-meta-test2: - - bar - x-ms-request-id: - - 35db7ef7-f01a-0097-4546-4a07c9000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 77aaaf46-b63a-11e9-9732-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:03:04 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:03 GMT - ETag: - - '"0x8D7185E5B6EFE1D"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:03 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d7c0668f-d01a-0003-6b47-4a6707000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - tzIc74EHD/K5gwhrc2hCQVoT5VEwjvhox4Nbsy9GHKoRUcQeur9z/kxvBr+pNcGIeY3quQWmOGda - eARDyQZLZ+yvcOQs+SN70eZtklUYQUDgyBxIJByszj2HOdYvJ/3hpWNiymGjWZyT8/CKQqyWyxFB - 26WZOcZMEWmz3h+jHoG+lFvbsqLgOtcpfuIdoT7nNCWNYijY+85QGDys11XLN65iUPQHCc9W9TdE - uiavmz+4lA/ZtFqUejkZ55g/+m5NrIrkWWC3rS34B3I7tu6BI/CVKS4jyQqHlH5X5NvTLvAZaRHX - sY0peZucc4Izzpp0jVrZqfz2PvJw6BMK8xtcem8XEY6xoAClXvb4ybO0Mvw3Wlr4M3iMn5SoZ9JB - U7sXEmbfb5C9P0Ev8jigdAz+jm8A3JCua6C6frCKLKPfjB/gSCRHogkx3+K7dtvkbsnqTZ9cw7Ii - 3UHktF9Hu/hFGhslXpHi9UnCBL0pE+D4zjd1uuePBQQEPO6w9TRdKrMcUy0ZqDEYKbHicAYmD9Jb - eNZMlI/2MJRdZE65bOaUXYcz/YEm0TGk7MCDYhvR+wHritGH8tO8D0QitsNCKl9ZYXQlD+BBnE7D - NoyTTxTXCBrk/srBO1laMRDPPZGXTg9br+pp0WIHEh4fuzP0Nh4HalsMClauZsbu4d7Y15NjDGAs - LXzsT2whM6Lxd21PcBhpYHwwGVqRhV/irFBYE/d/Ga0SidkMOiucJ3w6n6YtK+KAme33M4S1e93c - ThSdehUnJb4i3z9cJ7x59aIUKuknoShdl3kKis60wjlvcdSlX4CtNX+oI2uM34Bn3g5S8LB+ewIf - ju8DK9prpxYgXENaOpWid3QNFhSUST/lSirauovSWl55aW3ZetM5w8njvzPqkAtnLpgxaKYHvsnA - LhsiNshNu/s4o65E9KYSNlELvzcymnurMviu9ddVtkJIW3Sn+LrTgQWODkqXjKAMlfaCCdxuVbVv - Yhichho7DdDgfnmqtsh4Clj6/D0j7GQj61+Cqmb8MgBjMZu7nUlnPgfT8JWUYEEpmtFWkckDx40o - 6pRxOw0kMyqERB10Z6KM7ZZqQ73SOXinKw3Oe5i0o5HCkoPXDC94rqGqfCldCcs4eM+w3UTXHG6d - aR8fe/UCTPsqjRChZRDT+xxb6I2BD1a4AqMAqibkssP5wyF9IhjoGwGi4rj4wjrwWzWHPL0kwzZE - Rig7AJxLZOaq0QprvPy1r8vyTizzayvxJ9lpG9jlptJ630a6pmHaJFVHNvAquvSCebfl/Q8qX/TT - Q3aaiyHor967raEeeNIIIKYrQEcw7Fopk+MnFWGIY9TzmlRKe7UyVld9t+McxzdtqJE02FcWjQ== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 77fac56e-b63a-11e9-952f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:04 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - JNwYeiXk+Kaj3E8lM78LNA== - Date: - - Sat, 03 Aug 2019 22:03:03 GMT - ETag: - - '"0x8D7185E5B898FCB"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:03 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d7c06691-d01a-0003-6c47-4a6707000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7819c028-b63a-11e9-a491-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:05 GMT - x-ms-meta: - - '{''test1'': ''foo'', ''test2'': ''bar''}' - x-ms-meta-test1: - - foo - x-ms-meta-test2: - - bar - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6?comp=metadata - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:03 GMT - ETag: - - '"0x8D7185E5BA5CF85"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:03 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d7c06692-d01a-0003-6d47-4a6707000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 782d4342-b63a-11e9-949f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:05 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb6cf12d6?restype=share&comp=snapshot - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:03 GMT - ETag: - - '"0x8D7185E5B014468"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:02 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d7c06693-d01a-0003-6e47-4a6707000000 - x-ms-snapshot: - - '2019-08-03T22:03:04.0000000Z' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 78402aec-b63a-11e9-aeb5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:05 GMT - x-ms-meta: - - '{''test100'': ''foo100'', ''test200'': ''bar200''}' - x-ms-meta-test100: - - foo100 - x-ms-meta-test200: - - bar200 - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6?comp=metadata - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:03 GMT - ETag: - - '"0x8D7185E5BC8C733"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:04 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d7c06694-d01a-0003-6f47-4a6707000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 784e7b74-b63a-11e9-bae2-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:05 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6 - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:03:03 GMT - ETag: - - '"0x8D7185E5BC8C733"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:04 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-meta-test100: - - foo100 - x-ms-meta-test200: - - bar200 - x-ms-request-id: - - d7c06695-d01a-0003-7047-4a6707000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 785f52f8-b63a-11e9-aa17-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:05 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6?sharesnapshot=2019-08-03T22:03:04.0000000Z - response: - body: - string: '' - headers: - Date: - - Sat, 03 Aug 2019 22:03:03 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-error-code: - - ShareNotFound - x-ms-request-id: - - 73a8bb39-901a-0026-1b47-4affb4000000 - x-ms-version: - - '2018-11-09' - status: - code: 404 - message: The specified share does not exist. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - d996a2e2-b63a-11e9-81d5-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:05:48 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6 - response: - body: - string: '' - headers: - Content-Length: + - 8acde1e4-d048-11e9-865b-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:19.7522832Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:19.7522832Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:19.7522832Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:05:47 GMT - ETag: - - '"0x8D7185EBD4EF351"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:47 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 6272c996-e01a-0022-0847-4a0a36000000 + - 1fe498f8-701a-00c9-0655-64ee19000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -825,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - d9d8e91c-b63a-11e9-96c8-2816a845e8c6 + - 8ae6bbae-d048-11e9-b947-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:49 GMT + - Fri, 06 Sep 2019 01:49:19 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -847,19 +127,21 @@ interactions: Content-MD5: - JNwYeiXk+Kaj3E8lM78LNA== Date: - - Sat, 03 Aug 2019 22:05:47 GMT + - Fri, 06 Sep 2019 01:49:19 GMT ETag: - - '"0x8D7185EBD6601FC"' + - '"0x8D7326C6F190A1F"' Last-Modified: - - Sat, 03 Aug 2019 22:05:47 GMT + - Fri, 06 Sep 2019 01:49:19 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8ae6bbae-d048-11e9-b947-001a7dda7113 x-ms-request-id: - - 6272c998-e01a-0022-0947-4a0a36000000 + - 1fe498fa-701a-00c9-0755-64ee19000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -875,13 +157,13 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d9ebe0e6-b63a-11e9-a6d2-2816a845e8c6 + - 8aedbbb6-d048-11e9-969b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:49 GMT + - Fri, 06 Sep 2019 01:49:19 GMT x-ms-meta: - '{''test1'': ''foo'', ''test2'': ''bar''}' x-ms-meta-test1: @@ -889,7 +171,7 @@ interactions: x-ms-meta-test2: - bar x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6?comp=metadata response: @@ -899,19 +181,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:05:52 GMT + - Fri, 06 Sep 2019 01:49:19 GMT ETag: - - '"0x8D7185EC0196AE5"' + - '"0x8D7326C6F2010BB"' Last-Modified: - - Sat, 03 Aug 2019 22:05:52 GMT + - Fri, 06 Sep 2019 01:49:19 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8aedbbb6-d048-11e9-969b-001a7dda7113 x-ms-request-id: - - 6272c999-e01a-0022-0a47-4a0a36000000 + - 1fe498fb-701a-00c9-0855-64ee19000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -927,15 +211,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - dcd0e488-b63a-11e9-b614-2816a845e8c6 + - 8af47500-d048-11e9-b022-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:54 GMT + - Fri, 06 Sep 2019 01:49:19 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareb6cf12d6?restype=share&comp=snapshot response: @@ -945,19 +229,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:05:52 GMT + - Fri, 06 Sep 2019 01:49:19 GMT ETag: - - '"0x8D7185EBCE301EC"' + - '"0x8D7326C6EEF1302"' Last-Modified: - - Sat, 03 Aug 2019 22:05:47 GMT + - Fri, 06 Sep 2019 01:49:19 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8af47500-d048-11e9-b022-001a7dda7113 x-ms-request-id: - - 6272c9a2-e01a-0022-0d47-4a0a36000000 + - 1fe498fc-701a-00c9-0955-64ee19000000 x-ms-snapshot: - - '2019-08-03T22:05:53.0000000Z' + - '2019-09-06T01:49:19.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -973,13 +259,13 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - dd35d38c-b63a-11e9-a0a2-2816a845e8c6 + - 8afc37d8-d048-11e9-a022-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:54 GMT + - Fri, 06 Sep 2019 01:49:19 GMT x-ms-meta: - '{''test100'': ''foo100'', ''test200'': ''bar200''}' x-ms-meta-test100: @@ -987,7 +273,7 @@ interactions: x-ms-meta-test200: - bar200 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6?comp=metadata response: @@ -997,19 +283,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:05:52 GMT + - Fri, 06 Sep 2019 01:49:19 GMT ETag: - - '"0x8D7185EC0BEC988"' + - '"0x8D7326C6F2E9325"' Last-Modified: - - Sat, 03 Aug 2019 22:05:53 GMT + - Fri, 06 Sep 2019 01:49:19 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8afc37d8-d048-11e9-a022-001a7dda7113 x-ms-request-id: - - 6272c9a3-e01a-0022-0e47-4a0a36000000 + - 1fe498fd-701a-00c9-0a55-64ee19000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -1023,15 +311,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - dd4c8f42-b63a-11e9-bd0f-2816a845e8c6 + - 8b0250ba-d048-11e9-b940-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:54 GMT + - Fri, 06 Sep 2019 01:49:19 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6 response: @@ -1043,27 +331,41 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:05:54 GMT + - Fri, 06 Sep 2019 01:49:19 GMT ETag: - - '"0x8D7185EC0BEC988"' + - '"0x8D7326C6F2E9325"' Last-Modified: - - Sat, 03 Aug 2019 22:05:53 GMT + - Fri, 06 Sep 2019 01:49:19 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - 8b0250ba-d048-11e9-b940-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:19.9394597Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:19.7522832Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:19.7522832Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-meta-test100: - foo100 x-ms-meta-test200: - bar200 x-ms-request-id: - - 6272c9a4-e01a-0022-0f47-4a0a36000000 + - 1fe49901-701a-00c9-0d55-64ee19000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -1077,17 +379,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - de50bef0-b63a-11e9-9a04-2816a845e8c6 + - 8b0b50f4-d048-11e9-bf67-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:05:56 GMT + - Fri, 06 Sep 2019 01:49:20 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD - uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6?sharesnapshot=2019-08-03T22:05:53.0000000Z + uri: https://storagename.file.core.windows.net/utshareb6cf12d6/fileb6cf12d6?sharesnapshot=2019-09-06T01:49:19.0000000Z response: body: string: '' @@ -1097,27 +399,41 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:05:55 GMT + - Fri, 06 Sep 2019 01:49:19 GMT ETag: - - '"0x8D7185EC0196AE5"' + - '"0x8D7326C6F2010BB"' Last-Modified: - - Sat, 03 Aug 2019 22:05:52 GMT + - Fri, 06 Sep 2019 01:49:19 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - 8b0b50f4-d048-11e9-bf67-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:19.8443707Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:19.7522832Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:19.7522832Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-meta-test1: - foo x-ms-meta-test2: - bar x-ms-request-id: - - 3838031b-901a-00a5-5a47-4a5f19000000 + - 2c1e395a-201a-0030-1555-64ed3b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_properties.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_properties.yaml index d3e2a8811954..7c2739895af3 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_properties.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_properties.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 9940286c-b639-11e9-8424-2816a845e8c6 + - 8ee30f7a-d048-11e9-9587-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:56:51 GMT + - Fri, 06 Sep 2019 01:49:26 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef2420df8/filef2420df8 response: @@ -33,189 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:49 GMT + - Fri, 06 Sep 2019 01:49:25 GMT ETag: - - '"0x8D7185D7D0FC6D4"' + - '"0x8D7326C732AAC98"' Last-Modified: - - Sat, 03 Aug 2019 21:56:50 GMT + - Fri, 06 Sep 2019 01:49:26 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 8e3ff71a-201a-0070-7a46-4a17c4000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - WGmGixcLQ/pyLBOgc1dLamxYbpN1RYzB1KDGqG3M1ihiE4XmR4Ly4vxpSSnoFHTNwvCxdm6Il6+V - 1ELG0Dz9ggnydgfO3HfPwKlamFds1Q2ZdWpMuZP1bgpBMQdkk78AS9rEMl/Q5yLiS0ayvxcPbdXZ - 4lduYo3iSBY+46Phy4UTbkMI5LejETCae59HniOMrnZLCoSc0jfU2tuEqloOiQxIkGpS6kuqWVyl - E/J3gM3k5DDbv6c/dDJgtPujdEsrT3dcrVqwy2otkNTm6IlSrGeExElGP6nX5x9FVrIlFEHjlXq3 - ul4JDDpWvpUOQXZH8+Fh9gv5G8kxozwsWsGc2mSRTi3geOwbYWCd79D9RACao39iDU2/2rTdoVl2 - q/qQMWbNCrEhJc8bVQEwdN7LYrzEC15hTW/Lc63BqJpAyX7pIv5s5+J1S6SdwZhJzi7Bs+ySwguI - 1zYWP+Hb89jmYObZIWTMWMSwA94wCZBbtCaq4YVSJU7oiPgvel6fdNS05+tSK7YRKyc8KlCYnCkN - fH9Fr4yIFBUV72O7bV1apjnWaOVlZFeRDh+rFqc87PYlBonELGY/4lc2s4nh7Z9zAPLuXMjWV0pr - r95m1qVRtUJafSdP5wbzBXUOYoK8bmGIXrl6gC3zrQ6CHOQfnMaQWUNQ8CuyEOr62ZjKZZDqJzaN - j0QpcEc9Hsvlr3ZP4a9/1iYs0rVO3iTPrYEJkCpBnCk/6yRUe9WsdApbMDFJy+DKawEc5hIfiKyM - nB8T9pfYNu+sTVY3rV2PpNLH3G8tNcQF+J34agjqa82Rc0UakxTdgeNmDDLuDZ/d55XXg4EGe1GN - Cnm30bC5vLu2NbBre64ZXM2s1H2FUTL6X5t6GFtXnvaPzJFaS08x+e4AqJ8PA6VPkjtHNYROAWeT - OHfk4Y/glB3I50BNpEf+92hfv2kYLXfwqLke0zujpcqmh+Hvy0GkTjox+cCJCQfwYzY+t0NW84Hr - YkpplIXHPh9DXlOzudlxKWHb8vslc+QDRBo1ypkUCXCa+2Ybmz6sbmrAEk8d475ZO2oY/iRR6mLm - Aqn2j5RuAj8TfIZxX0j2S6U570miFl2S3QG3sxChs6gCgJ6yNRAHpKi6sN+Yzn4wktrVDFx6zoEI - nTsJ/ufQqSg0NROseAUg0lduKuksflbhFhJQ5h41+uFRQ32PqKrHdZMz88V46uwg5AdGOjUHJPea - jTLECn85RGhJffGtvyi6hzmwNWYIofY405Yjj+gde2cUed3x5t3tmGePwxIDeHALM6yvDG+Hcqyn - Gfu01Fhfyg4VQ6u4zhQtq5Dv7N/R7K8inkSoxzBny14SgMiMDahJ8HXvdq6B5psyANnu01Pwag== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9994ddd2-b639-11e9-87d9-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:51 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharef2420df8/filef2420df8?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - EjGUXFFPIKHc/OS9mddX0g== - Date: - - Sat, 03 Aug 2019 21:56:49 GMT - ETag: - - '"0x8D7185D7D2240C2"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:50 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 8e3ff71c-201a-0070-7b46-4a17c4000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 99a79274-b639-11e9-b5a6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:51 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharef2420df8/filef2420df8 - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:49 GMT - ETag: - - '"0x8D7185D7D2240C2"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:50 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 8e3ff71d-201a-0070-7c46-4a17c4000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 79173be8-b63a-11e9-aa4d-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:03:06 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef2420df8/filef2420df8 - response: - body: - string: '' - headers: - Content-Length: + - 8ee30f7a-d048-11e9-9587-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:26.6247832Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:26.6247832Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:26.6247832Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:03:05 GMT - ETag: - - '"0x8D7185E5CCD2030"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:05 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 7e3e5070-b01a-0057-3447-4a8d8d000000 + - 1b46a484-001a-00b1-5655-644de1000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -251,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 7957420a-b63a-11e9-be8c-2816a845e8c6 + - 8eff19dc-d048-11e9-a7e5-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:07 GMT + - Fri, 06 Sep 2019 01:49:26 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -273,19 +127,21 @@ interactions: Content-MD5: - EjGUXFFPIKHc/OS9mddX0g== Date: - - Sat, 03 Aug 2019 22:03:05 GMT + - Fri, 06 Sep 2019 01:49:25 GMT ETag: - - '"0x8D7185E5CE20B8F"' + - '"0x8D7326C7331B32A"' Last-Modified: - - Sat, 03 Aug 2019 22:03:06 GMT + - Fri, 06 Sep 2019 01:49:26 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8eff19dc-d048-11e9-a7e5-001a7dda7113 x-ms-request-id: - - 7e3e5072-b01a-0057-3547-4a8d8d000000 + - 1b46a487-001a-00b1-5855-644de1000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -299,15 +155,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 79672990-b63a-11e9-b4a9-2816a845e8c6 + - 8f0584f8-d048-11e9-aa10-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:07 GMT + - Fri, 06 Sep 2019 01:49:26 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utsharef2420df8/filef2420df8 response: @@ -319,193 +175,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:03:06 GMT + - Fri, 06 Sep 2019 01:49:25 GMT ETag: - - '"0x8D7185E5CE20B8F"' + - '"0x8D7326C7331B32A"' Last-Modified: - - Sat, 03 Aug 2019 22:03:06 GMT + - Fri, 06 Sep 2019 01:49:26 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 7e3e5073-b01a-0057-3647-4a8d8d000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - df4f50d4-b63a-11e9-b027-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:05:58 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef2420df8/filef2420df8 - response: - body: - string: '' - headers: - Content-Length: + - 8f0584f8-d048-11e9-aa10-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:26.6247832Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:26.6247832Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:26.6247832Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:05:56 GMT - ETag: - - '"0x8D7185EC306B2DA"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:57 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 216bc067-f01a-001f-5c47-4abf10000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - WGmGixcLQ/pyLBOgc1dLamxYbpN1RYzB1KDGqG3M1ihiE4XmR4Ly4vxpSSnoFHTNwvCxdm6Il6+V - 1ELG0Dz9ggnydgfO3HfPwKlamFds1Q2ZdWpMuZP1bgpBMQdkk78AS9rEMl/Q5yLiS0ayvxcPbdXZ - 4lduYo3iSBY+46Phy4UTbkMI5LejETCae59HniOMrnZLCoSc0jfU2tuEqloOiQxIkGpS6kuqWVyl - E/J3gM3k5DDbv6c/dDJgtPujdEsrT3dcrVqwy2otkNTm6IlSrGeExElGP6nX5x9FVrIlFEHjlXq3 - ul4JDDpWvpUOQXZH8+Fh9gv5G8kxozwsWsGc2mSRTi3geOwbYWCd79D9RACao39iDU2/2rTdoVl2 - q/qQMWbNCrEhJc8bVQEwdN7LYrzEC15hTW/Lc63BqJpAyX7pIv5s5+J1S6SdwZhJzi7Bs+ySwguI - 1zYWP+Hb89jmYObZIWTMWMSwA94wCZBbtCaq4YVSJU7oiPgvel6fdNS05+tSK7YRKyc8KlCYnCkN - fH9Fr4yIFBUV72O7bV1apjnWaOVlZFeRDh+rFqc87PYlBonELGY/4lc2s4nh7Z9zAPLuXMjWV0pr - r95m1qVRtUJafSdP5wbzBXUOYoK8bmGIXrl6gC3zrQ6CHOQfnMaQWUNQ8CuyEOr62ZjKZZDqJzaN - j0QpcEc9Hsvlr3ZP4a9/1iYs0rVO3iTPrYEJkCpBnCk/6yRUe9WsdApbMDFJy+DKawEc5hIfiKyM - nB8T9pfYNu+sTVY3rV2PpNLH3G8tNcQF+J34agjqa82Rc0UakxTdgeNmDDLuDZ/d55XXg4EGe1GN - Cnm30bC5vLu2NbBre64ZXM2s1H2FUTL6X5t6GFtXnvaPzJFaS08x+e4AqJ8PA6VPkjtHNYROAWeT - OHfk4Y/glB3I50BNpEf+92hfv2kYLXfwqLke0zujpcqmh+Hvy0GkTjox+cCJCQfwYzY+t0NW84Hr - YkpplIXHPh9DXlOzudlxKWHb8vslc+QDRBo1ypkUCXCa+2Ybmz6sbmrAEk8d475ZO2oY/iRR6mLm - Aqn2j5RuAj8TfIZxX0j2S6U570miFl2S3QG3sxChs6gCgJ6yNRAHpKi6sN+Yzn4wktrVDFx6zoEI - nTsJ/ufQqSg0NROseAUg0lduKuksflbhFhJQ5h41+uFRQ32PqKrHdZMz88V46uwg5AdGOjUHJPea - jTLECn85RGhJffGtvyi6hzmwNWYIofY405Yjj+gde2cUed3x5t3tmGePwxIDeHALM6yvDG+Hcqyn - Gfu01Fhfyg4VQ6u4zhQtq5Dv7N/R7K8inkSoxzBny14SgMiMDahJ8HXvdq6B5psyANnu01Pwag== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - df9eaae4-b63a-11e9-87ce-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:58 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharef2420df8/filef2420df8?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - EjGUXFFPIKHc/OS9mddX0g== - Date: - - Sat, 03 Aug 2019 22:05:57 GMT - ETag: - - '"0x8D7185EC32ABC26"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:57 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 216bc06a-f01a-001f-5d47-4abf10000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - dfb04434-b63a-11e9-98a5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:05:58 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharef2420df8/filef2420df8 - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:05:57 GMT - ETag: - - '"0x8D7185EC32ABC26"' - Last-Modified: - - Sat, 03 Aug 2019 22:05:57 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 216bc06b-f01a-001f-5e47-4abf10000000 + - 1b46a488-001a-00b1-5955-644de1000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_properties_with_non_existing_file.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_properties_with_non_existing_file.yaml index 4fb3a8ee3be1..a49b8cd7f580 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_properties_with_non_existing_file.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_properties_with_non_existing_file.yaml @@ -9,15 +9,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 9a3206e2-b639-11e9-a698-2816a845e8c6 + - 8f2cc50c-d048-11e9-a005-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:56:52 GMT + - Fri, 06 Sep 2019 01:49:26 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utsharea6d51786/filea6d51786 response: @@ -25,103 +25,19 @@ interactions: string: '' headers: Date: - - Sat, 03 Aug 2019 21:56:51 GMT + - Fri, 06 Sep 2019 01:49:26 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin - x-ms-error-code: - - ResourceNotFound - x-ms-request-id: - - 94adbf14-d01a-00cf-6346-4a03b2000000 - x-ms-version: - - '2018-11-09' - status: - code: 404 - message: The specified resource does not exist. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 79d7a140-b63a-11e9-96e3-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:08 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharea6d51786/filea6d51786 - response: - body: - string: '' - headers: - Date: - - Sat, 03 Aug 2019 22:03:06 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-error-code: - - ResourceNotFound - x-ms-request-id: - - 6c4fcb56-b01a-00b9-2947-4a870e000000 - x-ms-version: - - '2018-11-09' - status: - code: 404 - message: The specified resource does not exist. -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - e08dd234-b63a-11e9-a0ff-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:00 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharea6d51786/filea6d51786 - response: - body: - string: '' - headers: - Date: - - Sat, 03 Aug 2019 22:05:59 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin + - 8f2cc50c-d048-11e9-a005-001a7dda7113 x-ms-error-code: - ResourceNotFound x-ms-request-id: - - 74fdde28-201a-00da-2747-4ac12b000000 + - 9922fa19-201a-00c4-3b55-6426cd000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 404 message: The specified resource does not exist. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_properties_with_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_properties_with_snapshot.yaml index 20f048e64e79..e4f82807e80a 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_properties_with_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_get_file_properties_with_snapshot.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 9b91a0d8-b639-11e9-833a-2816a845e8c6 + - 8f63b574-d048-11e9-863f-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:56:55 GMT + - Fri, 06 Sep 2019 01:49:27 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2 response: @@ -33,775 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:53 GMT + - Fri, 06 Sep 2019 01:49:26 GMT ETag: - - '"0x8D7185D7F4C3C6F"' + - '"0x8D7326C73B58225"' Last-Modified: - - Sat, 03 Aug 2019 21:56:54 GMT + - Fri, 06 Sep 2019 01:49:27 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - c382262e-701a-00eb-2f46-4a9afc000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - LuDWdmIOtck8gakAmo2dGJJpJr/5Rp+bKYZ/L/Qs+USV4S+IqxeKByA1TR4QL9h3rHALhrTLALmK - 9yDtg/L9X5Tik7olNlM/amJ8kczEU75xRBBOmUbVEcJorn9E8pv2OboU6sknVwtYzeqzFAw60QzE - UjER+0TLSFG0yIUPeYN1nEyqemn9DdHJc8Gsj5Z+330fLUtZJszd6/4f1kcdbKd7qGhHV3Sw1BFi - TQT+y5yRc6tPhJZ51Jqno6pILcHG8x67nJUSvKDG4HgzOQc4uA+k5jzTCV3Ggv7FQyK04est+r3r - E/NOfcKgGS+I0reyU5OmofOtmA8ultvsE9kCkTPxcp+JRjrbHLdMj+9g1+EIl7pDqm51Y6gipOTd - a8e1UHlW4Y7hUYnsIIPRpuKqHYY7nGbvh0t0rROR+CgNIrCpwoPohR+5SgRVjLIYplFOGWBMdn2E - fOXSF/PvR+I1iOP3dM8mMuzBTJ6ka5cjgASSZBEUEQE9QsOmMnTm9xkS/ENelAdkmlbbF8dQRcYq - /Ik6t6lM0d8fWQqdPcoevmHdkyYrFafh9ptB/N23zWWsXtYqYNI5u8jG8PJFhhbuXufNfZP6lt9d - sFCjGXkucN871pLFypbUJNH6HTDKOpopSyztKTQ5It04V4NX8LPMEDOtGjzHoFnTHD6uy8+62IDv - 4Dc/xrA/cjFyn9qkiLqKnFtDt4uHdATC5foLi8ddc2oLKNHsQU5Mi5PB8GXL6HUm4rF8Jd8CQ7Iq - +EQ05MIgGzPebR/KzuzDFMY57urM9Cf4wk36kRMrFQIpPc7d4OX86oMvYw31famljgVN7cCShThW - Ic4GfqxdSbt1mpm7L2dwiu3Z9WpBBX7xt4MiRaV+yRSQWEeYnlfPe9WgbCM9ww+IRUs3ZkmVTPbE - VBOo0tcfgWo3KlIGDB8Y2YXZfvwUCVPKfKTjk9zBgeFCQz8cH3c06ZLMKl3SsW01rpHCh6X3T9i0 - irlsAd0vhilWJ4DZwN3n2YUvccfnEZolpOi30yMdYaiT0/kjuZ8rhdV32sm9dcmyNWegA5fVQU31 - x/60kNALyYcbKzgf/M/ZspP7hEkQ28yBpzb0RagDZyMv5EISkA/JS7yPc6pFKB9pvHCF9o4v8WQG - rqcSsMyMV0KKUIB0wdFiCDrKkUl/1XnKp8qDsKvNPfGzBVJnaAfl3JFQsFNt2RsJieldIPXwezfg - RvceQMOLcJJMPOTpLC6R+l0aSo0nGdtZ5C5ui2erJ4iDlFX0A1Qw/Dl+V8cAxiIjAQY5wvrmmNlM - xoCssJaOPNSZ36/Ac9vX/j51cDLmZvqdYytGpYxstzCusOaOdw2ibXHVvpoNBi6sdr8n29kFpw== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9bd0ddba-b639-11e9-a9f3-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:55 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - fnRx0QjX3uwCf99b9eDMZw== - Date: - - Sat, 03 Aug 2019 21:56:53 GMT - ETag: - - '"0x8D7185D7F5B5A60"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:54 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - c3822630-701a-00eb-3046-4a9afc000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9be21812-b639-11e9-9da2-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:55 GMT - x-ms-meta: - - '{''test1'': ''foo'', ''test2'': ''bar''}' - x-ms-meta-test1: - - foo - x-ms-meta-test2: - - bar - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2?comp=metadata - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:53 GMT - ETag: - - '"0x8D7185D7F7D4068"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:54 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - c3822631-701a-00eb-3146-4a9afc000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9c0920e4-b639-11e9-ba2c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:55 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee1d313e2?restype=share&comp=snapshot - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:53 GMT - ETag: - - '"0x8D7185D7EE4237A"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:53 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - c3822632-701a-00eb-3246-4a9afc000000 - x-ms-snapshot: - - '2019-08-03T21:56:54.0000000Z' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9c27650c-b639-11e9-956d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:56 GMT - x-ms-meta: - - '{''test100'': ''foo100'', ''test200'': ''bar200''}' - x-ms-meta-test100: - - foo100 - x-ms-meta-test200: - - bar200 - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2?comp=metadata - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:54 GMT - ETag: - - '"0x8D7185D7FB37578"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:54 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - c3822634-701a-00eb-3346-4a9afc000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9c3fb502-b639-11e9-8399-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:56 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2 - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:54 GMT - ETag: - - '"0x8D7185D7FB37578"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:54 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-meta-test100: - - foo100 - x-ms-meta-test200: - - bar200 - x-ms-request-id: - - c3822635-701a-00eb-3446-4a9afc000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9c61f162-b639-11e9-b13d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:56 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2?sharesnapshot=2019-08-03T21:56:54.0000000Z - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:56:55 GMT - ETag: - - '"0x8D7185D7F7D4068"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:54 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-meta-test1: - - foo - x-ms-meta-test2: - - bar - x-ms-request-id: - - c79d2082-301a-0009-5246-4a7e8e000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7a6bfc94-b63a-11e9-a34e-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:03:08 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:07 GMT - ETag: - - '"0x8D7185E5E2DB3B9"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:08 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 39e0b7d0-401a-00a7-4447-4a5de3000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - LuDWdmIOtck8gakAmo2dGJJpJr/5Rp+bKYZ/L/Qs+USV4S+IqxeKByA1TR4QL9h3rHALhrTLALmK - 9yDtg/L9X5Tik7olNlM/amJ8kczEU75xRBBOmUbVEcJorn9E8pv2OboU6sknVwtYzeqzFAw60QzE - UjER+0TLSFG0yIUPeYN1nEyqemn9DdHJc8Gsj5Z+330fLUtZJszd6/4f1kcdbKd7qGhHV3Sw1BFi - TQT+y5yRc6tPhJZ51Jqno6pILcHG8x67nJUSvKDG4HgzOQc4uA+k5jzTCV3Ggv7FQyK04est+r3r - E/NOfcKgGS+I0reyU5OmofOtmA8ultvsE9kCkTPxcp+JRjrbHLdMj+9g1+EIl7pDqm51Y6gipOTd - a8e1UHlW4Y7hUYnsIIPRpuKqHYY7nGbvh0t0rROR+CgNIrCpwoPohR+5SgRVjLIYplFOGWBMdn2E - fOXSF/PvR+I1iOP3dM8mMuzBTJ6ka5cjgASSZBEUEQE9QsOmMnTm9xkS/ENelAdkmlbbF8dQRcYq - /Ik6t6lM0d8fWQqdPcoevmHdkyYrFafh9ptB/N23zWWsXtYqYNI5u8jG8PJFhhbuXufNfZP6lt9d - sFCjGXkucN871pLFypbUJNH6HTDKOpopSyztKTQ5It04V4NX8LPMEDOtGjzHoFnTHD6uy8+62IDv - 4Dc/xrA/cjFyn9qkiLqKnFtDt4uHdATC5foLi8ddc2oLKNHsQU5Mi5PB8GXL6HUm4rF8Jd8CQ7Iq - +EQ05MIgGzPebR/KzuzDFMY57urM9Cf4wk36kRMrFQIpPc7d4OX86oMvYw31famljgVN7cCShThW - Ic4GfqxdSbt1mpm7L2dwiu3Z9WpBBX7xt4MiRaV+yRSQWEeYnlfPe9WgbCM9ww+IRUs3ZkmVTPbE - VBOo0tcfgWo3KlIGDB8Y2YXZfvwUCVPKfKTjk9zBgeFCQz8cH3c06ZLMKl3SsW01rpHCh6X3T9i0 - irlsAd0vhilWJ4DZwN3n2YUvccfnEZolpOi30yMdYaiT0/kjuZ8rhdV32sm9dcmyNWegA5fVQU31 - x/60kNALyYcbKzgf/M/ZspP7hEkQ28yBpzb0RagDZyMv5EISkA/JS7yPc6pFKB9pvHCF9o4v8WQG - rqcSsMyMV0KKUIB0wdFiCDrKkUl/1XnKp8qDsKvNPfGzBVJnaAfl3JFQsFNt2RsJieldIPXwezfg - RvceQMOLcJJMPOTpLC6R+l0aSo0nGdtZ5C5ui2erJ4iDlFX0A1Qw/Dl+V8cAxiIjAQY5wvrmmNlM - xoCssJaOPNSZ36/Ac9vX/j51cDLmZvqdYytGpYxstzCusOaOdw2ibXHVvpoNBi6sdr8n29kFpw== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7ab2f24c-b63a-11e9-87d4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:09 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - fnRx0QjX3uwCf99b9eDMZw== - Date: - - Sat, 03 Aug 2019 22:03:07 GMT - ETag: - - '"0x8D7185E5E3E317A"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:08 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 39e0b7d2-401a-00a7-4547-4a5de3000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7ac38074-b63a-11e9-99eb-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:09 GMT - x-ms-meta: - - '{''test1'': ''foo'', ''test2'': ''bar''}' - x-ms-meta-test1: - - foo - x-ms-meta-test2: - - bar - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2?comp=metadata - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:07 GMT - ETag: - - '"0x8D7185E5E4EFD69"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:08 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 39e0b7d3-401a-00a7-4647-4a5de3000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7ad815d4-b63a-11e9-9f7d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:09 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee1d313e2?restype=share&comp=snapshot - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:07 GMT - ETag: - - '"0x8D7185E5DDC0031"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:07 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 39e0b7d4-401a-00a7-4747-4a5de3000000 - x-ms-snapshot: - - '2019-08-03T22:03:08.0000000Z' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7b082382-b63a-11e9-94a3-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:10 GMT - x-ms-meta: - - '{''test100'': ''foo100'', ''test200'': ''bar200''}' - x-ms-meta-test100: - - foo100 - x-ms-meta-test200: - - bar200 - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2?comp=metadata - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:08 GMT - ETag: - - '"0x8D7185E5E92A267"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:08 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 39e0b7d5-401a-00a7-4847-4a5de3000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7b1840cc-b63a-11e9-9ceb-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:10 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2 - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:03:08 GMT - ETag: - - '"0x8D7185E5E92A267"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:08 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-meta-test100: - - foo100 - x-ms-meta-test200: - - bar200 - x-ms-request-id: - - 39e0b7d6-401a-00a7-4947-4a5de3000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7b2b6aa6-b63a-11e9-a31a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:10 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2?sharesnapshot=2019-08-03T22:03:08.0000000Z - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:03:08 GMT - ETag: - - '"0x8D7185E5E4EFD69"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:08 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-meta-test1: - - foo - x-ms-meta-test2: - - bar - x-ms-request-id: - - d14f5bbc-a01a-00ad-2147-4a446a000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - e12df16c-b63a-11e9-810a-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:06:01 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2 - response: - body: - string: '' - headers: - Content-Length: + - 8f63b574-d048-11e9-863f-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:27.5346469Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:27.5346469Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:27.5346469Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:06:00 GMT - ETag: - - '"0x8D7185EC532AAAB"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:01 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - f71bbeb0-201a-0059-4d47-4a6186000000 + - 5088dd43-501a-00ac-3e55-64405d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -837,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - e1b88712-b63a-11e9-99ea-2816a845e8c6 + - 8f8a78d8-d048-11e9-98cd-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:02 GMT + - Fri, 06 Sep 2019 01:49:27 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -859,19 +127,21 @@ interactions: Content-MD5: - fnRx0QjX3uwCf99b9eDMZw== Date: - - Sat, 03 Aug 2019 22:06:00 GMT + - Fri, 06 Sep 2019 01:49:26 GMT ETag: - - '"0x8D7185EC5439DB1"' + - '"0x8D7326C73C144DB"' Last-Modified: - - Sat, 03 Aug 2019 22:06:01 GMT + - Fri, 06 Sep 2019 01:49:27 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8f8a78d8-d048-11e9-98cd-001a7dda7113 x-ms-request-id: - - f71bbeb2-201a-0059-4e47-4a6186000000 + - 5088dd47-501a-00ac-4255-64405d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -887,13 +157,13 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e1c92754-b63a-11e9-bcaf-2816a845e8c6 + - 8f9503a8-d048-11e9-9fd9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:02 GMT + - Fri, 06 Sep 2019 01:49:27 GMT x-ms-meta: - '{''test1'': ''foo'', ''test2'': ''bar''}' x-ms-meta-test1: @@ -901,7 +171,7 @@ interactions: x-ms-meta-test2: - bar x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2?comp=metadata response: @@ -911,19 +181,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:06:00 GMT + - Fri, 06 Sep 2019 01:49:26 GMT ETag: - - '"0x8D7185EC572CC9A"' + - '"0x8D7326C73C760CD"' Last-Modified: - - Sat, 03 Aug 2019 22:06:01 GMT + - Fri, 06 Sep 2019 01:49:27 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8f9503a8-d048-11e9-9fd9-001a7dda7113 x-ms-request-id: - - f71bbeb3-201a-0059-4f47-4a6186000000 + - 5088dd4a-501a-00ac-4555-64405d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -939,15 +211,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e21225dc-b63a-11e9-a198-2816a845e8c6 + - 8f9bbb08-d048-11e9-90e7-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:02 GMT + - Fri, 06 Sep 2019 01:49:27 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharee1d313e2?restype=share&comp=snapshot response: @@ -957,19 +229,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:06:01 GMT + - Fri, 06 Sep 2019 01:49:27 GMT ETag: - - '"0x8D7185EC47EE01F"' + - '"0x8D7326C73847DAE"' Last-Modified: - - Sat, 03 Aug 2019 22:05:59 GMT + - Fri, 06 Sep 2019 01:49:27 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8f9bbb08-d048-11e9-90e7-001a7dda7113 x-ms-request-id: - - f71bbeb4-201a-0059-5047-4a6186000000 + - 5088dd4c-501a-00ac-4755-64405d000000 x-ms-snapshot: - - '2019-08-03T22:06:01.0000000Z' + - '2019-09-06T01:49:27.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -985,13 +259,13 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e222edde-b63a-11e9-9bb9-2816a845e8c6 + - 8fc07606-d048-11e9-a0bb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:02 GMT + - Fri, 06 Sep 2019 01:49:27 GMT x-ms-meta: - '{''test100'': ''foo100'', ''test200'': ''bar200''}' x-ms-meta-test100: @@ -999,7 +273,7 @@ interactions: x-ms-meta-test200: - bar200 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2?comp=metadata response: @@ -1009,19 +283,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:06:01 GMT + - Fri, 06 Sep 2019 01:49:27 GMT ETag: - - '"0x8D7185EC5B02EE6"' + - '"0x8D7326C73F2E82A"' Last-Modified: - - Sat, 03 Aug 2019 22:06:01 GMT + - Fri, 06 Sep 2019 01:49:27 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 8fc07606-d048-11e9-a0bb-001a7dda7113 x-ms-request-id: - - f71bbeb5-201a-0059-5147-4a6186000000 + - 5088dd54-501a-00ac-4f55-64405d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -1035,15 +311,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e24fcee8-b63a-11e9-8d4c-2816a845e8c6 + - 8fc6c142-d048-11e9-a0e3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:03 GMT + - Fri, 06 Sep 2019 01:49:27 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2 response: @@ -1055,27 +331,41 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:06:01 GMT + - Fri, 06 Sep 2019 01:49:27 GMT ETag: - - '"0x8D7185EC5B02EE6"' + - '"0x8D7326C73F2E82A"' Last-Modified: - - Sat, 03 Aug 2019 22:06:01 GMT + - Fri, 06 Sep 2019 01:49:27 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - 8fc6c142-d048-11e9-a0e3-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:27.9370282Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:27.5346469Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:27.5346469Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-meta-test100: - foo100 x-ms-meta-test200: - bar200 x-ms-request-id: - - f71bbeb7-201a-0059-5347-4a6186000000 + - 5088dd55-501a-00ac-5055-64405d000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -1089,17 +379,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e270690c-b63a-11e9-bd29-2816a845e8c6 + - 8fd0aa88-d048-11e9-9ef8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:03 GMT + - Fri, 06 Sep 2019 01:49:28 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD - uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2?sharesnapshot=2019-08-03T22:06:01.0000000Z + uri: https://storagename.file.core.windows.net/utsharee1d313e2/filee1d313e2?sharesnapshot=2019-09-06T01:49:27.0000000Z response: body: string: '' @@ -1109,27 +399,41 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:06:01 GMT + - Fri, 06 Sep 2019 01:49:27 GMT ETag: - - '"0x8D7185EC572CC9A"' + - '"0x8D7326C73C760CD"' Last-Modified: - - Sat, 03 Aug 2019 22:06:01 GMT + - Fri, 06 Sep 2019 01:49:27 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - 8fd0aa88-d048-11e9-9ef8-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:27.6517581Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:27.5346469Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:27.5346469Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-meta-test1: - foo x-ms-meta-test2: - bar x-ms-request-id: - - bc46806b-601a-0055-5347-4a8f77000000 + - 2068f13a-201a-0089-2155-64e921000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_2.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_2.yaml index a0d091ab89a9..a9df2884ab10 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_2.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_2.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 9d417c30-b639-11e9-abec-2816a845e8c6 + - 95eceea6-d048-11e9-b0ac-001a7dda7113 x-ms-content-length: - '2048' x-ms-date: - - Sat, 03 Aug 2019 21:56:57 GMT + - Fri, 06 Sep 2019 01:49:38 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea5a50b39/filea5a50b39 response: @@ -33,221 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:56 GMT + - Fri, 06 Sep 2019 01:49:38 GMT ETag: - - '"0x8D7185D80FD96BA"' + - '"0x8D7326C7A2FE066"' Last-Modified: - - Sat, 03 Aug 2019 21:56:57 GMT + - Fri, 06 Sep 2019 01:49:38 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 097bbd8f-101a-00d2-3146-4ada58000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9d977b24-b639-11e9-b8dc-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:58 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharea5a50b39/filea5a50b39?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 21:56:56 GMT - ETag: - - '"0x8D7185D81245FAB"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:57 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 097bbd91-101a-00d2-3246-4ada58000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9daa02fe-b639-11e9-bff2-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:58 GMT - x-ms-range: - - bytes=1024-1535 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharea5a50b39/filea5a50b39?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 21:56:56 GMT - ETag: - - '"0x8D7185D8137C423"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:57 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 097bbd92-101a-00d2-3346-4ada58000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9dbcdb9e-b639-11e9-b706-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:56:58 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharea5a50b39/filea5a50b39?comp=rangelist - response: - body: - string: "\uFEFF051110241535" - headers: - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 21:56:57 GMT - ETag: - - '"0x8D7185D8137C423"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:57 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-content-length: - - '2048' - x-ms-request-id: - - 097bbd93-101a-00d2-3446-4ada58000000 - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 7be56e2c-b63a-11e9-8f30-2816a845e8c6 - x-ms-content-length: - - '2048' - x-ms-date: - - Sat, 03 Aug 2019 22:03:11 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea5a50b39/filea5a50b39 - response: - body: - string: '' - headers: - Content-Length: + - 95eceea6-d048-11e9-b0ac-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:38.4029286Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:38.4029286Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:38.4029286Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:03:09 GMT - ETag: - - '"0x8D7185E5F9E9DB4"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:10 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 2b17487c-401a-006b-4247-4a3956000000 + - ef5e7f54-901a-0068-5d55-643564000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -265,15 +87,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 7c2400c2-b63a-11e9-ac21-2816a845e8c6 + - 9603eed2-d048-11e9-af8f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:11 GMT + - Fri, 06 Sep 2019 01:49:38 GMT x-ms-range: - bytes=0-511 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -287,169 +109,21 @@ interactions: Content-MD5: - pTsTLZHyQ+et6NksJ1OHxg== Date: - - Sat, 03 Aug 2019 22:03:09 GMT + - Fri, 06 Sep 2019 01:49:38 GMT ETag: - - '"0x8D7185E5FAF4288"' + - '"0x8D7326C7A3698C7"' Last-Modified: - - Sat, 03 Aug 2019 22:03:10 GMT + - Fri, 06 Sep 2019 01:49:38 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2b17487e-401a-006b-4347-4a3956000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - 7c34923e-b63a-11e9-8575-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:11 GMT - x-ms-range: - - bytes=1024-1535 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharea5a50b39/filea5a50b39?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 22:03:10 GMT - ETag: - - '"0x8D7185E5FBF9932"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:10 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + - 9603eed2-d048-11e9-af8f-001a7dda7113 x-ms-request-id: - - 2b17487f-401a-006b-4447-4a3956000000 + - ef5e7f56-901a-0068-5e55-643564000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7c4530be-b63a-11e9-8085-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:12 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharea5a50b39/filea5a50b39?comp=rangelist - response: - body: - string: "\uFEFF051110241535" - headers: - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 22:03:10 GMT - ETag: - - '"0x8D7185E5FBF9932"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:10 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-content-length: - - '2048' - x-ms-request-id: - - 2b174880-401a-006b-4547-4a3956000000 - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - e387f808-b63a-11e9-98e8-2816a845e8c6 - x-ms-content-length: - - '2048' - x-ms-date: - - Sat, 03 Aug 2019 22:06:05 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea5a50b39/filea5a50b39 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:06:04 GMT - ETag: - - '"0x8D7185EC74150EE"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:04 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 4213a840-601a-0033-2147-4a3d2d000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -467,67 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - e3ce6812-b63a-11e9-a4c1-2816a845e8c6 + - 960a78e8-d048-11e9-a18e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:05 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharea5a50b39/filea5a50b39?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 22:06:04 GMT - ETag: - - '"0x8D7185EC758FBED"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:04 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 4213a843-601a-0033-2247-4a3d2d000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - e3dde34a-b63a-11e9-9b46-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:05 GMT + - Fri, 06 Sep 2019 01:49:38 GMT x-ms-range: - bytes=1024-1535 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -541,19 +163,21 @@ interactions: Content-MD5: - pTsTLZHyQ+et6NksJ1OHxg== Date: - - Sat, 03 Aug 2019 22:06:04 GMT + - Fri, 06 Sep 2019 01:49:38 GMT ETag: - - '"0x8D7185EC768DD56"' + - '"0x8D7326C7A3E89F3"' Last-Modified: - - Sat, 03 Aug 2019 22:06:04 GMT + - Fri, 06 Sep 2019 01:49:38 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 960a78e8-d048-11e9-a18e-001a7dda7113 x-ms-request-id: - - 4213a844-601a-0033-2347-4a3d2d000000 + - ef5e7f57-901a-0068-5f55-643564000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -567,15 +191,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e3ee04ee-b63a-11e9-838c-2816a845e8c6 + - 9614d210-d048-11e9-a17a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:05 GMT + - Fri, 06 Sep 2019 01:49:38 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharea5a50b39/filea5a50b39?comp=rangelist response: @@ -585,23 +209,23 @@ interactions: Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 22:06:04 GMT + - Fri, 06 Sep 2019 01:49:44 GMT ETag: - - '"0x8D7185EC768DD56"' + - '"0x8D7326C7A3E89F3"' Last-Modified: - - Sat, 03 Aug 2019 22:06:04 GMT + - Fri, 06 Sep 2019 01:49:38 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin + x-ms-client-request-id: + - 9614d210-d048-11e9-a17a-001a7dda7113 x-ms-content-length: - '2048' x-ms-request-id: - - 4213a845-601a-0033-2447-4a3d2d000000 + - ef5e7f58-901a-0068-6055-643564000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_2_from_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_2_from_snapshot.yaml index b700d778d1a4..4873c63d71f4 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_2_from_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_2_from_snapshot.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 9e7a6c30-b639-11e9-9f56-2816a845e8c6 + - 9a10c766-d048-11e9-b29c-001a7dda7113 x-ms-content-length: - '2048' x-ms-date: - - Sat, 03 Aug 2019 21:56:59 GMT + - Fri, 06 Sep 2019 01:49:45 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b response: @@ -33,71 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:56:58 GMT + - Fri, 06 Sep 2019 01:49:44 GMT ETag: - - '"0x8D7185D8231BACF"' + - '"0x8D7326C7E549A35"' Last-Modified: - - Sat, 03 Aug 2019 21:56:59 GMT + - Fri, 06 Sep 2019 01:49:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 4f93f947-301a-008a-7346-4ade23000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - 9eb6f430-b639-11e9-a2c8-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:00 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b?comp=range - response: - body: - string: '' - headers: - Content-Length: + - 9a10c766-d048-11e9-b29c-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:45.3545013Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:45.3545013Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:45.3545013Z' + x-ms-file-parent-id: - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 21:56:58 GMT - ETag: - - '"0x8D7185D82451F40"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:59 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 4f93f949-301a-008a-7446-4ade23000000 + - 06e3c68f-201a-001f-5e55-64e0f0000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -115,251 +87,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 9ec9cc36-b639-11e9-8c8b-2816a845e8c6 + - 9a28d892-d048-11e9-8a4a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:00 GMT - x-ms-range: - - bytes=1024-1535 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 21:56:58 GMT - ETag: - - '"0x8D7185D825723E1"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:59 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 4f93f94a-301a-008a-7546-4ade23000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9eddcd68-b639-11e9-8a9a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:00 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare6e4e111b?restype=share&comp=snapshot - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:59 GMT - ETag: - - '"0x8D7185D81E10ED0"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:58 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 7dd92c33-201a-0034-0a46-4acba8000000 - x-ms-snapshot: - - '2019-08-03T21:56:59.0000000Z' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9f2eddec-b639-11e9-bd24-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:01 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:56:59 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 4f93f94c-301a-008a-7646-4ade23000000 - x-ms-version: - - '2018-11-09' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9f4c3be4-b639-11e9-9ed9-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:01 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b?sharesnapshot=2019-08-03T21:56:59.0000000Z&comp=rangelist - response: - body: - string: "\uFEFF051110241535" - headers: - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 21:57:00 GMT - ETag: - - '"0x8D7185D825723E1"' - Last-Modified: - - Sat, 03 Aug 2019 21:56:59 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-content-length: - - '2048' - x-ms-request-id: - - 26cabb97-601a-0092-5446-4af3b6000000 - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7c9e34ec-b63a-11e9-9a3f-2816a845e8c6 - x-ms-content-length: - - '2048' - x-ms-date: - - Sat, 03 Aug 2019 22:03:12 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:11 GMT - ETag: - - '"0x8D7185E60542C12"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:11 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 91d55bf3-b01a-0090-1e47-4af14c000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7cd923fa-b63a-11e9-ac1c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:13 GMT + - Fri, 06 Sep 2019 01:49:45 GMT x-ms-range: - bytes=0-511 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -373,307 +109,21 @@ interactions: Content-MD5: - pTsTLZHyQ+et6NksJ1OHxg== Date: - - Sat, 03 Aug 2019 22:03:11 GMT + - Fri, 06 Sep 2019 01:49:44 GMT ETag: - - '"0x8D7185E60625F78"' + - '"0x8D7326C7E5B79AB"' Last-Modified: - - Sat, 03 Aug 2019 22:03:11 GMT + - Fri, 06 Sep 2019 01:49:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 91d55bf5-b01a-0090-1f47-4af14c000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7ce9b2d2-b63a-11e9-96ad-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:13 GMT - x-ms-range: - - bytes=1024-1535 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 22:03:11 GMT - ETag: - - '"0x8D7185E6074D966"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:12 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 91d55bf6-b01a-0090-2047-4af14c000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7cfbc52c-b63a-11e9-a446-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:13 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare6e4e111b?restype=share&comp=snapshot - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:11 GMT - ETag: - - '"0x8D7185E600DBA6B"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:11 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 26d4070a-901a-004b-2647-4a559a000000 - x-ms-snapshot: - - '2019-08-03T22:03:12.0000000Z' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7d4cb9a4-b63a-11e9-924c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:13 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:11 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 91d55bf8-b01a-0090-2147-4af14c000000 - x-ms-version: - - '2018-11-09' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7d5ce15c-b63a-11e9-9682-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:13 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b?sharesnapshot=2019-08-03T22:03:12.0000000Z&comp=rangelist - response: - body: - string: "\uFEFF051110241535" - headers: - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 22:03:12 GMT - ETag: - - '"0x8D7185E6074D966"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:12 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-content-length: - - '2048' - x-ms-request-id: - - b1dfbd98-a01a-0007-2d47-4a9285000000 - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - e44fb286-b63a-11e9-8158-2816a845e8c6 - x-ms-content-length: - - '2048' - x-ms-date: - - Sat, 03 Aug 2019 22:06:06 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:06:05 GMT - ETag: - - '"0x8D7185EC83308E1"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:06 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d7c067b4-d01a-0003-3a47-4a6707000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - e4b8c198-b63a-11e9-8c35-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:07 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 22:06:05 GMT - ETag: - - '"0x8D7185EC843FBF0"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:06 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + - 9a28d892-d048-11e9-8a4a-001a7dda7113 x-ms-request-id: - - d7c067b6-d01a-0003-3b47-4a6707000000 + - 06e3c692-201a-001f-6055-64e0f0000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -691,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - e4ca219a-b63a-11e9-8dfc-2816a845e8c6 + - 9a2f3cd0-d048-11e9-9bae-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:07 GMT + - Fri, 06 Sep 2019 01:49:45 GMT x-ms-range: - bytes=1024-1535 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -713,19 +163,21 @@ interactions: Content-MD5: - pTsTLZHyQ+et6NksJ1OHxg== Date: - - Sat, 03 Aug 2019 22:06:05 GMT + - Fri, 06 Sep 2019 01:49:44 GMT ETag: - - '"0x8D7185EC857AE92"' + - '"0x8D7326C7E6195AA"' Last-Modified: - - Sat, 03 Aug 2019 22:06:06 GMT + - Fri, 06 Sep 2019 01:49:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 9a2f3cd0-d048-11e9-9bae-001a7dda7113 x-ms-request-id: - - d7c067b7-d01a-0003-3c47-4a6707000000 + - 06e3c693-201a-001f-6155-64e0f0000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -741,15 +193,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e4e1d0be-b63a-11e9-aa4f-2816a845e8c6 + - 9a35d5c0-d048-11e9-a660-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:07 GMT + - Fri, 06 Sep 2019 01:49:45 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare6e4e111b?restype=share&comp=snapshot response: @@ -759,19 +211,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:06:06 GMT + - Fri, 06 Sep 2019 01:49:47 GMT ETag: - - '"0x8D7185EC7B80D1E"' + - '"0x8D7326C7E368603"' Last-Modified: - - Sat, 03 Aug 2019 22:06:05 GMT + - Fri, 06 Sep 2019 01:49:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 9a35d5c0-d048-11e9-a660-001a7dda7113 x-ms-request-id: - - 73a8bc41-901a-0026-4a47-4affb4000000 + - aa03794d-201a-000f-4b55-642598000000 x-ms-snapshot: - - '2019-08-03T22:06:06.0000000Z' + - '2019-09-06T01:49:46.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -787,15 +241,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e5610c3a-b63a-11e9-b8c8-2816a845e8c6 + - 9bacc0e8-d048-11e9-8849-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:08 GMT + - Fri, 06 Sep 2019 01:49:47 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b response: @@ -805,13 +259,15 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:06:06 GMT + - Fri, 06 Sep 2019 01:49:47 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 9bacc0e8-d048-11e9-8849-001a7dda7113 x-ms-request-id: - - d7c067ba-d01a-0003-3d47-4a6707000000 + - 06e3c6cb-201a-001f-1655-64e0f0000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -825,17 +281,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e572639a-b63a-11e9-9a50-2816a845e8c6 + - 9bb6a40a-d048-11e9-bf76-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:08 GMT + - Fri, 06 Sep 2019 01:49:48 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b?sharesnapshot=2019-08-03T22:06:06.0000000Z&comp=rangelist + uri: https://storagename.file.core.windows.net/utshare6e4e111b/file6e4e111b?sharesnapshot=2019-09-06T01:49:46.0000000Z&comp=rangelist response: body: string: "\uFEFF051110241535" @@ -843,23 +299,23 @@ interactions: Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 22:06:07 GMT + - Fri, 06 Sep 2019 01:49:52 GMT ETag: - - '"0x8D7185EC857AE92"' + - '"0x8D7326C7E6195AA"' Last-Modified: - - Sat, 03 Aug 2019 22:06:06 GMT + - Fri, 06 Sep 2019 01:49:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin + x-ms-client-request-id: + - 9bb6a40a-d048-11e9-bf76-001a7dda7113 x-ms-content-length: - '2048' x-ms-request-id: - - 8a983ca8-601a-005e-5847-4a9703000000 + - f5c54697-301a-0095-7555-64bb41000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_none.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_none.yaml index 37b0c1c25fcb..5614ba55a8e9 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_none.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_none.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - a0704888-b639-11e9-b0da-2816a845e8c6 + - 9e8cad22-d048-11e9-99cc-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:03 GMT + - Fri, 06 Sep 2019 01:49:52 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharecace0cb7/filecace0cb7 response: @@ -33,117 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:57:01 GMT + - Fri, 06 Sep 2019 01:49:52 GMT ETag: - - '"0x8D7185D8427566A"' + - '"0x8D7326C82D2FBA3"' Last-Modified: - - Sat, 03 Aug 2019 21:57:02 GMT + - Fri, 06 Sep 2019 01:49:52 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - eefd9e66-a01a-0043-4946-4a4ee9000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - a0c3f5fa-b639-11e9-bfbb-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:03 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharecace0cb7/filecace0cb7?comp=rangelist - response: - body: - string: "\uFEFF" - headers: - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 21:57:02 GMT - ETag: - - '"0x8D7185D8427566A"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:02 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-content-length: - - '1024' - x-ms-request-id: - - eefd9e68-a01a-0043-4a46-4a4ee9000000 - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7e073664-b63a-11e9-891e-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:03:15 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharecace0cb7/filecace0cb7 - response: - body: - string: '' - headers: - Content-Length: + - 9e8cad22-d048-11e9-99cc-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:52.8936355Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:52.8936355Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:52.8936355Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:03:13 GMT - ETag: - - '"0x8D7185E61BFBE1C"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:14 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d5383603-301a-0064-7347-4ad4a0000000 + - 160d8c08-601a-0088-6955-64b6fd000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -157,15 +83,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 7e454536-b63a-11e9-8295-2816a845e8c6 + - 9eab5bb4-d048-11e9-a1b6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:15 GMT + - Fri, 06 Sep 2019 01:49:52 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharecace0cb7/filecace0cb7?comp=rangelist response: @@ -175,121 +101,23 @@ interactions: Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 22:03:13 GMT + - Fri, 06 Sep 2019 01:49:52 GMT ETag: - - '"0x8D7185E61BFBE1C"' + - '"0x8D7326C82D2FBA3"' Last-Modified: - - Sat, 03 Aug 2019 22:03:14 GMT + - Fri, 06 Sep 2019 01:49:52 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin - x-ms-content-length: - - '1024' - x-ms-request-id: - - d5383605-301a-0064-7447-4ad4a0000000 - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - e683259e-b63a-11e9-a727-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:06:10 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharecace0cb7/filecace0cb7 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:06:08 GMT - ETag: - - '"0x8D7185ECA5169AD"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:09 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - c0059f01-001a-00a0-5347-4aab66000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - e6d771b8-b63a-11e9-8853-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:10 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharecace0cb7/filecace0cb7?comp=rangelist - response: - body: - string: "\uFEFF" - headers: - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 22:06:09 GMT - ETag: - - '"0x8D7185ECA5169AD"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:09 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin + - 9eab5bb4-d048-11e9-a1b6-001a7dda7113 x-ms-content-length: - '1024' x-ms-request-id: - - c0059f04-001a-00a0-5447-4aab66000000 + - 160d8c0b-601a-0088-6b55-64b6fd000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_none_from_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_none_from_snapshot.yaml index d9a39077cb35..21f8c765f188 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_none_from_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_list_ranges_none_from_snapshot.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - a14f3f68-b639-11e9-ad5f-2816a845e8c6 + - a0cc9c5c-d048-11e9-a588-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:04 GMT + - Fri, 06 Sep 2019 01:49:56 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea85b1299/filea85b1299 response: @@ -33,203 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:57:03 GMT + - Fri, 06 Sep 2019 01:49:55 GMT ETag: - - '"0x8D7185D85077F03"' + - '"0x8D7326C85105721"' Last-Modified: - - Sat, 03 Aug 2019 21:57:03 GMT + - Fri, 06 Sep 2019 01:49:56 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 7d06ad04-801a-00d7-5e46-4a2e27000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - a1a2140c-b639-11e9-a10a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:05 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea85b1299?restype=share&comp=snapshot - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:57:04 GMT - ETag: - - '"0x8D7185D84B15073"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:03 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 8f75d4db-e01a-00e5-2846-4a76f7000000 - x-ms-snapshot: - - '2019-08-03T21:57:04.0000000Z' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - a2217346-b639-11e9-bad7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:06 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utsharea85b1299/filea85b1299 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:57:04 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 7d06ad07-801a-00d7-5f46-4a2e27000000 - x-ms-version: - - '2018-11-09' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - a259a406-b639-11e9-b105-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:06 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharea85b1299/filea85b1299?sharesnapshot=2019-08-03T21:57:04.0000000Z&comp=rangelist - response: - body: - string: "\uFEFF" - headers: - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 21:57:05 GMT - ETag: - - '"0x8D7185D85077F03"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:03 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-content-length: - - '1024' + - a0cc9c5c-d048-11e9-a588-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:49:56.6511905Z' + x-ms-file-creation-time: + - '2019-09-06T01:49:56.6511905Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:49:56.6511905Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 8b9cc1c7-501a-00de-5046-4a34a9000000 - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7e9b64fa-b63a-11e9-a204-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:03:15 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea85b1299/filea85b1299 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:14 GMT - ETag: - - '"0x8D7185E6252069D"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:15 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 5184ae1c-e01a-00ee-1f47-4a6e83000000 + - ea9446ce-c01a-0091-1655-643646000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -245,15 +85,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 7ef08b4c-b63a-11e9-a07c-2816a845e8c6 + - a0e51ca6-d048-11e9-9c08-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:16 GMT + - Fri, 06 Sep 2019 01:49:56 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea85b1299?restype=share&comp=snapshot response: @@ -263,203 +103,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:03:19 GMT - ETag: - - '"0x8D7185E620A96E5"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:14 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 67476228-401a-0085-0b47-4a33d5000000 - x-ms-snapshot: - - '2019-08-03T22:03:17.0000000Z' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 81ad7e10-b63a-11e9-8f7c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:21 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utsharea85b1299/filea85b1299 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:19 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 5184ae25-e01a-00ee-2147-4a6e83000000 - x-ms-version: - - '2018-11-09' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 81d39842-b63a-11e9-9daa-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:21 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharea85b1299/filea85b1299?sharesnapshot=2019-08-03T22:03:17.0000000Z&comp=rangelist - response: - body: - string: "\uFEFF" - headers: - Content-Type: - - application/xml - Date: - - Sat, 03 Aug 2019 22:03:20 GMT - ETag: - - '"0x8D7185E6252069D"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:15 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-content-length: - - '1024' - x-ms-request-id: - - 823194e6-e01a-000b-5547-4a7c74000000 - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - e7371858-b63a-11e9-bd91-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:06:11 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea85b1299/filea85b1299 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:06:10 GMT + - Fri, 06 Sep 2019 01:49:57 GMT ETag: - - '"0x8D7185ECB028A75"' + - '"0x8D7326C84C77F66"' Last-Modified: - - Sat, 03 Aug 2019 22:06:10 GMT + - Fri, 06 Sep 2019 01:49:56 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ab707a24-101a-00bf-1547-4a7076000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - e78f03ba-b63a-11e9-bf1c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:12 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea85b1299?restype=share&comp=snapshot - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:06:11 GMT - ETag: - - '"0x8D7185ECAA7F375"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:10 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + - a0e51ca6-d048-11e9-9c08-001a7dda7113 x-ms-request-id: - - 7e3e517c-b01a-0057-6647-4a8d8d000000 + - 2fc66fdf-b01a-0040-2c55-6454cc000000 x-ms-snapshot: - - '2019-08-03T22:06:11.0000000Z' + - '2019-09-06T01:49:57.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -475,15 +133,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e845ab4c-b63a-11e9-9c67-2816a845e8c6 + - a1bf3ec2-d048-11e9-afd9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:13 GMT + - Fri, 06 Sep 2019 01:49:58 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utsharea85b1299/filea85b1299 response: @@ -493,13 +151,15 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:06:11 GMT + - Fri, 06 Sep 2019 01:49:57 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a1bf3ec2-d048-11e9-afd9-001a7dda7113 x-ms-request-id: - - ab707a27-101a-00bf-1647-4a7076000000 + - ea9446e2-c01a-0091-2755-643646000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -513,17 +173,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e860e0d2-b63a-11e9-8141-2816a845e8c6 + - a1cc7ac0-d048-11e9-b444-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:13 GMT + - Fri, 06 Sep 2019 01:49:58 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utsharea85b1299/filea85b1299?sharesnapshot=2019-08-03T22:06:11.0000000Z&comp=rangelist + uri: https://storagename.file.core.windows.net/utsharea85b1299/filea85b1299?sharesnapshot=2019-09-06T01:49:57.0000000Z&comp=rangelist response: body: string: "\uFEFF" @@ -531,23 +191,23 @@ interactions: Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 22:06:12 GMT + - Fri, 06 Sep 2019 01:49:57 GMT ETag: - - '"0x8D7185ECB028A75"' + - '"0x8D7326C85105721"' Last-Modified: - - Sat, 03 Aug 2019 22:06:10 GMT + - Fri, 06 Sep 2019 01:49:56 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 Transfer-Encoding: - chunked - Vary: - - Origin + x-ms-client-request-id: + - a1cc7ac0-d048-11e9-b444-001a7dda7113 x-ms-content-length: - '1024' x-ms-request-id: - - d885553b-c01a-0017-4a47-4aa463000000 + - beac65b3-101a-0014-7755-641b9b000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_resize_file.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_resize_file.yaml index 43199d3a480a..516f3d0b028c 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_resize_file.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_resize_file.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - a534008a-b639-11e9-842d-2816a845e8c6 + - a3845e06-d048-11e9-926a-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:11 GMT + - Fri, 06 Sep 2019 01:50:01 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare8f720a9e/file8f720a9e response: @@ -33,237 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:57:09 GMT + - Fri, 06 Sep 2019 01:50:00 GMT ETag: - - '"0x8D7185D890B4BAF"' + - '"0x8D7326C87C9693B"' Last-Modified: - - Sat, 03 Aug 2019 21:57:10 GMT + - Fri, 06 Sep 2019 01:50:01 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 6fd19fcc-e01a-00c7-5746-4a18c1000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - E9R7q/YlqZZbA6KiUwSTXi1v3ChjVxyqhpjQOwoy/SOpr5D6YYNV62uDmdiBLJWMrYulqyDjPETZ - z5gCDr8ujTBC4yn0gZK72Qj4eT5JRGc0g2yUFanXQc0ZCerSY5hV2pW53bgeviVSKvnuELcpCVOG - m8qw5bQVdM9O21LPZXTsXm2ietc3He2mlsNZKR/pwuuZxuY/bNyk9S+2gty/90jbq6e30mb8fsg+ - 5a2IeRGvQebEOWQkreZDwgtvRTaacDyNdMsaZsILwX4JGpLHATx8nUAfDnS43eR8mZzWZ+2zLKzh - K1I4nKdI5srOR2m/O6AJ0+kQum2CxAOT3pWgBdwvX9r3vyq1DsQi1/wb0JX17xUjlEPpuDQMGomm - IN+VxBkHWsNvIy8+QVuEws/lp46HFhTP3gj12z4sLKaT5m7ghw6UpFuKS+chYN10LFx7foyAp4HM - sbjxFCwIC+zoJfzKFR5T472A4ThCXdzU5JIySsX8c6tdutODnGoreJUjPOwrTrCZxjSH5iCa38nl - UF37jAApdKi4f1OKuu1xt6ZCXGEbGTaqUffszxRi26+Y5glVsk9Xbfyk6ariHE08k8EkfUmylY5u - 4KpG5grIyMOM0Rx4HEa9QExFFfefsYC+A3cNRpC1o09wHiM2r/4rZbwot1SRByU6fHKiWGz4sqhA - veyjnF6+nK0fRLIjKziAxa+TL493rBuJu0/867bdualQM+uMB3qCsE/D7ChTXPCGoPBYNQ8JXocF - E7t6YTJkHbTNnzEb1Kjkw/gixrSjufwdwZJCr2kzbYus8i7lkuTq3ebFHD1b1w49F6er0G7daMrL - LC+mKlEEu2TU742MX3VpOPMAWCHSBdO1BMsGZy/+3jw0jVo5t4zQd4SzBMNh4UoQyJiq/KaiHAvV - bZqoteT19erP4grUi+EJHGo//h9l6OW+u4/kCTOiQ7N8FKn4WeR/I9KLWaeLOfEVRopCEXlSqvxR - /op8w3ivsxQ3JComHfKo74UCb2KwlcLcrd4Na8pfRiZrD7ou9gukH9TIIvWYSPjWmWlB6RTnz4td - llwagN+3AtmXHQ44csQgh+gNhin3tZ4a1ZHEu9vsaEOfrI8hwdpH/Uzem395iRjosXQ0OfucDgvI - Eh9q3Ndvw8C0sHpD+VmJwnlNeMXi5tl+guipOWDSuIZPflPzRzJ+C+ZxHJtU3rajWnqx8Dbn6GVQ - Q/6SCNViZdhps2xz/ZiXYRY5mkZUFVKB7UIwKmncQt7X3mdCTWtmUyEFCLl5fFkGICR8vb4yyfMb - f0Fd0Awkf6l4SxikqfVM1QOpJ/c8zDXgmcvJirG7DhtHqUF83mKautWn76AHZe+gbp5fyJsHaA== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - a5a55b08-b639-11e9-94bc-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:11 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare8f720a9e/file8f720a9e?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - rwDDDNfjNUZE7Ee1SUu3JA== - Date: - - Sat, 03 Aug 2019 21:57:10 GMT - ETag: - - '"0x8D7185D893D614E"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:10 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 6fd19fce-e01a-00c7-5846-4a18c1000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - a5c4990a-b639-11e9-a0a0-2816a845e8c6 - x-ms-content-length: - - '5' - x-ms-date: - - Sat, 03 Aug 2019 21:57:12 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8f720a9e/file8f720a9e?comp=properties - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:57:10 GMT - ETag: - - '"0x8D7185D895448DA"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:11 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 6fd19fd0-e01a-00c7-5946-4a18c1000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - a5d9fee4-b639-11e9-9986-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:12 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare8f720a9e/file8f720a9e - response: - body: - string: '' - headers: - Content-Length: - - '5' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:57:10 GMT - ETag: - - '"0x8D7185D895448DA"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:11 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 6fd19fd1-e01a-00c7-5a46-4a18c1000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 838852ae-b63a-11e9-b2f2-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:03:24 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8f720a9e/file8f720a9e - response: - body: - string: '' - headers: - Content-Length: + - a3845e06-d048-11e9-926a-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:01.2195131Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:01.2195131Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:01.2195131Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:03:23 GMT - ETag: - - '"0x8D7185E674392EC"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:23 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - bbb4d2ca-401a-008e-3747-4a2ba1000000 + - ea944704-c01a-0091-4255-643646000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -299,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 83c94812-b63a-11e9-854a-2816a845e8c6 + - a39d86b4-d048-11e9-9572-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:24 GMT + - Fri, 06 Sep 2019 01:50:01 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -321,19 +127,21 @@ interactions: Content-MD5: - rwDDDNfjNUZE7Ee1SUu3JA== Date: - - Sat, 03 Aug 2019 22:03:23 GMT + - Fri, 06 Sep 2019 01:50:00 GMT ETag: - - '"0x8D7185E67559794"' + - '"0x8D7326C87CFFA82"' Last-Modified: - - Sat, 03 Aug 2019 22:03:23 GMT + - Fri, 06 Sep 2019 01:50:01 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a39d86b4-d048-11e9-9572-001a7dda7113 x-ms-request-id: - - bbb4d2cc-401a-008e-3847-4a2ba1000000 + - ea944705-c01a-0091-4355-643646000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -349,17 +157,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 83dab614-b63a-11e9-b493-2816a845e8c6 + - a3a3ec0a-d048-11e9-97d2-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 22:03:24 GMT + - Fri, 06 Sep 2019 01:50:01 GMT + x-ms-file-attributes: + - preserve + x-ms-file-creation-time: + - preserve + x-ms-file-last-write-time: + - preserve + x-ms-file-permission: + - preserve x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare8f720a9e/file8f720a9e?comp=properties response: @@ -369,237 +185,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:03:23 GMT + - Fri, 06 Sep 2019 01:50:00 GMT ETag: - - '"0x8D7185E6765EE3E"' + - '"0x8D7326C87D664B0"' Last-Modified: - - Sat, 03 Aug 2019 22:03:23 GMT + - Fri, 06 Sep 2019 01:50:01 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - bbb4d2cd-401a-008e-3947-4a2ba1000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 83eb4d54-b63a-11e9-85a1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:24 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare8f720a9e/file8f720a9e - response: - body: - string: '' - headers: - Content-Length: - - '5' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:03:23 GMT - ETag: - - '"0x8D7185E6765EE3E"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:23 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - bbb4d2ce-401a-008e-3a47-4a2ba1000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - eac01aae-b63a-11e9-badf-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:06:17 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8f720a9e/file8f720a9e - response: - body: - string: '' - headers: - Content-Length: + - a3a3ec0a-d048-11e9-97d2-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:01.3045936Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:01.2195131Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:01.2195131Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:06:16 GMT - ETag: - - '"0x8D7185ECE76A724"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:16 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 230665cd-001a-00ab-6c47-4ab312000000 + - ea944708-c01a-0091-4555-643646000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - E9R7q/YlqZZbA6KiUwSTXi1v3ChjVxyqhpjQOwoy/SOpr5D6YYNV62uDmdiBLJWMrYulqyDjPETZ - z5gCDr8ujTBC4yn0gZK72Qj4eT5JRGc0g2yUFanXQc0ZCerSY5hV2pW53bgeviVSKvnuELcpCVOG - m8qw5bQVdM9O21LPZXTsXm2ietc3He2mlsNZKR/pwuuZxuY/bNyk9S+2gty/90jbq6e30mb8fsg+ - 5a2IeRGvQebEOWQkreZDwgtvRTaacDyNdMsaZsILwX4JGpLHATx8nUAfDnS43eR8mZzWZ+2zLKzh - K1I4nKdI5srOR2m/O6AJ0+kQum2CxAOT3pWgBdwvX9r3vyq1DsQi1/wb0JX17xUjlEPpuDQMGomm - IN+VxBkHWsNvIy8+QVuEws/lp46HFhTP3gj12z4sLKaT5m7ghw6UpFuKS+chYN10LFx7foyAp4HM - sbjxFCwIC+zoJfzKFR5T472A4ThCXdzU5JIySsX8c6tdutODnGoreJUjPOwrTrCZxjSH5iCa38nl - UF37jAApdKi4f1OKuu1xt6ZCXGEbGTaqUffszxRi26+Y5glVsk9Xbfyk6ariHE08k8EkfUmylY5u - 4KpG5grIyMOM0Rx4HEa9QExFFfefsYC+A3cNRpC1o09wHiM2r/4rZbwot1SRByU6fHKiWGz4sqhA - veyjnF6+nK0fRLIjKziAxa+TL493rBuJu0/867bdualQM+uMB3qCsE/D7ChTXPCGoPBYNQ8JXocF - E7t6YTJkHbTNnzEb1Kjkw/gixrSjufwdwZJCr2kzbYus8i7lkuTq3ebFHD1b1w49F6er0G7daMrL - LC+mKlEEu2TU742MX3VpOPMAWCHSBdO1BMsGZy/+3jw0jVo5t4zQd4SzBMNh4UoQyJiq/KaiHAvV - bZqoteT19erP4grUi+EJHGo//h9l6OW+u4/kCTOiQ7N8FKn4WeR/I9KLWaeLOfEVRopCEXlSqvxR - /op8w3ivsxQ3JComHfKo74UCb2KwlcLcrd4Na8pfRiZrD7ou9gukH9TIIvWYSPjWmWlB6RTnz4td - llwagN+3AtmXHQ44csQgh+gNhin3tZ4a1ZHEu9vsaEOfrI8hwdpH/Uzem395iRjosXQ0OfucDgvI - Eh9q3Ndvw8C0sHpD+VmJwnlNeMXi5tl+guipOWDSuIZPflPzRzJ+C+ZxHJtU3rajWnqx8Dbn6GVQ - Q/6SCNViZdhps2xz/ZiXYRY5mkZUFVKB7UIwKmncQt7X3mdCTWtmUyEFCLl5fFkGICR8vb4yyfMb - f0Fd0Awkf6l4SxikqfVM1QOpJ/c8zDXgmcvJirG7DhtHqUF83mKautWn76AHZe+gbp5fyJsHaA== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - eb185400-b63a-11e9-b75b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:18 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare8f720a9e/file8f720a9e?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - rwDDDNfjNUZE7Ee1SUu3JA== - Date: - - Sat, 03 Aug 2019 22:06:16 GMT - ETag: - - '"0x8D7185ECEA38BB2"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:16 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 230665d0-001a-00ab-6d47-4ab312000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - eb373898-b63a-11e9-9555-2816a845e8c6 - x-ms-content-length: - - '5' - x-ms-date: - - Sat, 03 Aug 2019 22:06:18 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8f720a9e/file8f720a9e?comp=properties - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:06:16 GMT - ETag: - - '"0x8D7185ECEC43905"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:17 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 230665d1-001a-00ab-6e47-4ab312000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -613,15 +227,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - eb56c9f4-b63a-11e9-999b-2816a845e8c6 + - a3aa7afe-d048-11e9-96b9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:18 GMT + - Fri, 06 Sep 2019 01:50:01 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare8f720a9e/file8f720a9e response: @@ -633,23 +247,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:06:16 GMT + - Fri, 06 Sep 2019 01:50:00 GMT ETag: - - '"0x8D7185ECEC43905"' + - '"0x8D7326C87D664B0"' Last-Modified: - - Sat, 03 Aug 2019 22:06:17 GMT + - Fri, 06 Sep 2019 01:50:01 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - a3aa7afe-d048-11e9-96b9-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:01.3045936Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:01.2195131Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:01.2195131Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 230665d3-001a-00ab-6f47-4ab312000000 + - ea944709-c01a-0091-4655-643646000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_set_file_metadata_with_upper_case.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_set_file_metadata_with_upper_case.yaml index 632cc6c87520..089c0efce512 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_set_file_metadata_with_upper_case.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_set_file_metadata_with_upper_case.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - a7667cda-b639-11e9-9795-2816a845e8c6 + - a6bb4ddc-d048-11e9-ad38-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:14 GMT + - Fri, 06 Sep 2019 01:50:06 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharedf071399/filedf071399 response: @@ -33,249 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:57:14 GMT + - Fri, 06 Sep 2019 01:50:06 GMT ETag: - - '"0x8D7185D8B282594"' + - '"0x8D7326C8B01B527"' Last-Modified: - - Sat, 03 Aug 2019 21:57:14 GMT + - Fri, 06 Sep 2019 01:50:06 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 03458198-c01a-0094-0946-4a04ce000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - 0k1CS/xluDZbdoPfMtkUDPNQJcCUi6lK6ZkE4J4A0mjJQy6lc8kNYcDKmXOXfPwMl2EGbeXt6dr8 - 26OqG/BYOkWcdcKn86LiAubzwYt2dqkSfXcOmVIQUItTG64pPRgfsTyX49+T0Zgg5qpd0eJXvruX - dA07N6LZ8iWik3eqx1e3UbHjLhCzCsMcH8zccAutRP2EGhkfI6maVbpWH9iFEGAPJaphyW+xHfZJ - hLOfW7N48RNdsouWQqK4kMj0hAyjBwPM4mv0jVd4FR4Cb4rzz4TSbOi0tnOQTF6VxpisFeVr/n9a - 7pBDpqOijGxJ3deJwiNfIO4taryTHPwc5MDYwEa/NdHbSNdvzTWmeOTGFcrFWOnLoWie8Tqd7jVh - CxdoL6r0glJ4g4YO5mz+8CZJFfeQWUJMvM48D5kXPGCZSC7FSg4v8FxDBFtpFrCmuVMyu/cPluaZ - FrrvS2Q6JW8bRaFonnA81RIKlLOlyXpwxiV5p+aLkG6bCZysecno7/SmrbGvNUIClClRo2DIvnAn - sh/wQjqikCGq7QrSugfTD1IBqN/lIbGcX6xKMqdXnBFSXpfHuUccRu5gLN2GIKO3HfITLXdD4rPI - UWmaXG5qkZoUGm7utnHWplqzn8FLlW03zhtAGNtPoD3uONcVHjpof7cgxZEEGZBvUIX8z8qJvWWY - 5sIkmuGwZGhgkHfGzhXmXYyoSM+DJFBpSKK9t5ldZv5FQizKYWgf/TZSzpvWVcnPGd5ab5+vFRwn - TwnRE7KFQVsSbyVqrBG32MvH+kDZDHHEr45zy36VCzizoVKkWfS241L0kC/wPhrtGymqWljNtWFN - VTo7hfLjMqytjJQpODo4JI9Tb5LlpCChG6PlGnzR45ZW5OIf8jERNWdn8wA1qw2N6PG2HGJGfuxT - NmI4OZyfsnLlK1CudrsKf9HDqhnvutni7QhLr/1mdYPK1+zlS4qCa+47CNXaZ5PhtCQDXc2uZo9Q - vbXCjbPl1NRuVN9p2OA0CFXZ9kUw/REW+IA6sURLIEA/Dla3HtV/DL64mujPmLuo85y9WHXTeKqv - SfP088dhdZ3zWqfJMydoloxatJUlbuGZ0oWm7oPtX68ryhFr0WXqc+G7JY4XlE3OLVLh49YTzm/y - 3DkWI9THpiUfPkio+LfeTVxN/hYYboj4huva5NPk4JBGxEd5H4qS1Gx6GZMc8QvgnNooDfFGIGMN - SMeyGtq4hm+x02dp+l+jqCOd+zCw9iEi+agIcTXf2mZ1aJ9koPJ1W0aRLznSoTs7kD6fD1rG82xD - 8jYs0fIzFZzFWMfu6u8o5HnIEF/LoWftzVOYjrB5Hz3JGIx1TwH523ReERyj9+uXpa21e+HEaA== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - a7b95054-b639-11e9-b685-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:15 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharedf071399/filedf071399?comp=range - response: - body: - string: '' - headers: - Content-Length: + - a6bb4ddc-d048-11e9-ad38-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:06.6216231Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:06.6216231Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:06.6216231Z' + x-ms-file-parent-id: - '0' - Content-MD5: - - cf/Kv0gEslHxNn+WPdM6NQ== - Date: - - Sat, 03 Aug 2019 21:57:14 GMT - ETag: - - '"0x8D7185D8B466175"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:14 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 0345819b-c01a-0094-0a46-4a04ce000000 + - f316ce5b-801a-00cd-7255-64631e000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - a7d824d2-b639-11e9-ade0-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:15 GMT - x-ms-meta: - - '{''hello'': ''world'', ''number'': ''42'', ''UP'': ''UPval''}' - x-ms-meta-UP: - - UPval - x-ms-meta-hello: - - world - x-ms-meta-number: - - '42' - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharedf071399/filedf071399?comp=metadata - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:57:14 GMT - ETag: - - '"0x8D7185D8B64EB85"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:14 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 0345819c-c01a-0094-0b46-4a04ce000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - a7e9d05c-b639-11e9-a90b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:15 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharedf071399/filedf071399 - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:57:14 GMT - ETag: - - '"0x8D7185D8B64EB85"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:14 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-meta-UP: - - UPval - x-ms-meta-hello: - - world - x-ms-meta-number: - - '42' - x-ms-request-id: - - 0345819e-c01a-0094-0c46-4a04ce000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 84f520c8-b63a-11e9-9c5d-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:03:26 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharedf071399/filedf071399 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:25 GMT - ETag: - - '"0x8D7185E68AC3E3E"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:25 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 59d41685-801a-00ba-4547-4a8409000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -311,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 853277e2-b63a-11e9-929a-2816a845e8c6 + - a6d5e2d2-d048-11e9-a71a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:27 GMT + - Fri, 06 Sep 2019 01:50:06 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -333,19 +127,21 @@ interactions: Content-MD5: - cf/Kv0gEslHxNn+WPdM6NQ== Date: - - Sat, 03 Aug 2019 22:03:25 GMT + - Fri, 06 Sep 2019 01:50:06 GMT ETag: - - '"0x8D7185E68C0B458"' + - '"0x8D7326C8B086D8A"' Last-Modified: - - Sat, 03 Aug 2019 22:03:25 GMT + - Fri, 06 Sep 2019 01:50:06 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a6d5e2d2-d048-11e9-a71a-001a7dda7113 x-ms-request-id: - - 59d41687-801a-00ba-4647-4a8409000000 + - f316ce5d-801a-00cd-7355-64631e000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -361,13 +157,13 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 854640d4-b63a-11e9-b2b2-2816a845e8c6 + - a6dc46d0-d048-11e9-9b28-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:27 GMT + - Fri, 06 Sep 2019 01:50:06 GMT x-ms-meta: - '{''hello'': ''world'', ''number'': ''42'', ''UP'': ''UPval''}' x-ms-meta-UP: @@ -377,7 +173,7 @@ interactions: x-ms-meta-number: - '42' x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharedf071399/filedf071399?comp=metadata response: @@ -387,19 +183,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:03:25 GMT + - Fri, 06 Sep 2019 01:50:06 GMT ETag: - - '"0x8D7185E68EE353E"' + - '"0x8D7326C8B0EB0A1"' Last-Modified: - - Sat, 03 Aug 2019 22:03:26 GMT + - Fri, 06 Sep 2019 01:50:06 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a6dc46d0-d048-11e9-9b28-001a7dda7113 x-ms-request-id: - - 59d41688-801a-00ba-4747-4a8409000000 + - f316ce5f-801a-00cd-7555-64631e000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -413,15 +211,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 85871c88-b63a-11e9-b285-2816a845e8c6 + - a6e8c78a-d048-11e9-b151-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:27 GMT + - Fri, 06 Sep 2019 01:50:06 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utsharedf071399/filedf071399 response: @@ -433,245 +231,29 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:03:25 GMT + - Fri, 06 Sep 2019 01:50:06 GMT ETag: - - '"0x8D7185E68EE353E"' + - '"0x8D7326C8B0EB0A1"' Last-Modified: - - Sat, 03 Aug 2019 22:03:26 GMT + - Fri, 06 Sep 2019 01:50:06 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-meta-UP: - - UPval - x-ms-meta-hello: - - world - x-ms-meta-number: - - '42' - x-ms-request-id: - - 59d4168b-801a-00ba-4a47-4a8409000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - ecbcaac2-b63a-11e9-ac2a-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:06:20 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharedf071399/filedf071399 - response: - body: - string: '' - headers: - Content-Length: + - a6e8c78a-d048-11e9-b151-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:06.7067041Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:06.6216231Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:06.6216231Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:06:19 GMT - ETag: - - '"0x8D7185ED0852650"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:20 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - b0044868-d01a-00a9-1847-4ab1e8000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - 0k1CS/xluDZbdoPfMtkUDPNQJcCUi6lK6ZkE4J4A0mjJQy6lc8kNYcDKmXOXfPwMl2EGbeXt6dr8 - 26OqG/BYOkWcdcKn86LiAubzwYt2dqkSfXcOmVIQUItTG64pPRgfsTyX49+T0Zgg5qpd0eJXvruX - dA07N6LZ8iWik3eqx1e3UbHjLhCzCsMcH8zccAutRP2EGhkfI6maVbpWH9iFEGAPJaphyW+xHfZJ - hLOfW7N48RNdsouWQqK4kMj0hAyjBwPM4mv0jVd4FR4Cb4rzz4TSbOi0tnOQTF6VxpisFeVr/n9a - 7pBDpqOijGxJ3deJwiNfIO4taryTHPwc5MDYwEa/NdHbSNdvzTWmeOTGFcrFWOnLoWie8Tqd7jVh - CxdoL6r0glJ4g4YO5mz+8CZJFfeQWUJMvM48D5kXPGCZSC7FSg4v8FxDBFtpFrCmuVMyu/cPluaZ - FrrvS2Q6JW8bRaFonnA81RIKlLOlyXpwxiV5p+aLkG6bCZysecno7/SmrbGvNUIClClRo2DIvnAn - sh/wQjqikCGq7QrSugfTD1IBqN/lIbGcX6xKMqdXnBFSXpfHuUccRu5gLN2GIKO3HfITLXdD4rPI - UWmaXG5qkZoUGm7utnHWplqzn8FLlW03zhtAGNtPoD3uONcVHjpof7cgxZEEGZBvUIX8z8qJvWWY - 5sIkmuGwZGhgkHfGzhXmXYyoSM+DJFBpSKK9t5ldZv5FQizKYWgf/TZSzpvWVcnPGd5ab5+vFRwn - TwnRE7KFQVsSbyVqrBG32MvH+kDZDHHEr45zy36VCzizoVKkWfS241L0kC/wPhrtGymqWljNtWFN - VTo7hfLjMqytjJQpODo4JI9Tb5LlpCChG6PlGnzR45ZW5OIf8jERNWdn8wA1qw2N6PG2HGJGfuxT - NmI4OZyfsnLlK1CudrsKf9HDqhnvutni7QhLr/1mdYPK1+zlS4qCa+47CNXaZ5PhtCQDXc2uZo9Q - vbXCjbPl1NRuVN9p2OA0CFXZ9kUw/REW+IA6sURLIEA/Dla3HtV/DL64mujPmLuo85y9WHXTeKqv - SfP088dhdZ3zWqfJMydoloxatJUlbuGZ0oWm7oPtX68ryhFr0WXqc+G7JY4XlE3OLVLh49YTzm/y - 3DkWI9THpiUfPkio+LfeTVxN/hYYboj4huva5NPk4JBGxEd5H4qS1Gx6GZMc8QvgnNooDfFGIGMN - SMeyGtq4hm+x02dp+l+jqCOd+zCw9iEi+agIcTXf2mZ1aJ9koPJ1W0aRLznSoTs7kD6fD1rG82xD - 8jYs0fIzFZzFWMfu6u8o5HnIEF/LoWftzVOYjrB5Hz3JGIx1TwH523ReERyj9+uXpa21e+HEaA== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - ed0bd1e4-b63a-11e9-840f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:21 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharedf071399/filedf071399?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - cf/Kv0gEslHxNn+WPdM6NQ== - Date: - - Sat, 03 Aug 2019 22:06:19 GMT - ETag: - - '"0x8D7185ED0977926"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:20 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - b004486a-d01a-00a9-1947-4ab1e8000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - ed2b829e-b63a-11e9-ad4e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:21 GMT - x-ms-meta: - - '{''hello'': ''world'', ''number'': ''42'', ''UP'': ''UPval''}' - x-ms-meta-UP: - - UPval - x-ms-meta-hello: - - world - x-ms-meta-number: - - '42' - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharedf071399/filedf071399?comp=metadata - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:06:19 GMT - ETag: - - '"0x8D7185ED0CBB209"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:20 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - b004486b-d01a-00a9-1a47-4ab1e8000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - ed51657a-b63a-11e9-9d1c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:21 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharedf071399/filedf071399 - response: - body: - string: '' - headers: - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:06:20 GMT - ETag: - - '"0x8D7185ED0CBB209"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:20 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-meta-UP: - UPval x-ms-meta-hello: @@ -679,13 +261,13 @@ interactions: x-ms-meta-number: - '42' x-ms-request-id: - - b004486c-d01a-00a9-1b47-4ab1e8000000 + - f316ce60-801a-00cd-7655-64631e000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_set_file_properties.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_set_file_properties.yaml index 076b5b0f44f0..52ce40476793 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_set_file_properties.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_set_file_properties.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - a8a10e58-b639-11e9-becf-2816a845e8c6 + - a71abb2e-d048-11e9-a614-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:17 GMT + - Fri, 06 Sep 2019 01:50:07 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef3260e04/filef3260e04 response: @@ -33,243 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:57:15 GMT + - Fri, 06 Sep 2019 01:50:06 GMT ETag: - - '"0x8D7185D8C6832AD"' + - '"0x8D7326C8B5CBC99"' Last-Modified: - - Sat, 03 Aug 2019 21:57:16 GMT + - Fri, 06 Sep 2019 01:50:07 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 8f71118d-001a-0082-3b46-4ac550000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - xKn++YfAF3NI3z/g30muJOyDbUBuwiG04hu2QBx267b1qRLSNCSvfN+ms7PSWX6mB391bmgRhukt - XwoBMDZYJivUFFl8pBdlUdhhzNvufrnLMhFihmBJyZGj+qO3sX0NkCnWGAKHTnObq71CFiNDFqX5 - 8tosvFlJwd3eA7yZ5OfBlgrmjNtlWmZiPgFJFwriaCHVN1DP63qJ7K5skTOKO3mE+9ALX7vXf583 - 0VS1WyJCjqHo5JE/AmV5wbp3Fu74OAFh4dYGjlomBTKONCKFXo5teD5G1NMjp4VwdWS0siWPv7BS - lJznQ/Yxk7bqHwBU0hdlxhTJIwcJsGp4Ch2MwnvBHvmkADndlozSXcbCDLFLVRYCq4xmqAwRqOy6 - 3qgj4ghsLG0gyviEbY7APvMfqoYfCj1RFZGYDBCmulmiMAmb0Q/ehjtPNmDTI9mTQDzgh+aUe2Tv - LBCvg5LzN597u62LW3IN4LnYJME25OYT+nPs+SsOtG8rKlhqtTECLLsTaUHSKcYW8BlQvQPBnVX+ - kEsEk51974vzoOWbfqxuWpmlxLTJp97DZnoPdWu2KOQ+Pp9rTRRc3sPk0su/wG7XsDB7lgTqtP4K - KzO1hvZl8Lp01v40nB6ZC1sJygyhB/4A9B0cB6vy9MClyjIOOcY42tsBO9YnBbsial3VM/OcFNjQ - TwGraLqytT/fBqjcLEC8HOlZmSG5qxOy6CAWAU7ko7tTDnQXkkB39K2+qzjOLV9ODCuZMW8bv6hv - j1q5OA+wAVNxdpNunHh/YddILit7vKde1wnPRvjnsijPW1Mi61W1CJdp1sF5GyN2eCd0yEmDpBQl - QN6uYqcuV8YfvBmhAkIgY5c71Aynj0J1IRSQu4SkzzGI/exFh/wBcGESlfNNVS2Czoyn4/fBWgks - mKIi8k/UgQX09UM5zy4pzwzdTltp7c2c8UAjXr6LfkSHuIdNt9pz6O+yo6IXoslXpDbaHaNVvz7h - 6v0GV4+ly+V156dFVaQtMZlaiHp1fZ6xNtD96QzUWw+ukBmasznFKHSyjUGlmN0EiJBedBJRVeoI - lJCsYbt3pf5mb9pTSBcmIS0bZANowHALvEusR5v+iumKTFDSWAyTKdNTvjm69Xus79vacyA/XO8i - OtFUD4nO66gsu9T3nEbrSkL0v6O6x0k2vHGYgAHNLyNOn6odjo8VQknctOVOmbyQffdA7GHeDM/z - VGRk+wWz+fDbes3FN6c53s4VjkuB7/gTGpTKJOfUpyz8tSb0Oj9au28f/IZUY091wBunKWKxqUHR - 5cN4tCq/zkFQG4dgFi6172P7PaCvaFK3YCgvAJjqeTmPc3YKbBduXnjEnOvGo6BN0toH5PTWlg== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - a8f10d2e-b639-11e9-98c3-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:17 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharef3260e04/filef3260e04?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - HhOq0DTjQSlDkqKucDlukQ== - Date: - - Sat, 03 Aug 2019 21:57:15 GMT - ETag: - - '"0x8D7185D8C7C0C5E"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:16 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 8f71118f-001a-0082-3c46-4ac550000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - a900d306-b639-11e9-b2f3-2816a845e8c6 - x-ms-content-disposition: - - inline - x-ms-content-language: - - spanish - x-ms-date: - - Sat, 03 Aug 2019 21:57:17 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef3260e04/filef3260e04?comp=properties - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 21:57:16 GMT - ETag: - - '"0x8D7185D8C93B761"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:16 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 8f711190-001a-0082-3d46-4ac550000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - a92f8524-b639-11e9-a484-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:17 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharef3260e04/filef3260e04 - response: - body: - string: '' - headers: - Content-Disposition: - - inline - Content-Language: - - spanish - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:57:16 GMT - ETag: - - '"0x8D7185D8C93B761"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:16 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 8f711191-001a-0082-3e46-4ac550000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 86114a0a-b63a-11e9-ba12-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:03:28 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef3260e04/filef3260e04 - response: - body: - string: '' - headers: - Content-Length: + - a71abb2e-d048-11e9-a614-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:07.2181913Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:07.2181913Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:07.2181913Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:03:27 GMT - ETag: - - '"0x8D7185E69C61EBE"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:27 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - f095d99c-701a-0068-2447-4a3a51000000 + - e96e2def-b01a-007f-0655-649c6f000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -305,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 864b205e-b63a-11e9-be3f-2816a845e8c6 + - a73120a4-d048-11e9-a21b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:28 GMT + - Fri, 06 Sep 2019 01:50:07 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -327,19 +127,21 @@ interactions: Content-MD5: - HhOq0DTjQSlDkqKucDlukQ== Date: - - Sat, 03 Aug 2019 22:03:27 GMT + - Fri, 06 Sep 2019 01:50:06 GMT ETag: - - '"0x8D7185E69D5B1F1"' + - '"0x8D7326C8B6374FA"' Last-Modified: - - Sat, 03 Aug 2019 22:03:27 GMT + - Fri, 06 Sep 2019 01:50:07 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a73120a4-d048-11e9-a21b-001a7dda7113 x-ms-request-id: - - f095d99e-701a-0068-2547-4a3a51000000 + - e96e2df2-b01a-007f-0855-649c6f000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -355,19 +157,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 865ad590-b63a-11e9-b335-2816a845e8c6 + - a7375da8-d048-11e9-9ff6-001a7dda7113 x-ms-content-disposition: - inline x-ms-content-language: - spanish x-ms-date: - - Sat, 03 Aug 2019 22:03:28 GMT + - Fri, 06 Sep 2019 01:50:07 GMT + x-ms-file-attributes: + - preserve + x-ms-file-creation-time: + - preserve + x-ms-file-last-write-time: + - preserve + x-ms-file-permission: + - preserve x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef3260e04/filef3260e04?comp=properties response: @@ -377,243 +187,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 22:03:27 GMT + - Fri, 06 Sep 2019 01:50:06 GMT ETag: - - '"0x8D7185E69EBFD20"' + - '"0x8D7326C8B69B809"' Last-Modified: - - Sat, 03 Aug 2019 22:03:27 GMT + - Fri, 06 Sep 2019 01:50:07 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - f095d9a0-701a-0068-2647-4a3a51000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 86716ea6-b63a-11e9-b696-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:29 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharef3260e04/filef3260e04 - response: - body: - string: '' - headers: - Content-Disposition: - - inline - Content-Language: - - spanish - Content-Length: - - '1024' - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:03:27 GMT - ETag: - - '"0x8D7185E69EBFD20"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:27 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - f095d9a1-701a-0068-2747-4a3a51000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - ee404b7e-b63a-11e9-9c4b-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:06:23 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef3260e04/filef3260e04 - response: - body: - string: '' - headers: - Content-Length: + - a7375da8-d048-11e9-9ff6-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:07.3032713Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:07.2181913Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:07.2181913Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:06:22 GMT - ETag: - - '"0x8D7185ED202E419"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:22 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 03c1743e-f01a-00d8-7147-4ac3d1000000 + - e96e2df5-b01a-007f-0a55-649c6f000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - xKn++YfAF3NI3z/g30muJOyDbUBuwiG04hu2QBx267b1qRLSNCSvfN+ms7PSWX6mB391bmgRhukt - XwoBMDZYJivUFFl8pBdlUdhhzNvufrnLMhFihmBJyZGj+qO3sX0NkCnWGAKHTnObq71CFiNDFqX5 - 8tosvFlJwd3eA7yZ5OfBlgrmjNtlWmZiPgFJFwriaCHVN1DP63qJ7K5skTOKO3mE+9ALX7vXf583 - 0VS1WyJCjqHo5JE/AmV5wbp3Fu74OAFh4dYGjlomBTKONCKFXo5teD5G1NMjp4VwdWS0siWPv7BS - lJznQ/Yxk7bqHwBU0hdlxhTJIwcJsGp4Ch2MwnvBHvmkADndlozSXcbCDLFLVRYCq4xmqAwRqOy6 - 3qgj4ghsLG0gyviEbY7APvMfqoYfCj1RFZGYDBCmulmiMAmb0Q/ehjtPNmDTI9mTQDzgh+aUe2Tv - LBCvg5LzN597u62LW3IN4LnYJME25OYT+nPs+SsOtG8rKlhqtTECLLsTaUHSKcYW8BlQvQPBnVX+ - kEsEk51974vzoOWbfqxuWpmlxLTJp97DZnoPdWu2KOQ+Pp9rTRRc3sPk0su/wG7XsDB7lgTqtP4K - KzO1hvZl8Lp01v40nB6ZC1sJygyhB/4A9B0cB6vy9MClyjIOOcY42tsBO9YnBbsial3VM/OcFNjQ - TwGraLqytT/fBqjcLEC8HOlZmSG5qxOy6CAWAU7ko7tTDnQXkkB39K2+qzjOLV9ODCuZMW8bv6hv - j1q5OA+wAVNxdpNunHh/YddILit7vKde1wnPRvjnsijPW1Mi61W1CJdp1sF5GyN2eCd0yEmDpBQl - QN6uYqcuV8YfvBmhAkIgY5c71Aynj0J1IRSQu4SkzzGI/exFh/wBcGESlfNNVS2Czoyn4/fBWgks - mKIi8k/UgQX09UM5zy4pzwzdTltp7c2c8UAjXr6LfkSHuIdNt9pz6O+yo6IXoslXpDbaHaNVvz7h - 6v0GV4+ly+V156dFVaQtMZlaiHp1fZ6xNtD96QzUWw+ukBmasznFKHSyjUGlmN0EiJBedBJRVeoI - lJCsYbt3pf5mb9pTSBcmIS0bZANowHALvEusR5v+iumKTFDSWAyTKdNTvjm69Xus79vacyA/XO8i - OtFUD4nO66gsu9T3nEbrSkL0v6O6x0k2vHGYgAHNLyNOn6odjo8VQknctOVOmbyQffdA7GHeDM/z - VGRk+wWz+fDbes3FN6c53s4VjkuB7/gTGpTKJOfUpyz8tSb0Oj9au28f/IZUY091wBunKWKxqUHR - 5cN4tCq/zkFQG4dgFi6172P7PaCvaFK3YCgvAJjqeTmPc3YKbBduXnjEnOvGo6BN0toH5PTWlg== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - ee88c29a-b63a-11e9-9044-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:23 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharef3260e04/filef3260e04?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - HhOq0DTjQSlDkqKucDlukQ== - Date: - - Sat, 03 Aug 2019 22:06:22 GMT - ETag: - - '"0x8D7185ED212C579"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:22 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 03c17440-f01a-00d8-7247-4ac3d1000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - ee9843b8-b63a-11e9-a427-2816a845e8c6 - x-ms-content-disposition: - - inline - x-ms-content-language: - - spanish - x-ms-date: - - Sat, 03 Aug 2019 22:06:23 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef3260e04/filef3260e04?comp=properties - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:06:22 GMT - ETag: - - '"0x8D7185ED2328846"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:22 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 03c17441-f01a-00d8-7347-4ac3d1000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK @@ -627,15 +229,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - eec17d4a-b63a-11e9-8e4b-2816a845e8c6 + - a73dc1f4-d048-11e9-8bd3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:24 GMT + - Fri, 06 Sep 2019 01:50:07 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utsharef3260e04/filef3260e04 response: @@ -651,23 +253,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:06:22 GMT + - Fri, 06 Sep 2019 01:50:06 GMT ETag: - - '"0x8D7185ED2328846"' + - '"0x8D7326C8B69B809"' Last-Modified: - - Sat, 03 Aug 2019 22:06:22 GMT + - Fri, 06 Sep 2019 01:50:07 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - a73dc1f4-d048-11e9-8bd3-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:07.3032713Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:07.2181913Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:07.2181913Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 03c17442-f01a-00d8-7447-4ac3d1000000 + - e96e2df6-b01a-007f-0b55-649c6f000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_set_file_properties_with_file_permission.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_set_file_properties_with_file_permission.yaml new file mode 100644 index 000000000000..a30f2df354f4 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_set_file_properties_with_file_permission.yaml @@ -0,0 +1,354 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a7cd1228-d048-11e9-95c2-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Fri, 06 Sep 2019 01:50:08 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare78ff16c6/file78ff16c6 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Fri, 06 Sep 2019 01:50:07 GMT + ETag: + - '"0x8D7326C8C13DCD8"' + Last-Modified: + - Fri, 06 Sep 2019 01:50:08 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a7cd1228-d048-11e9-95c2-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:08.4183256Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:08.4183256Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:08.4183256Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 + x-ms-request-id: + - 64e707ce-501a-0093-6c55-6488fe000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + BN/TsYuKq3zqsWHqlDC8OVcHc29q8YrqSFs1aMO21xJGHg5eQguDO5cQEDkaWH3j5rCPXEDMH/6X + R4biQ/S0euPVogoyu7cwwZ8P3FjkaolQRS8hS2BjXiUD8i34ynSHtNzLfQM1CBui0Dta8i/WcFA3 + aqXGh5REQZGuiMeWEMWM66tszrZwbespueTCVXjj3nV1MTrhTPXci+WkNfzah5Op4fabQGjEvOyM + f37VpXL6DDszCIODXHz1uHxdMhhGXtJ289ENA/MyGgHwWGQCQG76UAscsGxiKS6HQrnSt5QF+1V2 + WJx6DiNylBO+0LRU3eyXiWM5v+CU8UHaBiqIMu58LqJSkM7SNtAjJvcZO4DNQY+ym4wdUS5EAmA3 + Xtu9Rsf8iwrct45pnSCBwNR06vE127mc5hzyzweQZ2LSXI6iqUUCE4jqKInTNtmCoCWqb05vUSET + nP1DUB/O8A1Qcy4PkQPf5jxeJZonzEEyzjtX6T0pqb0ZdKOhv8g2Caox4AhvJoP611COHpFqb6/d + Uo+QbAbgJG4TG9NlTHU92DIGKnqBOD8R2bUQeaUY7cuL7WS9g2/Uz7vDaLxWpMpMWtXV4e/CxcZo + al0SENmqTs9fhP5PLo6t8EJpvxNhJDaNDC0Qu0FtkIoBkQhJux7QeXoKsO6BWAA+M6ccoY/rH/Ls + COsCVoa9S0kYKRpmJib7ls9Mrp6O+1BO/s8YgukzPK7m3GO4dDVtMJvPYOI0t9U1lawSu02LX4TE + UEhPen+jFH978jvU0I8AGYB3ieMG0YOy3wxZJAQELs3Q6nnfZogi5YGSwpmWdoipzL8PWisvul3y + prMmI2Bekkbdoq2pkFaj/g39I4/Jf8rw5zdcsTpcLC4x4j5KWmLGr0v85g+NvVsypcUypF0pP5nR + E+ynhZ2+0Nl+eYTVXBjREzzM/kx4kBPNlOjNMhI4ags+sbAKl0luxAvWG8nDEA9AeKb2E0w4BbYq + tRD72iVyIDqREONVRCQqVcRqhUt8Fb2XVAcDbE/kwZQoYygLmEoMga+FEyJkGYUgylisfPfvSXUb + oDXU4GjHrpTzdHEyrhkcNqk/LqM2o5fLFhNG9kaVAssq4BNU6eOET+bcnw4oB7Wnshnl8FuaS/gE + NsFD5jAaf4OmC78IZqJk4jP1Hxmw4etw4zStMy8Z7aX+yO6Nrg50ebd+C7EqYbp+Ue5S4lJ1ta/X + 2ueav62Dwoy8Oh3WY4yB9sFByUyu0AB/KVagER3vpnqfkMl7aDdOAnnzlwzT+NLK6oFdLVU2SgNZ + MNOjqMB3+i6WrEDviugstBJeGAELg350E+D4Shtf/euPbugyL6VJOYx4jcoIuBhgmzC0MdC4hA== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - a7e81d3e-d048-11e9-848f-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 01:50:08 GMT + x-ms-range: + - bytes=0-1023 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshare78ff16c6/file78ff16c6?comp=range + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - FkewGXIGqmJKO84YnQsJVw== + Date: + - Fri, 06 Sep 2019 01:50:07 GMT + ETag: + - '"0x8D7326C8C1BA6EA"' + Last-Modified: + - Fri, 06 Sep 2019 01:50:08 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a7e81d3e-d048-11e9-848f-001a7dda7113 + x-ms-request-id: + - 64e707d0-501a-0093-6d55-6488fe000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a7ef79ae-d048-11e9-97ae-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 01:50:08 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.file.core.windows.net/utshare78ff16c6/file78ff16c6 + response: + body: + string: '' + headers: + Content-Length: + - '1024' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Fri, 06 Sep 2019 01:50:07 GMT + ETag: + - '"0x8D7326C8C1BA6EA"' + Last-Modified: + - Fri, 06 Sep 2019 01:50:08 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a7ef79ae-d048-11e9-97ae-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:08.4183256Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:08.4183256Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:08.4183256Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 + x-ms-request-id: + - 64e707d1-501a-0093-6e55-6488fe000000 + x-ms-server-encrypted: + - 'true' + x-ms-type: + - File + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a7f62714-d048-11e9-a9a1-001a7dda7113 + x-ms-content-disposition: + - inline + x-ms-content-language: + - spanish + x-ms-date: + - Fri, 06 Sep 2019 01:50:08 GMT + x-ms-file-attributes: + - Archive|Temporary + x-ms-file-creation-time: + - '2019-09-06T04:50:08.4183250Z' + x-ms-file-last-write-time: + - '2019-09-06T04:50:08.4183250Z' + x-ms-file-permission: + - preserve + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare78ff16c6/file78ff16c6?comp=properties + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Fri, 06 Sep 2019 01:50:07 GMT + ETag: + - '"0x8D7326C8C28C978"' + Last-Modified: + - Fri, 06 Sep 2019 01:50:08 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a7f62714-d048-11e9-a9a1-001a7dda7113 + x-ms-file-attributes: + - Archive | Temporary + x-ms-file-change-time: + - '2019-09-06T01:50:08.5554552Z' + x-ms-file-creation-time: + - '2019-09-06T04:50:08.4183250Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T04:50:08.4183250Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 + x-ms-request-id: + - 64e707d3-501a-0093-7055-6488fe000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - a7fc8e82-d048-11e9-b1e8-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 01:50:08 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.file.core.windows.net/utshare78ff16c6/file78ff16c6 + response: + body: + string: '' + headers: + Content-Disposition: + - inline + Content-Language: + - spanish + Content-Length: + - '1024' + Content-Type: + - application/xml; charset=utf-8 + Date: + - Fri, 06 Sep 2019 01:50:07 GMT + ETag: + - '"0x8D7326C8C28C978"' + Last-Modified: + - Fri, 06 Sep 2019 01:50:08 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a7fc8e82-d048-11e9-b1e8-001a7dda7113 + x-ms-file-attributes: + - Archive | Temporary + x-ms-file-change-time: + - '2019-09-06T01:50:08.5554552Z' + x-ms-file-creation-time: + - '2019-09-06T04:50:08.4183250Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T04:50:08.4183250Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 + x-ms-request-id: + - 64e707d4-501a-0093-7155-6488fe000000 + x-ms-server-encrypted: + - 'true' + x-ms-type: + - File + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_unicode_get_file_binary_data.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_unicode_get_file_binary_data.yaml index b1f6f3a5de6d..cd0cb5d9d8d1 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_unicode_get_file_binary_data.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_unicode_get_file_binary_data.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ab6ca646-b639-11e9-9536-2816a845e8c6 + - a8890c58-d048-11e9-a724-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:21 GMT + - Fri, 06 Sep 2019 01:50:09 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare8033116f/file8033116f response: @@ -33,213 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:57:20 GMT + - Fri, 06 Sep 2019 01:50:08 GMT ETag: - - '"0x8D7185D8F2F7553"' + - '"0x8D7326C8CCCD24C"' Last-Modified: - - Sat, 03 Aug 2019 21:57:20 GMT + - Fri, 06 Sep 2019 01:50:09 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - b1dfbb9f-a01a-0007-5246-4a9285000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4 - OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3Bx - cnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmq - q6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj - 5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhsc - HR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RV - VldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2O - j5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbH - yMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8A - AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5 - Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFy - c3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6Slpqeoqaqr - rK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk - 5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwd - Hh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVW - V1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6P - kJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfI - ycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - abc05f0c-b639-11e9-8fd3-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:22 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare8033116f/file8033116f?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - suqff86oMaSmOyE/QaiFWw== - Date: - - Sat, 03 Aug 2019 21:57:20 GMT - ETag: - - '"0x8D7185D8F4D8A1E"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:21 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - b1dfbba2-a01a-0007-5346-4a9285000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - abd2d326-b639-11e9-b6cd-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:22 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare8033116f/file8033116f - response: - body: - string: !!binary | - AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4 - OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3Bx - cnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmq - q6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj - 5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhsc - HR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RV - VldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2O - j5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbH - yMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8A - AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5 - Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFy - c3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6Slpqeoqaqr - rK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk - 5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwd - Hh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVW - V1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6P - kJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfI - ycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w== - headers: - Accept-Ranges: - - bytes - Content-Length: - - '1024' - Content-Range: - - bytes 0-1023/1024 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:57:21 GMT - ETag: - - '"0x8D7185D8F4D8A1E"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:21 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - b1dfbba3-a01a-0007-5446-4a9285000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 88419a24-b63a-11e9-a755-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:03:32 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8033116f/file8033116f - response: - body: - string: '' - headers: - Content-Length: + - a8890c58-d048-11e9-a724-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:09.6304716Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:09.6304716Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:09.6304716Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:03:30 GMT - ETag: - - '"0x8D7185E6BF8A772"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:31 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 68ce6c17-101a-0096-2547-4a0634000000 + - beac668f-101a-0014-3655-641b9b000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -275,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 8894e09e-b63a-11e9-9262-2816a845e8c6 + - a8a10106-d048-11e9-bbda-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:32 GMT + - Fri, 06 Sep 2019 01:50:09 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -297,19 +127,21 @@ interactions: Content-MD5: - suqff86oMaSmOyE/QaiFWw== Date: - - Sat, 03 Aug 2019 22:03:30 GMT + - Fri, 06 Sep 2019 01:50:08 GMT ETag: - - '"0x8D7185E6C2033DB"' + - '"0x8D7326C8CD698A9"' Last-Modified: - - Sat, 03 Aug 2019 22:03:31 GMT + - Fri, 06 Sep 2019 01:50:09 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a8a10106-d048-11e9-bbda-001a7dda7113 x-ms-request-id: - - 68ce6c19-101a-0096-2647-4a0634000000 + - beac6692-101a-0014-3955-641b9b000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -323,17 +155,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 88a55e3e-b63a-11e9-b432-2816a845e8c6 + - a8aaf21c-d048-11e9-94b5-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:32 GMT + - Fri, 06 Sep 2019 01:50:09 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare8033116f/file8033116f response: @@ -367,217 +199,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:03:30 GMT + - Fri, 06 Sep 2019 01:50:08 GMT ETag: - - '"0x8D7185E6C2033DB"' + - '"0x8D7326C8CD698A9"' Last-Modified: - - Sat, 03 Aug 2019 22:03:31 GMT + - Fri, 06 Sep 2019 01:50:09 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 68ce6c1a-101a-0096-2747-4a0634000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - f0c3f3e4-b63a-11e9-b86d-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:06:27 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8033116f/file8033116f - response: - body: - string: '' - headers: - Content-Length: + - a8aaf21c-d048-11e9-94b5-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:09.6304716Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:09.6304716Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:09.6304716Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:06:26 GMT - ETag: - - '"0x8D7185ED4865AAA"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:26 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 91d55d05-b01a-0090-5247-4af14c000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4 - OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3Bx - cnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmq - q6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj - 5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhsc - HR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RV - VldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2O - j5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbH - yMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8A - AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5 - Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFy - c3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6Slpqeoqaqr - rK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk - 5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwd - Hh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVW - V1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6P - kJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfI - ycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - f113a4ba-b63a-11e9-a925-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:28 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare8033116f/file8033116f?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - suqff86oMaSmOyE/QaiFWw== - Date: - - Sat, 03 Aug 2019 22:06:26 GMT - ETag: - - '"0x8D7185ED4A3D31D"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:26 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 91d55d07-b01a-0090-5347-4af14c000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - f129d1e2-b63a-11e9-816c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:28 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare8033116f/file8033116f - response: - body: - string: !!binary | - AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4 - OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3Bx - cnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmq - q6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj - 5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhsc - HR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RV - VldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2O - j5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbH - yMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8A - AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5 - Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFy - c3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6Slpqeoqaqr - rK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk - 5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwd - Hh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVW - V1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6P - kJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfI - ycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w== - headers: - Accept-Ranges: - - bytes - Content-Length: - - '1024' - Content-Range: - - bytes 0-1023/1024 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:06:26 GMT - ETag: - - '"0x8D7185ED4A3D31D"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:26 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 91d55d09-b01a-0090-5547-4af14c000000 + - beac6694-101a-0014-3a55-641b9b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_unicode_get_file_unicode_name.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_unicode_get_file_unicode_name.yaml index c842e3ea5d43..c7ff6979c074 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_unicode_get_file_unicode_name.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_unicode_get_file_unicode_name.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ac61a358-b639-11e9-b00d-2816a845e8c6 + - a8cedc2c-d048-11e9-9975-001a7dda7113 x-ms-content-length: - '11' x-ms-date: - - Sat, 03 Aug 2019 21:57:23 GMT + - Fri, 06 Sep 2019 01:50:09 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare927511d8/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C response: @@ -33,177 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:57:22 GMT + - Fri, 06 Sep 2019 01:50:09 GMT ETag: - - '"0x8D7185D901A271F"' + - '"0x8D7326C8D169756"' Last-Modified: - - Sat, 03 Aug 2019 21:57:22 GMT + - Fri, 06 Sep 2019 01:50:10 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 37421ba1-c01a-00b6-2746-4a6af8000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: hello world - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '11' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - aca18852-b639-11e9-86f1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:23 GMT - x-ms-range: - - bytes=0-10 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare927511d8/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - XrY7u+Ae7tCTyyK7j1rNww== - Date: - - Sat, 03 Aug 2019 21:57:22 GMT - ETag: - - '"0x8D7185D902BB686"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:22 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 37421ba3-c01a-00b6-2846-4a6af8000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - acbb8f1e-b639-11e9-bf66-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:23 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare927511d8/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C - response: - body: - string: hello world - headers: - Accept-Ranges: - - bytes - Content-Length: - - '11' - Content-Range: - - bytes 0-10/11 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:57:22 GMT - ETag: - - '"0x8D7185D902BB686"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:22 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 37421ba4-c01a-00b6-2946-4a6af8000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - 8939eca8-b63a-11e9-a9d1-2816a845e8c6 - x-ms-content-length: - - '11' - x-ms-date: - - Sat, 03 Aug 2019 22:03:33 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare927511d8/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C - response: - body: - string: '' - headers: - Content-Length: + - a8cedc2c-d048-11e9-9975-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:10.1139286Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:10.1139286Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:10.1139286Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:03:32 GMT - ETag: - - '"0x8D7185E6CF44C4D"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:33 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - f917c40e-401a-00ca-1f47-4af7cd000000 + - f1b2bdfe-001a-007a-6c55-644eb4000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -221,15 +87,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 898f1eb4-b63a-11e9-a4ee-2816a845e8c6 + - a8eaf528-d048-11e9-8266-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:34 GMT + - Fri, 06 Sep 2019 01:50:10 GMT x-ms-range: - bytes=0-10 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -243,19 +109,21 @@ interactions: Content-MD5: - XrY7u+Ae7tCTyyK7j1rNww== Date: - - Sat, 03 Aug 2019 22:03:32 GMT + - Fri, 06 Sep 2019 01:50:09 GMT ETag: - - '"0x8D7185E6D1AC70B"' + - '"0x8D7326C8D1D4FB7"' Last-Modified: - - Sat, 03 Aug 2019 22:03:33 GMT + - Fri, 06 Sep 2019 01:50:10 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a8eaf528-d048-11e9-8266-001a7dda7113 x-ms-request-id: - - f917c411-401a-00ca-2047-4af7cd000000 + - f1b2be01-001a-007a-6e55-644eb4000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -269,17 +137,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 89a002a8-b63a-11e9-979a-2816a845e8c6 + - a8f13a82-d048-11e9-b92d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:34 GMT + - Fri, 06 Sep 2019 01:50:10 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare927511d8/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C response: @@ -295,181 +163,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:03:32 GMT + - Fri, 06 Sep 2019 01:50:09 GMT ETag: - - '"0x8D7185E6D1AC70B"' + - '"0x8D7326C8D1D4FB7"' Last-Modified: - - Sat, 03 Aug 2019 22:03:33 GMT + - Fri, 06 Sep 2019 01:50:10 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - f917c412-401a-00ca-2147-4af7cd000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 x-ms-client-request-id: - - f1cfc3b4-b63a-11e9-a9e0-2816a845e8c6 - x-ms-content-length: - - '11' - x-ms-date: - - Sat, 03 Aug 2019 22:06:29 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare927511d8/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C - response: - body: - string: '' - headers: - Content-Length: + - a8f13a82-d048-11e9-b92d-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:10.1139286Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:10.1139286Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:10.1139286Z' + x-ms-file-parent-id: - '0' - Date: - - Sat, 03 Aug 2019 22:06:28 GMT - ETag: - - '"0x8D7185ED59F9EDD"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:28 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 26d40861-901a-004b-1247-4a559a000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: hello world - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '11' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - f22c6212-b63a-11e9-b242-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:29 GMT - x-ms-range: - - bytes=0-10 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare927511d8/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - XrY7u+Ae7tCTyyK7j1rNww== - Date: - - Sat, 03 Aug 2019 22:06:28 GMT - ETag: - - '"0x8D7185ED5B6865C"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:28 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 26d40863-901a-004b-1347-4a559a000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - f23c253a-b63a-11e9-bdef-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:29 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare927511d8/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C - response: - body: - string: hello world - headers: - Accept-Ranges: - - bytes - Content-Length: - - '11' - Content-Range: - - bytes 0-10/11 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:06:28 GMT - ETag: - - '"0x8D7185ED5B6865C"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:28 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 26d40864-901a-004b-1447-4a559a000000 + - f1b2be03-001a-007a-7055-644eb4000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_big_range_from_file_url.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_big_range_from_file_url.yaml new file mode 100644 index 000000000000..7f4ddb3abdff --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_big_range_from_file_url.yaml @@ -0,0 +1,384 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 2490089a-d01c-11e9-a7ac-001a7dda7113 + x-ms-content-length: + - '1048576' + x-ms-date: + - Thu, 05 Sep 2019 20:31:30 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utsharea4411251/testfile1 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Thu, 05 Sep 2019 20:31:30 GMT + ETag: + - '"0x8D73240090B9685"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:30 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 2490089a-d01c-11e9-a7ac-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-05T20:31:30.7264645Z' + x-ms-file-creation-time: + - '2019-09-05T20:31:30.7264645Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-05T20:31:30.7264645Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 16864655153240182536*4804112389554988934 + x-ms-request-id: + - 42baa437-401a-0028-5728-64f393000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1048576' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 24e50e86-d01c-11e9-8ae9-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:31:30 GMT + x-ms-range: + - bytes=0-1048575 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utsharea4411251/testfile1?comp=range + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - 224fIvQ1+ZOxJMPC/BxiAw== + Date: + - Thu, 05 Sep 2019 20:31:30 GMT + ETag: + - '"0x8D73240096E2949"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:31 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 24e50e86-d01c-11e9-8ae9-001a7dda7113 + x-ms-request-id: + - 42baa43d-401a-0028-5c28-64f393000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 254d5c46-d01c-11e9-845d-001a7dda7113 + x-ms-content-length: + - '1048576' + x-ms-date: + - Thu, 05 Sep 2019 20:31:31 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utsharea4411251/filetoupdate1 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Thu, 05 Sep 2019 20:31:30 GMT + ETag: + - '"0x8D732400988DD44"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:31 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 254d5c46-d01c-11e9-845d-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-05T20:31:31.5474756Z' + x-ms-file-creation-time: + - '2019-09-05T20:31:31.5474756Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-05T20:31:31.5474756Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 16864655153240182536*4804112389554988934 + x-ms-request-id: + - 42baa449-401a-0028-6428-64f393000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 25626eda-d01c-11e9-bbc7-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.file.core.windows.net/utsharea4411251/testfile1?se=2019-09-05T21%3A31%3A31Z&sp=r&sv=2018-03-28&sr=f&sig=ExPGWlWuZytCF36BN8H/kOCqOsE5G6RsN1XN8m4sKu0%3D + x-ms-date: + - Thu, 05 Sep 2019 20:31:31 GMT + x-ms-range: + - bytes=0-1048575 + x-ms-source-range: + - bytes=0-1048575 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utsharea4411251/filetoupdate1?comp=range + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Thu, 05 Sep 2019 20:31:31 GMT + ETag: + - '"0x8D7324009ADCA91"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:31 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 25626eda-d01c-11e9-bbc7-001a7dda7113 + x-ms-content-crc64: + - CBDafWFmG7I= + x-ms-request-id: + - 42baa44b-401a-0028-6628-64f393000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 258768b8-d01c-11e9-91a7-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:31:31 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utsharea4411251/filetoupdate1?comp=rangelist + response: + body: + string: "\uFEFF01048575" + headers: + Content-Type: + - application/xml + Date: + - Thu, 05 Sep 2019 20:31:31 GMT + ETag: + - '"0x8D7324009ADCA91"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:31 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + Transfer-Encoding: + - chunked + x-ms-client-request-id: + - 258768b8-d01c-11e9-91a7-001a7dda7113 + x-ms-content-length: + - '1048576' + x-ms-request-id: + - 42baa450-401a-0028-6a28-64f393000000 + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 25a6a1a4-d01c-11e9-ad49-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:31:32 GMT + x-ms-range: + - bytes=0-1048575 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utsharea4411251/filetoupdate1 + response: + body: + string: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop + headers: + Accept-Ranges: + - bytes + Content-Length: + - '1048576' + Content-Range: + - bytes 0-1048575/1048576 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Thu, 05 Sep 2019 20:31:31 GMT + ETag: + - '"0x8D7324009ADCA91"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:31 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 25a6a1a4-d01c-11e9-ad49-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-05T20:31:31.5474756Z' + x-ms-file-creation-time: + - '2019-09-05T20:31:31.5474756Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-05T20:31:31.5474756Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 16864655153240182536*4804112389554988934 + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - 42baa451-401a-0028-6b28-64f393000000 + x-ms-server-encrypted: + - 'true' + x-ms-type: + - File + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_file_unicode.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_file_unicode.yaml index 7a5f55188fce..9bc90086fcd1 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_file_unicode.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_file_unicode.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ad32f10a-b639-11e9-8e2d-2816a845e8c6 + - a9187440-d048-11e9-b402-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:24 GMT + - Fri, 06 Sep 2019 01:50:10 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef25a0dd5/filef25a0dd5 response: @@ -33,265 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:57:23 GMT + - Fri, 06 Sep 2019 01:50:09 GMT ETag: - - '"0x8D7185D90F2AD18"' + - '"0x8D7326C8D5E11E8"' Last-Modified: - - Sat, 03 Aug 2019 21:57:23 GMT + - Fri, 06 Sep 2019 01:50:10 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 097bbdc0-101a-00d2-3b46-4ada58000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - sopUicvy4+qCt2VevvfiLr6NW+NjMXqU+n3Ujeh8/M3NuDxDhX4ITK5MClLRg6f9pVCCPfdb6+YT - iWYSgQQxmmtEhMsC99zcF1L6WrQC+Kx+fPWUH6ZsbV/B61GR/bwuUqVmKCOUUa0NbHrRC1ROjiad - cbfEwq2bGCCteNGRploJJpHtmweUuLF+ulrfhWEDraAuMI41NKKBz+94bSZwYHEufT3qrMI3WkFP - XqOWKeV1jGSBQkHvlpPdxzncQzJY4fRxJ3Y+TG6I1aSo3SBXyYDkgfvbIzBeGZI8E7TZw+cZ/o/7 - iCan8QL9U2kKhla2ENHSnKLSkAi512jAimZpLtl1KG7beJNWcLk1Qf0QeTGqFQEOxJN/05OObSRE - vsKTTNy04nzqbBYMU+jTK9M6EDFZIXhPLo/hwcwQFdTje/3qfgBBMSpUDbwtODUNVycN2XRWHt0L - bzo2OTZ4fwO2tzQqJSuB26g+Z5nKv8I0Ek9XMRg8K+yQQbENzg7KZ4RDCrK4PjDp4A3dt5e/xpLl - NCXKfixgBex/KLfS0Inh24zpozHBZzBYZ+yUivgAEZTqVpXHj7nJCLNwagHUCIdJ5giaa0rQlQJm - 7sa8vorhyTgsAT+NvLBRCyGNGpRkw9eZGcPVj3cDKfIi6G0sJWasLabAd9yhFjitHXHRao7ZxQmt - d+jH58nc8LBR4qHi68aGpTGh3ITMMG284ekH3YKfTRaSUVZgtMUTV/cVVn/VyQJGqEOI81MdQqJ0 - FyK9OhTPvz1OeY0ux1upnbTPgAiwfrT4wQsoxRNPiLPDmtar+XDK02N50LSlZRBOrnuChIJhmqqT - lmU3NpHqxutiko502nl0sSqoBddL9+DAj12tTYqf2Xlx8Px12tJ2J8ZNwyPM2i3u+y/KI9T7R7yE - f+Dv+RXse+Oq2mLIQJwcxbt0V6tZO+6m87kicd+MXDNXc16EmQakAE0oGTaTszPZVCUy9jDOcidA - 5VoSM2m/p0E0mSuEDy+WsytfKcx1tb2LLSrISRmgD7Vw6E01ykwcZNVJw4ndCWvo2oqJJMRmP+Gn - OaW5BUOXunWN4TouLdNQaeutM2qu0YUYg6vTsU2iB0vDKm5GjtoGBYPZJjcTLWTOyC918ztZDYS6 - DjQtJiVwjF2xeDEYaDShzD0hXq2BnDNCcdXYJONwxlt0UKdFTvbJoQKhgyvsvIEBaoClCbgpz7/L - zG4CMiawIypLkQ1bjOchSwG1G03n3IHUAjBtn8cg+6rGl5p5EQL1U9JoKR1CaDmzKXQMhBO5AwN8 - QyOciBkvHnWPYrO7l9rISfbMeeI74PpXYds/B5hTtctOd7mgPug5px/bLLarDqnZsc4moaVINw== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - ad94daca-b639-11e9-b01a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:25 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharef25a0dd5/filef25a0dd5?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - gBEhEBOzvjL8csga3ATLvQ== - Date: - - Sat, 03 Aug 2019 21:57:23 GMT - ETag: - - '"0x8D7185D912A9019"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:24 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 097bbdc2-101a-00d2-3c46-4ada58000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - adb48f14-b639-11e9-bbfe-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:25 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharef25a0dd5/filef25a0dd5?comp=range - response: - body: - string: '' - headers: - Content-Length: + - a9187440-d048-11e9-b402-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:10.5823720Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:10.5823720Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:10.5823720Z' + x-ms-file-parent-id: - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 21:57:23 GMT - ETag: - - '"0x8D7185D9143C1ED"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:24 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 097bbdc3-101a-00d2-3d46-4ada58000000 + - 3ddd52fb-a01a-0097-3055-6405f9000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - add39738-b639-11e9-b636-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:25 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharef25a0dd5/filef25a0dd5 - response: - body: - string: !!binary | - YWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hp - amtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFi - Y2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWpr - bG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNk - ZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xt - bm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVm - Z2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5v - cGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdo - aWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3Ct - d+jH58nc8LBR4qHi68aGpTGh3ITMMG284ekH3YKfTRaSUVZgtMUTV/cVVn/VyQJGqEOI81MdQqJ0 - FyK9OhTPvz1OeY0ux1upnbTPgAiwfrT4wQsoxRNPiLPDmtar+XDK02N50LSlZRBOrnuChIJhmqqT - lmU3NpHqxutiko502nl0sSqoBddL9+DAj12tTYqf2Xlx8Px12tJ2J8ZNwyPM2i3u+y/KI9T7R7yE - f+Dv+RXse+Oq2mLIQJwcxbt0V6tZO+6m87kicd+MXDNXc16EmQakAE0oGTaTszPZVCUy9jDOcidA - 5VoSM2m/p0E0mSuEDy+WsytfKcx1tb2LLSrISRmgD7Vw6E01ykwcZNVJw4ndCWvo2oqJJMRmP+Gn - OaW5BUOXunWN4TouLdNQaeutM2qu0YUYg6vTsU2iB0vDKm5GjtoGBYPZJjcTLWTOyC918ztZDYS6 - DjQtJiVwjF2xeDEYaDShzD0hXq2BnDNCcdXYJONwxlt0UKdFTvbJoQKhgyvsvIEBaoClCbgpz7/L - zG4CMiawIypLkQ1bjOchSwG1G03n3IHUAjBtn8cg+6rGl5p5EQL1U9JoKR1CaDmzKXQMhBO5AwN8 - QyOciBkvHnWPYrO7l9rISfbMeeI74PpXYds/B5hTtctOd7mgPug5px/bLLarDqnZsc4moaVINw== - headers: - Accept-Ranges: - - bytes - Content-Length: - - '1024' - Content-Range: - - bytes 0-1023/1024 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:57:24 GMT - ETag: - - '"0x8D7185D9143C1ED"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:24 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 097bbdc4-101a-00d2-3e46-4ada58000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8a185818-b63a-11e9-84c8-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:03:35 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef25a0dd5/filef25a0dd5 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:33 GMT - ETag: - - '"0x8D7185E6DD18E22"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:34 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 5c92098a-601a-0099-4f47-4aebc2000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -327,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 8a56fbe8-b63a-11e9-9a74-2816a845e8c6 + - a932a880-d048-11e9-a630-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:35 GMT + - Fri, 06 Sep 2019 01:50:10 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -349,19 +127,21 @@ interactions: Content-MD5: - gBEhEBOzvjL8csga3ATLvQ== Date: - - Sat, 03 Aug 2019 22:03:33 GMT + - Fri, 06 Sep 2019 01:50:09 GMT ETag: - - '"0x8D7185E6DE2A844"' + - '"0x8D7326C8D6566A9"' Last-Modified: - - Sat, 03 Aug 2019 22:03:34 GMT + - Fri, 06 Sep 2019 01:50:10 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a932a880-d048-11e9-a630-001a7dda7113 x-ms-request-id: - - 5c92098d-601a-0099-5047-4aebc2000000 + - 3ddd52ff-a01a-0097-3355-6405f9000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -379,15 +159,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 8a678736-b63a-11e9-8bb7-2816a845e8c6 + - a9393240-d048-11e9-a5a6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:35 GMT + - Fri, 06 Sep 2019 01:50:10 GMT x-ms-range: - bytes=0-511 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -401,19 +181,21 @@ interactions: Content-MD5: - pTsTLZHyQ+et6NksJ1OHxg== Date: - - Sat, 03 Aug 2019 22:03:33 GMT + - Fri, 06 Sep 2019 01:50:09 GMT ETag: - - '"0x8D7185E6DF1C635"' + - '"0x8D7326C8D6E90A1"' Last-Modified: - - Sat, 03 Aug 2019 22:03:34 GMT + - Fri, 06 Sep 2019 01:50:10 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a9393240-d048-11e9-a5a6-001a7dda7113 x-ms-request-id: - - 5c92098e-601a-0099-5147-4aebc2000000 + - 3ddd5302-a01a-0097-3655-6405f9000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -427,17 +209,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 8a76653a-b63a-11e9-a601-2816a845e8c6 + - a9428240-d048-11e9-8414-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:35 GMT + - Fri, 06 Sep 2019 01:50:10 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef25a0dd5/filef25a0dd5 response: @@ -471,269 +253,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:03:34 GMT - ETag: - - '"0x8D7185E6DF1C635"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:34 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 5c92098f-601a-0099-5247-4aebc2000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - f2c6616e-b63a-11e9-9d24-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:06:30 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef25a0dd5/filef25a0dd5 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:06:29 GMT + - Fri, 06 Sep 2019 01:50:09 GMT ETag: - - '"0x8D7185ED67F521E"' + - '"0x8D7326C8D6E90A1"' Last-Modified: - - Sat, 03 Aug 2019 22:06:30 GMT + - Fri, 06 Sep 2019 01:50:10 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - b1dfbeb4-a01a-0007-6347-4a9285000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - sopUicvy4+qCt2VevvfiLr6NW+NjMXqU+n3Ujeh8/M3NuDxDhX4ITK5MClLRg6f9pVCCPfdb6+YT - iWYSgQQxmmtEhMsC99zcF1L6WrQC+Kx+fPWUH6ZsbV/B61GR/bwuUqVmKCOUUa0NbHrRC1ROjiad - cbfEwq2bGCCteNGRploJJpHtmweUuLF+ulrfhWEDraAuMI41NKKBz+94bSZwYHEufT3qrMI3WkFP - XqOWKeV1jGSBQkHvlpPdxzncQzJY4fRxJ3Y+TG6I1aSo3SBXyYDkgfvbIzBeGZI8E7TZw+cZ/o/7 - iCan8QL9U2kKhla2ENHSnKLSkAi512jAimZpLtl1KG7beJNWcLk1Qf0QeTGqFQEOxJN/05OObSRE - vsKTTNy04nzqbBYMU+jTK9M6EDFZIXhPLo/hwcwQFdTje/3qfgBBMSpUDbwtODUNVycN2XRWHt0L - bzo2OTZ4fwO2tzQqJSuB26g+Z5nKv8I0Ek9XMRg8K+yQQbENzg7KZ4RDCrK4PjDp4A3dt5e/xpLl - NCXKfixgBex/KLfS0Inh24zpozHBZzBYZ+yUivgAEZTqVpXHj7nJCLNwagHUCIdJ5giaa0rQlQJm - 7sa8vorhyTgsAT+NvLBRCyGNGpRkw9eZGcPVj3cDKfIi6G0sJWasLabAd9yhFjitHXHRao7ZxQmt - d+jH58nc8LBR4qHi68aGpTGh3ITMMG284ekH3YKfTRaSUVZgtMUTV/cVVn/VyQJGqEOI81MdQqJ0 - FyK9OhTPvz1OeY0ux1upnbTPgAiwfrT4wQsoxRNPiLPDmtar+XDK02N50LSlZRBOrnuChIJhmqqT - lmU3NpHqxutiko502nl0sSqoBddL9+DAj12tTYqf2Xlx8Px12tJ2J8ZNwyPM2i3u+y/KI9T7R7yE - f+Dv+RXse+Oq2mLIQJwcxbt0V6tZO+6m87kicd+MXDNXc16EmQakAE0oGTaTszPZVCUy9jDOcidA - 5VoSM2m/p0E0mSuEDy+WsytfKcx1tb2LLSrISRmgD7Vw6E01ykwcZNVJw4ndCWvo2oqJJMRmP+Gn - OaW5BUOXunWN4TouLdNQaeutM2qu0YUYg6vTsU2iB0vDKm5GjtoGBYPZJjcTLWTOyC918ztZDYS6 - DjQtJiVwjF2xeDEYaDShzD0hXq2BnDNCcdXYJONwxlt0UKdFTvbJoQKhgyvsvIEBaoClCbgpz7/L - zG4CMiawIypLkQ1bjOchSwG1G03n3IHUAjBtn8cg+6rGl5p5EQL1U9JoKR1CaDmzKXQMhBO5AwN8 - QyOciBkvHnWPYrO7l9rISfbMeeI74PpXYds/B5hTtctOd7mgPug5px/bLLarDqnZsc4moaVINw== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - f30702dc-b63a-11e9-b8e4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:31 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharef25a0dd5/filef25a0dd5?comp=range - response: - body: - string: '' - headers: - Content-Length: + - a9428240-d048-11e9-8414-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:10.5823720Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:10.5823720Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:10.5823720Z' + x-ms-file-parent-id: - '0' - Content-MD5: - - gBEhEBOzvjL8csga3ATLvQ== - Date: - - Sat, 03 Aug 2019 22:06:29 GMT - ETag: - - '"0x8D7185ED692DDB2"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:30 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - b1dfbeb6-a01a-0007-6447-4a9285000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - f318520c-b63a-11e9-b394-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:31 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharef25a0dd5/filef25a0dd5?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 22:06:29 GMT - ETag: - - '"0x8D7185ED6A445F5"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:30 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - b1dfbeb8-a01a-0007-6547-4a9285000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - f3299292-b63a-11e9-8c68-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:31 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharef25a0dd5/filef25a0dd5 - response: - body: - string: !!binary | - YWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hp - amtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFi - Y2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWpr - bG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNk - ZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xt - bm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVm - Z2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5v - cGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdo - aWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3Ct - d+jH58nc8LBR4qHi68aGpTGh3ITMMG284ekH3YKfTRaSUVZgtMUTV/cVVn/VyQJGqEOI81MdQqJ0 - FyK9OhTPvz1OeY0ux1upnbTPgAiwfrT4wQsoxRNPiLPDmtar+XDK02N50LSlZRBOrnuChIJhmqqT - lmU3NpHqxutiko502nl0sSqoBddL9+DAj12tTYqf2Xlx8Px12tJ2J8ZNwyPM2i3u+y/KI9T7R7yE - f+Dv+RXse+Oq2mLIQJwcxbt0V6tZO+6m87kicd+MXDNXc16EmQakAE0oGTaTszPZVCUy9jDOcidA - 5VoSM2m/p0E0mSuEDy+WsytfKcx1tb2LLSrISRmgD7Vw6E01ykwcZNVJw4ndCWvo2oqJJMRmP+Gn - OaW5BUOXunWN4TouLdNQaeutM2qu0YUYg6vTsU2iB0vDKm5GjtoGBYPZJjcTLWTOyC918ztZDYS6 - DjQtJiVwjF2xeDEYaDShzD0hXq2BnDNCcdXYJONwxlt0UKdFTvbJoQKhgyvsvIEBaoClCbgpz7/L - zG4CMiawIypLkQ1bjOchSwG1G03n3IHUAjBtn8cg+6rGl5p5EQL1U9JoKR1CaDmzKXQMhBO5AwN8 - QyOciBkvHnWPYrO7l9rISfbMeeI74PpXYds/B5hTtctOd7mgPug5px/bLLarDqnZsc4moaVINw== - headers: - Accept-Ranges: - - bytes - Content-Length: - - '1024' - Content-Range: - - bytes 0-1023/1024 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:06:29 GMT - ETag: - - '"0x8D7185ED6A445F5"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:30 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - b1dfbeb9-a01a-0007-6647-4a9285000000 + - 3ddd5303-a01a-0097-3755-6405f9000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range.yaml index 5cd62dbd252c..43c999e9e893 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - aedb31e6-b639-11e9-af33-2816a845e8c6 + - a96fdb0a-d048-11e9-aa1f-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:27 GMT + - Fri, 06 Sep 2019 01:50:11 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare9a2a0afc/file9a2a0afc response: @@ -33,265 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:57:26 GMT + - Fri, 06 Sep 2019 01:50:10 GMT ETag: - - '"0x8D7185D929250CE"' + - '"0x8D7326C8DB287E4"' Last-Modified: - - Sat, 03 Aug 2019 21:57:26 GMT + - Fri, 06 Sep 2019 01:50:11 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 76528afd-701a-004a-4146-4a5467000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - WWPfKZYPf73+G2A3+in3fXRXtt49U73UhWjSb2CfXJyYg9v05vkVRxD9DedBVPnEvXV37rDLa1e4 - rrA3Stbo35na2ZIB5n/Ylf25RCYVD7QKvYSdCzP3jR20FUd5T/KKQ8IEFtvcyNkw/sxqwcUnOU7T - 3t96PVWz4t4ivT/+OagqRZvcp0AoCSrYpUu4fKWMLV0SDw8keFMycR14CyfqJLgX3IvVMRSIr2iQ - Lskkjm6DQK/mxjn30B9VrKETZb4hosaiq6/+8mylfVpC5gSEaVM5YDk0EGWVk2j9nq5xULoUI13j - OEVfCLbfj1pNSHZxnISQHaFzaBvHFg+CZokYUFYxo9o6DYPPp1+pswrdGjLjFudxnml2GOdjfEe6 - FIT7dj9aHx7oaV0weM1X2luXJEe+P9OE+MdNlQpj9Ao0CZg7PvVNUnHl0SIIzz51U1g3EX4GN3K1 - R5MA+cdjGESI8ijfwijIMhHK+5TJCnMnqZwNWBbz9tadES/YEjLccrFa3pPgYgknSNVAsuJ+RCKl - 2PAmeSpu+En5LFk2ZN7b2+HW9LLZhcuoJcyN/K5jNESAnAE4e2m4LlV/VCU9mLxehhxEPVfiFfp7 - d96Pri5mrFptazBlNyEMv2i0O9scSuGx8r62hmBesDBPfPFq2LC+W4N+RJ86CySlXL1HJpxkux42 - J/AEjCksaCP9S1rUv9b1bzIotRUc23iKTXW9ORzdEEGMcKcRJJ3KUVNLLV/y0L/q0gcyX5+7Oyyg - RpkzvuMpo/H6pfzQT2sMCrr4fIvLod0bREYhsKLmVbcesGuLT88/ehc1ej5ZV+7uOeSpwRxSECgL - FHXz1LXxeb+xHFkZgS8wwhgI510KKcXAdb8aEnWMbwxO+3+QNkqkzcjhwZrTcv6pLQ+kA18nh6z1 - TeYVzndeqhGnz8KxSA88HGhT2hYNlF4z7oaKl+ZaZjYEgpwX+vPY+v6RzO6AQuEAUhiKPTfkD4N0 - sIu33wglYiucyOeLrSdr4CEUU+ZUDr+FdEhWaIOadQIx8n2Xkg64qkBLRmuv2g/TRZ3VqEhANBrV - Graq1Hhuccm1OkcLVnqmwau5rxWbKh8Jk+8NoFuIRqgyO6x0EmCQn9/2Hggcb9GaHw3F3O/gaNAs - KEYo4AyIJyc7H9ZqJqHvfXo3/AxLnMtodU7I6kCj0CMLk2xJ8y+qi1SmWagKIr8x6fXl16BS76Eb - fqwvgg7qsMG/Jj4Pd/2ZpJgoShVPfTYAVFS1Fa1/YkV+YH4AXl10mEjZxsj5/iPFNvsCg2pJlzgR - DV2BH/W4mUxSQOpmnR/svlusOyHNiad8GsoSHkpNxrfYQzLDPGQ3Yl2obz3J11CsHVKj3E1AjQ== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - af2bd346-b639-11e9-9fd4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:27 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare9a2a0afc/file9a2a0afc?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - Wm0fTOLKwKfKCredvgzJlg== - Date: - - Sat, 03 Aug 2019 21:57:26 GMT - ETag: - - '"0x8D7185D92B82F34"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:26 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 76528aff-701a-004a-4246-4a5467000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - af3d3118-b639-11e9-9c00-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:28 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare9a2a0afc/file9a2a0afc?comp=range - response: - body: - string: '' - headers: - Content-Length: + - a96fdb0a-d048-11e9-aa1f-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:11.1358948Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:11.1358948Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:11.1358948Z' + x-ms-file-parent-id: - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 21:57:26 GMT - ETag: - - '"0x8D7185D92C99780"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:26 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 76528b00-701a-004a-4346-4a5467000000 + - f214b031-c01a-004a-7855-64f07b000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - af503886-b639-11e9-93ec-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:28 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare9a2a0afc/file9a2a0afc - response: - body: - string: !!binary | - YWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hp - amtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFi - Y2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWpr - bG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNk - ZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xt - bm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVm - Z2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5v - cGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdo - aWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3A2 - J/AEjCksaCP9S1rUv9b1bzIotRUc23iKTXW9ORzdEEGMcKcRJJ3KUVNLLV/y0L/q0gcyX5+7Oyyg - RpkzvuMpo/H6pfzQT2sMCrr4fIvLod0bREYhsKLmVbcesGuLT88/ehc1ej5ZV+7uOeSpwRxSECgL - FHXz1LXxeb+xHFkZgS8wwhgI510KKcXAdb8aEnWMbwxO+3+QNkqkzcjhwZrTcv6pLQ+kA18nh6z1 - TeYVzndeqhGnz8KxSA88HGhT2hYNlF4z7oaKl+ZaZjYEgpwX+vPY+v6RzO6AQuEAUhiKPTfkD4N0 - sIu33wglYiucyOeLrSdr4CEUU+ZUDr+FdEhWaIOadQIx8n2Xkg64qkBLRmuv2g/TRZ3VqEhANBrV - Graq1Hhuccm1OkcLVnqmwau5rxWbKh8Jk+8NoFuIRqgyO6x0EmCQn9/2Hggcb9GaHw3F3O/gaNAs - KEYo4AyIJyc7H9ZqJqHvfXo3/AxLnMtodU7I6kCj0CMLk2xJ8y+qi1SmWagKIr8x6fXl16BS76Eb - fqwvgg7qsMG/Jj4Pd/2ZpJgoShVPfTYAVFS1Fa1/YkV+YH4AXl10mEjZxsj5/iPFNvsCg2pJlzgR - DV2BH/W4mUxSQOpmnR/svlusOyHNiad8GsoSHkpNxrfYQzLDPGQ3Yl2obz3J11CsHVKj3E1AjQ== - headers: - Accept-Ranges: - - bytes - Content-Length: - - '1024' - Content-Range: - - bytes 0-1023/1024 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 21:57:26 GMT - ETag: - - '"0x8D7185D92C99780"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:26 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - 76528b03-701a-004a-4646-4a5467000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8b262fe6-b63a-11e9-a9a7-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:03:37 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare9a2a0afc/file9a2a0afc - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:35 GMT - ETag: - - '"0x8D7185E6ED942E3"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:36 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ee049471-901a-0069-2f47-4a3bac000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -327,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 8b5f0118-b63a-11e9-b24f-2816a845e8c6 + - a986c140-d048-11e9-89ae-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:37 GMT + - Fri, 06 Sep 2019 01:50:11 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -349,19 +127,21 @@ interactions: Content-MD5: - Wm0fTOLKwKfKCredvgzJlg== Date: - - Sat, 03 Aug 2019 22:03:35 GMT + - Fri, 06 Sep 2019 01:50:11 GMT ETag: - - '"0x8D7185E6EF7CCF4"' + - '"0x8D7326C8DB94045"' Last-Modified: - - Sat, 03 Aug 2019 22:03:36 GMT + - Fri, 06 Sep 2019 01:50:11 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a986c140-d048-11e9-89ae-001a7dda7113 x-ms-request-id: - - ee049474-901a-0069-3047-4a3bac000000 + - f214b035-c01a-004a-7b55-64f07b000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -379,15 +159,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 8b7d48f4-b63a-11e9-a885-2816a845e8c6 + - a98d257a-d048-11e9-a1a5-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:37 GMT + - Fri, 06 Sep 2019 01:50:11 GMT x-ms-range: - bytes=0-511 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -401,19 +181,21 @@ interactions: Content-MD5: - pTsTLZHyQ+et6NksJ1OHxg== Date: - - Sat, 03 Aug 2019 22:03:35 GMT + - Fri, 06 Sep 2019 01:50:11 GMT ETag: - - '"0x8D7185E6F0C430E"' + - '"0x8D7326C8DBF5C44"' Last-Modified: - - Sat, 03 Aug 2019 22:03:36 GMT + - Fri, 06 Sep 2019 01:50:11 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - a98d257a-d048-11e9-a1a5-001a7dda7113 x-ms-request-id: - - ee049475-901a-0069-3147-4a3bac000000 + - f214b037-c01a-004a-7d55-64f07b000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -427,17 +209,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 8b9213f6-b63a-11e9-bc5c-2816a845e8c6 + - a99348c0-d048-11e9-8185-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:37 GMT + - Fri, 06 Sep 2019 01:50:11 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare9a2a0afc/file9a2a0afc response: @@ -471,269 +253,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 22:03:35 GMT - ETag: - - '"0x8D7185E6F0C430E"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:36 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin - x-ms-request-id: - - ee049476-901a-0069-3247-4a3bac000000 - x-ms-server-encrypted: - - 'true' - x-ms-type: - - File - x-ms-version: - - '2018-11-09' - status: - code: 206 - message: Partial Content -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - f3b90f22-b63a-11e9-acfc-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:06:32 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare9a2a0afc/file9a2a0afc - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:06:31 GMT + - Fri, 06 Sep 2019 01:50:11 GMT ETag: - - '"0x8D7185ED7748D25"' + - '"0x8D7326C8DBF5C44"' Last-Modified: - - Sat, 03 Aug 2019 22:06:31 GMT + - Fri, 06 Sep 2019 01:50:11 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 8c5a696a-d01a-0021-7e47-4a0931000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - WWPfKZYPf73+G2A3+in3fXRXtt49U73UhWjSb2CfXJyYg9v05vkVRxD9DedBVPnEvXV37rDLa1e4 - rrA3Stbo35na2ZIB5n/Ylf25RCYVD7QKvYSdCzP3jR20FUd5T/KKQ8IEFtvcyNkw/sxqwcUnOU7T - 3t96PVWz4t4ivT/+OagqRZvcp0AoCSrYpUu4fKWMLV0SDw8keFMycR14CyfqJLgX3IvVMRSIr2iQ - Lskkjm6DQK/mxjn30B9VrKETZb4hosaiq6/+8mylfVpC5gSEaVM5YDk0EGWVk2j9nq5xULoUI13j - OEVfCLbfj1pNSHZxnISQHaFzaBvHFg+CZokYUFYxo9o6DYPPp1+pswrdGjLjFudxnml2GOdjfEe6 - FIT7dj9aHx7oaV0weM1X2luXJEe+P9OE+MdNlQpj9Ao0CZg7PvVNUnHl0SIIzz51U1g3EX4GN3K1 - R5MA+cdjGESI8ijfwijIMhHK+5TJCnMnqZwNWBbz9tadES/YEjLccrFa3pPgYgknSNVAsuJ+RCKl - 2PAmeSpu+En5LFk2ZN7b2+HW9LLZhcuoJcyN/K5jNESAnAE4e2m4LlV/VCU9mLxehhxEPVfiFfp7 - d96Pri5mrFptazBlNyEMv2i0O9scSuGx8r62hmBesDBPfPFq2LC+W4N+RJ86CySlXL1HJpxkux42 - J/AEjCksaCP9S1rUv9b1bzIotRUc23iKTXW9ORzdEEGMcKcRJJ3KUVNLLV/y0L/q0gcyX5+7Oyyg - RpkzvuMpo/H6pfzQT2sMCrr4fIvLod0bREYhsKLmVbcesGuLT88/ehc1ej5ZV+7uOeSpwRxSECgL - FHXz1LXxeb+xHFkZgS8wwhgI510KKcXAdb8aEnWMbwxO+3+QNkqkzcjhwZrTcv6pLQ+kA18nh6z1 - TeYVzndeqhGnz8KxSA88HGhT2hYNlF4z7oaKl+ZaZjYEgpwX+vPY+v6RzO6AQuEAUhiKPTfkD4N0 - sIu33wglYiucyOeLrSdr4CEUU+ZUDr+FdEhWaIOadQIx8n2Xkg64qkBLRmuv2g/TRZ3VqEhANBrV - Graq1Hhuccm1OkcLVnqmwau5rxWbKh8Jk+8NoFuIRqgyO6x0EmCQn9/2Hggcb9GaHw3F3O/gaNAs - KEYo4AyIJyc7H9ZqJqHvfXo3/AxLnMtodU7I6kCj0CMLk2xJ8y+qi1SmWagKIr8x6fXl16BS76Eb - fqwvgg7qsMG/Jj4Pd/2ZpJgoShVPfTYAVFS1Fa1/YkV+YH4AXl10mEjZxsj5/iPFNvsCg2pJlzgR - DV2BH/W4mUxSQOpmnR/svlusOyHNiad8GsoSHkpNxrfYQzLDPGQ3Yl2obz3J11CsHVKj3E1AjQ== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - f401ca82-b63a-11e9-b76f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:32 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare9a2a0afc/file9a2a0afc?comp=range - response: - body: - string: '' - headers: - Content-Length: + - a99348c0-d048-11e9-8185-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:11.1358948Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:11.1358948Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:11.1358948Z' + x-ms-file-parent-id: - '0' - Content-MD5: - - Wm0fTOLKwKfKCredvgzJlg== - Date: - - Sat, 03 Aug 2019 22:06:31 GMT - ETag: - - '"0x8D7185ED78E8284"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:31 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 8c5a696c-d01a-0021-7f47-4a0931000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - f414724c-b63a-11e9-8800-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:33 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare9a2a0afc/file9a2a0afc?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 22:06:31 GMT - ETag: - - '"0x8D7185ED7A198CE"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:31 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 8c5a696d-d01a-0021-8047-4a0931000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - f4271fba-b63a-11e9-8154-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:33 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare9a2a0afc/file9a2a0afc - response: - body: - string: !!binary | - YWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hp - amtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFi - Y2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWpr - bG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNk - ZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xt - bm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVm - Z2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5v - cGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdo - aWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3A2 - J/AEjCksaCP9S1rUv9b1bzIotRUc23iKTXW9ORzdEEGMcKcRJJ3KUVNLLV/y0L/q0gcyX5+7Oyyg - RpkzvuMpo/H6pfzQT2sMCrr4fIvLod0bREYhsKLmVbcesGuLT88/ehc1ej5ZV+7uOeSpwRxSECgL - FHXz1LXxeb+xHFkZgS8wwhgI510KKcXAdb8aEnWMbwxO+3+QNkqkzcjhwZrTcv6pLQ+kA18nh6z1 - TeYVzndeqhGnz8KxSA88HGhT2hYNlF4z7oaKl+ZaZjYEgpwX+vPY+v6RzO6AQuEAUhiKPTfkD4N0 - sIu33wglYiucyOeLrSdr4CEUU+ZUDr+FdEhWaIOadQIx8n2Xkg64qkBLRmuv2g/TRZ3VqEhANBrV - Graq1Hhuccm1OkcLVnqmwau5rxWbKh8Jk+8NoFuIRqgyO6x0EmCQn9/2Hggcb9GaHw3F3O/gaNAs - KEYo4AyIJyc7H9ZqJqHvfXo3/AxLnMtodU7I6kCj0CMLk2xJ8y+qi1SmWagKIr8x6fXl16BS76Eb - fqwvgg7qsMG/Jj4Pd/2ZpJgoShVPfTYAVFS1Fa1/YkV+YH4AXl10mEjZxsj5/iPFNvsCg2pJlzgR - DV2BH/W4mUxSQOpmnR/svlusOyHNiad8GsoSHkpNxrfYQzLDPGQ3Yl2obz3J11CsHVKj3E1AjQ== - headers: - Accept-Ranges: - - bytes - Content-Length: - - '1024' - Content-Range: - - bytes 0-1023/1024 - Content-Type: - - application/xml; charset=utf-8 - Date: - - Sat, 03 Aug 2019 22:06:31 GMT - ETag: - - '"0x8D7185ED7A198CE"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:31 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 8c5a696e-d01a-0021-0147-4a0931000000 + - f214b039-c01a-004a-7f55-64f07b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range_from_file_url.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range_from_file_url.yaml new file mode 100644 index 000000000000..c49c6028c173 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range_from_file_url.yaml @@ -0,0 +1,456 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 20d68de6-d01c-11e9-950c-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Thu, 05 Sep 2019 20:31:24 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare5ed210c0/testfile + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Thu, 05 Sep 2019 20:31:23 GMT + ETag: + - '"0x8D7324005458B91"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:24 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 20d68de6-d01c-11e9-950c-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-05T20:31:24.3954065Z' + x-ms-file-creation-time: + - '2019-09-05T20:31:24.3954065Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-05T20:31:24.3954065Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 16864655153240182536*4804112389554988934 + x-ms-request-id: + - b3938995-501a-0024-7a28-64649b000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + l0bwyNBUGj5fHYY8mmuZgG1gcWbNrWasDu/hvh1yRdbRYcq3n0DAu/nVYaeaVWK+UKttgFPdpt3W + ankKJ5VdRv7lPETaHtHtGDezexTNqoFyf2nawMlxqr3q4u5AI6eaYonombbprtGQ3Vuh5bQc3qw+ + SZ1PAWVqqJxlHlW2XcDxe97vgUkrbpWj4kCrKBpU+Q+zqAXlgspVU4/gd/EhDSacaK7bhYhPuMQB + P/5s1giD6aXOzk9KsNUfYc3kG8MKadfIDLmuvj+08prJmd7N3RcCFyTW7WxHQLQcqSc3hJOh9Gfz + PvylK/C4TuWc851VYm+Xodanv6kBg248YKgPvm1zbvdMQP7EmnUmlvTcRoNscWTfz0MoaKNRKntm + GBvQ+MUQ32JrSymXg07PQPIRqY/Jko21aQq/V4FSgNh/13hp9Ya/nNiY3d2A8XA8lzprKr6w9nc+ + zvCTD1L2A7LjfIkU1ouflIexTQptyfYICurSutZOhgOMXstwP6xEExJP5a0j0hhfqgnyDcWjQjCB + QyQVgwp4ILal9k432MzJWLIOabf9/ImG78leWGa4VcMrx/0+uKrDjJtyM7+dyGrXToBBK7ErOcIC + f9VwCJJ5lU6t2AI+0viDg8zxyk4gWloJcABOQV8NYWeD3e7Y2xy6wrKiSQyn+bkCz6560x/uXz9n + dA38sUpMMuqW8N3c7U1ATDnGT4I5GjfPCOybsYGU1+JjFpHeAq6ketOg9NO7rJgEgJFfymzIZWEC + TWYXKLJwL9r0W207gSdiKyYENrfp5BL29vysfrZZGTkSe5Pcp80Mw+wWGSqPCpsLKPLV/PYrrGIg + L6Ceo5yf4vMioYqedlx3CYvcoScT6qJr+K26Kl3JWWQghis8gnKxAO5HM+FRv54CLoof0jVvj64R + f4qyxiX3+6cWTVWusY11LW6QM1B8lJkcujhOgzHTE14pwcIPuOOgMb3TvwRwDMrkTFfJvV9/4yvo + /HfZgVc02hz9q2AOsq76fhzxM55EGgpPlPXQLcayQ4ma5hnCZ0Kvhm0x7yrDTv5flY9E2e/5NBO1 + ens7FuGyAcGPTkw/8Uy4oFcD6hI+14D+KYgTMycE4FRsyrrejdc2iT2tUp1Kue/AxH/idiZQTN/z + 7R4KttElXZaQeoqfVuWF6B+VP7zQWIv3HvckYplOGMbx+ud/Kkxk+n/NMaj3SzkmXIyLjtZsW3pp + FpBxMPEfO+TG1L2UTq/9POj9ck1c3bXtfhNP031Uy3c2b2gO4z5U9KJPp9cmDSP0N4i+/T4ycnpN + yYhYTwE87x/wZjxwad+CWeAnsl60lkMwuxdMh5pO6zWXmY7OaEipRUEtAVnPmhJJzak3deTQJg== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 211f3746-d01c-11e9-9c58-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:31:24 GMT + x-ms-range: + - bytes=0-1023 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshare5ed210c0/testfile?comp=range + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - JI2STeHn12o/k3TUSLJWkA== + Date: + - Thu, 05 Sep 2019 20:31:23 GMT + ETag: + - '"0x8D732400559AFE1"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:24 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 211f3746-d01c-11e9-9c58-001a7dda7113 + x-ms-request-id: + - b3938997-501a-0024-7b28-64649b000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '512' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 2132cafa-d01c-11e9-b518-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:31:24 GMT + x-ms-range: + - bytes=0-511 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshare5ed210c0/testfile?comp=range + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - pTsTLZHyQ+et6NksJ1OHxg== + Date: + - Thu, 05 Sep 2019 20:31:23 GMT + ETag: + - '"0x8D732400570452B"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:24 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 2132cafa-d01c-11e9-b518-001a7dda7113 + x-ms-request-id: + - b3938998-501a-0024-7c28-64649b000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 214fbbe2-d01c-11e9-b007-001a7dda7113 + x-ms-content-length: + - '2048' + x-ms-date: + - Thu, 05 Sep 2019 20:31:24 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare5ed210c0/filetoupdate + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Thu, 05 Sep 2019 20:31:23 GMT + ETag: + - '"0x8D73240058EF0D2"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:24 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 214fbbe2-d01c-11e9-b007-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-05T20:31:24.8764114Z' + x-ms-file-creation-time: + - '2019-09-05T20:31:24.8764114Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-05T20:31:24.8764114Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 16864655153240182536*4804112389554988934 + x-ms-request-id: + - b3938999-501a-0024-7d28-64649b000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 21696e38-d01c-11e9-b3fd-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.file.core.windows.net/utshare5ed210c0/testfile?se=2019-09-05T21%3A31%3A24Z&sp=r&sv=2018-03-28&sr=f&sig=RhCN9zuZJI/ps41fGdmNqQw32N5MMJ1jJRLy7TOfF8w%3D + x-ms-date: + - Thu, 05 Sep 2019 20:31:24 GMT + x-ms-range: + - bytes=0-511 + x-ms-source-range: + - bytes=0-511 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshare5ed210c0/filetoupdate?comp=range + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Thu, 05 Sep 2019 20:31:24 GMT + ETag: + - '"0x8D7324005BA6DE6"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:25 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 21696e38-d01c-11e9-b3fd-001a7dda7113 + x-ms-content-crc64: + - EZA9hgZaRrQ= + x-ms-request-id: + - b393899a-501a-0024-7e28-64649b000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 2194589c-d01c-11e9-8243-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:31:25 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshare5ed210c0/filetoupdate?comp=rangelist + response: + body: + string: "\uFEFF0511" + headers: + Content-Type: + - application/xml + Date: + - Thu, 05 Sep 2019 20:31:24 GMT + ETag: + - '"0x8D7324005BA6DE6"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:25 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + Transfer-Encoding: + - chunked + x-ms-client-request-id: + - 2194589c-d01c-11e9-8243-001a7dda7113 + x-ms-content-length: + - '2048' + x-ms-request-id: + - b393899c-501a-0024-8028-64649b000000 + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 21ad3af4-d01c-11e9-84c6-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:31:25 GMT + x-ms-range: + - bytes=0-511 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshare5ed210c0/filetoupdate + response: + body: + string: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop + headers: + Accept-Ranges: + - bytes + Content-Length: + - '512' + Content-Range: + - bytes 0-511/2048 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Thu, 05 Sep 2019 20:31:24 GMT + ETag: + - '"0x8D7324005BA6DE6"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:25 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 21ad3af4-d01c-11e9-84c6-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-05T20:31:24.8764114Z' + x-ms-file-creation-time: + - '2019-09-05T20:31:24.8764114Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-05T20:31:24.8764114Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 16864655153240182536*4804112389554988934 + x-ms-lease-state: + - available + x-ms-lease-status: + - unlocked + x-ms-request-id: + - b393899d-501a-0024-0128-64649b000000 + x-ms-server-encrypted: + - 'true' + x-ms-type: + - File + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range_from_file_url_when_source_file_does_not_have_enough_bytes.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range_from_file_url_when_source_file_does_not_have_enough_bytes.yaml new file mode 100644 index 000000000000..e284864bfece --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range_from_file_url_when_source_file_does_not_have_enough_bytes.yaml @@ -0,0 +1,351 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 1cc83f40-d01c-11e9-afc5-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Thu, 05 Sep 2019 20:31:17 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshared73322e8/testfile1 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Thu, 05 Sep 2019 20:31:17 GMT + ETag: + - '"0x8D732400140068A"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:17 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 1cc83f40-d01c-11e9-afc5-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-05T20:31:17.6483466Z' + x-ms-file-creation-time: + - '2019-09-05T20:31:17.6483466Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-05T20:31:17.6483466Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 16864655153240182536*4804112389554988934 + x-ms-request-id: + - 25af090c-e01a-001e-1328-647ee3000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + T4MQcVMsYJ/3n4vOuI1eygs+Uw00RipuXGYJ9G4SI5z7XVKA2dgqljLvPKUGajiRqXgA6O7v82u0 + D1tTGgSw+xNsYA2T2f3N4q3XszkmWYJmUKGowo3PzZi5r29pKB96JcIT2dsRuhe4lSEovmPEztOL + 5ZGSziDJnNsaKIO0AhUxYEZBt3EHEtG2OpR3N2os1h0gWlTgF9fWqnJ9B/OBkqeB02U9XtypbhFP + Hiz2DIzjvmESfD14bDwt+11GKAWI5seM73TpwJktCI5xmwOucnGPxjRGlz5o4zuqUbtjJxJIwnN7 + 9yGsKbqk5/HOQ8H6IDPLETAidKk88UC43i3hw4zVySgzemk2vmn28zsP42mEJYFFk1B9NNA5K0gz + d1pkKgHJgdjU2MjgsDFtiSTygDlQ6DqO9ZtMGBVGTb0HNJsqVveiUy9nQnsVD4LHKoZzX7P4desN + rfy+GEPRXtYv1BXfBt7oAjq6QUIclHB4O1y/NogT3y+bgQ1yEkHUJ3Kk2c7f/X2RA1KFyV4711fO + rbXZkxL50Xitxz+ntmsKNMNO2FYZqm7kwiHHYwkQblcF2zq/9dpbfaLMq5jzsylx9l6x16pCqPxw + HSh/kd5TZERMcYA3ghBOccN3PAGSO+cnmys+EWXcWapUlw6Zv+xTfqC/djsQP6v2AMWhNJH2dDQc + qFy4MP5/ujO3nnHJt7ImgqPRhkuU9/BZkegi8WvPUqg5S+QRfiJ1ZBy0l6KDMK33wN7Lnaw77f6C + zDycL9oPAtP7+g4T4/qzkTaaRZO0uD84FmSCP519hwQ5qfRYPI18nz8ayCP1yeYJj+VcieZxvdE/ + yQ2NUOgQYQF88uYMmuPmr4U9TOG2Bsqdc5cEbTYr7wkClHES8ZG8j1UIHl6NtYuMCk1ADWACjQsD + 1rv3llvp5RCmhjR7LD6RgIWKXkFD60X1OqOiPFpHOITjOdpjY+4NZ6FFmnicrH3Tq5l81nR5re6p + tKMlKvt9vlctCjup03lgmW4rjOyG3yqR1yNucagLKYiy+IT4fLf+nZkTn4kkKUN14BYvWHSzYKfn + nid+/RmW8+GcQE1siuHQuSnW0i+FyUy/8s04uJxDbNVA8oDPY+8cJzJ+iYhUjJxn7PgNYviVryLl + OQYioY4UflKn15zcEQa+xwBu1PsmQ/QTFdefbIaTM4qdvVBfz0bRvnhNMVNOct4gSHEnCStFcLkk + R7qbisps/XPd10maudOhOgpHo22oUDs+t/0x56jiNYtpoytKd/fFXC9yPMzkLjpnnaeb7sNA5e9J + DzfRDPh6Rhxt2ofhTu6bZ0vMxPXLFJxgQiKBm5pMMQ9F49dYnk7NgVDqG8EGTac4YESOyNuTsQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 1d19a4fa-d01c-11e9-848a-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:31:17 GMT + x-ms-range: + - bytes=0-1023 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshared73322e8/testfile1?comp=range + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - h0fPlAPrDLSEsbSYvfDliw== + Date: + - Thu, 05 Sep 2019 20:31:17 GMT + ETag: + - '"0x8D732400152560C"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:17 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 1d19a4fa-d01c-11e9-848a-001a7dda7113 + x-ms-request-id: + - 25af090e-e01a-001e-1428-647ee3000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 1d2c83d8-d01c-11e9-8f4f-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Thu, 05 Sep 2019 20:31:17 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshared73322e8/filetoupdate + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Thu, 05 Sep 2019 20:31:17 GMT + ETag: + - '"0x8D7324001651B4A"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:17 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 1d2c83d8-d01c-11e9-8f4f-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-05T20:31:17.8913610Z' + x-ms-file-creation-time: + - '2019-09-05T20:31:17.8913610Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-05T20:31:17.8913610Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 16864655153240182536*4804112389554988934 + x-ms-request-id: + - 25af090f-e01a-001e-1528-647ee3000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: !!binary | + T4MQcVMsYJ/3n4vOuI1eygs+Uw00RipuXGYJ9G4SI5z7XVKA2dgqljLvPKUGajiRqXgA6O7v82u0 + D1tTGgSw+xNsYA2T2f3N4q3XszkmWYJmUKGowo3PzZi5r29pKB96JcIT2dsRuhe4lSEovmPEztOL + 5ZGSziDJnNsaKIO0AhUxYEZBt3EHEtG2OpR3N2os1h0gWlTgF9fWqnJ9B/OBkqeB02U9XtypbhFP + Hiz2DIzjvmESfD14bDwt+11GKAWI5seM73TpwJktCI5xmwOucnGPxjRGlz5o4zuqUbtjJxJIwnN7 + 9yGsKbqk5/HOQ8H6IDPLETAidKk88UC43i3hw4zVySgzemk2vmn28zsP42mEJYFFk1B9NNA5K0gz + d1pkKgHJgdjU2MjgsDFtiSTygDlQ6DqO9ZtMGBVGTb0HNJsqVveiUy9nQnsVD4LHKoZzX7P4desN + rfy+GEPRXtYv1BXfBt7oAjq6QUIclHB4O1y/NogT3y+bgQ1yEkHUJ3Kk2c7f/X2RA1KFyV4711fO + rbXZkxL50Xitxz+ntmsKNMNO2FYZqm7kwiHHYwkQblcF2zq/9dpbfaLMq5jzsylx9l6x16pCqPxw + HSh/kd5TZERMcYA3ghBOccN3PAGSO+cnmys+EWXcWapUlw6Zv+xTfqC/djsQP6v2AMWhNJH2dDQc + qFy4MP5/ujO3nnHJt7ImgqPRhkuU9/BZkegi8WvPUqg5S+QRfiJ1ZBy0l6KDMK33wN7Lnaw77f6C + zDycL9oPAtP7+g4T4/qzkTaaRZO0uD84FmSCP519hwQ5qfRYPI18nz8ayCP1yeYJj+VcieZxvdE/ + yQ2NUOgQYQF88uYMmuPmr4U9TOG2Bsqdc5cEbTYr7wkClHES8ZG8j1UIHl6NtYuMCk1ADWACjQsD + 1rv3llvp5RCmhjR7LD6RgIWKXkFD60X1OqOiPFpHOITjOdpjY+4NZ6FFmnicrH3Tq5l81nR5re6p + tKMlKvt9vlctCjup03lgmW4rjOyG3yqR1yNucagLKYiy+IT4fLf+nZkTn4kkKUN14BYvWHSzYKfn + nid+/RmW8+GcQE1siuHQuSnW0i+FyUy/8s04uJxDbNVA8oDPY+8cJzJ+iYhUjJxn7PgNYviVryLl + OQYioY4UflKn15zcEQa+xwBu1PsmQ/QTFdefbIaTM4qdvVBfz0bRvnhNMVNOct4gSHEnCStFcLkk + R7qbisps/XPd10maudOhOgpHo22oUDs+t/0x56jiNYtpoytKd/fFXC9yPMzkLjpnnaeb7sNA5e9J + DzfRDPh6Rhxt2ofhTu6bZ0vMxPXLFJxgQiKBm5pMMQ9F49dYnk7NgVDqG8EGTac4YESOyNuTsQ== + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 1d3e671c-d01c-11e9-b7ec-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:31:17 GMT + x-ms-range: + - bytes=0-1023 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshared73322e8/filetoupdate?comp=range + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - h0fPlAPrDLSEsbSYvfDliw== + Date: + - Thu, 05 Sep 2019 20:31:17 GMT + ETag: + - '"0x8D7324001798D44"' + Last-Modified: + - Thu, 05 Sep 2019 20:31:18 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 1d3e671c-d01c-11e9-b7ec-001a7dda7113 + x-ms-request-id: + - 25af0911-e01a-001e-1628-647ee3000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 1d532786-d01c-11e9-8ab0-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.file.core.windows.net/utshared73322e8/testfile1?sv=2018-03-28&sr=f&sig=LDAxxZdU4gp8W4SAW7sJhPyaZz66KWjB1J5fzCIlkpY%3D + x-ms-date: + - Thu, 05 Sep 2019 20:31:18 GMT + x-ms-range: + - bytes=0-2049 + x-ms-source-range: + - bytes=0-2049 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshared73322e8/filetoupdate?comp=range + response: + body: + string: "\uFEFFCannotVerifyCopySourceServer + failed to authenticate the request. Make sure the value of Authorization header + is formed correctly including the signature.\nRequestId:25af0915-e01a-001e-1828-647ee3000000\nTime:2019-09-05T20:31:19.4035111Z" + headers: + Content-Length: + - '322' + Content-Type: + - application/xml + Date: + - Thu, 05 Sep 2019 20:31:19 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 1d532786-d01c-11e9-8ab0-001a7dda7113 + x-ms-error-code: + - CannotVerifyCopySource + x-ms-request-id: + - 25af0915-e01a-001e-1828-647ee3000000 + x-ms-version: + - '2019-02-02' + status: + code: 403 + message: Server failed to authenticate the request. Make sure the value of Authorization + header is formed correctly including the signature. +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range_with_md5.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range_with_md5.yaml index e6ea7c81d97f..da5ca5984dd2 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range_with_md5.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file.test_update_range_with_md5.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b00e2802-b639-11e9-9a91-2816a845e8c6 + - a9e0ec10-d048-11e9-8069-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:29 GMT + - Fri, 06 Sep 2019 01:50:11 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef830e7c/filef830e7c response: @@ -33,193 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:57:27 GMT + - Fri, 06 Sep 2019 01:50:11 GMT ETag: - - '"0x8D7185D93DBD5B0"' + - '"0x8D7326C8E25FF17"' Last-Modified: - - Sat, 03 Aug 2019 21:57:28 GMT + - Fri, 06 Sep 2019 01:50:11 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 5bc5bc7c-801a-0039-5146-4a24a4000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - uMDGyhfZF9Fezi/xzH86EV1anSK3v8QIN9LW+xUncrnEMIG3Dn0/zPS3aeVNrjyaGs0c6MlEZGGV - iGoC+G/LFbbHvM2dxPp/Z7CsMfqlmsFgJe16VIEtr8ItX04NnbDniSzG3olaoEHktKdyX8TDn6tx - QaV92mSIKPEUiQiLXiZCTPPW7JC7itwv8j+ODsXb4pwal+yNJqfW0wuLVbUTwyt9GhTvlZE0TIOs - 9a1dsKLD2OgU2DPIxbMMeSJUFDLtHOdo3kT2s8zil1Z4X0IRMFmV1lkILwiAGTjShdEQZSGtIY3V - QeU8qSaD1R+fU2sOZEr9FEzKu1FKYutAiL6UzAKIrkZ4xG8Lojsz0Ab+KkevAJ2pbS2lF/II7czs - stiyiA1wES1Mwr7Y0T8QBIU+pB3uQ8yEX8y+5TTYSNRjZHWU1US+5Q9bnooE7SEZGAG7weXvxwvU - xGM/Thr6mtfxWbQs3DS1SCUIXM4T0wS2W+IExhp8+puCINyqEfYHkbkFU/tKUDj+VJVGcWvfn8mq - t1qT1xCTTGSpNuy7lBV/2Vms+ynWztt51lSx6RBt1RFdW9TLb+z1pc3NXd/Ww7N6XJ87sUpx0MQV - joxUgbEWrU2P/L65np8gs3/jREPCjecsbXms3zimpGjG0X6CUHE/ZUhz9uBlpr+xYypVrmJG8/MA - +UN6iM5lquePDI1gckXiu9IHA9rcBtwLyp9GSCflN891PS0KSWgSPhN5s+neQNaygpwZY2/P5yFC - yq6WceE6eIIIfa2Q9c+zkGolHrzsobQwjiX596gop8eFKsnSYBX+XuGNaT1KcksxlP0ypaemEFyy - YiDtrzBjuS0sQshtF2iv5khhnERtOIufrPLApqkWuRxajbworY7ESxI85fpjz0/n3neaIasDIWoF - SvfhV0PT3pSO1bhGvIZcl/aEn3QE+Z9ELLa89SCVokm9OZsg+oUhTYJVB8dJrpOfuOHT9ZPNxpR4 - OKlZIfAcJY2x4VMGOVv7f1eU+qOqiJ7GtCZNebudSppzTCpvvPF0WjRjkoiLKtG5dfDahfw9YMUF - FwE+HyJWg2Iar9pSlplRHSKEVoMjYB64S4HUoU9oaErkzaT9NJK9xNlN5mtkDDIpA6MJt4yop+TT - ZZT9YvI7SVhNRiVpSSuFL2fehLoR0e9U89wKuq9iL9Np2hDZBz/7ZPW/eToAMg89KkQeRNvHO8bJ - 2XBE3aJjrYWfmstVGifS1/WphOMO6VKuaTU5BFRi8RxmoVt/ic4MUKgypfHPzpF8FWNQai7wsb9k - yrT2p3bc7VScqlgkEV0AC797Vrn8a90/dol/Oo0dN8Lg8QvM2mh8REQma+GdS9GF4JQH93Nwqg== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - b0639f2e-b639-11e9-af29-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:30 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharef830e7c/filef830e7c?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - hexr2EnvR70t7J0XvqLXZA== - Date: - - Sat, 03 Aug 2019 21:57:28 GMT - ETag: - - '"0x8D7185D93EEC4E7"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:28 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 5bc5bc7e-801a-0039-5246-4a24a4000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - b07344fa-b639-11e9-bf7e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:30 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharef830e7c/filef830e7c?comp=range - response: - body: - string: '' - headers: - Content-Length: + - a9e0ec10-d048-11e9-8069-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T01:50:11.8926103Z' + x-ms-file-creation-time: + - '2019-09-06T01:50:11.8926103Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-06T01:50:11.8926103Z' + x-ms-file-parent-id: - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 21:57:28 GMT - ETag: - - '"0x8D7185D9400A278"' - Last-Modified: - - Sat, 03 Aug 2019 21:57:29 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 5bc5bc7f-801a-0039-5346-4a24a4000000 + - 9043f91b-601a-00c5-3055-647911000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8c424942-b63a-11e9-9939-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:03:38 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef830e7c/filef830e7c - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:03:37 GMT - ETag: - - '"0x8D7185E6FF43539"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:38 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 31e1421e-b01a-0018-3047-4a4995000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -255,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 8c7c6c52-b63a-11e9-8a06-2816a845e8c6 + - a9fa50ae-d048-11e9-b15f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:03:39 GMT + - Fri, 06 Sep 2019 01:50:11 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -277,193 +127,21 @@ interactions: Content-MD5: - hexr2EnvR70t7J0XvqLXZA== Date: - - Sat, 03 Aug 2019 22:03:37 GMT - ETag: - - '"0x8D7185E700799B6"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:38 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 31e14220-b01a-0018-3147-4a4995000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '512' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8c8ca8ae-b63a-11e9-96aa-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:03:39 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharef830e7c/filef830e7c?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Date: - - Sat, 03 Aug 2019 22:03:37 GMT - ETag: - - '"0x8D7185E701705D5"' - Last-Modified: - - Sat, 03 Aug 2019 22:03:38 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 31e14221-b01a-0018-3247-4a4995000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - f4c1cd8c-b63a-11e9-aa3a-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:06:34 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef830e7c/filef830e7c - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Sat, 03 Aug 2019 22:06:33 GMT + - Fri, 06 Sep 2019 01:50:11 GMT ETag: - - '"0x8D7185ED87A45F6"' + - '"0x8D7326C8E30B00D"' Last-Modified: - - Sat, 03 Aug 2019 22:06:33 GMT + - Fri, 06 Sep 2019 01:50:11 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d538372f-301a-0064-2a47-4ad4a0000000 - x-ms-request-server-encrypted: - - 'true' - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: !!binary | - uMDGyhfZF9Fezi/xzH86EV1anSK3v8QIN9LW+xUncrnEMIG3Dn0/zPS3aeVNrjyaGs0c6MlEZGGV - iGoC+G/LFbbHvM2dxPp/Z7CsMfqlmsFgJe16VIEtr8ItX04NnbDniSzG3olaoEHktKdyX8TDn6tx - QaV92mSIKPEUiQiLXiZCTPPW7JC7itwv8j+ODsXb4pwal+yNJqfW0wuLVbUTwyt9GhTvlZE0TIOs - 9a1dsKLD2OgU2DPIxbMMeSJUFDLtHOdo3kT2s8zil1Z4X0IRMFmV1lkILwiAGTjShdEQZSGtIY3V - QeU8qSaD1R+fU2sOZEr9FEzKu1FKYutAiL6UzAKIrkZ4xG8Lojsz0Ab+KkevAJ2pbS2lF/II7czs - stiyiA1wES1Mwr7Y0T8QBIU+pB3uQ8yEX8y+5TTYSNRjZHWU1US+5Q9bnooE7SEZGAG7weXvxwvU - xGM/Thr6mtfxWbQs3DS1SCUIXM4T0wS2W+IExhp8+puCINyqEfYHkbkFU/tKUDj+VJVGcWvfn8mq - t1qT1xCTTGSpNuy7lBV/2Vms+ynWztt51lSx6RBt1RFdW9TLb+z1pc3NXd/Ww7N6XJ87sUpx0MQV - joxUgbEWrU2P/L65np8gs3/jREPCjecsbXms3zimpGjG0X6CUHE/ZUhz9uBlpr+xYypVrmJG8/MA - +UN6iM5lquePDI1gckXiu9IHA9rcBtwLyp9GSCflN891PS0KSWgSPhN5s+neQNaygpwZY2/P5yFC - yq6WceE6eIIIfa2Q9c+zkGolHrzsobQwjiX596gop8eFKsnSYBX+XuGNaT1KcksxlP0ypaemEFyy - YiDtrzBjuS0sQshtF2iv5khhnERtOIufrPLApqkWuRxajbworY7ESxI85fpjz0/n3neaIasDIWoF - SvfhV0PT3pSO1bhGvIZcl/aEn3QE+Z9ELLa89SCVokm9OZsg+oUhTYJVB8dJrpOfuOHT9ZPNxpR4 - OKlZIfAcJY2x4VMGOVv7f1eU+qOqiJ7GtCZNebudSppzTCpvvPF0WjRjkoiLKtG5dfDahfw9YMUF - FwE+HyJWg2Iar9pSlplRHSKEVoMjYB64S4HUoU9oaErkzaT9NJK9xNlN5mtkDDIpA6MJt4yop+TT - ZZT9YvI7SVhNRiVpSSuFL2fehLoR0e9U89wKuq9iL9Np2hDZBz/7ZPW/eToAMg89KkQeRNvHO8bJ - 2XBE3aJjrYWfmstVGifS1/WphOMO6VKuaTU5BFRi8RxmoVt/ic4MUKgypfHPzpF8FWNQai7wsb9k - yrT2p3bc7VScqlgkEV0AC797Vrn8a90/dol/Oo0dN8Lg8QvM2mh8REQma+GdS9GF4JQH93Nwqg== - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-client-request-id: - - f51a519c-b63a-11e9-983e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:06:34 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharef830e7c/filef830e7c?comp=range - response: - body: - string: '' - headers: - Content-Length: - - '0' - Content-MD5: - - hexr2EnvR70t7J0XvqLXZA== - Date: - - Sat, 03 Aug 2019 22:06:33 GMT - ETag: - - '"0x8D7185ED8A5F1CA"' - Last-Modified: - - Sat, 03 Aug 2019 22:06:33 GMT - Server: - - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + - a9fa50ae-d048-11e9-b15f-001a7dda7113 x-ms-request-id: - - d5383731-301a-0064-2b47-4ad4a0000000 + - 9043f91d-601a-00c5-3155-647911000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -483,15 +161,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - f52b739a-b63a-11e9-96cb-2816a845e8c6 + - aa04abd2-d048-11e9-9616-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:06:34 GMT + - Fri, 06 Sep 2019 01:50:12 GMT x-ms-range: - bytes=0-511 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -505,19 +183,21 @@ interactions: Content-MD5: - pTsTLZHyQ+et6NksJ1OHxg== Date: - - Sat, 03 Aug 2019 22:06:33 GMT + - Fri, 06 Sep 2019 01:50:11 GMT ETag: - - '"0x8D7185ED8B4E8A4"' + - '"0x8D7326C8E36F32A"' Last-Modified: - - Sat, 03 Aug 2019 22:06:33 GMT + - Fri, 06 Sep 2019 01:50:12 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - aa04abd2-d048-11e9-9616-001a7dda7113 x-ms-request-id: - - d5383732-301a-0064-2c47-4ad4a0000000 + - 9043f91e-601a-00c5-3255-647911000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_abort_copy_file_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_abort_copy_file_async.yaml index 57113bcf6f72..3509add17a00 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_abort_copy_file_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_abort_copy_file_async.yaml @@ -3,21 +3,21 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b0f3096c-b639-11e9-9084-2816a845e8c6 + - 42fbae2e-d064-11e9-aa9b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:30 GMT + - Fri, 06 Sep 2019 05:07:45 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://remotestoragename.file.core.windows.net/remoteshare71b41138?restype=share response: body: string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:94fe7148-801a-00f1-4a46-4ae0f0000000\nTime:2019-08-03T21:57:30.2161042Z" + specified share already exists.\nRequestId:6fbb4141-501a-003d-0471-647a0d000000\nTime:2019-09-06T05:07:45.2481768Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -27,13 +27,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:29 GMT + : Fri, 06 Sep 2019 05:07:44 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 42fbae2e-d064-11e9-aa9b-001a7dda7113 x-ms-error-code: ShareAlreadyExists - x-ms-request-id: 94fe7148-801a-00f1-4a46-4ae0f0000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 6fbb4141-501a-003d-0471-647a0d000000 + x-ms-version: '2019-02-02' status: code: 409 message: The specified share already exists. @@ -41,7 +42,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - pytestremote.file.core.windows.net + - zemaintest.file.core.windows.net - /remoteshare71b41138 - restype=share - '' @@ -49,112 +50,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 10574d54-b63b-11e9-af77-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:20 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://remotestoragename.file.core.windows.net/remoteshare71b41138?restype=share - response: - body: - string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:ff043c4d-601a-0051-0147-4a2f96000000\nTime:2019-08-03T22:07:19.6135334Z" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '222' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:18 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: ShareAlreadyExists - x-ms-request-id: ff043c4d-601a-0051-0147-4a2f96000000 - x-ms-version: '2018-11-09' - status: - code: 409 - message: The specified share already exists. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pytestremote.file.core.windows.net - - /remoteshare71b41138 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 22fae636-b63b-11e9-b081-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:51 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://remotestoragename.file.core.windows.net/remoteshare71b41138?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:51 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F06D9BD3B"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:51 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: cc88b978-d01a-00cb-1947-4aa353000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pytestremote.file.core.windows.net - - /remoteshare71b41138 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 23fe592c-b63b-11e9-b195-2816a845e8c6 + - 43286e28-d064-11e9-a067-001a7dda7113 x-ms-content-length: - '8388608' x-ms-date: - - Sat, 03 Aug 2019 22:07:53 GMT + - Fri, 06 Sep 2019 05:07:45 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://remotestoragename.file.core.windows.net/remoteshare71b41138/file71b41138 response: @@ -166,19 +82,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:07:52 GMT + : Fri, 06 Sep 2019 05:07:44 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F07894E70"' + : '"0x8D7328827602E39"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:07:52 GMT + : Fri, 06 Sep 2019 05:07:45 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: cc88b97d-d01a-00cb-1a47-4aa353000000 + x-ms-client-request-id: 43286e28-d064-11e9-a067-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:07:45.3770297Z' + x-ms-file-creation-time: '2019-09-06T05:07:45.3770297Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:07:45.3770297Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 5068516693366841476*17218973682704664586 + x-ms-request-id: 6fbb4144-501a-003d-0571-647a0d000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -186,7 +110,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - pytestremote.file.core.windows.net + - zemaintest.file.core.windows.net - /remoteshare71b41138/file71b41138 - '' - '' @@ -198,15 +122,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 240dfc34-b63b-11e9-b182-2816a845e8c6 + - 433e41c8-d064-11e9-8be5-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:07:53 GMT + - Fri, 06 Sep 2019 05:07:45 GMT x-ms-range: - bytes=0-4194303 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -223,19 +147,20 @@ interactions: : O+kCfdGnulSkbl/qLCRhQA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:07:58 GMT + : Fri, 06 Sep 2019 05:07:45 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F0B4B985B"' + : '"0x8D7328827A6491A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:07:58 GMT + : Fri, 06 Sep 2019 05:07:45 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: cc88b97e-d01a-00cb-1b47-4aa353000000 + x-ms-client-request-id: 433e41c8-d064-11e9-8be5-001a7dda7113 + x-ms-request-id: 6fbb4147-501a-003d-0871-647a0d000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -243,7 +168,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - pytestremote.file.core.windows.net + - zemaintest.file.core.windows.net - /remoteshare71b41138/file71b41138 - comp=range - '' @@ -255,15 +180,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 27d43cf0-b63b-11e9-9210-2816a845e8c6 + - 43846228-d064-11e9-894e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:07:59 GMT + - Fri, 06 Sep 2019 05:07:45 GMT x-ms-range: - bytes=4194304-8388607 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -280,19 +205,20 @@ interactions: : O+kCfdGnulSkbl/qLCRhQA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:04 GMT + : Fri, 06 Sep 2019 05:07:45 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F0EE43273"' + : '"0x8D7328827C4FC31"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:04 GMT + : Fri, 06 Sep 2019 05:07:46 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: cc88b984-d01a-00cb-1e47-4aa353000000 + x-ms-client-request-id: 43846228-d064-11e9-894e-001a7dda7113 + x-ms-request-id: 6fbb4149-501a-003d-0971-647a0d000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -300,7 +226,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - pytestremote.file.core.windows.net + - zemaintest.file.core.windows.net - /remoteshare71b41138/file71b41138 - comp=range - '' @@ -308,15 +234,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2b783f68-b63b-11e9-a30f-2816a845e8c6 + - 43a3cfde-d064-11e9-a799-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:08:06 GMT + - Fri, 06 Sep 2019 05:07:46 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare71b41138?restype=share response: @@ -328,18 +254,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:04 GMT + : Fri, 06 Sep 2019 05:07:45 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F0F15D849"' + : '"0x8D7328827E10EB3"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:05 GMT + : Fri, 06 Sep 2019 05:07:46 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fcb7fb14-001a-006c-3147-4acfd3000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 43a3cfde-d064-11e9-a799-001a7dda7113 + x-ms-request-id: c44db7f5-e01a-00a9-7371-649286000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -347,7 +274,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare71b41138 - restype=share - '' @@ -355,17 +282,17 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2bad53de-b63b-11e9-af4a-2816a845e8c6 + - 43b9ab76-d064-11e9-a2f5-001a7dda7113 x-ms-copy-source: - - https://pytestremote.file.core.windows.net/remoteshare71b41138/file71b41138?se=2019-08-03T23%3A08%3A05Z&sp=r&sv=2018-03-28&sr=f&sig=32lZgq6SCVWzGymASgUjARUuuK0zKuPzRqSidIMr6wc%3D + - https://zemaintest.file.core.windows.net/remoteshare71b41138/file71b41138?se=2019-09-06T06%3A07%3A46Z&sp=r&sv=2019-02-02&sr=f&sig=WdXQL1Gw53CWp4d59rPf9ORUp01OntNlgLzFP/OB1dU%3D x-ms-date: - - Sat, 03 Aug 2019 22:08:06 GMT + - Fri, 06 Sep 2019 05:07:46 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare71b41138/targetfile response: @@ -377,20 +304,21 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:05 GMT + : Fri, 06 Sep 2019 05:07:47 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F0FADDEB3"' + : '"0x8D7328828F0BA2C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:06 GMT + : Fri, 06 Sep 2019 05:07:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-copy-id: 5c419c1c-fc8b-4549-bb60-0bbd6502307c + x-ms-client-request-id: 43b9ab76-d064-11e9-a2f5-001a7dda7113 + x-ms-copy-id: 192d2e20-5f10-45b6-ab00-34acf0319d47 x-ms-copy-status: pending - x-ms-request-id: 31e14393-b01a-0018-7547-4a4995000000 - x-ms-version: '2018-11-09' + x-ms-request-id: de7a63fb-801a-00cd-5c71-64631e000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -398,7 +326,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare71b41138/targetfile - '' - '' @@ -406,19 +334,19 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2c41140c-b63b-11e9-9314-2816a845e8c6 + - 44c94766-d064-11e9-a68c-001a7dda7113 x-ms-copy-action: - abort x-ms-date: - - Sat, 03 Aug 2019 22:08:07 GMT + - Fri, 06 Sep 2019 05:07:48 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshare71b41138/targetfile?copyid=5c419c1c-fc8b-4549-bb60-0bbd6502307c&comp=copy + uri: https://storagename.file.core.windows.net/utshare71b41138/targetfile?copyid=192d2e20-5f10-45b6-ab00-34acf0319d47&comp=copy response: body: string: '' @@ -428,12 +356,13 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:05 GMT + : Fri, 06 Sep 2019 05:07:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 31e14397-b01a-0018-7647-4a4995000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 44c94766-d064-11e9-a68c-001a7dda7113 + x-ms-request-id: de7a640a-801a-00cd-6671-64631e000000 + x-ms-version: '2019-02-02' status: code: 204 message: No Content @@ -441,9 +370,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare71b41138/targetfile - - copyid=5c419c1c-fc8b-4549-bb60-0bbd6502307c&comp=copy + - copyid=192d2e20-5f10-45b6-ab00-34acf0319d47&comp=copy - '' - request: body: null @@ -451,23 +380,23 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2c4e93ba-b63b-11e9-a875-2816a845e8c6 + - 44d0bb12-d064-11e9-a595-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:08:07 GMT + - Fri, 06 Sep 2019 05:07:48 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare71b41138/targetfile response: body: string: "\uFEFFInvalidRangeThe - range specified is invalid for the current size of the resource.\nRequestId:31e14398-b01a-0018-7747-4a4995000000\nTime:2019-08-03T22:08:06.2597164Z" + range specified is invalid for the current size of the resource.\nRequestId:de7a640b-801a-00cd-6771-64631e000000\nTime:2019-09-06T05:07:48.0823187Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -480,16 +409,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:05 GMT + : Fri, 06 Sep 2019 05:07:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 44d0bb12-d064-11e9-a595-001a7dda7113 x-ms-error-code: InvalidRange - x-ms-request-id: 31e14398-b01a-0018-7747-4a4995000000 - x-ms-version: '2018-11-09' + x-ms-request-id: de7a640b-801a-00cd-6771-64631e000000 + x-ms-version: '2019-02-02' status: code: 416 message: The range specified is invalid for the current size of the resource. @@ -497,7 +424,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare71b41138/targetfile - '' - '' @@ -507,15 +434,15 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2c57265c-b63b-11e9-8cf8-2816a845e8c6 + - 44d32a68-d064-11e9-b4b4-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:08:07 GMT + - Fri, 06 Sep 2019 05:07:48 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare71b41138/targetfile response: @@ -533,28 +460,33 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:06 GMT + : Fri, 06 Sep 2019 05:07:47 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F0FC785E4"' + : '"0x8D7328828F995F1"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:06 GMT + : Fri, 06 Sep 2019 05:07:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-copy-completion-time: Sat, 03 Aug 2019 22:08:06 GMT - x-ms-copy-id: 5c419c1c-fc8b-4549-bb60-0bbd6502307c + x-ms-client-request-id: 44d32a68-d064-11e9-b4b4-001a7dda7113 + x-ms-copy-completion-time: Fri, 06 Sep 2019 05:07:48 GMT + x-ms-copy-id: 192d2e20-5f10-45b6-ab00-34acf0319d47 x-ms-copy-progress: 0/8388608 - x-ms-copy-source: https://remotestoragename.file.core.windows.net/remoteshare71b41138/file71b41138?se=2019-08-03T23%3A08%3A05Z&sp=r&sv=2018-03-28&sr=f&sig=32lZgq6SCVWzGymASgUjARUuuK0zKuPzRqSidIMr6wc%3D + x-ms-copy-source: https://remotestoragename.file.core.windows.net/remoteshare71b41138/file71b41138?se=2019-09-06T06%3A07%3A46Z&sp=r&sv=2019-02-02&sr=f&sig=WdXQL1Gw53CWp4d59rPf9ORUp01OntNlgLzFP/OB1dU%3D x-ms-copy-status: aborted - x-ms-request-id: 31e14399-b01a-0018-7847-4a4995000000 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:07:48.0020524Z' + x-ms-file-creation-time: '2019-09-06T05:07:48.0020524Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:07:48.0601073Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: de7a640c-801a-00cd-6871-64631e000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -562,7 +494,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare71b41138/targetfile - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_abort_copy_file_with_synchronous_copy_fails_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_abort_copy_file_with_synchronous_copy_fails_async.yaml index d135fe9fd775..808508d4bc55 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_abort_copy_file_with_synchronous_copy_fails_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_abort_copy_file_with_synchronous_copy_fails_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b1c9e7fe-b639-11e9-9300-2816a845e8c6 + - 454b16ca-d064-11e9-a9e8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:32 GMT + - Fri, 06 Sep 2019 05:07:48 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareb11d05?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:31 GMT + : Fri, 06 Sep 2019 05:07:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D95878F67"' + : '"0x8D73288297D8358"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:31 GMT + : Fri, 06 Sep 2019 05:07:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 01b8211c-701a-0086-5146-4a30d2000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 454b16ca-d064-11e9-a9e8-001a7dda7113 + x-ms-request-id: 4081ba84-201a-00b6-4771-642182000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareb11d05 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b2203080-b639-11e9-bce9-2816a845e8c6 + - 4556585c-d064-11e9-9cbb-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:32 GMT + - Fri, 06 Sep 2019 05:07:49 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareb11d05/fileb11d05 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:31 GMT + : Fri, 06 Sep 2019 05:07:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D95C73656"' + : '"0x8D73288298863F1"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:32 GMT + : Fri, 06 Sep 2019 05:07:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 6ad95705-c01a-00bd-2046-4a728c000000 + x-ms-client-request-id: 4556585c-d064-11e9-9cbb-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:07:48.9959921Z' + x-ms-file-creation-time: '2019-09-06T05:07:48.9959921Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:07:48.9959921Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 5edfac0f-e01a-00cb-4f71-6450a1000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareb11d05/fileb11d05 - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - b2512eca-b639-11e9-bc3f-2816a845e8c6 + - 455eeb70-d064-11e9-8069-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:33 GMT + - Fri, 06 Sep 2019 05:07:49 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : MWY7Q+zflLRE2OcSD0kBZw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:31 GMT + : Fri, 06 Sep 2019 05:07:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D95D6C98C"' + : '"0x8D73288298AAE6F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:32 GMT + : Fri, 06 Sep 2019 05:07:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 6ad95708-c01a-00bd-2146-4a728c000000 + x-ms-client-request-id: 455eeb70-d064-11e9-8069-001a7dda7113 + x-ms-request-id: 5edfac12-e01a-00cb-5071-6450a1000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareb11d05/fileb11d05 - comp=range - '' @@ -177,17 +195,17 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b2601a28-b639-11e9-8299-2816a845e8c6 + - 45621ea2-d064-11e9-8e49-001a7dda7113 x-ms-copy-source: - - https://amqptest.file.core.windows.net/utshareb11d05/fileb11d05 + - https://emilydevtest.file.core.windows.net/utshareb11d05/fileb11d05 x-ms-date: - - Sat, 03 Aug 2019 21:57:33 GMT + - Fri, 06 Sep 2019 05:07:49 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareb11d05/targetfile response: @@ -199,20 +217,21 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:32 GMT + : Fri, 06 Sep 2019 05:07:49 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D96538A34"' + : '"0x8D732882A057A99"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:32 GMT + : Fri, 06 Sep 2019 05:07:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-copy-id: 05dbc160-243d-4102-a255-7006b0bebded + x-ms-client-request-id: 45621ea2-d064-11e9-8e49-001a7dda7113 + x-ms-copy-id: 43bd4ffe-ff60-4c0f-bba7-f4df418b13e7 x-ms-copy-status: success - x-ms-request-id: 7afa8cc6-a01a-008f-5e46-4a2a5c000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 508b503b-501a-00ac-2871-64405d000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -220,7 +239,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareb11d05/targetfile - '' - '' @@ -228,23 +247,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b2dc3410-b639-11e9-a8c6-2816a845e8c6 + - 45e1828a-d064-11e9-a78e-001a7dda7113 x-ms-copy-action: - abort x-ms-date: - - Sat, 03 Aug 2019 21:57:34 GMT + - Fri, 06 Sep 2019 05:07:49 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT - uri: https://storagename.file.core.windows.net/utshareb11d05/targetfile?copyid=05dbc160-243d-4102-a255-7006b0bebded&comp=copy + uri: https://storagename.file.core.windows.net/utshareb11d05/targetfile?copyid=43bd4ffe-ff60-4c0f-bba7-f4df418b13e7&comp=copy response: body: string: "\uFEFFNoPendingCopyOperationThere - is currently no pending copy operation.\nRequestId:7afa8cca-a01a-008f-5f46-4a2a5c000000\nTime:2019-08-03T21:57:33.1977431Z" + is currently no pending copy operation.\nRequestId:508b5043-501a-00ac-2d71-64405d000000\nTime:2019-09-06T05:07:49.9944242Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -254,13 +273,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:33 GMT + : Fri, 06 Sep 2019 05:07:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 45e1828a-d064-11e9-a78e-001a7dda7113 x-ms-error-code: NoPendingCopyOperation - x-ms-request-id: 7afa8cca-a01a-008f-5f46-4a2a5c000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 508b5043-501a-00ac-2d71-64405d000000 + x-ms-version: '2019-02-02' status: code: 409 message: There is currently no pending copy operation. @@ -268,554 +288,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareb11d05/targetfile - - copyid=05dbc160-243d-4102-a255-7006b0bebded&comp=copy - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 11a5a41a-b63b-11e9-b1f7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:22 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb11d05?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:21 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EF562B267"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:21 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: be4dc821-f01a-0014-3a47-4aa764000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareb11d05 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 11f12770-b63b-11e9-9d7a-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:07:23 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb11d05/fileb11d05 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EF5A0651B"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ad7bc52b-801a-005f-1b47-4a96fe000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareb11d05/fileb11d05 - - '' - - '' -- request: - body: !!binary | - RZp68fQLZZzDVbpamaOoIgcDmRz0P/7JzzC+ZVGwcgfpH04l35SszQdG8sAG579ERg156pjEpKux - uaHkysXSkV4g3vhCGaa46uKjnCfMkzKwGVE9Jc9iF7s7bDRBo74V5u+IKHryAIGX00Ev79OgMLb3 - vb57SzsdkFE+WcL2zjvc4va8/XRpSXpmptQrP91nXjvXsqx/+7tD8uIz0ikKokgNIVJUbBV+NE5H - kYKyvD+RNimm2kPZLX3zsDkminJmrZW5UuEyG5pCUV+wn0BRmLmeIkeuQGAVf2Lmtv1+phoGs45L - 3xZMfLR2w3w0LEVvN7cml7/XI+Zwb6A/J6yEfkduMcrRyVZMI8gqhP3qqaj06ODMiotinrr64r2j - gcVQJzRCokNE1H3ht5ZIIuvbuStFt8GmQKvsCA6R8aF7SnCMto4aGnpo9qySyU2+fJfHoWZ/6uGM - sPWGitDP6EVD6J9/sIMVgTzrQ/Sj/idVWeG+CLo8lRim7cYwDAPVtYsiMGceoHf8zyeKwvgUKu5e - Cs9LYz7cimyUxM9uG5swO8FvsA+or8f77D78npG0/owvkkeXpjLYOQnfCrKiJcOk/mkWjHTsAw2K - F5GRqJko8Lzfk1XW54EDEX8S5dPkb4os3r3gZiCs2ke/shPQivcubI5MRi1/R6NN1vw5nnkuBee3 - rctOgzJZwRMFBvrPTXhBxEOsRZmrLGVxZQQpnPbX0dmmf94xdlAjX1qTNlHjCGCBmJCAOPfNmj6p - /S8CQKBU/E8E6bCkFkJC23uhzfcZZPhLUzpd73hTocgKeKz8G0cvlmQOJpzuqTzuzTJvyEtldDie - 1LRvftL2VeqZ9ZL4Fs4wcOdBxXuNMvP5fFEJIxsDxfCm07J8XWtDMuVV7/YzXTqSZsCICyvex2/d - QwmvvWZR2X1g4Hr0He2jAkCZvsLvVSS/ftpUYzmOY5iUjjv5i/EIQqPNTLI23H1To+enVhsX1jkp - fkpI471iLiJ+YIhTCoSZA0yZyqSRRZ0WuZIvD/REdF0rqYZyfG4369c+OcqCtBrn7pxDVRGorCx3 - tgWH5xbbyxarIm/efYTQoj1gaU0Q3PAl+1tpKqHQi+Xg3Hy396UG1oOkqqnV/C/ZD2jkYxh+zLve - d8JTdWyRHa5a1M9FMfpMGrZlGCOo18e9akX7SPlxwO7TvQPstSEIbrVS4VczlI2bOYTMBatrnf46 - rKkEhevfjKd8zy/2aQv+lZQHjIfRwaoeYI6+Z3Ome/1ygWOd6Bhr0JrpZITaeO+FVW31TpQ0jxZN - 2XWCW3ovcz8FpIuU7Zciypr+VB5Be/se3+orTg6tb0uhhI97iTf3L7CafDXMYOoO9VX5CSfpDg== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 12265d18-b63b-11e9-8af7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:23 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshareb11d05/fileb11d05?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : MWY7Q+zflLRE2OcSD0kBZw== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EF5AB1572"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ad7bc52d-801a-005f-1c47-4a96fe000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareb11d05/fileb11d05 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 1237c4fa-b63b-11e9-a5c0-2816a845e8c6 - x-ms-copy-source: - - https://amqptest.file.core.windows.net/utshareb11d05/fileb11d05 - x-ms-date: - - Sat, 03 Aug 2019 22:07:23 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb11d05/targetfile - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EF5F1EF5A"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-copy-id: b3ce52c8-5796-4d9f-aed7-54e759b84a55 - x-ms-copy-status: success - x-ms-request-id: 647aabd2-801a-0093-7e47-4af24b000000 - x-ms-version: '2018-11-09' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareb11d05/targetfile - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 12861e30-b63b-11e9-834f-2816a845e8c6 - x-ms-copy-action: - - abort - x-ms-date: - - Sat, 03 Aug 2019 22:07:24 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb11d05/targetfile?copyid=b3ce52c8-5796-4d9f-aed7-54e759b84a55&comp=copy - response: - body: - string: "\uFEFFNoPendingCopyOperationThere - is currently no pending copy operation.\nRequestId:647aabd5-801a-0093-7f47-4af24b000000\nTime:2019-08-03T22:07:23.4379622Z" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '236' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: NoPendingCopyOperation - x-ms-request-id: 647aabd5-801a-0093-7f47-4af24b000000 - x-ms-version: '2018-11-09' - status: - code: 409 - message: There is currently no pending copy operation. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareb11d05/targetfile - - copyid=b3ce52c8-5796-4d9f-aed7-54e759b84a55&comp=copy - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2d51f198-b63b-11e9-b0ce-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:08:09 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb11d05?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:07 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F1101E93A"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 097bc15d-101a-00d2-6747-4ada58000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareb11d05 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2da2e586-b63b-11e9-9428-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:08:09 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb11d05/fileb11d05 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:08 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F114A9BD2"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e8038e5a-401a-0006-0c47-4a9378000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareb11d05/fileb11d05 - - '' - - '' -- request: - body: !!binary | - RZp68fQLZZzDVbpamaOoIgcDmRz0P/7JzzC+ZVGwcgfpH04l35SszQdG8sAG579ERg156pjEpKux - uaHkysXSkV4g3vhCGaa46uKjnCfMkzKwGVE9Jc9iF7s7bDRBo74V5u+IKHryAIGX00Ev79OgMLb3 - vb57SzsdkFE+WcL2zjvc4va8/XRpSXpmptQrP91nXjvXsqx/+7tD8uIz0ikKokgNIVJUbBV+NE5H - kYKyvD+RNimm2kPZLX3zsDkminJmrZW5UuEyG5pCUV+wn0BRmLmeIkeuQGAVf2Lmtv1+phoGs45L - 3xZMfLR2w3w0LEVvN7cml7/XI+Zwb6A/J6yEfkduMcrRyVZMI8gqhP3qqaj06ODMiotinrr64r2j - gcVQJzRCokNE1H3ht5ZIIuvbuStFt8GmQKvsCA6R8aF7SnCMto4aGnpo9qySyU2+fJfHoWZ/6uGM - sPWGitDP6EVD6J9/sIMVgTzrQ/Sj/idVWeG+CLo8lRim7cYwDAPVtYsiMGceoHf8zyeKwvgUKu5e - Cs9LYz7cimyUxM9uG5swO8FvsA+or8f77D78npG0/owvkkeXpjLYOQnfCrKiJcOk/mkWjHTsAw2K - F5GRqJko8Lzfk1XW54EDEX8S5dPkb4os3r3gZiCs2ke/shPQivcubI5MRi1/R6NN1vw5nnkuBee3 - rctOgzJZwRMFBvrPTXhBxEOsRZmrLGVxZQQpnPbX0dmmf94xdlAjX1qTNlHjCGCBmJCAOPfNmj6p - /S8CQKBU/E8E6bCkFkJC23uhzfcZZPhLUzpd73hTocgKeKz8G0cvlmQOJpzuqTzuzTJvyEtldDie - 1LRvftL2VeqZ9ZL4Fs4wcOdBxXuNMvP5fFEJIxsDxfCm07J8XWtDMuVV7/YzXTqSZsCICyvex2/d - QwmvvWZR2X1g4Hr0He2jAkCZvsLvVSS/ftpUYzmOY5iUjjv5i/EIQqPNTLI23H1To+enVhsX1jkp - fkpI471iLiJ+YIhTCoSZA0yZyqSRRZ0WuZIvD/REdF0rqYZyfG4369c+OcqCtBrn7pxDVRGorCx3 - tgWH5xbbyxarIm/efYTQoj1gaU0Q3PAl+1tpKqHQi+Xg3Hy396UG1oOkqqnV/C/ZD2jkYxh+zLve - d8JTdWyRHa5a1M9FMfpMGrZlGCOo18e9akX7SPlxwO7TvQPstSEIbrVS4VczlI2bOYTMBatrnf46 - rKkEhevfjKd8zy/2aQv+lZQHjIfRwaoeYI6+Z3Ome/1ygWOd6Bhr0JrpZITaeO+FVW31TpQ0jxZN - 2XWCW3ovcz8FpIuU7Zciypr+VB5Be/se3+orTg6tb0uhhI97iTf3L7CafDXMYOoO9VX5CSfpDg== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 2ddbda8c-b63b-11e9-b4a4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:08:10 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshareb11d05/fileb11d05?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : MWY7Q+zflLRE2OcSD0kBZw== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:08 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F115F38FF"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e8038e5d-401a-0006-0d47-4a9378000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareb11d05/fileb11d05 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2de6e162-b63b-11e9-9e0f-2816a845e8c6 - x-ms-copy-source: - - https://amqptest.file.core.windows.net/utshareb11d05/fileb11d05 - x-ms-date: - - Sat, 03 Aug 2019 22:08:10 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb11d05/targetfile - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:08 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F119B89AF"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-copy-id: 3ed0693d-e86f-4649-b701-5d4a019d1a18 - x-ms-copy-status: success - x-ms-request-id: 37422049-c01a-00b6-3047-4a6af8000000 - x-ms-version: '2018-11-09' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareb11d05/targetfile - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2e2452a4-b63b-11e9-b7d9-2816a845e8c6 - x-ms-copy-action: - - abort - x-ms-date: - - Sat, 03 Aug 2019 22:08:10 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareb11d05/targetfile?copyid=3ed0693d-e86f-4649-b701-5d4a019d1a18&comp=copy - response: - body: - string: "\uFEFFNoPendingCopyOperationThere - is currently no pending copy operation.\nRequestId:3742204d-c01a-00b6-3147-4a6af8000000\nTime:2019-08-03T22:08:09.5107366Z" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '236' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: NoPendingCopyOperation - x-ms-request-id: 3742204d-c01a-00b6-3147-4a6af8000000 - x-ms-version: '2018-11-09' - status: - code: 409 - message: There is currently no pending copy operation. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareb11d05/targetfile - - copyid=3ed0693d-e86f-4649-b701-5d4a019d1a18&comp=copy + - copyid=43bd4ffe-ff60-4c0f-bba7-f4df418b13e7&comp=copy - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_clear_range_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_clear_range_async.yaml index c7369a8f3ea9..63b8bf8a90a2 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_clear_range_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_clear_range_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b37f98fa-b639-11e9-aea4-2816a845e8c6 + - 461931b4-d064-11e9-bdfc-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:35 GMT + - Fri, 06 Sep 2019 05:07:50 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare2e3d0f7a?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:34 GMT + : Fri, 06 Sep 2019 05:07:49 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D973E5AA9"' + : '"0x8D732882A4B20AF"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:34 GMT + : Fri, 06 Sep 2019 05:07:50 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e23da7c-001a-00c6-2b46-4a193c000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 461931b4-d064-11e9-bdfc-001a7dda7113 + x-ms-request-id: b9f4937b-b01a-0040-7f71-6454cc000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2e3d0f7a - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b3d6b6fa-b639-11e9-be37-2816a845e8c6 + - 462684c2-d064-11e9-96e8-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:35 GMT + - Fri, 06 Sep 2019 05:07:50 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare2e3d0f7a/file2e3d0f7a response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:34 GMT + : Fri, 06 Sep 2019 05:07:50 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D977C88C3"' + : '"0x8D732882A59A27A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:34 GMT + : Fri, 06 Sep 2019 05:07:50 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7ab19912-301a-0020-4a46-4a08cc000000 + x-ms-client-request-id: 462684c2-d064-11e9-96e8-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:07:50.3672954Z' + x-ms-file-creation-time: '2019-09-06T05:07:50.3672954Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:07:50.3672954Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 9a228074-001a-007a-3c71-644eb4000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2e3d0f7a/file2e3d0f7a - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - b40d7a0c-b639-11e9-a3bc-2816a845e8c6 + - 4631b0ee-d064-11e9-a594-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:36 GMT + - Fri, 06 Sep 2019 05:07:50 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : b5AbhAufiCg3bbgsITrKwQ== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:34 GMT + : Fri, 06 Sep 2019 05:07:50 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D9792D3F2"' + : '"0x8D732882A5D9B11"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:35 GMT + : Fri, 06 Sep 2019 05:07:50 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7ab19914-301a-0020-4b46-4a08cc000000 + x-ms-client-request-id: 4631b0ee-d064-11e9-a594-001a7dda7113 + x-ms-request-id: 9a228076-001a-007a-3d71-644eb4000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2e3d0f7a/file2e3d0f7a - comp=range - '' @@ -181,752 +199,49 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - b41850be-b639-11e9-ac6d-2816a845e8c6 + - 4633d266-d064-11e9-a094-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:36 GMT + - Fri, 06 Sep 2019 05:07:50 GMT x-ms-range: - bytes=0-511 x-ms-version: - - '2018-11-09' - x-ms-write: - - clear - method: PUT - uri: https://storagename.file.core.windows.net/utshare2e3d0f7a/file2e3d0f7a?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 21:57:34 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185D979EBCF9"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 21:57:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7ab19916-301a-0020-4c46-4a08cc000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e3d0f7a/file2e3d0f7a - - comp=range - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - b42c8cd2-b639-11e9-991b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 21:57:36 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare2e3d0f7a/file2e3d0f7a - response: - body: - string: !!binary | - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs - rj6BwY2GAc7Hh3UbNecJ5cHdxZsYEqNd/MW0xCb2O68CsMr0Th602Fc8KZq+lAEoVZ/7/H60794u - B8+TtccbUYYueEpooS9TLNtzea5edbsqhyBCv1wtIlCBqsGxpJHx0MaeyeIurWR/5DdZCmUTQPiX - rHCtjBfi/T0lvTNuXCEl5ZUNzYwLMx8VCgDjRxb1B+0WIssN7sRT5iZZrQeeSRWJqeRZR5LBnL4Q - o05LwoUYi0LV1lpectOnn8LT/ASDi/W6CZo2QgNKQyorZ30ymRjupWndL2pOa/mfK4QW2y/nimBb - mM8/hbUrVkuwnwraKWf8Gd2oX3yRPwNre4exmHg+7/hliZ61b4YWeULeItBYLk4DsrNkk+H4iK8Q - kqvJzJb2P4ZpqcxLEYlfOqtmeAXmR0ynqScYTofbIh/ULLRBCiEb2MkuSJRKG0X40mBL3De+mlnY - nMhm4yJqNDmmEVlfPLUxMavbwF9684vTau32vfuJ6X60V/BT3TD9FPQbEwmHUhijDZm20ftRXP16 - HyXusnPfYFH8uLL0kxY2ug7Kfnmu8YmqsWZjP4sMoK0hib+lQgddBt9CGpaiFdOokAbRyT31z789 - yjlxSynlxCTXPyJJTJtBzgWCghRm83m8tIA0ny+LJVx7GVmzA8NlzdEFUUPg6ZIDd6fPLTEQ2g== - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-1023/1024 - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 21:57:34 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185D979EBCF9"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 21:57:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7ab19917-301a-0020-4d46-4a08cc000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 206 - message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e3d0f7a/file2e3d0f7a - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 137c4928-b63b-11e9-9ecb-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:25 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare2e3d0f7a?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:24 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EF72D246E"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:24 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e23ddb4-001a-00c6-3f47-4a193c000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e3d0f7a - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 13c31d18-b63b-11e9-91d6-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:07:26 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare2e3d0f7a/file2e3d0f7a - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:24 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EF78DE905"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2a372f53-a01a-00e9-5247-4a9806000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e3d0f7a/file2e3d0f7a - - '' - - '' -- request: - body: !!binary | - 3m79mTMamWnMu+/31bRa45BvNmxazF7pJHneU4Dw11EvCxQA5c/Mxyai4Bjgo/pN/myhwTZc4yXT - UiML7j7JhKTDB0Bg8sDi5ECrpnJyxnjzxwiwyD2KUE7VCN4tBC36WPX54udn9FzTm73hojKwBi/h - hWdxKeB6ooatWn/IE/iJbX57a/6j5XnOMp2KBzbhLr2cczAZmiVIW5JMar1VCj/rmxYjTk3Bq5B+ - f3eBmRZhI4X9bWpIMRHTTueFiqsdjoe6eOqpmJMlVKKXr0E9d7TTOEwVIQNV19PyK256MOPfdT2x - mBOHLxw2TUml1rXXwKq8WmwnWn5GQxA79clxFV43j2KHmZVfz9m0U09XQliEI5OFgzHfDfzG7iFz - 3PjnfubNy7QQ+ZIOD6SUpVGVEWh1sdjmHVHaX9EbzlcFPk7hG8KC2lhZID8YzQKwGEqpnhgBRGSx - cK96Nk/qUPQy3zcCcgthrxjAFvRt22hweE6hWnUSn5C9CAQAvC2KMPnfAr86aZgzggR4/ka/7nw3 - l5hERFt35dCAC7vYIJM6tYMlXRnrr8upPQT5TcSORxiuLAneeE5accJ1/p8q+jQ3CGAWc+xqGuj5 - rTLNCuUJEqYD3GgsUWNb9qwo3JAmYqkncOf2ueSLJhemI55JiyxePqXj1SwrurgNXZyGLe2G7nUs - rj6BwY2GAc7Hh3UbNecJ5cHdxZsYEqNd/MW0xCb2O68CsMr0Th602Fc8KZq+lAEoVZ/7/H60794u - B8+TtccbUYYueEpooS9TLNtzea5edbsqhyBCv1wtIlCBqsGxpJHx0MaeyeIurWR/5DdZCmUTQPiX - rHCtjBfi/T0lvTNuXCEl5ZUNzYwLMx8VCgDjRxb1B+0WIssN7sRT5iZZrQeeSRWJqeRZR5LBnL4Q - o05LwoUYi0LV1lpectOnn8LT/ASDi/W6CZo2QgNKQyorZ30ymRjupWndL2pOa/mfK4QW2y/nimBb - mM8/hbUrVkuwnwraKWf8Gd2oX3yRPwNre4exmHg+7/hliZ61b4YWeULeItBYLk4DsrNkk+H4iK8Q - kqvJzJb2P4ZpqcxLEYlfOqtmeAXmR0ynqScYTofbIh/ULLRBCiEb2MkuSJRKG0X40mBL3De+mlnY - nMhm4yJqNDmmEVlfPLUxMavbwF9684vTau32vfuJ6X60V/BT3TD9FPQbEwmHUhijDZm20ftRXP16 - HyXusnPfYFH8uLL0kxY2ug7Kfnmu8YmqsWZjP4sMoK0hib+lQgddBt9CGpaiFdOokAbRyT31z789 - yjlxSynlxCTXPyJJTJtBzgWCghRm83m8tIA0ny+LJVx7GVmzA8NlzdEFUUPg6ZIDd6fPLTEQ2g== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 14140b80-b63b-11e9-b9ab-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:26 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT uri: https://storagename.file.core.windows.net/utshare2e3d0f7a/file2e3d0f7a?comp=range response: body: - string: '' + string: "\uFEFFInvalidHeaderValueThe + value for one of the HTTP headers is not in the correct format.\nRequestId:9a228077-001a-007a-3e71-644eb4000000\nTime:2019-09-06T05:07:50.4062436ZContent-Length0" headers: ? !!python/object/new:multidict._istr.istr - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : b5AbhAufiCg3bbgsITrKwQ== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EF798E786"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2a372f55-a01a-00e9-5347-4a9806000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e3d0f7a/file2e3d0f7a - - comp=range - - '' -- request: - body: null - headers: - Content-Length: - - '0' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 141e6a86-b63b-11e9-b207-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:26 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - clear - method: PUT - uri: https://storagename.file.core.windows.net/utshare2e3d0f7a/file2e3d0f7a?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EF7A349AA"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2a372f56-a01a-00e9-5447-4a9806000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e3d0f7a/file2e3d0f7a - - comp=range - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 143b401e-b63b-11e9-b4ce-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:27 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare2e3d0f7a/file2e3d0f7a - response: - body: - string: !!binary | - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs - rj6BwY2GAc7Hh3UbNecJ5cHdxZsYEqNd/MW0xCb2O68CsMr0Th602Fc8KZq+lAEoVZ/7/H60794u - B8+TtccbUYYueEpooS9TLNtzea5edbsqhyBCv1wtIlCBqsGxpJHx0MaeyeIurWR/5DdZCmUTQPiX - rHCtjBfi/T0lvTNuXCEl5ZUNzYwLMx8VCgDjRxb1B+0WIssN7sRT5iZZrQeeSRWJqeRZR5LBnL4Q - o05LwoUYi0LV1lpectOnn8LT/ASDi/W6CZo2QgNKQyorZ30ymRjupWndL2pOa/mfK4QW2y/nimBb - mM8/hbUrVkuwnwraKWf8Gd2oX3yRPwNre4exmHg+7/hliZ61b4YWeULeItBYLk4DsrNkk+H4iK8Q - kqvJzJb2P4ZpqcxLEYlfOqtmeAXmR0ynqScYTofbIh/ULLRBCiEb2MkuSJRKG0X40mBL3De+mlnY - nMhm4yJqNDmmEVlfPLUxMavbwF9684vTau32vfuJ6X60V/BT3TD9FPQbEwmHUhijDZm20ftRXP16 - HyXusnPfYFH8uLL0kxY2ug7Kfnmu8YmqsWZjP4sMoK0hib+lQgddBt9CGpaiFdOokAbRyT31z789 - yjlxSynlxCTXPyJJTJtBzgWCghRm83m8tIA0ny+LJVx7GVmzA8NlzdEFUUPg6ZIDd6fPLTEQ2g== - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-1023/1024 + : '321' ? !!python/object/new:multidict._istr.istr - Content-Type - : application/xml; charset=utf-8 + : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EF7A349AA"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:25 GMT + : Fri, 06 Sep 2019 05:07:50 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 2a372f57-a01a-00e9-5547-4a9806000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-client-request-id: 4633d266-d064-11e9-a094-001a7dda7113 + x-ms-error-code: InvalidHeaderValue + x-ms-request-id: 9a228077-001a-007a-3e71-644eb4000000 + x-ms-version: '2019-02-02' status: - code: 206 - message: Partial Content + code: 400 + message: The value for one of the HTTP headers is not in the correct format. url: !!python/object/new:yarl.URL state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare2e3d0f7a/file2e3d0f7a - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2ef47f92-b63b-11e9-8cb6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:08:11 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare2e3d0f7a?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:10 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F12912901"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:10 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c5b322a2-401a-0049-2147-4a5760000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e3d0f7a - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2f283c1e-b63b-11e9-8abb-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:08:12 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare2e3d0f7a/file2e3d0f7a - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:10 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F12C94414"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e9f15406-c01a-0058-4e47-4a607b000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e3d0f7a/file2e3d0f7a - - '' - - '' -- request: - body: !!binary | - 3m79mTMamWnMu+/31bRa45BvNmxazF7pJHneU4Dw11EvCxQA5c/Mxyai4Bjgo/pN/myhwTZc4yXT - UiML7j7JhKTDB0Bg8sDi5ECrpnJyxnjzxwiwyD2KUE7VCN4tBC36WPX54udn9FzTm73hojKwBi/h - hWdxKeB6ooatWn/IE/iJbX57a/6j5XnOMp2KBzbhLr2cczAZmiVIW5JMar1VCj/rmxYjTk3Bq5B+ - f3eBmRZhI4X9bWpIMRHTTueFiqsdjoe6eOqpmJMlVKKXr0E9d7TTOEwVIQNV19PyK256MOPfdT2x - mBOHLxw2TUml1rXXwKq8WmwnWn5GQxA79clxFV43j2KHmZVfz9m0U09XQliEI5OFgzHfDfzG7iFz - 3PjnfubNy7QQ+ZIOD6SUpVGVEWh1sdjmHVHaX9EbzlcFPk7hG8KC2lhZID8YzQKwGEqpnhgBRGSx - cK96Nk/qUPQy3zcCcgthrxjAFvRt22hweE6hWnUSn5C9CAQAvC2KMPnfAr86aZgzggR4/ka/7nw3 - l5hERFt35dCAC7vYIJM6tYMlXRnrr8upPQT5TcSORxiuLAneeE5accJ1/p8q+jQ3CGAWc+xqGuj5 - rTLNCuUJEqYD3GgsUWNb9qwo3JAmYqkncOf2ueSLJhemI55JiyxePqXj1SwrurgNXZyGLe2G7nUs - rj6BwY2GAc7Hh3UbNecJ5cHdxZsYEqNd/MW0xCb2O68CsMr0Th602Fc8KZq+lAEoVZ/7/H60794u - B8+TtccbUYYueEpooS9TLNtzea5edbsqhyBCv1wtIlCBqsGxpJHx0MaeyeIurWR/5DdZCmUTQPiX - rHCtjBfi/T0lvTNuXCEl5ZUNzYwLMx8VCgDjRxb1B+0WIssN7sRT5iZZrQeeSRWJqeRZR5LBnL4Q - o05LwoUYi0LV1lpectOnn8LT/ASDi/W6CZo2QgNKQyorZ30ymRjupWndL2pOa/mfK4QW2y/nimBb - mM8/hbUrVkuwnwraKWf8Gd2oX3yRPwNre4exmHg+7/hliZ61b4YWeULeItBYLk4DsrNkk+H4iK8Q - kqvJzJb2P4ZpqcxLEYlfOqtmeAXmR0ynqScYTofbIh/ULLRBCiEb2MkuSJRKG0X40mBL3De+mlnY - nMhm4yJqNDmmEVlfPLUxMavbwF9684vTau32vfuJ6X60V/BT3TD9FPQbEwmHUhijDZm20ftRXP16 - HyXusnPfYFH8uLL0kxY2ug7Kfnmu8YmqsWZjP4sMoK0hib+lQgddBt9CGpaiFdOokAbRyT31z789 - yjlxSynlxCTXPyJJTJtBzgWCghRm83m8tIA0ny+LJVx7GVmzA8NlzdEFUUPg6ZIDd6fPLTEQ2g== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 2f55624a-b63b-11e9-a6a6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:08:12 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare2e3d0f7a/file2e3d0f7a?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : b5AbhAufiCg3bbgsITrKwQ== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:10 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F12DA3714"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e9f15408-c01a-0058-4f47-4a607b000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e3d0f7a/file2e3d0f7a - - comp=range - - '' -- request: - body: null - headers: - Content-Length: - - '0' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 2f6061d0-b63b-11e9-9be9-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:08:12 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - clear - method: PUT - uri: https://storagename.file.core.windows.net/utshare2e3d0f7a/file2e3d0f7a?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:10 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F12E4721D"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e9f15409-c01a-0058-5047-4a607b000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2e3d0f7a/file2e3d0f7a - comp=range - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2f6a63dc-b63b-11e9-b9b0-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:08:12 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare2e3d0f7a/file2e3d0f7a - response: - body: - string: !!binary | - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs - rj6BwY2GAc7Hh3UbNecJ5cHdxZsYEqNd/MW0xCb2O68CsMr0Th602Fc8KZq+lAEoVZ/7/H60794u - B8+TtccbUYYueEpooS9TLNtzea5edbsqhyBCv1wtIlCBqsGxpJHx0MaeyeIurWR/5DdZCmUTQPiX - rHCtjBfi/T0lvTNuXCEl5ZUNzYwLMx8VCgDjRxb1B+0WIssN7sRT5iZZrQeeSRWJqeRZR5LBnL4Q - o05LwoUYi0LV1lpectOnn8LT/ASDi/W6CZo2QgNKQyorZ30ymRjupWndL2pOa/mfK4QW2y/nimBb - mM8/hbUrVkuwnwraKWf8Gd2oX3yRPwNre4exmHg+7/hliZ61b4YWeULeItBYLk4DsrNkk+H4iK8Q - kqvJzJb2P4ZpqcxLEYlfOqtmeAXmR0ynqScYTofbIh/ULLRBCiEb2MkuSJRKG0X40mBL3De+mlnY - nMhm4yJqNDmmEVlfPLUxMavbwF9684vTau32vfuJ6X60V/BT3TD9FPQbEwmHUhijDZm20ftRXP16 - HyXusnPfYFH8uLL0kxY2ug7Kfnmu8YmqsWZjP4sMoK0hib+lQgddBt9CGpaiFdOokAbRyT31z789 - yjlxSynlxCTXPyJJTJtBzgWCghRm83m8tIA0ny+LJVx7GVmzA8NlzdEFUUPg6ZIDd6fPLTEQ2g== - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-1023/1024 - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:10 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F12E4721D"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: e9f1540a-c01a-0058-5147-4a607b000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 206 - message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e3d0f7a/file2e3d0f7a - - '' - - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_copy_file_async_private_file_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_copy_file_async_private_file_async.yaml index c5bf5e9695f8..9f94700de1dc 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_copy_file_async_private_file_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_copy_file_async_private_file_async.yaml @@ -3,21 +3,21 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b46ebe86-b639-11e9-84dc-2816a845e8c6 + - 4661ed34-d064-11e9-8c14-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:36 GMT + - Fri, 06 Sep 2019 05:07:50 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://remotestoragename.file.core.windows.net/remoteshare77b91697?restype=share response: body: string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:841be72b-601a-009d-1846-4a4b23000000\nTime:2019-08-03T21:57:35.9518048Z" + specified share already exists.\nRequestId:613d4ded-d01a-000e-0971-642320000000\nTime:2019-09-06T05:07:50.8006680Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -27,13 +27,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:35 GMT + : Fri, 06 Sep 2019 05:07:50 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4661ed34-d064-11e9-8c14-001a7dda7113 x-ms-error-code: ShareAlreadyExists - x-ms-request-id: 841be72b-601a-009d-1846-4a4b23000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 613d4ded-d01a-000e-0971-642320000000 + x-ms-version: '2019-02-02' status: code: 409 message: The specified share already exists. @@ -41,7 +42,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - pytestremote.file.core.windows.net + - zemaintest.file.core.windows.net - /remoteshare77b91697 - restype=share - '' @@ -49,112 +50,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 149b12d0-b63b-11e9-9073-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:27 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://remotestoragename.file.core.windows.net/remoteshare77b91697?restype=share - response: - body: - string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:19982eaf-e01a-0062-0247-4a76bb000000\nTime:2019-08-03T22:07:26.6669398Z" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '222' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: ShareAlreadyExists - x-ms-request-id: 19982eaf-e01a-0062-0247-4a76bb000000 - x-ms-version: '2018-11-09' - status: - code: 409 - message: The specified share already exists. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pytestremote.file.core.windows.net - - /remoteshare77b91697 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2ff04a24-b63b-11e9-968b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:08:13 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://remotestoragename.file.core.windows.net/remoteshare77b91697?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:11 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F13A85A94"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 198bd52b-a01a-0125-4d47-4aef85000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pytestremote.file.core.windows.net - - /remoteshare77b91697 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 30383df6-b63b-11e9-a502-2816a845e8c6 + - 4677034c-d064-11e9-86eb-001a7dda7113 x-ms-content-length: - '8388608' x-ms-date: - - Sat, 03 Aug 2019 22:08:13 GMT + - Fri, 06 Sep 2019 05:07:50 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://remotestoragename.file.core.windows.net/remoteshare77b91697/file77b91697 response: @@ -166,19 +82,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:11 GMT + : Fri, 06 Sep 2019 05:07:50 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F13BB79C2"' + : '"0x8D732882AA4B4A6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:12 GMT + : Fri, 06 Sep 2019 05:07:50 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 198bd52e-a01a-0125-4e47-4aef85000000 + x-ms-client-request-id: 4677034c-d064-11e9-86eb-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:07:50.8592806Z' + x-ms-file-creation-time: '2019-09-06T05:07:50.8592806Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:07:50.8592806Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 5068516693366841476*17218973682704664586 + x-ms-request-id: 613d4df0-d01a-000e-0a71-642320000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -186,7 +110,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - pytestremote.file.core.windows.net + - zemaintest.file.core.windows.net - /remoteshare77b91697/file77b91697 - '' - '' @@ -198,15 +122,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 30404f06-b63b-11e9-bc8d-2816a845e8c6 + - 467c3b8c-d064-11e9-88a8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:08:14 GMT + - Fri, 06 Sep 2019 05:07:50 GMT x-ms-range: - bytes=0-4194303 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -223,19 +147,20 @@ interactions: : O+kCfdGnulSkbl/qLCRhQA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:18 GMT + : Fri, 06 Sep 2019 05:07:50 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F17B1873C"' + : '"0x8D732882AD8C9C0"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:19 GMT + : Fri, 06 Sep 2019 05:07:51 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 198bd52f-a01a-0125-4f47-4aef85000000 + x-ms-client-request-id: 467c3b8c-d064-11e9-88a8-001a7dda7113 + x-ms-request-id: 613d4df1-d01a-000e-0b71-642320000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -243,7 +168,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - pytestremote.file.core.windows.net + - zemaintest.file.core.windows.net - /remoteshare77b91697/file77b91697 - comp=range - '' @@ -255,15 +180,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3442cfa2-b63b-11e9-8a2d-2816a845e8c6 + - 46b8448c-d064-11e9-90eb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:08:20 GMT + - Fri, 06 Sep 2019 05:07:51 GMT x-ms-range: - bytes=4194304-8388607 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -280,19 +205,20 @@ interactions: : O+kCfdGnulSkbl/qLCRhQA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:25 GMT + : Fri, 06 Sep 2019 05:07:51 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F1BA8310D"' + : '"0x8D732882AF7CB06"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:26 GMT + : Fri, 06 Sep 2019 05:07:51 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 198bd536-a01a-0125-5247-4aef85000000 + x-ms-client-request-id: 46b8448c-d064-11e9-90eb-001a7dda7113 + x-ms-request-id: 613d4df2-d01a-000e-0c71-642320000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -300,7 +226,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - pytestremote.file.core.windows.net + - zemaintest.file.core.windows.net - /remoteshare77b91697/file77b91697 - comp=range - '' @@ -308,23 +234,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 384320dc-b63b-11e9-b9be-2816a845e8c6 + - 46d6dba6-d064-11e9-b336-001a7dda7113 x-ms-copy-source: - - https://pytestremote.file.core.windows.net/remoteshare77b91697/file77b91697 + - https://zemaintest.file.core.windows.net/remoteshare77b91697/file77b91697 x-ms-date: - - Sat, 03 Aug 2019 22:08:27 GMT + - Fri, 06 Sep 2019 05:07:51 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare77b91697/targetfile response: body: string: "\uFEFFCannotVerifyCopySourceThe - specified resource does not exist.\nRequestId:fba2b347-501a-007f-7347-4afa32000000\nTime:2019-08-03T22:08:27.2884819Z" + specified resource does not exist.\nRequestId:8c648d55-301a-0013-3c71-6477f8000000\nTime:2019-09-06T05:07:59.9519498Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -334,13 +260,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:27 GMT + : Fri, 06 Sep 2019 05:07:59 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 46d6dba6-d064-11e9-b336-001a7dda7113 x-ms-error-code: CannotVerifyCopySource - x-ms-request-id: fba2b347-501a-007f-7347-4afa32000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 8c648d55-301a-0013-3c71-6477f8000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified resource does not exist. @@ -348,7 +275,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare77b91697/targetfile - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_copy_file_async_private_file_with_sas_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_copy_file_async_private_file_with_sas_async.yaml index 94680e2f21a6..67c48882b787 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_copy_file_async_private_file_with_sas_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_copy_file_async_private_file_with_sas_async.yaml @@ -3,21 +3,21 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b51c2142-b639-11e9-83cb-2816a845e8c6 + - 4c5ddf62-d064-11e9-b97b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:37 GMT + - Fri, 06 Sep 2019 05:08:00 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://remotestoragename.file.core.windows.net/remoteshare55f01a58?restype=share response: body: string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:09582364-901a-0066-7346-4a8339000000\nTime:2019-08-03T21:57:36.9150620Z" + specified share already exists.\nRequestId:eebc0c96-f01a-005d-5671-643f2f000000\nTime:2019-09-06T05:08:00.8462012Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -27,13 +27,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:36 GMT + : Fri, 06 Sep 2019 05:07:59 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4c5ddf62-d064-11e9-b97b-001a7dda7113 x-ms-error-code: ShareAlreadyExists - x-ms-request-id: 09582364-901a-0066-7346-4a8339000000 - x-ms-version: '2018-11-09' + x-ms-request-id: eebc0c96-f01a-005d-5671-643f2f000000 + x-ms-version: '2019-02-02' status: code: 409 message: The specified share already exists. @@ -41,7 +42,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - pytestremote.file.core.windows.net + - zemaintest.file.core.windows.net - /remoteshare55f01a58 - restype=share - '' @@ -49,112 +50,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 1532e66e-b63b-11e9-afc1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:28 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://remotestoragename.file.core.windows.net/remoteshare55f01a58?restype=share - response: - body: - string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:7ed2d8ec-401a-0064-1f47-4a81c3000000\nTime:2019-08-03T22:07:27.6207833Z" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '222' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: ShareAlreadyExists - x-ms-request-id: 7ed2d8ec-401a-0064-1f47-4a81c3000000 - x-ms-version: '2018-11-09' - status: - code: 409 - message: The specified share already exists. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pytestremote.file.core.windows.net - - /remoteshare55f01a58 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3a01359c-b63b-11e9-ab74-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:08:30 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://remotestoragename.file.core.windows.net/remoteshare55f01a58?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:29 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F1DA4CF58"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:29 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 33fb5f5d-501a-00bc-6947-4a2612000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - pytestremote.file.core.windows.net - - /remoteshare55f01a58 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3a33d61a-b63b-11e9-af40-2816a845e8c6 + - 4c73fce4-d064-11e9-8f6e-001a7dda7113 x-ms-content-length: - '8388608' x-ms-date: - - Sat, 03 Aug 2019 22:08:30 GMT + - Fri, 06 Sep 2019 05:08:00 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://remotestoragename.file.core.windows.net/remoteshare55f01a58/file55f01a58 response: @@ -166,19 +82,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:29 GMT + : Fri, 06 Sep 2019 05:08:00 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F1DB724EB"' + : '"0x8D7328830A1B2D9"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:29 GMT + : Fri, 06 Sep 2019 05:08:00 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 33fb5f60-501a-00bc-6a47-4a2612000000 + x-ms-client-request-id: 4c73fce4-d064-11e9-8f6e-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:00.9059033Z' + x-ms-file-creation-time: '2019-09-06T05:08:00.9059033Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:00.9059033Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 5068516693366841476*17218973682704664586 + x-ms-request-id: eebc0c99-f01a-005d-5771-643f2f000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -186,7 +110,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - pytestremote.file.core.windows.net + - zemaintest.file.core.windows.net - /remoteshare55f01a58/file55f01a58 - '' - '' @@ -198,15 +122,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3a51f1e6-b63b-11e9-be40-2816a845e8c6 + - 4c79ed58-d064-11e9-8052-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:08:30 GMT + - Fri, 06 Sep 2019 05:08:00 GMT x-ms-range: - bytes=0-4194303 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -223,19 +147,20 @@ interactions: : O+kCfdGnulSkbl/qLCRhQA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:35 GMT + : Fri, 06 Sep 2019 05:08:00 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F218F92E6"' + : '"0x8D7328830D63D3B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:36 GMT + : Fri, 06 Sep 2019 05:08:01 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 33fb5f61-501a-00bc-6b47-4a2612000000 + x-ms-client-request-id: 4c79ed58-d064-11e9-8052-001a7dda7113 + x-ms-request-id: eebc0c9a-f01a-005d-5871-643f2f000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -243,7 +168,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - pytestremote.file.core.windows.net + - zemaintest.file.core.windows.net - /remoteshare55f01a58/file55f01a58 - comp=range - '' @@ -255,15 +180,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3e21f35c-b63b-11e9-aaca-2816a845e8c6 + - 4cb789e6-d064-11e9-aab6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:08:37 GMT + - Fri, 06 Sep 2019 05:08:01 GMT x-ms-range: - bytes=4194304-8388607 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -280,19 +205,20 @@ interactions: : O+kCfdGnulSkbl/qLCRhQA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:41 GMT + : Fri, 06 Sep 2019 05:08:00 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F25097C11"' + : '"0x8D7328830F65038"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:41 GMT + : Fri, 06 Sep 2019 05:08:01 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 33fb5f6c-501a-00bc-7047-4a2612000000 + x-ms-client-request-id: 4cb789e6-d064-11e9-aab6-001a7dda7113 + x-ms-request-id: eebc0c9c-f01a-005d-5971-643f2f000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -300,7 +226,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - pytestremote.file.core.windows.net + - zemaintest.file.core.windows.net - /remoteshare55f01a58/file55f01a58 - comp=range - '' @@ -308,15 +234,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 419e4dc2-b63b-11e9-9f16-2816a845e8c6 + - 4cd5db02-d064-11e9-9d18-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:08:43 GMT + - Fri, 06 Sep 2019 05:08:01 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare55f01a58?restype=share response: @@ -328,18 +254,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:41 GMT + : Fri, 06 Sep 2019 05:08:01 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F254210ED"' + : '"0x8D7328831075822"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:42 GMT + : Fri, 06 Sep 2019 05:08:01 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 180a3bf2-401a-002f-4748-4ae53a000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 4cd5db02-d064-11e9-9d18-001a7dda7113 + x-ms-request-id: a0f0ccbd-701a-00d9-1e71-642b71000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -347,7 +274,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare55f01a58 - restype=share - '' @@ -355,17 +282,17 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 41e6b7fa-b63b-11e9-9a04-2816a845e8c6 + - 4ce2600c-d064-11e9-a84c-001a7dda7113 x-ms-copy-source: - - https://pytestremote.file.core.windows.net/remoteshare55f01a58/file55f01a58?se=2019-08-03T23%3A08%3A43Z&sp=r&sv=2018-03-28&sr=f&sig=cP/CK5auXooInHIe%2BB3fg6QeGBRBygoqqtWfImFpOh8%3D + - https://zemaintest.file.core.windows.net/remoteshare55f01a58/file55f01a58?se=2019-09-06T06%3A08%3A01Z&sp=r&sv=2019-02-02&sr=f&sig=WEqKFsn8IyMKQINziaHlMT7%2BQW%2B3JusF9VYiBrF7fFs%3D x-ms-date: - - Sat, 03 Aug 2019 22:08:43 GMT + - Fri, 06 Sep 2019 05:08:01 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare55f01a58/targetfile response: @@ -377,20 +304,21 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:42 GMT + : Fri, 06 Sep 2019 05:08:04 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F25BDF561"' + : '"0x8D7328832BE4619"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:43 GMT + : Fri, 06 Sep 2019 05:08:04 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-copy-id: e87af054-9d0e-4066-9ed5-2c6b73af0c96 + x-ms-client-request-id: 4ce2600c-d064-11e9-a84c-001a7dda7113 + x-ms-copy-id: eaf2b70a-d6bb-4820-9d97-3f7bce1d69cf x-ms-copy-status: pending - x-ms-request-id: 3f079ebf-101a-009d-0148-4a1e40000000 - x-ms-version: '2018-11-09' + x-ms-request-id: f0a8294d-a01a-0073-1971-640b67000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -398,7 +326,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare55f01a58/targetfile - '' - '' @@ -406,15 +334,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4264a728-b63b-11e9-8468-2816a845e8c6 + - 4e9d08f0-d064-11e9-b09a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:08:44 GMT + - Fri, 06 Sep 2019 05:08:04 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare55f01a58/targetfile response: @@ -429,27 +357,32 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:43 GMT + : Fri, 06 Sep 2019 05:08:03 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F25BDF561"' + : '"0x8D7328832BE4619"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:43 GMT + : Fri, 06 Sep 2019 05:08:04 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-copy-id: e87af054-9d0e-4066-9ed5-2c6b73af0c96 + x-ms-client-request-id: 4e9d08f0-d064-11e9-b09a-001a7dda7113 + x-ms-copy-id: eaf2b70a-d6bb-4820-9d97-3f7bce1d69cf x-ms-copy-progress: 0/8388608 - x-ms-copy-source: https://remotestoragename.file.core.windows.net/remoteshare55f01a58/file55f01a58?se=2019-08-03T23%3A08%3A43Z&sp=r&sv=2018-03-28&sr=f&sig=cP/CK5auXooInHIe%2BB3fg6QeGBRBygoqqtWfImFpOh8%3D + x-ms-copy-source: https://remotestoragename.file.core.windows.net/remoteshare55f01a58/file55f01a58?se=2019-09-06T06%3A08%3A01Z&sp=r&sv=2019-02-02&sr=f&sig=WEqKFsn8IyMKQINziaHlMT7%2BQW%2B3JusF9VYiBrF7fFs%3D x-ms-copy-status: pending - x-ms-request-id: 572d00f4-a01a-000c-5148-4a8af1000000 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:04.4486169Z' + x-ms-file-creation-time: '2019-09-06T05:08:04.4486169Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:04.4486169Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 0927a6d3-901a-00ee-2e71-64f9dd000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -457,7 +390,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare55f01a58/targetfile - '' - '' @@ -465,15 +398,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 46417798-b63b-11e9-9a35-2816a845e8c6 + - 523b28a6-d064-11e9-8533-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:08:50 GMT + - Fri, 06 Sep 2019 05:08:10 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare55f01a58/targetfile response: @@ -488,28 +421,33 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:49 GMT + : Fri, 06 Sep 2019 05:08:10 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F28025B7A"' + : '"0x8D7328833A64653"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:46 GMT + : Fri, 06 Sep 2019 05:08:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-copy-completion-time: Sat, 03 Aug 2019 22:08:46 GMT - x-ms-copy-id: e87af054-9d0e-4066-9ed5-2c6b73af0c96 + x-ms-client-request-id: 523b28a6-d064-11e9-8533-001a7dda7113 + x-ms-copy-completion-time: Fri, 06 Sep 2019 05:08:05 GMT + x-ms-copy-id: eaf2b70a-d6bb-4820-9d97-3f7bce1d69cf x-ms-copy-progress: 8388608/8388608 - x-ms-copy-source: https://remotestoragename.file.core.windows.net/remoteshare55f01a58/file55f01a58?se=2019-08-03T23%3A08%3A43Z&sp=r&sv=2018-03-28&sr=f&sig=cP/CK5auXooInHIe%2BB3fg6QeGBRBygoqqtWfImFpOh8%3D + x-ms-copy-source: https://remotestoragename.file.core.windows.net/remoteshare55f01a58/file55f01a58?se=2019-09-06T06%3A08%3A01Z&sp=r&sv=2019-02-02&sr=f&sig=WEqKFsn8IyMKQINziaHlMT7%2BQW%2B3JusF9VYiBrF7fFs%3D x-ms-copy-status: success - x-ms-request-id: d8855611-c01a-0017-6f48-4aa463000000 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:04.4486169Z' + x-ms-file-creation-time: '2019-09-06T05:08:04.4486169Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:04.4486169Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: f5e9c2df-801a-0029-3a71-646d80000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -517,7 +455,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare55f01a58/targetfile - '' - '' @@ -527,17 +465,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4687711c-b63b-11e9-8130-2816a845e8c6 + - 5249e69c-d064-11e9-bf06-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:08:51 GMT + - Fri, 06 Sep 2019 05:08:10 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare55f01a58/targetfile response: @@ -558,28 +496,33 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:08:50 GMT + : Fri, 06 Sep 2019 05:08:10 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F28025B7A"' + : '"0x8D7328833A64653"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:08:46 GMT + : Fri, 06 Sep 2019 05:08:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-copy-completion-time: Sat, 03 Aug 2019 22:08:46 GMT - x-ms-copy-id: e87af054-9d0e-4066-9ed5-2c6b73af0c96 + x-ms-client-request-id: 5249e69c-d064-11e9-bf06-001a7dda7113 + x-ms-copy-completion-time: Fri, 06 Sep 2019 05:08:05 GMT + x-ms-copy-id: eaf2b70a-d6bb-4820-9d97-3f7bce1d69cf x-ms-copy-progress: 8388608/8388608 - x-ms-copy-source: https://remotestoragename.file.core.windows.net/remoteshare55f01a58/file55f01a58?se=2019-08-03T23%3A08%3A43Z&sp=r&sv=2018-03-28&sr=f&sig=cP/CK5auXooInHIe%2BB3fg6QeGBRBygoqqtWfImFpOh8%3D + x-ms-copy-source: https://remotestoragename.file.core.windows.net/remoteshare55f01a58/file55f01a58?se=2019-09-06T06%3A08%3A01Z&sp=r&sv=2019-02-02&sr=f&sig=WEqKFsn8IyMKQINziaHlMT7%2BQW%2B3JusF9VYiBrF7fFs%3D x-ms-copy-status: success - x-ms-request-id: 3f079eca-101a-009d-0448-4a1e40000000 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:04.4486169Z' + x-ms-file-creation-time: '2019-09-06T05:08:04.4486169Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:04.4486169Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: f0a82986-a01a-0073-4871-640b67000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -587,7 +530,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare55f01a58/targetfile - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_copy_file_with_existing_file_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_copy_file_with_existing_file_async.yaml index 8dad48339731..2293ed201b6b 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_copy_file_with_existing_file_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_copy_file_with_existing_file_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b58e4946-b639-11e9-91ec-2816a845e8c6 + - 539e6d86-d064-11e9-ba2c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:38 GMT + - Fri, 06 Sep 2019 05:08:12 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare78cc16a5?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:36 GMT + : Fri, 06 Sep 2019 05:08:12 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D992F2A10"' + : '"0x8D7328837D02272"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:37 GMT + : Fri, 06 Sep 2019 05:08:12 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 099559e7-901a-0004-1546-4a9182000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 539e6d86-d064-11e9-ba2c-001a7dda7113 + x-ms-request-id: 980ea245-701a-0002-5a71-64ed4c000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare78cc16a5 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b5c9092e-b639-11e9-8502-2816a845e8c6 + - 53a93b62-d064-11e9-b43f-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:39 GMT + - Fri, 06 Sep 2019 05:08:13 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare78cc16a5/file78cc16a5 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:37 GMT + : Fri, 06 Sep 2019 05:08:12 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D99679B36"' + : '"0x8D7328837E0624E"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:38 GMT + : Fri, 06 Sep 2019 05:08:13 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 91b419ff-501a-003b-7346-4a265e000000 + x-ms-client-request-id: 53a93b62-d064-11e9-b43f-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:13.0607694Z' + x-ms-file-creation-time: '2019-09-06T05:08:13.0607694Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:13.0607694Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: d9c57270-201a-006d-6271-64e7bf000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare78cc16a5/file78cc16a5 - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - b601136e-b639-11e9-9abb-2816a845e8c6 + - 53b73b1c-d064-11e9-a6c3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:39 GMT + - Fri, 06 Sep 2019 05:08:13 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : c97F6LcHwblGVsqim0F0yg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:37 GMT + : Fri, 06 Sep 2019 05:08:13 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D9986254A"' + : '"0x8D7328837E39766"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:38 GMT + : Fri, 06 Sep 2019 05:08:13 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 91b41a01-501a-003b-7446-4a265e000000 + x-ms-client-request-id: 53b73b1c-d064-11e9-a6c3-001a7dda7113 + x-ms-request-id: d9c57272-201a-006d-6371-64e7bf000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare78cc16a5/file78cc16a5 - comp=range - '' @@ -177,17 +195,17 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b625b5d2-b639-11e9-831b-2816a845e8c6 + - 53bdc646-d064-11e9-a5b9-001a7dda7113 x-ms-copy-source: - - https://amqptest.file.core.windows.net/utshare78cc16a5/file78cc16a5 + - https://emilydevtest.file.core.windows.net/utshare78cc16a5/file78cc16a5 x-ms-date: - - Sat, 03 Aug 2019 21:57:39 GMT + - Fri, 06 Sep 2019 05:08:13 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare78cc16a5/file1copy response: @@ -199,20 +217,21 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:38 GMT + : Fri, 06 Sep 2019 05:08:13 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D99CF226D"' + : '"0x8D73288384AAF8A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:38 GMT + : Fri, 06 Sep 2019 05:08:13 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-copy-id: 823f0eee-d11c-4393-954a-867890a2892e + x-ms-client-request-id: 53bdc646-d064-11e9-a5b9-001a7dda7113 + x-ms-copy-id: 6064def8-f0be-467d-a21f-fb62b5050d92 x-ms-copy-status: success - x-ms-request-id: 5dbc1206-501a-00d5-4146-4a2cdd000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 41913a11-701a-0070-7771-64ea03000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -220,7 +239,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare78cc16a5/file1copy - '' - '' @@ -230,17 +249,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b65ede14-b639-11e9-afde-2816a845e8c6 + - 5425bf36-d064-11e9-a0f3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:40 GMT + - Fri, 06 Sep 2019 05:08:13 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare78cc16a5/file1copy response: @@ -279,654 +298,33 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:38 GMT + : Fri, 06 Sep 2019 05:08:13 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D99CF226D"' + : '"0x8D73288384AAF8A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:38 GMT + : Fri, 06 Sep 2019 05:08:13 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-copy-completion-time: Sat, 03 Aug 2019 21:57:38 GMT - x-ms-copy-id: 823f0eee-d11c-4393-954a-867890a2892e - x-ms-copy-progress: 1024/1024 - x-ms-copy-source: https://storagename.file.core.windows.net/utshare78cc16a5/file78cc16a5 - x-ms-copy-status: success - x-ms-request-id: 5dbc1209-501a-00d5-4246-4a2cdd000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 206 - message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare78cc16a5/file1copy - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 15d7b73a-b63b-11e9-b2d0-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:29 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare78cc16a5?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:27 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EF97F590E"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:28 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bdaf8e0c-e01a-0083-2547-4ac4ad000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare78cc16a5 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 16163400-b63b-11e9-8d01-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:07:30 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare78cc16a5/file78cc16a5 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:29 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EF9B4D69F"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:29 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: b7a934a7-501a-0056-6347-4a8c70000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare78cc16a5/file78cc16a5 - - '' - - '' -- request: - body: !!binary | - v6naUhuc9iWzrTK/wMbwHFjz+EDCc9K+UjClN1K4yE8ZRL/gVUbE+pkgxEKc7jSghYfa0HnPoQGr - zsIORVdmaczn29avLOySMr+9tU7P3VlJh2sQP3ZfS+13azW6ePS981fppW+tov3Wifs3Vvu9Lt5T - Y+uNSbeSb9x7Z5ffve0lKenBmCKF281ofMSNJm499l4gUzCKhvmn6FG0q9uRcNgDkt9tLxhD1R3D - 8Ryf+xKF2C8mxxoQCISTlJcFiPBcMFZIamIkELBDxsY2byXpr3vXl3812GhANz9WtbpkakbRVLpD - 67A+GpmiayoeQpvWG52BuDAY2sQjRwFG9IpD4DvrTWhf/hQBYQC+AtnAjsKbfAQrlxonERhMAuKn - yQPviqYyoprMdg66BfHVLtMFb52dxXtc+5qfpw+6Xrx8e7lUaWJCA0QRpZB5tpDWIWzqAyzYJ0nV - hlI2aYRCHkfwa+d/ejPi/j3dOuZZOc0uGRDg2rtvMvCh/AU8FZMErmO2CRZvIRWz19izoRPgEdip - HWl/nWTsGs/WMU3eXZ8KGX3U0uZUZe6TWdPku3FMOSe2iKTSiylgjZSbLsoo7CQ+dX6la2IjSHl9 - Vsls8PEoaljpRT4KNmN1CsZ8fFUA/eRrY674l5VEwOwHlfdYWKbT58kKQtIkuMDfsTF0EfkqpiKF - +ouebApCd0vtxJd1nvoMyWoEHd24mURzK0eTlM1lZ/XHWqtsnEYJt86MCoPg1Vhsob59BPGC/mZT - f/V9r2XeO7Rr6xco0H87foeJiwAS60FvkQJKDBDMM7bYFQTQGgESZg3gqlLeu49y1iJaeAWeExmT - dtSnxRcmr2CsakLzIv1GBxXHPSnNewGZQRTVq1jJ4a2o2LUHJFfsTtSPf0G7Su+wZWtastTSthlZ - uqUImHFlgu4Jy/ruOP5C75rBo+RY5XXoJZctER/9K3X2ryLndMSjBXzKoGXNXCGLx2U/CBDSyHfY - RuFXzvl8qk0ETj5u1NpLLFZK5rZf3jka2LbCkFrIgRb59Ry8ltrhOkLEAb9+RGAdmp/EqtYlnhyP - B7F347AapKvyLhWsPzeeAB6LLga9zPyqntZ+4Yh+Miomz+PnCg8yPlXuQXCRgkAyqIRA5IhA5Y/B - QrjIfGje67Own6FWfveFY612ufxRxRRJTvgvXHe//P352/l8+2IgFqKlUmwAURc96j7QC/p26lCX - qPK4hdpl02VCouXOshRYFMcB5AnLa1K6pQBUV2nRRwBqHobTbQgVdooEEqn3BGUgT1i+ClUI3FRK - nfsBqY50xRIly2iSYzAM/JJ3uqhEswmknLsHj3Ml9TFe/CxSgNfvaILH0yHpMinfNFkSahstiw== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 163aed9c-b63b-11e9-bc57-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:30 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare78cc16a5/file78cc16a5?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : c97F6LcHwblGVsqim0F0yg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:29 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EF9BFD524"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:29 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: b7a934a9-501a-0056-6447-4a8c70000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare78cc16a5/file78cc16a5 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 16563446-b63b-11e9-8038-2816a845e8c6 - x-ms-copy-source: - - https://amqptest.file.core.windows.net/utshare78cc16a5/file78cc16a5 - x-ms-date: - - Sat, 03 Aug 2019 22:07:30 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare78cc16a5/file1copy - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:29 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EFA0EC6D5"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:29 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-copy-id: 738759cd-d7a2-4a67-bdad-84dbddf8c143 - x-ms-copy-status: success - x-ms-request-id: bbb4d484-401a-008e-4c47-4a2ba1000000 - x-ms-version: '2018-11-09' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare78cc16a5/file1copy - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 16963ab0-b63b-11e9-8651-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:30 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare78cc16a5/file1copy - response: - body: - string: !!binary | - v6naUhuc9iWzrTK/wMbwHFjz+EDCc9K+UjClN1K4yE8ZRL/gVUbE+pkgxEKc7jSghYfa0HnPoQGr - zsIORVdmaczn29avLOySMr+9tU7P3VlJh2sQP3ZfS+13azW6ePS981fppW+tov3Wifs3Vvu9Lt5T - Y+uNSbeSb9x7Z5ffve0lKenBmCKF281ofMSNJm499l4gUzCKhvmn6FG0q9uRcNgDkt9tLxhD1R3D - 8Ryf+xKF2C8mxxoQCISTlJcFiPBcMFZIamIkELBDxsY2byXpr3vXl3812GhANz9WtbpkakbRVLpD - 67A+GpmiayoeQpvWG52BuDAY2sQjRwFG9IpD4DvrTWhf/hQBYQC+AtnAjsKbfAQrlxonERhMAuKn - yQPviqYyoprMdg66BfHVLtMFb52dxXtc+5qfpw+6Xrx8e7lUaWJCA0QRpZB5tpDWIWzqAyzYJ0nV - hlI2aYRCHkfwa+d/ejPi/j3dOuZZOc0uGRDg2rtvMvCh/AU8FZMErmO2CRZvIRWz19izoRPgEdip - HWl/nWTsGs/WMU3eXZ8KGX3U0uZUZe6TWdPku3FMOSe2iKTSiylgjZSbLsoo7CQ+dX6la2IjSHl9 - Vsls8PEoaljpRT4KNmN1CsZ8fFUA/eRrY674l5VEwOwHlfdYWKbT58kKQtIkuMDfsTF0EfkqpiKF - +ouebApCd0vtxJd1nvoMyWoEHd24mURzK0eTlM1lZ/XHWqtsnEYJt86MCoPg1Vhsob59BPGC/mZT - f/V9r2XeO7Rr6xco0H87foeJiwAS60FvkQJKDBDMM7bYFQTQGgESZg3gqlLeu49y1iJaeAWeExmT - dtSnxRcmr2CsakLzIv1GBxXHPSnNewGZQRTVq1jJ4a2o2LUHJFfsTtSPf0G7Su+wZWtastTSthlZ - uqUImHFlgu4Jy/ruOP5C75rBo+RY5XXoJZctER/9K3X2ryLndMSjBXzKoGXNXCGLx2U/CBDSyHfY - RuFXzvl8qk0ETj5u1NpLLFZK5rZf3jka2LbCkFrIgRb59Ry8ltrhOkLEAb9+RGAdmp/EqtYlnhyP - B7F347AapKvyLhWsPzeeAB6LLga9zPyqntZ+4Yh+Miomz+PnCg8yPlXuQXCRgkAyqIRA5IhA5Y/B - QrjIfGje67Own6FWfveFY612ufxRxRRJTvgvXHe//P352/l8+2IgFqKlUmwAURc96j7QC/p26lCX - qPK4hdpl02VCouXOshRYFMcB5AnLa1K6pQBUV2nRRwBqHobTbQgVdooEEqn3BGUgT1i+ClUI3FRK - nfsBqY50xRIly2iSYzAM/JJ3uqhEswmknLsHj3Ml9TFe/CxSgNfvaILH0yHpMinfNFkSahstiw== - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-1023/1024 - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:29 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EFA0EC6D5"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:29 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-copy-completion-time: Sat, 03 Aug 2019 22:07:29 GMT - x-ms-copy-id: 738759cd-d7a2-4a67-bdad-84dbddf8c143 - x-ms-copy-progress: 1024/1024 - x-ms-copy-source: https://storagename.file.core.windows.net/utshare78cc16a5/file78cc16a5 - x-ms-copy-status: success - x-ms-request-id: bbb4d487-401a-008e-4d47-4a2ba1000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 206 - message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare78cc16a5/file1copy - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 4a44db0c-b63b-11e9-9772-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:08:57 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare78cc16a5?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:56 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F2DFBD22C"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:56 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 230666af-001a-00ab-1248-4ab312000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare78cc16a5 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 4a9a5bcc-b63b-11e9-af1a-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:08:58 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare78cc16a5/file78cc16a5 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:56 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F2E3A85EC"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:57 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 1492c507-301a-00ce-0948-4a024f000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare78cc16a5/file78cc16a5 - - '' - - '' -- request: - body: !!binary | - v6naUhuc9iWzrTK/wMbwHFjz+EDCc9K+UjClN1K4yE8ZRL/gVUbE+pkgxEKc7jSghYfa0HnPoQGr - zsIORVdmaczn29avLOySMr+9tU7P3VlJh2sQP3ZfS+13azW6ePS981fppW+tov3Wifs3Vvu9Lt5T - Y+uNSbeSb9x7Z5ffve0lKenBmCKF281ofMSNJm499l4gUzCKhvmn6FG0q9uRcNgDkt9tLxhD1R3D - 8Ryf+xKF2C8mxxoQCISTlJcFiPBcMFZIamIkELBDxsY2byXpr3vXl3812GhANz9WtbpkakbRVLpD - 67A+GpmiayoeQpvWG52BuDAY2sQjRwFG9IpD4DvrTWhf/hQBYQC+AtnAjsKbfAQrlxonERhMAuKn - yQPviqYyoprMdg66BfHVLtMFb52dxXtc+5qfpw+6Xrx8e7lUaWJCA0QRpZB5tpDWIWzqAyzYJ0nV - hlI2aYRCHkfwa+d/ejPi/j3dOuZZOc0uGRDg2rtvMvCh/AU8FZMErmO2CRZvIRWz19izoRPgEdip - HWl/nWTsGs/WMU3eXZ8KGX3U0uZUZe6TWdPku3FMOSe2iKTSiylgjZSbLsoo7CQ+dX6la2IjSHl9 - Vsls8PEoaljpRT4KNmN1CsZ8fFUA/eRrY674l5VEwOwHlfdYWKbT58kKQtIkuMDfsTF0EfkqpiKF - +ouebApCd0vtxJd1nvoMyWoEHd24mURzK0eTlM1lZ/XHWqtsnEYJt86MCoPg1Vhsob59BPGC/mZT - f/V9r2XeO7Rr6xco0H87foeJiwAS60FvkQJKDBDMM7bYFQTQGgESZg3gqlLeu49y1iJaeAWeExmT - dtSnxRcmr2CsakLzIv1GBxXHPSnNewGZQRTVq1jJ4a2o2LUHJFfsTtSPf0G7Su+wZWtastTSthlZ - uqUImHFlgu4Jy/ruOP5C75rBo+RY5XXoJZctER/9K3X2ryLndMSjBXzKoGXNXCGLx2U/CBDSyHfY - RuFXzvl8qk0ETj5u1NpLLFZK5rZf3jka2LbCkFrIgRb59Ry8ltrhOkLEAb9+RGAdmp/EqtYlnhyP - B7F347AapKvyLhWsPzeeAB6LLga9zPyqntZ+4Yh+Miomz+PnCg8yPlXuQXCRgkAyqIRA5IhA5Y/B - QrjIfGje67Own6FWfveFY612ufxRxRRJTvgvXHe//P352/l8+2IgFqKlUmwAURc96j7QC/p26lCX - qPK4hdpl02VCouXOshRYFMcB5AnLa1K6pQBUV2nRRwBqHobTbQgVdooEEqn3BGUgT1i+ClUI3FRK - nfsBqY50xRIly2iSYzAM/JJ3uqhEswmknLsHj3Ml9TFe/CxSgNfvaILH0yHpMinfNFkSahstiw== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 4acc33d2-b63b-11e9-9485-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:08:58 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare78cc16a5/file78cc16a5?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : c97F6LcHwblGVsqim0F0yg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:56 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F2E5082ED"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:57 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 1492c509-301a-00ce-0a48-4a024f000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare78cc16a5/file78cc16a5 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 4aee1300-b63b-11e9-bfda-2816a845e8c6 - x-ms-copy-source: - - https://amqptest.file.core.windows.net/utshare78cc16a5/file78cc16a5 - x-ms-date: - - Sat, 03 Aug 2019 22:08:58 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare78cc16a5/file1copy - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:57 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F2E8F6C1E"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:57 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-copy-id: a5db9b2b-3b37-486e-9741-4a724fa7b28a - x-ms-copy-status: success - x-ms-request-id: 5c6b0e8f-901a-00c8-3c48-4af537000000 - x-ms-version: '2018-11-09' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare78cc16a5/file1copy - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 4b29c7f4-b63b-11e9-84d5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:08:59 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare78cc16a5/file1copy - response: - body: - string: !!binary | - v6naUhuc9iWzrTK/wMbwHFjz+EDCc9K+UjClN1K4yE8ZRL/gVUbE+pkgxEKc7jSghYfa0HnPoQGr - zsIORVdmaczn29avLOySMr+9tU7P3VlJh2sQP3ZfS+13azW6ePS981fppW+tov3Wifs3Vvu9Lt5T - Y+uNSbeSb9x7Z5ffve0lKenBmCKF281ofMSNJm499l4gUzCKhvmn6FG0q9uRcNgDkt9tLxhD1R3D - 8Ryf+xKF2C8mxxoQCISTlJcFiPBcMFZIamIkELBDxsY2byXpr3vXl3812GhANz9WtbpkakbRVLpD - 67A+GpmiayoeQpvWG52BuDAY2sQjRwFG9IpD4DvrTWhf/hQBYQC+AtnAjsKbfAQrlxonERhMAuKn - yQPviqYyoprMdg66BfHVLtMFb52dxXtc+5qfpw+6Xrx8e7lUaWJCA0QRpZB5tpDWIWzqAyzYJ0nV - hlI2aYRCHkfwa+d/ejPi/j3dOuZZOc0uGRDg2rtvMvCh/AU8FZMErmO2CRZvIRWz19izoRPgEdip - HWl/nWTsGs/WMU3eXZ8KGX3U0uZUZe6TWdPku3FMOSe2iKTSiylgjZSbLsoo7CQ+dX6la2IjSHl9 - Vsls8PEoaljpRT4KNmN1CsZ8fFUA/eRrY674l5VEwOwHlfdYWKbT58kKQtIkuMDfsTF0EfkqpiKF - +ouebApCd0vtxJd1nvoMyWoEHd24mURzK0eTlM1lZ/XHWqtsnEYJt86MCoPg1Vhsob59BPGC/mZT - f/V9r2XeO7Rr6xco0H87foeJiwAS60FvkQJKDBDMM7bYFQTQGgESZg3gqlLeu49y1iJaeAWeExmT - dtSnxRcmr2CsakLzIv1GBxXHPSnNewGZQRTVq1jJ4a2o2LUHJFfsTtSPf0G7Su+wZWtastTSthlZ - uqUImHFlgu4Jy/ruOP5C75rBo+RY5XXoJZctER/9K3X2ryLndMSjBXzKoGXNXCGLx2U/CBDSyHfY - RuFXzvl8qk0ETj5u1NpLLFZK5rZf3jka2LbCkFrIgRb59Ry8ltrhOkLEAb9+RGAdmp/EqtYlnhyP - B7F347AapKvyLhWsPzeeAB6LLga9zPyqntZ+4Yh+Miomz+PnCg8yPlXuQXCRgkAyqIRA5IhA5Y/B - QrjIfGje67Own6FWfveFY612ufxRxRRJTvgvXHe//P352/l8+2IgFqKlUmwAURc96j7QC/p26lCX - qPK4hdpl02VCouXOshRYFMcB5AnLa1K6pQBUV2nRRwBqHobTbQgVdooEEqn3BGUgT1i+ClUI3FRK - nfsBqY50xRIly2iSYzAM/JJ3uqhEswmknLsHj3Ml9TFe/CxSgNfvaILH0yHpMinfNFkSahstiw== - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-1023/1024 - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:57 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F2E8F6C1E"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:57 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-copy-completion-time: Sat, 03 Aug 2019 22:08:57 GMT - x-ms-copy-id: a5db9b2b-3b37-486e-9741-4a724fa7b28a + x-ms-client-request-id: 5425bf36-d064-11e9-a0f3-001a7dda7113 + x-ms-copy-completion-time: Fri, 06 Sep 2019 05:08:13 GMT + x-ms-copy-id: 6064def8-f0be-467d-a21f-fb62b5050d92 x-ms-copy-progress: 1024/1024 x-ms-copy-source: https://storagename.file.core.windows.net/utshare78cc16a5/file78cc16a5 x-ms-copy-status: success - x-ms-request-id: 5c6b0e93-901a-00c8-3d48-4af537000000 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:13.0607694Z' + x-ms-file-creation-time: '2019-09-06T05:08:13.7574282Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T05:08:13.0607694Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 41913a19-701a-0070-7d71-64ea03000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -934,7 +332,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare78cc16a5/file1copy - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_async.yaml index 36bc42d3a432..db45978be390 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b69afbe2-b639-11e9-a7e9-2816a845e8c6 + - 54b75ed4-d064-11e9-a021-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:40 GMT + - Fri, 06 Sep 2019 05:08:14 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare2e5b0f7a?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:38 GMT + : Fri, 06 Sep 2019 05:08:13 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D9A485442"' + : '"0x8D7328838EA8CE8"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:39 GMT + : Fri, 06 Sep 2019 05:08:14 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 180a3839-401a-002f-1546-4ae53a000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 54b75ed4-d064-11e9-a021-001a7dda7113 + x-ms-request-id: 52a59c1d-801a-0080-0171-64acf2000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2e5b0f7a - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b6d07838-b639-11e9-ad5d-2816a845e8c6 + - 54c4543a-d064-11e9-99cb-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:40 GMT + - Fri, 06 Sep 2019 05:08:14 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare2e5b0f7a/file2e5b0f7a response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:39 GMT + : Fri, 06 Sep 2019 05:08:14 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D9A6F502F"' + : '"0x8D7328838F87EBF"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:39 GMT + : Fri, 06 Sep 2019 05:08:14 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: de8a5a7b-e01a-0066-5a46-4ad65a000000 + x-ms-client-request-id: 54c4543a-d064-11e9-99cb-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:14.8965055Z' + x-ms-file-creation-time: '2019-09-06T05:08:14.8965055Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:14.8965055Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa172c8-d01a-00ef-3971-64a601000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2e5b0f7a/file2e5b0f7a - '' - '' @@ -102,15 +119,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - b6fac5b6-b639-11e9-9e08-2816a845e8c6 + - 54cfc706-d064-11e9-8b76-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:41 GMT + - Fri, 06 Sep 2019 05:08:14 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare2e5b0f7a/file2e5b0f7a response: @@ -125,331 +142,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:39 GMT + : Fri, 06 Sep 2019 05:08:14 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D9A6F502F"' + : '"0x8D7328838F87EBF"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:39 GMT + : Fri, 06 Sep 2019 05:08:14 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: de8a5a7d-e01a-0066-5b46-4ad65a000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e5b0f7a/file2e5b0f7a - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 16ef7bec-b63b-11e9-aa65-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:31 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare2e5b0f7a?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:30 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EFA9739D2"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:30 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4eab2fce-b01a-00b2-0847-4a9f7a000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e5b0f7a - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 172d4a5c-b63b-11e9-b94e-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:07:31 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare2e5b0f7a/file2e5b0f7a - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:30 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EFAD5966C"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:31 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3fae9622-401a-00c1-6947-4aefb9000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e5b0f7a/file2e5b0f7a - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 17679768-b63b-11e9-99ef-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:32 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare2e5b0f7a/file2e5b0f7a - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:30 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EFAD5966C"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:31 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 3fae9624-401a-00c1-6a47-4aefb9000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e5b0f7a/file2e5b0f7a - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 4b6fb490-b63b-11e9-ac78-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:08:59 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare2e5b0f7a?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:57 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F2F10F427"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 134baa11-701a-00c2-7f48-4aecbe000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e5b0f7a - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 4b9b049e-b63b-11e9-9a29-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:08:59 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare2e5b0f7a/file2e5b0f7a - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:58 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F2F5502FC"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c79d2483-301a-0009-0a48-4a7e8e000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2e5b0f7a/file2e5b0f7a - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 4be5fbca-b63b-11e9-a74e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:00 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare2e5b0f7a/file2e5b0f7a - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:08:59 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F2F5502FC"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:08:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c79d2485-301a-0009-0b48-4a7e8e000000 + x-ms-client-request-id: 54cfc706-d064-11e9-8b76-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:14.8965055Z' + x-ms-file-creation-time: '2019-09-06T05:08:14.8965055Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:14.8965055Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa172ca-d01a-00ef-3a71-64a601000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -457,7 +171,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2e5b0f7a/file2e5b0f7a - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_from_text_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_from_text_async.yaml index 2fb8c7d5f06b..a64b2337ad42 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_from_text_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_from_text_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - bb336c1a-b639-11e9-8aed-2816a845e8c6 + - 5bba4848-d064-11e9-a172-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:48 GMT + - Fri, 06 Sep 2019 05:08:26 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharee03813b1?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:46 GMT + : Fri, 06 Sep 2019 05:08:25 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D9EDA9C3E"' + : '"0x8D732883FECED12"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:47 GMT + : Fri, 06 Sep 2019 05:08:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c79d20ca-301a-0009-5e46-4a7e8e000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 5bba4848-d064-11e9-a172-001a7dda7113 + x-ms-request-id: 8c648dca-301a-0013-0d71-6477f8000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee03813b1 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - bb849718-b639-11e9-92e2-2816a845e8c6 + - 5bc4cca8-d064-11e9-9fcf-001a7dda7113 x-ms-content-length: - '27' x-ms-date: - - Sat, 03 Aug 2019 21:57:48 GMT + - Fri, 06 Sep 2019 05:08:26 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharee03813b1/filee03813b1 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:47 GMT + : Fri, 06 Sep 2019 05:08:25 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D9F248BC9"' + : '"0x8D732883FFF3965"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:47 GMT + : Fri, 06 Sep 2019 05:08:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: f11ddf69-001a-0067-4046-4ad7a7000000 + x-ms-client-request-id: 5bc4cca8-d064-11e9-9fcf-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:26.6846565Z' + x-ms-file-creation-time: '2019-09-06T05:08:26.6846565Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:26.6846565Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 59e6a763-e01a-00e4-0971-645d6a000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee03813b1/filee03813b1 - '' - '' @@ -106,15 +123,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - bbbd38f6-b639-11e9-beff-2816a845e8c6 + - 5bd65480-d064-11e9-9173-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:49 GMT + - Fri, 06 Sep 2019 05:08:26 GMT x-ms-range: - bytes=0-26 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -131,19 +148,20 @@ interactions: : 1dmqejQJFCXZC/Jqkmc1Lw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:47 GMT + : Fri, 06 Sep 2019 05:08:25 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D9F449CC0"' + : '"0x8D732884002BCAE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:47 GMT + : Fri, 06 Sep 2019 05:08:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: f11ddf6b-001a-0067-4146-4ad7a7000000 + x-ms-client-request-id: 5bd65480-d064-11e9-9173-001a7dda7113 + x-ms-request-id: 59e6a765-e01a-00e4-0a71-645d6a000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -151,7 +169,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee03813b1/filee03813b1 - comp=range - '' @@ -161,17 +179,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - bbdd681a-b639-11e9-9b10-2816a845e8c6 + - 5bd9ad86-d064-11e9-a85f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:49 GMT + - Fri, 06 Sep 2019 05:08:26 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharee03813b1/filee03813b1 response: @@ -192,465 +210,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:47 GMT + : Fri, 06 Sep 2019 05:08:25 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185D9F449CC0"' + : '"0x8D732884002BCAE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:47 GMT + : Fri, 06 Sep 2019 05:08:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f11ddf6d-001a-0067-4246-4ad7a7000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 206 - message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharee03813b1/filee03813b1 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 1afed61e-b63b-11e9-9bc6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:38 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee03813b1?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:36 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EFE9C0EF1"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 9bef9859-101a-0078-7347-4a0cb7000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharee03813b1 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 1b241630-b63b-11e9-9302-2816a845e8c6 - x-ms-content-length: - - '27' - x-ms-date: - - Sat, 03 Aug 2019 22:07:38 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee03813b1/filee03813b1 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:36 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EFEDE9434"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 07db5e34-701a-00af-7447-4a4690000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharee03813b1/filee03813b1 - - '' - - '' -- request: - body: "hello \u554A\u9F44\u4E02\u72DB\u72DC world" - headers: - Content-Length: - - '27' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 1b64709c-b63b-11e9-b7fe-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:39 GMT - x-ms-range: - - bytes=0-26 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharee03813b1/filee03813b1?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : 1dmqejQJFCXZC/Jqkmc1Lw== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:36 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EFEE9B9C4"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 07db5e36-701a-00af-7547-4a4690000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharee03813b1/filee03813b1 - - comp=range - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 1b8c7e24-b63b-11e9-8275-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:39 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharee03813b1/filee03813b1 - response: - body: - string: "hello \u554A\u9F44\u4E02\u72DB\u72DC world" - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '27' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-26/27 - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:37 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185EFEE9B9C4"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 07db5e37-701a-00af-7647-4a4690000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 206 - message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharee03813b1/filee03813b1 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 4faac91c-b63b-11e9-97d7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:06 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee03813b1?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:04 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F335DBEE2"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d9f1f66e-201a-0016-6d48-4aa59e000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharee03813b1 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 4ff2e88a-b63b-11e9-a7c2-2816a845e8c6 - x-ms-content-length: - - '27' - x-ms-date: - - Sat, 03 Aug 2019 22:09:07 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee03813b1/filee03813b1 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:06 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F33B04E71"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 49584cf4-501a-0074-7848-4ae246000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharee03813b1/filee03813b1 - - '' - - '' -- request: - body: "hello \u554A\u9F44\u4E02\u72DB\u72DC world" - headers: - Content-Length: - - '27' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 50365a9a-b63b-11e9-adf6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:07 GMT - x-ms-range: - - bytes=0-26 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharee03813b1/filee03813b1?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : 1dmqejQJFCXZC/Jqkmc1Lw== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:06 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F33BAB091"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 49584cf6-501a-0074-7948-4ae246000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharee03813b1/filee03813b1 - - comp=range - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 504005ae-b63b-11e9-9339-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:07 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharee03813b1/filee03813b1 - response: - body: - string: "hello \u554A\u9F44\u4E02\u72DB\u72DC world" - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '27' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-26/27 - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:06 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F33BAB091"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 49584cf7-501a-0074-7a48-4ae246000000 + x-ms-client-request-id: 5bd9ad86-d064-11e9-a85f-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:26.6846565Z' + x-ms-file-creation-time: '2019-09-06T05:08:26.6846565Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:26.6846565Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 59e6a766-e01a-00e4-0b71-645d6a000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -658,7 +239,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee03813b1/filee03813b1 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_from_text_with_encoding_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_from_text_with_encoding_async.yaml index 35c81c9757f6..6a413be055d8 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_from_text_with_encoding_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_from_text_with_encoding_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - bc892dd2-b639-11e9-a6d6-2816a845e8c6 + - 5c140be6-d064-11e9-a07a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:50 GMT + - Fri, 06 Sep 2019 05:08:27 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare1ef51972?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:49 GMT + : Fri, 06 Sep 2019 05:08:39 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA029C80C"' + : '"0x8D73288461FE588"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:49 GMT + : Fri, 06 Sep 2019 05:08:36 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 0eb4d360-801a-001b-2546-4a4a92000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 5c140be6-d064-11e9-a07a-001a7dda7113 + x-ms-request-id: c57f989c-a01a-0063-3b71-64ce0f000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ef51972 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - bcbbee1a-b639-11e9-a205-2816a845e8c6 + - 63e88986-d064-11e9-8cfe-001a7dda7113 x-ms-content-length: - '36' x-ms-date: - - Sat, 03 Aug 2019 21:57:50 GMT + - Fri, 06 Sep 2019 05:08:40 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare1ef51972/file1ef51972 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:48 GMT + : Fri, 06 Sep 2019 05:08:40 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA05A36DF"' + : '"0x8D732884820CE25"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:49 GMT + : Fri, 06 Sep 2019 05:08:40 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: f8ab3211-001a-0001-1246-4a65fd000000 + x-ms-client-request-id: 63e88986-d064-11e9-8cfe-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:40.3265061Z' + x-ms-file-creation-time: '2019-09-06T05:08:40.3265061Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:40.3265061Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8c6ee770-101a-0059-4f71-64d477000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ef51972/file1ef51972 - '' - '' @@ -107,15 +124,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - bcf71258-b639-11e9-8117-2816a845e8c6 + - 63f7d312-d064-11e9-a86f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:51 GMT + - Fri, 06 Sep 2019 05:08:40 GMT x-ms-range: - bytes=0-35 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -132,19 +149,20 @@ interactions: : O7c5HRnUhbM5yD4T1wnm/w== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:49 GMT + : Fri, 06 Sep 2019 05:08:40 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA07C6B11"' + : '"0x8D7328848247887"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:49 GMT + : Fri, 06 Sep 2019 05:08:40 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: f8ab3215-001a-0001-1346-4a65fd000000 + x-ms-client-request-id: 63f7d312-d064-11e9-a86f-001a7dda7113 + x-ms-request-id: 8c6ee772-101a-0059-5071-64d477000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -152,7 +170,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ef51972/file1ef51972 - comp=range - '' @@ -162,17 +180,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - bd01d234-b639-11e9-98d7-2816a845e8c6 + - 63fb545c-d064-11e9-af94-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:51 GMT + - Fri, 06 Sep 2019 05:08:40 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare1ef51972/file1ef51972 response: @@ -194,469 +212,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:49 GMT + : Fri, 06 Sep 2019 05:08:40 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA07C6B11"' + : '"0x8D7328848247887"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:49 GMT + : Fri, 06 Sep 2019 05:08:40 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f8ab3216-001a-0001-1446-4a65fd000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 206 - message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare1ef51972/file1ef51972 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 1c804758-b63b-11e9-aecc-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:40 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare1ef51972?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:40 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F00343814"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:40 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3f079e67-101a-009d-7247-4a1e40000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare1ef51972 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 1ccf2b54-b63b-11e9-97cf-2816a845e8c6 - x-ms-content-length: - - '36' - x-ms-date: - - Sat, 03 Aug 2019 22:07:41 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare1ef51972/file1ef51972 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:39 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F00A88404"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:40 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5dbc155e-501a-00d5-5f47-4a2cdd000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare1ef51972/file1ef51972 - - '' - - '' -- request: - body: !!binary | - //5oAGUAbABsAG8AIABKVUSfAk7bctxyIAB3AG8AcgBsAGQA - headers: - Content-Length: - - '36' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 1d2e4966-b63b-11e9-92a4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:42 GMT - x-ms-range: - - bytes=0-35 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare1ef51972/file1ef51972?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : O7c5HRnUhbM5yD4T1wnm/w== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:39 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F00B35B77"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:40 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5dbc1560-501a-00d5-6047-4a2cdd000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare1ef51972/file1ef51972 - - comp=range - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 1d3a46ee-b63b-11e9-ad8c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:42 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare1ef51972/file1ef51972 - response: - body: - string: !!binary | - //5oAGUAbABsAG8AIABKVUSfAk7bctxyIAB3AG8AcgBsAGQA - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '36' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-35/36 - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:40 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F00B35B77"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:40 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5dbc1561-501a-00d5-6147-4a2cdd000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 206 - message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare1ef51972/file1ef51972 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5120c150-b63b-11e9-94a7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:09 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare1ef51972?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:07 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F34D25908"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fdfd533a-901a-008c-2848-4a295b000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare1ef51972 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 515d8976-b63b-11e9-82ce-2816a845e8c6 - x-ms-content-length: - - '36' - x-ms-date: - - Sat, 03 Aug 2019 22:09:09 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare1ef51972/file1ef51972 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:08 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F35121AB3"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 6272caa9-e01a-0022-3f48-4a0a36000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare1ef51972/file1ef51972 - - '' - - '' -- request: - body: !!binary | - //5oAGUAbABsAG8AIABKVUSfAk7bctxyIAB3AG8AcgBsAGQA - headers: - Content-Length: - - '36' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 51a32518-b63b-11e9-8784-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:10 GMT - x-ms-range: - - bytes=0-35 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare1ef51972/file1ef51972?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : O7c5HRnUhbM5yD4T1wnm/w== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:08 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3529295A"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 6272caab-e01a-0022-4048-4a0a36000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare1ef51972/file1ef51972 - - comp=range - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 51aeeffa-b63b-11e9-92e0-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:10 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare1ef51972/file1ef51972 - response: - body: - string: !!binary | - //5oAGUAbABsAG8AIABKVUSfAk7bctxyIAB3AG8AcgBsAGQA - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '36' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-35/36 - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:09 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3529295A"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 6272caac-e01a-0022-4148-4a0a36000000 + x-ms-client-request-id: 63fb545c-d064-11e9-af94-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:40.3265061Z' + x-ms-file-creation-time: '2019-09-06T05:08:40.3265061Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:40.3265061Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8c6ee774-101a-0059-5271-64d477000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -664,7 +241,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ef51972/file1ef51972 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_will_set_all_smb_properties_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_will_set_all_smb_properties_async.yaml new file mode 100644 index 000000000000..b129b1143ac6 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_will_set_all_smb_properties_async.yaml @@ -0,0 +1,178 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 647f5d0a-d064-11e9-b18d-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 05:08:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare87c01b21?restype=share + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:08:40 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7328848B20496"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:08:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 647f5d0a-d064-11e9-b18d-001a7dda7113 + x-ms-request-id: 980ea51a-701a-0002-6571-64ed4c000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare87c01b21 + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 648ad19c-d064-11e9-852a-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Fri, 06 Sep 2019 05:08:41 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare87c01b21/file87c01b21 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:08:41 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7328848C4133D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:08:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 648ad19c-d064-11e9-852a-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:41.3965117Z' + x-ms-file-creation-time: '2019-09-06T05:08:41.3965117Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:41.3965117Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: da3a4ba3-701a-005f-3b71-64e7c8000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare87c01b21/file87c01b21 + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 649b057e-d064-11e9-b416-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 05:08:41 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.file.core.windows.net/utshare87c01b21/file87c01b21 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '1024' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:08:41 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7328848C4133D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:08:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 649b057e-d064-11e9-b416-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:41.3965117Z' + x-ms-file-creation-time: '2019-09-06T05:08:41.3965117Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:41.3965117Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: da3a4ba7-701a-005f-3d71-64e7c8000000 + x-ms-server-encrypted: 'true' + x-ms-type: File + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare87c01b21/file87c01b21 + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_with_invalid_file_permission_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_with_invalid_file_permission_async.yaml new file mode 100644 index 000000000000..7aac2e125d23 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_with_invalid_file_permission_async.yaml @@ -0,0 +1,109 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 64b03e74-d064-11e9-8cda-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 05:08:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utsharea2a81b82?restype=share + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:08:41 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7328848E3717A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:08:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 64b03e74-d064-11e9-8cda-001a7dda7113 + x-ms-request-id: 6773a1fe-401a-006b-5c71-64d400000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utsharea2a81b82 + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 64bc92c0-d064-11e9-a113-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Fri, 06 Sep 2019 05:08:41 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - abcde + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utsharea2a81b82/filea2a81b82 + response: + body: + string: "\uFEFFFileInvalidPermissionThe + specified file permission is not valid.\nRequestId:19b630ff-501a-0083-4771-644d96000000\nTime:2019-09-06T05:08:41.6820912Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '233' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:08:41 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 64bc92c0-d064-11e9-a113-001a7dda7113 + x-ms-error-code: FileInvalidPermission + x-ms-request-id: 19b630ff-501a-0083-4771-644d96000000 + x-ms-version: '2019-02-02' + status: + code: 400 + message: The specified file permission is not valid. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utsharea2a81b82/filea2a81b82 + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_with_md5_small_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_with_md5_small_async.yaml index f8ee52ed8d8d..82d9ff098a8d 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_with_md5_small_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_with_md5_small_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - bde341ec-b639-11e9-9a3e-2816a845e8c6 + - 64f176e4-d064-11e9-ae74-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:52 GMT + - Fri, 06 Sep 2019 05:08:42 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare450f1572?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:51 GMT + : Fri, 06 Sep 2019 05:08:41 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA1843938"' + : '"0x8D73288492BBBD3"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:51 GMT + : Fri, 06 Sep 2019 05:08:42 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 954c3d22-701a-002c-5a46-4ae63d000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 64f176e4-d064-11e9-ae74-001a7dda7113 + x-ms-request-id: ab95ac7f-b01a-0050-0571-6491a4000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare450f1572 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - be14bbfa-b639-11e9-9b24-2816a845e8c6 + - 6503fe1e-d064-11e9-82d1-001a7dda7113 x-ms-content-length: - '512' x-ms-date: - - Sat, 03 Aug 2019 21:57:52 GMT + - Fri, 06 Sep 2019 05:08:42 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare450f1572/file450f1572 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:51 GMT + : Fri, 06 Sep 2019 05:08:41 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA1BB669F"' + : '"0x8D73288493A9833"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:52 GMT + : Fri, 06 Sep 2019 05:08:42 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 267fc664-b01a-0013-5646-4a51e1000000 + x-ms-client-request-id: 6503fe1e-d064-11e9-82d1-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:42.1732403Z' + x-ms-file-creation-time: '2019-09-06T05:08:42.1732403Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:42.1732403Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 398368fc-101a-0066-1f71-641cd4000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare450f1572/file450f1572 - '' - '' @@ -117,15 +134,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - be42f700-b639-11e9-8b7b-2816a845e8c6 + - 65116d30-d064-11e9-a8dc-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:53 GMT + - Fri, 06 Sep 2019 05:08:42 GMT x-ms-range: - bytes=0-511 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -142,19 +159,20 @@ interactions: : rLpmjNEMazodiKPz8Dve4Q== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:52 GMT + : Fri, 06 Sep 2019 05:08:41 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA1C94BD7"' + : '"0x8D73288493D57FC"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:52 GMT + : Fri, 06 Sep 2019 05:08:42 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 267fc666-b01a-0013-5746-4a51e1000000 + x-ms-client-request-id: 65116d30-d064-11e9-a8dc-001a7dda7113 + x-ms-request-id: 398368fe-101a-0066-2071-641cd4000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -162,341 +180,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare450f1572/file450f1572 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 1dd36688-b63b-11e9-8c3c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:43 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare450f1572?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:41 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F0171BD79"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:42 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 043d2b72-101a-00b4-7d47-4a6802000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare450f1572 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 1e061f78-b63b-11e9-9bcf-2816a845e8c6 - x-ms-content-length: - - '512' - x-ms-date: - - Sat, 03 Aug 2019 22:07:43 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare450f1572/file450f1572 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:42 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F01ACB5E5"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:42 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c38229ef-701a-00eb-6f47-4a9afc000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare450f1572/file450f1572 - - '' - - '' -- request: - body: !!binary | - PYQook0POEpAWRX7xbOxXtRzRzEiyeLq8GtZF9fqXbyTFDUoxY7smDj3DFGC5OjyKBZrEOuokzOT - b+Ly8LnBdu2q7BjMh7z+lJC3Gnn5aLLNRq7ZoB+/a8DjDFR1a3jFLdH1KFltxjnZh5sPZN/DZRQL - ZHeWYgjcjpynj2xU87p48Pr3O7Xq1FQ4oQO0UNuj9kL3agNbq2SxMkpqNRbnXg+guF3X99jx1VOc - a5nQdgbv0IHAhJlsxDy5HS+/PSjxI+mweXjMMQjcGaxfZJU0hVrZ+F3zsD2v/jRASLoLt8woCofD - mSoEWo4zglq6/g7rRQJCp7nkz/vW2xB0SAZ34yBP6sI9PUwIveVc+mcGXIhvD7vUSsu+VyAnFU5H - E8l+LwiCHBW66qM+ZhEIbY33AtdMyGqsSGPu+m2ewqc/wSI/H2kfiHNAhqQcc9KI6dv1rBN+0K8C - hohiUsQ6UE/Sw+h1km3BYXQS8enti8LGyreACPbNs8RUw1HJhWg+FlOPW6fMYn/HPCocbol4R7MY - gpB2c+KPMcFuaLUHWwuVgFtY9iuXiR6Zz9EF56MmrQPT+a3CpLNlegoO962QSYilZXu69Xzvq8jd - 4in1jLiVzyajKvFxyF+aJW6piQk+dtyxbajhhb9UhfAW2ZU1iMoc23RlcBR6UXh6dpXzqY9YYvM= - headers: - Content-Length: - - '512' - Content-MD5: - - rLpmjNEMazodiKPz8Dve4Q== - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 1e3d9978-b63b-11e9-88e6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:43 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare450f1572/file450f1572?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : rLpmjNEMazodiKPz8Dve4Q== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:42 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F01C1C85C"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:42 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c38229f1-701a-00eb-7047-4a9afc000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare450f1572/file450f1572 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 531d88e2-b63b-11e9-8e69-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:12 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare450f1572?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:11 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F36ED89B1"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4698b096-801a-00b1-0d48-4a9c7d000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare450f1572 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 539d43cc-b63b-11e9-9ee1-2816a845e8c6 - x-ms-content-length: - - '512' - x-ms-date: - - Sat, 03 Aug 2019 22:09:13 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare450f1572/file450f1572 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:11 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F373C6469"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ab707b1a-101a-00bf-3f48-4a7076000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare450f1572/file450f1572 - - '' - - '' -- request: - body: !!binary | - PYQook0POEpAWRX7xbOxXtRzRzEiyeLq8GtZF9fqXbyTFDUoxY7smDj3DFGC5OjyKBZrEOuokzOT - b+Ly8LnBdu2q7BjMh7z+lJC3Gnn5aLLNRq7ZoB+/a8DjDFR1a3jFLdH1KFltxjnZh5sPZN/DZRQL - ZHeWYgjcjpynj2xU87p48Pr3O7Xq1FQ4oQO0UNuj9kL3agNbq2SxMkpqNRbnXg+guF3X99jx1VOc - a5nQdgbv0IHAhJlsxDy5HS+/PSjxI+mweXjMMQjcGaxfZJU0hVrZ+F3zsD2v/jRASLoLt8woCofD - mSoEWo4zglq6/g7rRQJCp7nkz/vW2xB0SAZ34yBP6sI9PUwIveVc+mcGXIhvD7vUSsu+VyAnFU5H - E8l+LwiCHBW66qM+ZhEIbY33AtdMyGqsSGPu+m2ewqc/wSI/H2kfiHNAhqQcc9KI6dv1rBN+0K8C - hohiUsQ6UE/Sw+h1km3BYXQS8enti8LGyreACPbNs8RUw1HJhWg+FlOPW6fMYn/HPCocbol4R7MY - gpB2c+KPMcFuaLUHWwuVgFtY9iuXiR6Zz9EF56MmrQPT+a3CpLNlegoO962QSYilZXu69Xzvq8jd - 4in1jLiVzyajKvFxyF+aJW6piQk+dtyxbajhhb9UhfAW2ZU1iMoc23RlcBR6UXh6dpXzqY9YYvM= - headers: - Content-Length: - - '512' - Content-MD5: - - rLpmjNEMazodiKPz8Dve4Q== - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 53d55270-b63b-11e9-ac73-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:13 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare450f1572/file450f1572?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : rLpmjNEMazodiKPz8Dve4Q== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:11 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F375AEE72"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ab707b1d-101a-00bf-4048-4a7076000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare450f1572/file450f1572 - comp=range - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_with_metadata_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_with_metadata_async.yaml index 79d4c92c6dcf..cc26d8a1d880 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_with_metadata_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_create_file_with_metadata_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - bebdd1e4-b639-11e9-abe4-2816a845e8c6 + - 65281b3e-d064-11e9-9dc3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:54 GMT + - Fri, 06 Sep 2019 05:08:42 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare31f21535?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:53 GMT + : Fri, 06 Sep 2019 05:08:41 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA25B68D8"' + : '"0x8D73288495A41C6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:53 GMT + : Fri, 06 Sep 2019 05:08:42 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fba2afb2-501a-007f-4846-4afa32000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 65281b3e-d064-11e9-9dc3-001a7dda7113 + x-ms-request-id: 85104e90-101a-00bd-3071-64dae9000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31f21535 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - bee47cd8-b639-11e9-8194-2816a845e8c6 + - 6531d35c-d064-11e9-9d8f-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:54 GMT + - Fri, 06 Sep 2019 05:08:42 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-meta: - '{''hello'': ''world'', ''number'': ''42''}' x-ms-meta-hello: @@ -68,7 +77,7 @@ interactions: x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare31f21535/file31f21535 response: @@ -80,19 +89,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:53 GMT + : Fri, 06 Sep 2019 05:08:42 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA29748AC"' + : '"0x8D73288496D2617"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:53 GMT + : Fri, 06 Sep 2019 05:08:42 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: f917c224-401a-00ca-4246-4af7cd000000 + x-ms-client-request-id: 6531d35c-d064-11e9-9d8f-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:42.5045527Z' + x-ms-file-creation-time: '2019-09-06T05:08:42.5045527Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:42.5045527Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: c3eb59e2-301a-003c-7371-647a33000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -100,7 +117,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31f21535/file31f21535 - '' - '' @@ -108,15 +125,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - bf1c21ee-b639-11e9-8794-2816a845e8c6 + - 65442028-d064-11e9-bd5c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:54 GMT + - Fri, 06 Sep 2019 05:08:42 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare31f21535/file31f21535 response: @@ -131,349 +148,30 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:53 GMT + : Fri, 06 Sep 2019 05:08:42 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA29748AC"' + : '"0x8D73288496D2617"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:53 GMT + : Fri, 06 Sep 2019 05:08:42 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-meta-hello: world - x-ms-meta-number: '42' - x-ms-request-id: f917c227-401a-00ca-4346-4af7cd000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare31f21535/file31f21535 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 1e98f1b0-b63b-11e9-97e7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:44 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare31f21535?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:42 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F023512E6"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:43 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 71186f95-b01a-007e-1247-4afbcf000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare31f21535 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 1edcdcb8-b63b-11e9-8848-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:07:44 GMT - x-ms-meta: - - '{''hello'': ''world'', ''number'': ''42''}' - x-ms-meta-hello: - - world - x-ms-meta-number: - - '42' - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare31f21535/file31f21535 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:43 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F0292FA1B"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:44 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: f917c574-401a-00ca-6347-4af7cd000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare31f21535/file31f21535 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 1f37c554-b63b-11e9-8ef6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:07:45 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare31f21535/file31f21535 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:07:43 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F0292FA1B"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:07:44 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-meta-hello: world - x-ms-meta-number: '42' - x-ms-request-id: f917c576-401a-00ca-6447-4af7cd000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare31f21535/file31f21535 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 545aa45c-b63b-11e9-ab56-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:14 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare31f21535?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:13 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F37F7B557"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:13 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bf321743-e01a-0000-6748-4a6400000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare31f21535 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 54974aae-b63b-11e9-8e73-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:15 GMT - x-ms-meta: - - '{''hello'': ''world'', ''number'': ''42''}' - x-ms-meta-hello: - - world - x-ms-meta-number: - - '42' - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare31f21535/file31f21535 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:13 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F383D6109"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:14 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 717d86ca-901a-00c3-8048-4aed43000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare31f21535/file31f21535 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 54cfbfe8-b63b-11e9-9b15-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:15 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare31f21535/file31f21535 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:13 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F383D6109"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:14 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 65442028-d064-11e9-bd5c-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:42.5045527Z' + x-ms-file-creation-time: '2019-09-06T05:08:42.5045527Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:42.5045527Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 x-ms-meta-hello: world x-ms-meta-number: '42' - x-ms-request-id: 717d86cd-901a-00c3-0148-4aed43000000 + x-ms-request-id: c3eb59e4-301a-003c-7471-647a33000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -481,7 +179,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31f21535/file31f21535 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_delete_file_with_existing_file_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_delete_file_with_existing_file_async.yaml index a6e2b4c768bd..4b3b19799fb4 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_delete_file_with_existing_file_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_delete_file_with_existing_file_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - bf792c40-b639-11e9-829d-2816a845e8c6 + - 65f8c91e-d064-11e9-9a5e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:55 GMT + - Fri, 06 Sep 2019 05:08:43 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea3bb175d?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:54 GMT + : Fri, 06 Sep 2019 05:08:43 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA318BFA6"' + : '"0x8D732884A2BC596"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:54 GMT + : Fri, 06 Sep 2019 05:08:43 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 68ce6a36-101a-0096-4c46-4a0634000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 65f8c91e-d064-11e9-9a5e-001a7dda7113 + x-ms-request-id: a6fa68e1-a01a-005c-1571-6406ac000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea3bb175d - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - bfad2f42-b639-11e9-a1e2-2816a845e8c6 + - 66048864-d064-11e9-90a0-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:55 GMT + - Fri, 06 Sep 2019 05:08:43 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea3bb175d/filea3bb175d response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:53 GMT + : Fri, 06 Sep 2019 05:08:43 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA34DE8B0"' + : '"0x8D732884A389632"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:54 GMT + : Fri, 06 Sep 2019 05:08:43 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e9be646e-701a-0005-5146-4a907f000000 + x-ms-client-request-id: 66048864-d064-11e9-90a0-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:43.8378034Z' + x-ms-file-creation-time: '2019-09-06T05:08:43.8378034Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:43.8378034Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a3f15667-c01a-00e3-3771-643109000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea3bb175d/filea3bb175d - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - bfe44224-b639-11e9-a755-2816a845e8c6 + - 660f6cac-d064-11e9-999b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:56 GMT + - Fri, 06 Sep 2019 05:08:43 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : hRTnlRjHBV8d7p0mpIpZtQ== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:54 GMT + : Fri, 06 Sep 2019 05:08:43 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA3698C09"' + : '"0x8D732884A3B2EE6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:54 GMT + : Fri, 06 Sep 2019 05:08:43 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e9be6471-701a-0005-5246-4a907f000000 + x-ms-client-request-id: 660f6cac-d064-11e9-999b-001a7dda7113 + x-ms-request-id: a3f15669-c01a-00e3-3871-643109000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea3bb175d/filea3bb175d - comp=range - '' @@ -177,15 +195,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c0041f24-b639-11e9-a4d5-2816a845e8c6 + - 66161968-d064-11e9-a812-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:56 GMT + - Fri, 06 Sep 2019 05:08:43 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utsharea3bb175d/filea3bb175d response: @@ -197,12 +215,13 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:54 GMT + : Fri, 06 Sep 2019 05:08:43 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e9be6473-701a-0005-5346-4a907f000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 66161968-d064-11e9-a812-001a7dda7113 + x-ms-request-id: a3f1566a-c01a-00e3-3971-643109000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -210,7 +229,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea3bb175d/filea3bb175d - '' - '' @@ -218,15 +237,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c00e1dec-b639-11e9-9498-2816a845e8c6 + - 661ce6c6-d064-11e9-b8ff-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:56 GMT + - Fri, 06 Sep 2019 05:08:43 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utsharea3bb175d/filea3bb175d response: @@ -235,279 +254,17 @@ interactions: headers: ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:54 GMT + : Fri, 06 Sep 2019 05:08:43 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 ? !!python/object/new:multidict._istr.istr - Transfer-Encoding : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-error-code: ResourceNotFound - x-ms-request-id: e9be6474-701a-0005-5446-4a907f000000 - x-ms-version: '2018-11-09' - status: - code: 404 - message: The specified resource does not exist. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea3bb175d/filea3bb175d - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5545270a-b63b-11e9-90fc-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:16 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea3bb175d?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:14 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F390F0D1E"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:15 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 54958e7c-a01a-00cb-1348-4af630000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea3bb175d - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 55ae8c24-b63b-11e9-82e1-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:16 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea3bb175d/filea3bb175d - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:15 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F396F3A77"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 01599f89-801a-0076-7648-4ae0bc000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea3bb175d/filea3bb175d - - '' - - '' -- request: - body: !!binary | - lOt8T+jbMhpfjC4mU1z1J7BnYvKdu5h6MK93g8ev9lZGdsr0itMN4a/HnIKoWrrDylERmQsOh1Iz - x9+ElnYJ5IcOT5EZUWTnaeBrEFVUDuxVleJ9oJ+QAZD3hoA5S/NVkXQ2q4glhlt4DpDoZFO2GRDL - jRjGDN6PnVtVMgBEFqtx7k7kyf2mi0GBS+O/AfOSLOg5PjTbiNe737dRBymgqQbSLrsujy7GBkGP - Qw9IAcCvUDjtlMn6oVvRVYWH38/mk+62AXgunpUPh7tAqQYWoVzQDEFYIDlYm0WFQAOMaAMSOQDf - wXew0rQa6QbSZ2RsVPtZnX2t1UMsvDP9sdSwu+p2HbX6Mt6gPRCjJtQ3cNIofyIeqDX25/B1jCBY - XbEFZpt674u7mMopjzSEkAfGMEgISvoXcx7CjMQcYMZ36z8OdjqTuAbrzh1/7JiyZoxihkhqbVHM - gD6hi/iMUnD+8LhP1UZq2eWfePfiIRjc+aDF5Oi4Vl/n3pr7k402lOZ7wZrJC0AT3KAEsX4401+a - nQ92UqSH3edwKYnv6TcWB+Q2XUXqJF21wH/jhvNyO2BSxBJdHT+R03+HIwuFRZwPhdhjT0DGSzqT - Q+0lT5/WF7Blkh+YBWkNI3mpxy6RI3S6oQDxlDvhiNCpZG4o5hg/Mm8W/G0I6hXx2MeFYbtQogyy - Xn8Cet+uayGafdbfpeTPDewAahwoI6AN1q4+RceiIjN+visMTb6nIs1ISF3a8ig2D/ZeuOTFwr0g - 1GUy/Z9IjwRXIFi/MiiJ9YGrroZcgEp53y9QfIugXy39TDLlMli6LBog53YwTmfVSwJ0WMuNpkip - BBK/vVclzZ5sV4oVG3I0qQ/AmLrzVjIR3u7eYrwdo9lT0vEvgYufogb0QyDvaR47AVBC4cUb4v0D - XvZRCWA00DZqzKG44ziQN2noybwv0JnNAnQ7MmN/ZUD0md1lfTL8DJxcl+vE5ACbGskmsCGH1LUy - jiLaqjgZkS+KYh4+Qc/nAMR6GTRpWvLmt+qPj5pJEg8Ap7TzVjXMImZC9u1QPSv2htt84i54pjBD - 6rg9TtsQl0nbdPEIhLF5m1hVF65AiwpprWl6wdmJILdFCI+jN4frBxkUwkbYNs3M1qeiRT9eKVYD - aO+crt77zwcGxX9yeR1VEaFEg6kZC1rK1iVaI8MLugZlUng2MEL4/dtQVpXBaG0dUTCHRFMdjKbk - k8V5Y6Ma3SJFaezyEKmtrWFr1pkr4fHLivRYjvPPKiHYRlwQ5J+2zvLrM1di2sP2imE8tnqHl9Y3 - HWLuJlgTdhVClAwC3uz8WCGTbUIjp9vZYNCLflcYnRPPNpIOqnpDyBOpOwkHlZ4AkjvTBQ2A1A== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 5607800a-b63b-11e9-80c1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:17 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharea3bb175d/filea3bb175d?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : hRTnlRjHBV8d7p0mpIpZtQ== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:15 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F398C64AB"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 01599f8b-801a-0076-7748-4ae0bc000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea3bb175d/filea3bb175d - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5611f086-b63b-11e9-9535-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:17 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utsharea3bb175d/filea3bb175d - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:15 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 01599f8c-801a-0076-7848-4ae0bc000000 - x-ms-version: '2018-11-09' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea3bb175d/filea3bb175d - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 562649d4-b63b-11e9-bbee-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:17 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharea3bb175d/filea3bb175d - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:15 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 661ce6c6-d064-11e9-b8ff-001a7dda7113 x-ms-error-code: ResourceNotFound - x-ms-request-id: 01599f8d-801a-0076-7948-4ae0bc000000 - x-ms-version: '2018-11-09' + x-ms-request-id: a3f1566c-c01a-00e3-3b71-643109000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified resource does not exist. @@ -515,7 +272,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea3bb175d/filea3bb175d - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_delete_file_with_non_existing_file_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_delete_file_with_non_existing_file_async.yaml index 30cc05010662..f764cbd889ac 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_delete_file_with_non_existing_file_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_delete_file_with_non_existing_file_async.yaml @@ -3,21 +3,21 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 662d2fec-b63d-11e9-9749-2816a845e8c6 + - 6635363a-d064-11e9-9922-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:03 GMT + - Fri, 06 Sep 2019 05:08:44 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare5801907/file5801907 response: body: string: "\uFEFFShareNotFoundThe - specified share does not exist.\nRequestId:45162d20-c01a-0053-2f4a-4a780f000000\nTime:2019-08-03T22:24:02.7083200Z" + specified share does not exist.\nRequestId:d2828539-f01a-001c-6c71-640194000000\nTime:2019-09-06T05:08:44.1416959Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -27,13 +27,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:01 GMT + : Fri, 06 Sep 2019 05:08:44 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 6635363a-d064-11e9-9922-001a7dda7113 x-ms-error-code: ShareNotFound - x-ms-request-id: 45162d20-c01a-0053-2f4a-4a780f000000 - x-ms-version: '2018-11-09' + x-ms-request-id: d2828539-f01a-001c-6c71-640194000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified share does not exist. @@ -41,99 +42,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utshare5801907/file5801907 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2348f422-b640-11e9-8c5a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:43:39 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utshare5801907/file5801907 - response: - body: - string: "\uFEFFShareNotFoundThe - specified share does not exist.\nRequestId:2931be82-f01a-00b5-3b4c-4a69ff000000\nTime:2019-08-03T22:43:38.7839759Z" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '217' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:43:38 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: ShareNotFound - x-ms-request-id: 2931be82-f01a-00b5-3b4c-4a69ff000000 - x-ms-version: '2018-11-09' - status: - code: 404 - message: The specified share does not exist. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5801907/file5801907 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 87d9b814-b641-11e9-9db1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:53:37 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utshare5801907/file5801907 - response: - body: - string: "\uFEFFShareNotFoundThe - specified share does not exist.\nRequestId:e093b9db-c01a-0035-194e-4aca55000000\nTime:2019-08-03T22:53:37.1263010Z" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '217' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:53:36 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: ShareNotFound - x-ms-request-id: e093b9db-c01a-0035-194e-4aca55000000 - x-ms-version: '2018-11-09' - status: - code: 404 - message: The specified share does not exist. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5801907/file5801907 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_exists_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_exists_async.yaml index 9e9e15ad9234..bba8bcd5ee8d 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_exists_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_exists_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c10d21fe-b639-11e9-9c44-2816a845e8c6 + - 66502018-d064-11e9-a8e2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:57 GMT + - Fri, 06 Sep 2019 05:08:44 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare2fbb0fa6?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:56 GMT + : Fri, 06 Sep 2019 05:08:45 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA4CB144C"' + : '"0x8D732884AEE38E3"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:57 GMT + : Fri, 06 Sep 2019 05:08:45 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d8855263-c01a-0017-3e46-4aa463000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 66502018-d064-11e9-a8e2-001a7dda7113 + x-ms-request-id: 6200aa6f-b01a-006f-5d71-645907000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2fbb0fa6 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c1622bc0-b639-11e9-8b2d-2816a845e8c6 + - 66e5f17e-d064-11e9-9e74-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:57:58 GMT + - Fri, 06 Sep 2019 05:08:45 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare2fbb0fa6/file2fbb0fa6 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:57 GMT + : Fri, 06 Sep 2019 05:08:44 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA50C1696"' + : '"0x8D732884B25C747"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:57 GMT + : Fri, 06 Sep 2019 05:08:45 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3693197a-a01a-0061-1146-4a20df000000 + x-ms-client-request-id: 66e5f17e-d064-11e9-9e74-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:45.3922631Z' + x-ms-file-creation-time: '2019-09-06T05:08:45.3922631Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:45.3922631Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: eecc0508-e01a-003f-7b71-649b57000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2fbb0fa6/file2fbb0fa6 - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - c19a479a-b639-11e9-a867-2816a845e8c6 + - 66fe85d8-d064-11e9-8a56-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:58 GMT + - Fri, 06 Sep 2019 05:08:45 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : g1bq5d+melbupVuNA0Tidg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:57 GMT + : Fri, 06 Sep 2019 05:08:44 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA51F7B0F"' + : '"0x8D732884B2A5C45"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:57 GMT + : Fri, 06 Sep 2019 05:08:45 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3693197c-a01a-0061-1246-4a20df000000 + x-ms-client-request-id: 66fe85d8-d064-11e9-8a56-001a7dda7113 + x-ms-request-id: eecc050b-e01a-003f-7e71-649b57000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2fbb0fa6/file2fbb0fa6 - comp=range - '' @@ -177,15 +195,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c1a80afa-b639-11e9-ad66-2816a845e8c6 + - 67023210-d064-11e9-b857-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:58 GMT + - Fri, 06 Sep 2019 05:08:45 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare2fbb0fa6/file2fbb0fa6 response: @@ -200,252 +218,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:57 GMT + : Fri, 06 Sep 2019 05:08:44 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA51F7B0F"' + : '"0x8D732884B2A5C45"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:57 GMT + : Fri, 06 Sep 2019 05:08:45 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 3693197d-a01a-0061-1346-4a20df000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2fbb0fa6/file2fbb0fa6 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5773b864-b63b-11e9-8717-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:19 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare2fbb0fa6?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:18 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3B12AD5B"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:18 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: b7e7d94f-101a-0073-7848-4a14c3000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2fbb0fa6 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 579ff180-b63b-11e9-ac68-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:20 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare2fbb0fa6/file2fbb0fa6 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:18 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3B407DEC"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:19 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8f711583-001a-0082-7248-4ac550000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2fbb0fa6/file2fbb0fa6 - - '' - - '' -- request: - body: !!binary | - BPMI5kXBSCVwurbXVtzqkFPL5SPdHwtyVofn6+1c3p5WMGpd5DOFbHpQLvf2jsUezH9L0J7oi9bd - Kq1mvducGYvB0XpaAgtovcNqtZQLFrAZgqIwAza/5NuKTM9IRTtIwQrrbb/xTOy028nUnvvidOMA - eOQr4+DQohEttz93medSg2F6kVy/2U8vJX40r4ZFaWCK+h8/qzI5TwE8alrqpbXEYqmd5TR1coQM - 73S1jdHZ+B1GyPPyuRVzjd75XswygA10Hb0Vf0lQHqkEfrrTjeNHlgVgVGVAjs184QzLk3r6hxKu - NT34+L2dN0lmh3zpnLK9MGvbBJw2NQ0a8xAurK8fLiqGmNYyulfYFhMoIkI2yXjv8OXcuUuG/Rvd - jre5kvreCGM3LYIipc1WHhM+PnUkVmQkEjvUvWvba4yrrh5cq4Jxr+gDyiUCrCD+Nc8QJW/VmvyF - 1kBDoQrFQWaHwvLN3DBD7LEcNKUBsIfZ6Dwjkkjd8HBmUbmrlODV7/xOlcAe1nN33u7DCpCejvAA - fTgz0odKatay7OYI1yklTPsEJrkR61O2cWB5vYdVjmWFf1rjHacf6wGdjQhsZfjMaLgmhkqYCt+B - gWJpr8hEe60Djr7EJVa3B2B49eWHMZsVZdXcqB28OKyUg1J8jmp0XAPVPlZ7lu5zXagU47CYDX9P - Hr9Wq9UQMGZzpz3jgIS7/LTRwrAutdBRoPtAXgLuLxha2EdDFvJaabLIFzTh/SE5qwDZOG0YG0pT - vWyijZzI+uMSv6gW4sLe1xmcYq4ghndg0ICa8wTTcV9NweIZhl4ES0KpEeE7yfLeeBlsUy9DclGw - jujlSpzp8G7vstbzxEQ2gV8UGTaDrtnnicip6mUXtFWcNMaygOBWfxN662LJypkmbZOTxbWf4gJj - XXADJp6xmbd1QM+yyF0+XH+GYwCzDER4MSzllrFxUnGWfFAZwl+vf95RtJEk5Ew4+sUvyelFNE+S - sDZ2fOkv/pjesUaEeFN8poDtT6mtVVNtWSLDU0nUZ+ulFuICRzxZbN1AJw89bkYBnZxRzpE+G2F4 - vV/QjH9R3lHLOkBaYO3K2Fi65pqIbO+Hswlc0vpSi5v19xBonVEhriLX5kcTLWFl8tX2put4vdJo - lPBb16rPxscSgzXrtjAT8ImLRJ+/GMIbDtbcwvXusfeTrNqjt7400w/wtDl8PHG/LSrENukz/SoE - 1rcw9ypytlaRpRsqn6SdNDKQaLnom4Y9EUWy4akxQJAQnYY4led3Bh52NDZuVKScYqVSHz72/OYy - CuUrFWRKFWkkzC1SYm2+kXQ0T+q/09JwokR15iqIKSK2ap8oVKT1B+aKQqOuCckn15wmAY7olw== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 57dc0378-b63b-11e9-914b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:20 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare2fbb0fa6/file2fbb0fa6?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : g1bq5d+melbupVuNA0Tidg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:18 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3B61524E"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:19 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8f711585-001a-0082-7348-4ac550000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare2fbb0fa6/file2fbb0fa6 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 57fbf8fe-b63b-11e9-a665-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:20 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare2fbb0fa6/file2fbb0fa6 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:18 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3B61524E"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:19 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 8f711586-001a-0082-7448-4ac550000000 + x-ms-client-request-id: 67023210-d064-11e9-b857-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:45.3922631Z' + x-ms-file-creation-time: '2019-09-06T05:08:45.3922631Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:45.3922631Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: eecc050d-e01a-003f-8071-649b57000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -453,7 +247,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare2fbb0fa6/file2fbb0fa6 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_exists_with_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_exists_with_snapshot_async.yaml index f08d439c76ff..2f598f7a1d5b 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_exists_with_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_exists_with_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c208f322-b639-11e9-893d-2816a845e8c6 + - 6718e00a-d064-11e9-a799-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:57:59 GMT + - Fri, 06 Sep 2019 05:08:45 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare37761590?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:57 GMT + : Fri, 06 Sep 2019 05:08:45 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA5C3F0D9"' + : '"0x8D732884B4D0A12"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:58 GMT + : Fri, 06 Sep 2019 05:08:45 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7f9dc5ed-a01a-006a-2346-4a38ab000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 6718e00a-d064-11e9-a799-001a7dda7113 + x-ms-request-id: 225f4ab9-501a-002a-1871-648ce4000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare37761590 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c250fe9a-b639-11e9-91a4-2816a845e8c6 + - 672959f4-d064-11e9-90c6-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:58:00 GMT + - Fri, 06 Sep 2019 05:08:45 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare37761590/file37761590 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:58 GMT + : Fri, 06 Sep 2019 05:08:45 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA5F91296"' + : '"0x8D732884B5CC2FF"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:59 GMT + : Fri, 06 Sep 2019 05:08:45 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5c6b0ade-901a-00c8-0946-4af537000000 + x-ms-client-request-id: 672959f4-d064-11e9-90c6-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:45.7526015Z' + x-ms-file-creation-time: '2019-09-06T05:08:45.7526015Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:45.7526015Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: b9a38ea1-401a-00ed-1f71-6418b9000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare37761590/file37761590 - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - c29451dc-b639-11e9-a60d-2816a845e8c6 + - 67336d46-d064-11e9-bc2c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:00 GMT + - Fri, 06 Sep 2019 05:08:45 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : Q9yHtLksxatwp+0lWQnM3w== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:58 GMT + : Fri, 06 Sep 2019 05:08:45 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA619BFE1"' + : '"0x8D732884B5F5BAE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:59 GMT + : Fri, 06 Sep 2019 05:08:45 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5c6b0ae0-901a-00c8-0a46-4af537000000 + x-ms-client-request-id: 67336d46-d064-11e9-bc2c-001a7dda7113 + x-ms-request-id: b9a38ea3-401a-00ed-2071-6418b9000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare37761590/file37761590 - comp=range - '' @@ -177,15 +195,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c2a3fae8-b639-11e9-9cbf-2816a845e8c6 + - 6736ed46-d064-11e9-bb8d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:00 GMT + - Fri, 06 Sep 2019 05:08:45 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare37761590?restype=share&comp=snapshot response: @@ -197,19 +215,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:59 GMT + : Fri, 06 Sep 2019 05:08:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA5C3F0D9"' + : '"0x8D732884B4D0A12"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:58 GMT + : Fri, 06 Sep 2019 05:08:45 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5c6b0ae1-901a-00c8-0b46-4af537000000 - x-ms-snapshot: '2019-08-03T21:57:59.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: 6736ed46-d064-11e9-bb8d-001a7dda7113 + x-ms-request-id: b9a38ea5-401a-00ed-2271-6418b9000000 + x-ms-snapshot: '2019-09-06T05:08:45.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -217,7 +236,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare37761590 - restype=share&comp=snapshot - '' @@ -225,15 +244,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c2d2b276-b639-11e9-85ff-2816a845e8c6 + - 675e1962-d064-11e9-9da1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:00 GMT + - Fri, 06 Sep 2019 05:08:46 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare37761590/file37761590 response: @@ -245,12 +264,13 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:59 GMT + : Fri, 06 Sep 2019 05:08:46 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5c6b0ae2-901a-00c8-0c46-4af537000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 675e1962-d064-11e9-9da1-001a7dda7113 + x-ms-request-id: b9a38ea7-401a-00ed-2471-6418b9000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -258,7 +278,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare37761590/file37761590 - '' - '' @@ -266,17 +286,17 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c2f6d01c-b639-11e9-bee3-2816a845e8c6 + - 6765f5ba-d064-11e9-8f8c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:01 GMT + - Fri, 06 Sep 2019 05:08:46 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD - uri: https://storagename.file.core.windows.net/utshare37761590/file37761590?sharesnapshot=2019-08-03T21:57:59.0000000Z + uri: https://storagename.file.core.windows.net/utshare37761590/file37761590?sharesnapshot=2019-09-06T05:08:45.0000000Z response: body: string: '' @@ -289,341 +309,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:00 GMT + : Fri, 06 Sep 2019 05:08:47 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA619BFE1"' + : '"0x8D732884B5F5BAE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:57:59 GMT + : Fri, 06 Sep 2019 05:08:45 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 134b1c18-701a-00c2-3d46-4aecbe000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare37761590/file37761590 - - sharesnapshot=2019-08-03T21:57:59.0000000Z - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 58707f5c-b63b-11e9-9b06-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:21 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare37761590?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:19 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3C39E29F"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:20 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7c9ee579-601a-0077-5148-4ae141000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare37761590 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 58d2ac9c-b63b-11e9-9534-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:22 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare37761590/file37761590 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:20 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3C7193EB"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:21 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3fae96be-401a-00c1-0548-4aefb9000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare37761590/file37761590 - - '' - - '' -- request: - body: !!binary | - ObAFKfRwFnuv34TXzx5N6OxlPEbceEG/UFK2cWhiUT+SHnkmGOGxoscFuacWOvPOT2o7vE71FJIg - mhkK6LpvDyphQJWdGhYOStxU+1p9r0Tz36e5QGVd63tVJbeZi7Qr3XmC8gV37op1I5eXEzDA3L4I - Ce4P7JA1cTkyQ3vMfIU+uF7JX94CFEDAoxJmyuJTxbAKc+Xc+dGikzkCUhZgrVSr+2ljU8hc4aSi - 9qlyxtoYFbZZ4qSDB2NwRLVi+gKq5wSJVuRU2WyxwtG4Gsy2YXcr4E4VGX2kefZ4+hiGvn5kFaQU - ytghjTPAsxDt/nkZcOEpTHMo9WAqYV429Yva5QjP2G1VfpsPKJr6vzZP7CAdhHt9AiyMCO5wHvj6 - 9mvDLBXY0ERPXxALcD5vxDO3GPef1JK/loSRd5p8LwmmJIs7iZTWG+w1OisvCLJNlmvKruIOYJM4 - uI33hv1e49yyCzwEzfRpixSsSPa5G4q83aRVlFhWibVUk11SIqaXJ8k5uamNmUtpj71Lh2cb7+GH - lkRBLFAc4WLpXFlfr8yRz7Fkb6leUcbI0NQ9qGoIdAjcpjo3a48cFzOYztSJa7Jpc8MOuLq6UqL2 - A+RYwEdore+JBhZAAjzVd1tp+e7dpm+Fn3J3R+AQzz7DSqSQxRNvwAFGODEXhr/Hx5dFA0Ot8yR8 - hUMmsZoo0CJe5yI2oTw/zo1IdbA857ZVHZ/nF6dy+i4qBWElmsQtMaz7ThT3HFbqTrym8d5f72U7 - TZSmnR8aA9FXMB7RPrybDn753ie44qA6L/zC0rCHSJWwke7wl8KyqO4ZfG5F9be7fXoW2le6Z0ra - oO/dk2TG8E+4gn1TmnFQsjyfnThkOh9EXmxCrByU5AYg8mu8jy6sdnpluL9EeSOCExTWrNZK6+8f - dYBGkWuUir+Hip3draPdhQa1vdSdALonNm/BsmeW1AfOoLc+13P+ZRmXDqmVnTy5fHzpafG5TgP7 - GMwcjWZZEw6v4y1W4AtOqDV+MRLHpzjnyeG6wX5DpxTcVI154FDPGG0wHC5oWckVAC1cw6AH4qNB - RQC0niW7s0Ek2VDjefR3M5OrK/XS1yKA2ntjRrSLIbvqr/Wqm6JnD5tMNiOZkBrApDv6pVSjMjQz - mjTB9jxziSZpol6oyBPVILvXBQERk3Wss2fdkDCRJiqmRF/df1t+TpLc3i4++kdQsrwghnDZ83AI - hTs93hkl2azGnDrMdLkuyQDJSIFkstPvlCrZS/2V0ns5TH28n0MZVvtGtrY2CtuLaRvAFymJY0uy - 9yA/4RZGS9N0ePIfwExU04c0gj+qqAez++JEm0bOzpgi32OodPw9N9yprzI0pO7MIcZIL82JNw== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 5914874a-b63b-11e9-a01a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:22 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare37761590/file37761590?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : Q9yHtLksxatwp+0lWQnM3w== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:20 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3C9835B6"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:21 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3fae96c0-401a-00c1-0648-4aefb9000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare37761590/file37761590 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 592040ec-b63b-11e9-8850-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:22 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare37761590?restype=share&comp=snapshot - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:21 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3C39E29F"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:20 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3fae96c1-401a-00c1-0748-4aefb9000000 - x-ms-snapshot: '2019-08-03T22:09:22.0000000Z' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare37761590 - - restype=share&comp=snapshot - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 59d15bc0-b63b-11e9-96dc-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:23 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utshare37761590/file37761590 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3fae96c3-401a-00c1-0848-4aefb9000000 - x-ms-version: '2018-11-09' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare37761590/file37761590 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 59ef60ae-b63b-11e9-922c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:23 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare37761590/file37761590?sharesnapshot=2019-08-03T22:09:22.0000000Z - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:22 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3C9835B6"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:21 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 612effe2-601a-00b0-1f48-4a9d80000000 + x-ms-client-request-id: 6765f5ba-d064-11e9-8f8c-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:45.7526015Z' + x-ms-file-creation-time: '2019-09-06T05:08:45.7526015Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:45.7526015Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: df0df53d-101a-0014-4471-641b9b000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -631,8 +338,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare37761590/file37761590 - - sharesnapshot=2019-08-03T22:09:22.0000000Z + - sharesnapshot=2019-09-06T05:08:45.0000000Z - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_not_exists_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_not_exists_async.yaml index cc344c381247..41cf56dbae49 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_not_exists_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_not_exists_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c354bf6e-b639-11e9-8133-2816a845e8c6 + - 6874aec2-d064-11e9-8b0b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:01 GMT + - Fri, 06 Sep 2019 05:08:47 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare726b1156/missingdir/file726b1156 response: @@ -20,64 +20,17 @@ interactions: headers: ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:57:59 GMT + : Fri, 06 Sep 2019 05:08:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 ? !!python/object/new:multidict._istr.istr - Transfer-Encoding : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-error-code: ShareNotFound - x-ms-request-id: b0044576-d01a-00a9-7c46-4ab1e8000000 - x-ms-version: '2018-11-09' - status: - code: 404 - message: The specified share does not exist. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare726b1156/missingdir/file726b1156 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5a490eae-b63b-11e9-8a4c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:24 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare726b1156/missingdir/file726b1156 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 6874aec2-d064-11e9-8b0b-001a7dda7113 x-ms-error-code: ShareNotFound - x-ms-request-id: e9be6839-701a-0005-0448-4a907f000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 025f3c89-901a-00d1-0671-64317e000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified share does not exist. @@ -85,7 +38,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare726b1156/missingdir/file726b1156 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_not_exists_with_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_not_exists_with_snapshot_async.yaml index 7c2df36bef5c..819b51875877 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_not_exists_with_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_not_exists_with_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c3dd60fa-b639-11e9-b1c2-2816a845e8c6 + - 688f86e2-d064-11e9-8614-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:02 GMT + - Fri, 06 Sep 2019 05:08:48 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare91c61740?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:00 GMT + : Fri, 06 Sep 2019 05:08:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA7975D5A"' + : '"0x8D7328851095F20"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:01 GMT + : Fri, 06 Sep 2019 05:08:55 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: faeec573-001a-004e-6646-4aa1e5000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 688f86e2-d064-11e9-8614-001a7dda7113 + x-ms-request-id: 968758c5-101a-0049-6f71-64111f000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare91c61740 - restype=share - '' @@ -50,15 +51,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c42bb140-b639-11e9-bb2e-2816a845e8c6 + - 6d27b1d8-d064-11e9-b47d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:03 GMT + - Fri, 06 Sep 2019 05:08:55 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare91c61740?restype=share&comp=snapshot response: @@ -70,19 +71,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:01 GMT + : Fri, 06 Sep 2019 05:08:58 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA7975D5A"' + : '"0x8D7328851095F20"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:01 GMT + : Fri, 06 Sep 2019 05:08:55 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 572cfd18-a01a-000c-5e46-4a8af1000000 - x-ms-snapshot: '2019-08-03T21:58:02.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: 6d27b1d8-d064-11e9-b47d-001a7dda7113 + x-ms-request-id: 3e71ba65-b01a-001d-6f71-645e48000000 + x-ms-snapshot: '2019-09-06T05:08:57.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +92,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare91c61740 - restype=share&comp=snapshot - '' @@ -98,21 +100,21 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c46ca040-b639-11e9-accb-2816a845e8c6 + - 6ebc3026-d064-11e9-82bd-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:03 GMT + - Fri, 06 Sep 2019 05:08:58 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare91c61740?restype=share response: body: string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:b1dfbbe1-a01a-0007-5e46-4a9285000000\nTime:2019-08-03T21:58:02.8644921Z" + specified share already exists.\nRequestId:59e6a839-e01a-00e4-3d71-645d6a000000\nTime:2019-09-06T05:08:58.4458106Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -122,13 +124,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:02 GMT + : Fri, 06 Sep 2019 05:08:57 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 6ebc3026-d064-11e9-82bd-001a7dda7113 x-ms-error-code: ShareAlreadyExists - x-ms-request-id: b1dfbbe1-a01a-0007-5e46-4a9285000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 59e6a839-e01a-00e4-3d71-645d6a000000 + x-ms-version: '2019-02-02' status: code: 409 message: The specified share already exists. @@ -136,7 +139,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare91c61740 - restype=share - '' @@ -144,19 +147,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c4b6f462-b639-11e9-a679-2816a845e8c6 + - 6ec6d85e-d064-11e9-8d8d-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:58:04 GMT + - Fri, 06 Sep 2019 05:08:58 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare91c61740/file91c61740 response: @@ -168,19 +179,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:02 GMT + : Fri, 06 Sep 2019 05:08:59 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA83C18FE"' + : '"0x8D7328853C9BA29"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:02 GMT + : Fri, 06 Sep 2019 05:08:59 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 572cfd1c-a01a-000c-5f46-4a8af1000000 + x-ms-client-request-id: 6ec6d85e-d064-11e9-8d8d-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:08:59.8884905Z' + x-ms-file-creation-time: '2019-09-06T05:08:59.8884905Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:08:59.8884905Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 3e71ba76-b01a-001d-7971-645e48000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -188,7 +207,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare91c61740/file91c61740 - '' - '' @@ -218,15 +237,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - c4c135e2-b639-11e9-9a5c-2816a845e8c6 + - 6fa0bbe2-d064-11e9-beb4-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:04 GMT + - Fri, 06 Sep 2019 05:08:59 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -243,19 +262,20 @@ interactions: : 7vEu7SvKX7CoTOx3ctr1oQ== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:02 GMT + : Fri, 06 Sep 2019 05:08:59 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA846F068"' + : '"0x8D7328853CD3D73"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:03 GMT + : Fri, 06 Sep 2019 05:08:59 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 572cfd1d-a01a-000c-6046-4a8af1000000 + x-ms-client-request-id: 6fa0bbe2-d064-11e9-beb4-001a7dda7113 + x-ms-request-id: 3e71ba7f-b01a-001d-0271-645e48000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -263,7 +283,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare91c61740/file91c61740 - comp=range - '' @@ -271,349 +291,34 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c4d23958-b639-11e9-8340-2816a845e8c6 + - 6fa83664-d064-11e9-b479-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:04 GMT + - Fri, 06 Sep 2019 05:09:00 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD - uri: https://storagename.file.core.windows.net/utshare91c61740/file91c61740?sharesnapshot=2019-08-03T21:58:02.0000000Z + uri: https://storagename.file.core.windows.net/utshare91c61740/file91c61740?sharesnapshot=2019-09-06T05:08:57.0000000Z response: body: string: '' headers: ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:02 GMT + : Fri, 06 Sep 2019 05:08:59 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 ? !!python/object/new:multidict._istr.istr - Transfer-Encoding : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-error-code: ResourceNotFound - x-ms-request-id: 886b9371-d01a-0065-2746-4ad55d000000 - x-ms-version: '2018-11-09' - status: - code: 404 - message: The specified resource does not exist. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare91c61740/file91c61740 - - sharesnapshot=2019-08-03T21:58:02.0000000Z - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5ade24ac-b63b-11e9-b5e4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:25 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare91c61740?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:24 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3E7DC4B8"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:24 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: a2cf6974-701a-000e-6748-4a880b000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare91c61740 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5b0d544c-b63b-11e9-ac8d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:25 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare91c61740?restype=share&comp=snapshot - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:24 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3E7DC4B8"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:24 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7bb0b454-201a-00bc-5748-4a7371000000 - x-ms-snapshot: '2019-08-03T22:09:24.0000000Z' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare91c61740 - - restype=share&comp=snapshot - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5b4f012e-b63b-11e9-95c5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:26 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare91c61740?restype=share - response: - body: - string: "\uFEFFShareAlreadyExistsThe - specified share already exists.\nRequestId:4516284c-c01a-0053-4e48-4a780f000000\nTime:2019-08-03T22:09:25.3268760Z" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '222' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: ShareAlreadyExists - x-ms-request-id: 4516284c-c01a-0053-4e48-4a780f000000 - x-ms-version: '2018-11-09' - status: - code: 409 - message: The specified share already exists. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare91c61740 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5b8c90f4-b63b-11e9-a306-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:26 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare91c61740/file91c61740 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:25 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3F105EA0"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7bb0b458-201a-00bc-5848-4a7371000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare91c61740/file91c61740 - - '' - - '' -- request: - body: !!binary | - HAOdMfFuO+O+Ng7P6mRY55JkS+TxfgugkYLUzlRdeURa3G3wR+SaVdgTPi5zxaDg9al4h4H0CZ5y - DD4YpKaXrVHd0c+f8ZdBrnHrZNWyP8CnwXWEhwgwsjktm3uoVJT6Axlg4EBpTPRhbAwouOo3txPq - /NXBGzw7HLrSEoA18JOBeOORfhtwH/c2eFcHu+1i8byqo3izx0+XSlisj5KPZ8iun5FUmz6ch5LH - h7pk8DpEJ9RN2nlQ/SAoKFsb6ZskhOD6ZsNSaHe9PAbxwEMz+vyRtjnyTdYjECmaITKq2GL0qv3q - HjVB5JK6jmezZKJ0DKhnggkJJxEFl+Xo6kMHiu7WKr+C3kDvmeGz3I1AvRORgney3gi5Jzw6qI36 - KMISXiIyRBrnOmslvfnuF/tkq6t5x/eeeH9srKw7XCOPu0V2lHB50XnltIlNi0uys98QHME/QCE/ - 09rlH32fi9rP8PqyUZoKDm+WNJlI92Fsdb84KgLAQfVwM20rooZW/tQewWxPnZ7HBrcoBB3iU+Mu - D7dkIPPET6SeIFIlrIGBPtwCmP25mz54JOHJc8DqhMjp4TkGmJU8OywNPOe58KsFFdUCciyQw27b - ESOBH63cd6WvHaQZUJ7wedQkfjeoQ5zsFHstdMFRSePUC16aEwwKdHSnt6+ICEAfYzvsAOO1YsND - n+gksM9ZV+424RyNB7/QRzJKedM2h9U8lNmiD6ds5S4jInQFjuV7WkqGE7cimegyFclxjHev7Cl4 - QX4hTPq03eRqiCO9vTj4rRIfMiSJnZtdPM6gSHvnxkhyJaPwut3G64DRJ8HANzLHT0LaqWwoFJYB - CKRdTmQ0AZmc5F4kxvwcOKEEzDYlk5DTBW7ebfspt8r+j7L8Izhzz3fn5arEHI0/5QSBE7lPEcNY - p2knVMDgZroLlQJWUXXwAJSKtozHuLM3ug3SvWsZY2EjhvcDOjpvVXZYBUAOpDrjzbADvNFNrUix - lNf9poZLfshCVHgcxs33JNogEIEPKsR/n5I5gydpYZSCHrNp6rT+ob3cdO0zM6FX06+FjWepUJ9a - kvdqNqwoprrha4nAdmRgRkzoNRUIOcj0FJd+V3+qkZ+35XxgvVT2RKD2mcRL01Sz0Ja3DDwbASNb - U+jRTB6fz3sRes0f+gm6SU5uyDTGYm1nDdeP0VHHyiB7E70I4gyyvofoNtzy7A7yHHPpz5WwdO8M - OU/WKfm5m+PLiqwfY/SMgSJHtj5Lg3XFJXilrzCPEXk6ij21dKwMqCdeLc1j86+4TroIe9t3Iq6D - 6XHOgUbK1T66SZA0J+lCY3P219fzCxDZPjl9RNFn4fWLK5LQI6SMrW3nUIDnIf2xULG97QRn5g== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 5b9658e2-b63b-11e9-8292-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:26 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare91c61740/file91c61740?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : 7vEu7SvKX7CoTOx3ctr1oQ== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:25 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3F1A99AD"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7bb0b459-201a-00bc-5948-4a7371000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare91c61740/file91c61740 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5ba5529e-b63b-11e9-9224-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:26 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare91c61740/file91c61740?sharesnapshot=2019-08-03T22:09:24.0000000Z - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 6fa83664-d064-11e9-b479-001a7dda7113 x-ms-error-code: ResourceNotFound - x-ms-request-id: cbffe1ec-a01a-0025-1b48-4afcb3000000 - x-ms-version: '2018-11-09' + x-ms-request-id: b0a3b6c1-a01a-0087-1b71-64c091000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified resource does not exist. @@ -621,8 +326,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare91c61740/file91c61740 - - sharesnapshot=2019-08-03T22:09:24.0000000Z + - sharesnapshot=2019-09-06T05:08:57.0000000Z - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_unicode_data_and_file_attributes_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_unicode_data_and_file_attributes_async.yaml new file mode 100644 index 000000000000..29b073fc14f4 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_unicode_data_and_file_attributes_async.yaml @@ -0,0 +1,306 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 724aa35c-d064-11e9-9ea4-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 05:09:04 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare4d901a1d?restype=share + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:09:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73288567C6AC5"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:09:04 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 724aa35c-d064-11e9-9ea4-001a7dda7113 + x-ms-request-id: 508b5239-501a-00ac-5071-64405d000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare4d901a1d + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7257aa90-d064-11e9-8498-001a7dda7113 + x-ms-content-length: + - '26' + x-ms-date: + - Fri, 06 Sep 2019 05:09:04 GMT + x-ms-file-attributes: + - Temporary + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare4d901a1d/file4d901a1d + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:09:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73288568AE4AA"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:09:04 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7257aa90-d064-11e9-8498-001a7dda7113 + x-ms-file-attributes: Archive | Temporary + x-ms-file-change-time: '2019-09-06T05:09:04.5098666Z' + x-ms-file-creation-time: '2019-09-06T05:09:04.5098666Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:04.5098666Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 59e6a870-e01a-00e4-6371-645d6a000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare4d901a1d/file4d901a1d + - '' + - '' +- request: + body: "hello world\u554A\u9F44\u4E02\u72DB\u72DC" + headers: + Content-Length: + - '26' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7261e674-d064-11e9-ad5e-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 05:09:04 GMT + x-ms-range: + - bytes=0-25 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshare4d901a1d/file4d901a1d?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : aFkhSeVIRnJoB2MmKjC25w== + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:09:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73288568E8F0D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:09:04 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7261e674-d064-11e9-ad5e-001a7dda7113 + x-ms-request-id: 59e6a872-e01a-00e4-6571-645d6a000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare4d901a1d/file4d901a1d + - comp=range + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7266025a-d064-11e9-af29-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 05:09:04 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshare4d901a1d/file4d901a1d + response: + body: + string: "hello world\u554A\u9F44\u4E02\u72DB\u72DC" + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '26' + ? !!python/object/new:multidict._istr.istr + - Content-Range + : bytes 0-25/26 + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:09:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73288568E8F0D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:09:04 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7266025a-d064-11e9-af29-001a7dda7113 + x-ms-file-attributes: Archive | Temporary + x-ms-file-change-time: '2019-09-06T05:09:04.5098666Z' + x-ms-file-creation-time: '2019-09-06T05:09:04.5098666Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:04.5098666Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 59e6a873-e01a-00e4-6671-645d6a000000 + x-ms-server-encrypted: 'true' + x-ms-type: File + x-ms-version: '2019-02-02' + status: + code: 206 + message: Partial Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare4d901a1d/file4d901a1d + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7269f72c-d064-11e9-82f4-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 05:09:04 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.file.core.windows.net/utshare4d901a1d/file4d901a1d + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '26' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:09:03 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73288568E8F0D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:09:04 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7269f72c-d064-11e9-82f4-001a7dda7113 + x-ms-file-attributes: Archive | Temporary + x-ms-file-change-time: '2019-09-06T05:09:04.5098666Z' + x-ms-file-creation-time: '2019-09-06T05:09:04.5098666Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:04.5098666Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 59e6a874-e01a-00e4-6771-645d6a000000 + x-ms-server-encrypted: 'true' + x-ms-type: File + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshare4d901a1d/file4d901a1d + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_unicode_data_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_unicode_data_async.yaml index 41c4c7e0a169..f11fca8d5132 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_unicode_data_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_file_unicode_data_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c54bc73a-b639-11e9-a54f-2816a845e8c6 + - 72880cda-d064-11e9-8d5d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:05 GMT + - Fri, 06 Sep 2019 05:09:04 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare939711e6?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:03 GMT + : Fri, 06 Sep 2019 05:09:03 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA8F15925"' + : '"0x8D7328856BA9A7C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:04 GMT + : Fri, 06 Sep 2019 05:09:04 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 219a99bd-901a-0087-6446-4a312f000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 72880cda-d064-11e9-8d5d-001a7dda7113 + x-ms-request-id: 1f4827b7-d01a-0034-7671-64603c000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare939711e6 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c57c2454-b639-11e9-883f-2816a845e8c6 + - 7294b8e4-d064-11e9-aa72-001a7dda7113 x-ms-content-length: - '26' x-ms-date: - - Sat, 03 Aug 2019 21:58:05 GMT + - Fri, 06 Sep 2019 05:09:04 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare939711e6/file939711e6 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:03 GMT + : Fri, 06 Sep 2019 05:09:04 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA918E596"' + : '"0x8D7328856C9836E"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:04 GMT + : Fri, 06 Sep 2019 05:09:04 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8f7111c9-001a-0082-4a46-4ac550000000 + x-ms-client-request-id: 7294b8e4-d064-11e9-aa72-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:04.9202542Z' + x-ms-file-creation-time: '2019-09-06T05:09:04.9202542Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:04.9202542Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 5f3f36a0-201a-0020-1071-642853000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare939711e6/file939711e6 - '' - '' @@ -106,15 +123,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - c5a102c0-b639-11e9-a635-2816a845e8c6 + - 72a07724-d064-11e9-ab06-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:05 GMT + - Fri, 06 Sep 2019 05:09:04 GMT x-ms-range: - bytes=0-25 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -131,19 +148,20 @@ interactions: : aFkhSeVIRnJoB2MmKjC25w== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:03 GMT + : Fri, 06 Sep 2019 05:09:04 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA9251CD0"' + : '"0x8D7328856CC916B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:04 GMT + : Fri, 06 Sep 2019 05:09:04 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8f7111cb-001a-0082-4b46-4ac550000000 + x-ms-client-request-id: 72a07724-d064-11e9-ab06-001a7dda7113 + x-ms-request-id: 5f3f36a6-201a-0020-1371-642853000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -151,7 +169,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare939711e6/file939711e6 - comp=range - '' @@ -161,17 +179,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c5aaac7a-b639-11e9-a490-2816a845e8c6 + - 72a33590-d064-11e9-bf78-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:05 GMT + - Fri, 06 Sep 2019 05:09:05 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare939711e6/file939711e6 response: @@ -192,244 +210,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:03 GMT + : Fri, 06 Sep 2019 05:09:04 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA9251CD0"' + : '"0x8D7328856CC916B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:04 GMT + : Fri, 06 Sep 2019 05:09:04 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 8f7111cc-001a-0082-4c46-4ac550000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 206 - message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare939711e6/file939711e6 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5bf8e654-b63b-11e9-9a23-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:27 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare939711e6?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:25 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3FA05157"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e8038ed4-401a-0006-2548-4a9378000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare939711e6 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5c4a4eca-b63b-11e9-83e9-2816a845e8c6 - x-ms-content-length: - - '26' - x-ms-date: - - Sat, 03 Aug 2019 22:09:27 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare939711e6/file939711e6 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:26 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F3FECDCB3"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c005a012-001a-00a0-0448-4aab66000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare939711e6/file939711e6 - - '' - - '' -- request: - body: "hello world\u554A\u9F44\u4E02\u72DB\u72DC" - headers: - Content-Length: - - '26' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 5c7fa894-b63b-11e9-9fd7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:28 GMT - x-ms-range: - - bytes=0-25 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare939711e6/file939711e6?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : aFkhSeVIRnJoB2MmKjC25w== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:27 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F40039D1F"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:27 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c005a014-001a-00a0-0548-4aab66000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare939711e6/file939711e6 - - comp=range - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5c890ca8-b63b-11e9-a54d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:28 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare939711e6/file939711e6 - response: - body: - string: "hello world\u554A\u9F44\u4E02\u72DB\u72DC" - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '26' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-25/26 - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:27 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F40039D1F"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:27 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c005a015-001a-00a0-0648-4aab66000000 + x-ms-client-request-id: 72a33590-d064-11e9-bf78-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:04.9202542Z' + x-ms-file-creation-time: '2019-09-06T05:09:04.9202542Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:04.9202542Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 5f3f36ac-201a-0020-1971-642853000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -437,7 +239,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare939711e6/file939711e6 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_metadata_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_metadata_async.yaml index 4edb2ab2fd5a..6bd596c2da35 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_metadata_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_metadata_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c60369e8-b639-11e9-b646-2816a845e8c6 + - 72b9c742-d064-11e9-bfe1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:06 GMT + - Fri, 06 Sep 2019 05:09:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare935011e6?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:04 GMT + : Fri, 06 Sep 2019 05:09:04 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DA9C176E1"' + : '"0x8D7328856EA7337"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:05 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d81b3e30-c01a-009f-7d46-4a1cba000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 72b9c742-d064-11e9-bfe1-001a7dda7113 + x-ms-request-id: ab95ad54-b01a-0050-3e71-6491a4000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare935011e6 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c663a58c-b639-11e9-8cf2-2816a845e8c6 + - 72c5978c-d064-11e9-9492-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:58:06 GMT + - Fri, 06 Sep 2019 05:09:05 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare935011e6/file935011e6 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:05 GMT + : Fri, 06 Sep 2019 05:09:04 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAA0AC4A1"' + : '"0x8D7328856F92A7A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:06 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3fae9302-401a-00c1-5546-4aefb9000000 + x-ms-client-request-id: 72c5978c-d064-11e9-9492-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:05.2325498Z' + x-ms-file-creation-time: '2019-09-06T05:09:05.2325498Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:05.2325498Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 7ac74643-d01a-001b-5371-646df7000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare935011e6/file935011e6 - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - c6900d3a-b639-11e9-ab54-2816a845e8c6 + - 72d051f6-d064-11e9-ba73-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:07 GMT + - Fri, 06 Sep 2019 05:09:05 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : X3CNAZhvR3Er2T6E1jg4hg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:05 GMT + : Fri, 06 Sep 2019 05:09:04 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAA15C326"' + : '"0x8D7328856FC3873"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:06 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3fae9304-401a-00c1-5646-4aefb9000000 + x-ms-client-request-id: 72d051f6-d064-11e9-ba73-001a7dda7113 + x-ms-request-id: 7ac74645-d01a-001b-5471-646df7000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare935011e6/file935011e6 - comp=range - '' @@ -177,15 +195,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c69a8b7a-b639-11e9-af9f-2816a845e8c6 + - 72d278da-d064-11e9-bfe9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:07 GMT + - Fri, 06 Sep 2019 05:09:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare935011e6/file935011e6 response: @@ -200,252 +218,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:05 GMT + : Fri, 06 Sep 2019 05:09:04 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAA15C326"' + : '"0x8D7328856FC3873"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:06 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 3fae9305-401a-00c1-5746-4aefb9000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare935011e6/file935011e6 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5cf044fa-b63b-11e9-8997-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:29 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare935011e6?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:27 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F408ECA91"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:28 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e7b6828c-201a-007b-3748-4a0fb0000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare935011e6 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5d291e3e-b63b-11e9-9af0-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:29 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare935011e6/file935011e6 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:27 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F40C95ACB"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:28 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 963d56d7-801a-0098-4b48-4aea3f000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare935011e6/file935011e6 - - '' - - '' -- request: - body: !!binary | - uyU9hKN2iCnDih48XmCIzZPhWW0K8KkuyemtEy8M5rDzbSfLvcNPIdpiUjKaTu/N5pEioiS9jIbn - XxqvZPIZ0Qu2PmTQtYgwF0WgyqggiqKGn1xZxJf3MSxFwXsZG2qgdStMWb5scoA5zWtY+e07mCI1 - Md1a4Ia0VNwIsDmBeSS+uKCMA+VYLU8Ibl1t3uWsSX6rU2FtwGXEa3flMXSaa2RWCGwnC/ZG/A38 - xP3nPEsBtDJdgVd06D8OrfqmfiG0LAGy2Dj7f/WreeJGiGMDpMQ5pkDLUGSEeVTewpZwnjWN5VPW - LRwUnv3Aft6L8HHk3FK1neDAzZ1xmohT1CeODjDdss9W7IGvEeouMi+lVlFg8WiVGJULfi04KEyU - OAZSeZYWjCbnXERlfgtySYfpX35m/fCraipJtqnXwyWd8kbMACx8NqJYUzkvFpFdQhxV1cHzcmoW - XYgHaAbjK9ZxWvkQFIvU4qV992iRjGk0spZGs78ya7PjrcA4b3zOiLFHhG1O3E/WmecK9vpYtYlN - xeqLwedO1kpowtEsLSMONFgVD3k+3SmboVEf8+rOIV94rBSjAvZb0y3NjlTT4h8GzZ9E3WEbudv5 - GmTeQtZWRAkPEhQlvK7wJHhdGEAxgqrPuOg5PoyfD5OxiliZutzrsPkUXEl/ggg1LgbtqmhKEC0j - Veoe6ZHy7zqY9k/daRjIR0B55e8ltXNFOUdo2BJmPQO0ytFBmDPqU09R8uBe7x053JCDUI9aRvb1 - yL98BemW0fAcvd5t5nCgV0E/DaFBT+JsBg/y3798nmaIEMooyk6Dq7JrT3b0TIYDaRYAU5nEhwcA - ZtGqw0FWwUONGPbuQwwuiCoRQKHv/XheDwFB4Z94yEDIqXQ41QrVukvRoTKaAuhtIPdriHzzjkC6 - hNmAC7q/58jBKUzVeikyJJ0FhKMFKMLJeuutejSYBNuPlQhq4bi10VLP0/NPA7GP71wE+PSpiVMQ - w709CuEgZtWfevt1PI27VpJgW8QofuoOLtzDh77n1HdT5Sgk8r97tnZ7lkbZQabg5u28X60d+y2F - 2L9nurbbP19H6Nre0Ped8fAmtfn8c73exuZY+AW4XQDR3JvE8/VvcomsQjIEXxGp47A+pOq88MYT - GV9IhO0CMRTbpoY9UaXw0leiJD3iC0Aq4DADA6SHw0ghPmFB1Z0zjvMEI8BWaWgEpEeVSuDP+ACq - 3BngrxSQon66p4Myd+UR2OlXVkzEqcqsUQOhVDXvS544tcTbqhhS+TmuvYRPjboMGGIOFtqBW9aU - foUAR46sYPHs40blz9jxe15R0Kg6TGE2/uxOHNl7jJ0I+CfVFKe83eidvmJN4ztPgoYcLZ/13A== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 5d5d6c28-b63b-11e9-b65c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:29 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare935011e6/file935011e6?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : X3CNAZhvR3Er2T6E1jg4hg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:27 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F40E23E7A"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:28 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 963d56da-801a-0098-4c48-4aea3f000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare935011e6/file935011e6 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5d67fac2-b63b-11e9-8777-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:29 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare935011e6/file935011e6 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:27 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F40E23E7A"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:28 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 963d56db-801a-0098-4d48-4aea3f000000 + x-ms-client-request-id: 72d278da-d064-11e9-bfe9-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:05.2325498Z' + x-ms-file-creation-time: '2019-09-06T05:09:05.2325498Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:05.2325498Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 7ac74646-d01a-001b-5571-646df7000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -453,7 +247,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare935011e6/file935011e6 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_metadata_with_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_metadata_with_snapshot_async.yaml index aeb2deafb40f..23651bed2a18 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_metadata_with_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_metadata_with_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c70c0542-b639-11e9-96ea-2816a845e8c6 + - 72e6c11c-d064-11e9-a373-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:08 GMT + - Fri, 06 Sep 2019 05:09:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareba8b17d0?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:06 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAAC4572D"' + : '"0x8D73288571757C1"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:07 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d9f1f2a1-201a-0016-2246-4aa59e000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 72e6c11c-d064-11e9-a373-001a7dda7113 + x-ms-request-id: a0f0d056-701a-00d9-6f71-642b71000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba8b17d0 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c75b96cc-b639-11e9-87ab-2816a845e8c6 + - 72f16a5a-d064-11e9-aefc-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:58:08 GMT + - Fri, 06 Sep 2019 05:09:05 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareba8b17d0/fileba8b17d0 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:06 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAAF9E409"' + : '"0x8D7328857248AB6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:07 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 530c7975-f01a-009c-0846-4a1fbd000000 + x-ms-client-request-id: 72f16a5a-d064-11e9-aefc-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:05.5168182Z' + x-ms-file-creation-time: '2019-09-06T05:09:05.5168182Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:05.5168182Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 7c21a09c-301a-0071-4a71-64b5df000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba8b17d0/fileba8b17d0 - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - c7967a30-b639-11e9-8ca1-2816a845e8c6 + - 72fb821c-d064-11e9-8b98-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:08 GMT + - Fri, 06 Sep 2019 05:09:05 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : QpJdywWI6B4NEsmKT4i/zw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:07 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAB1B54C7"' + : '"0x8D732885727BFCD"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:07 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 530c7977-f01a-009c-0946-4a1fbd000000 + x-ms-client-request-id: 72fb821c-d064-11e9-8b98-001a7dda7113 + x-ms-request-id: 7c21a09e-301a-0071-4b71-64b5df000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba8b17d0/fileba8b17d0 - comp=range - '' @@ -177,13 +195,13 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c7b43aa4-b639-11e9-bf06-2816a845e8c6 + - 72fe3e2e-d064-11e9-a31e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:09 GMT + - Fri, 06 Sep 2019 05:09:05 GMT x-ms-meta: - '{''test1'': ''foo'', ''test2'': ''bar''}' x-ms-meta-test1: @@ -191,7 +209,7 @@ interactions: x-ms-meta-test2: - bar x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareba8b17d0/fileba8b17d0?comp=metadata response: @@ -203,19 +221,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:07 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAB37E2A0"' + : '"0x8D73288572A7F97"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:07 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 530c7978-f01a-009c-0a46-4a1fbd000000 + x-ms-client-request-id: 72fe3e2e-d064-11e9-a31e-001a7dda7113 + x-ms-request-id: 7c21a09f-301a-0071-4c71-64b5df000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -223,7 +242,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba8b17d0/fileba8b17d0 - comp=metadata - '' @@ -231,15 +250,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c7c0728a-b639-11e9-b7d4-2816a845e8c6 + - 7307ad78-d064-11e9-b2ff-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:09 GMT + - Fri, 06 Sep 2019 05:09:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareba8b17d0?restype=share&comp=snapshot response: @@ -251,19 +270,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:07 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAAC4572D"' + : '"0x8D73288571757C1"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:07 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 530c7979-f01a-009c-0b46-4a1fbd000000 - x-ms-snapshot: '2019-08-03T21:58:08.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: 7307ad78-d064-11e9-b2ff-001a7dda7113 + x-ms-request-id: 7c21a0a0-301a-0071-4d71-64b5df000000 + x-ms-snapshot: '2019-09-06T05:09:05.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -271,7 +291,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba8b17d0 - restype=share&comp=snapshot - '' @@ -279,13 +299,13 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c7d525c6-b639-11e9-b8e3-2816a845e8c6 + - 732cf46e-d064-11e9-a4c6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:09 GMT + - Fri, 06 Sep 2019 05:09:05 GMT x-ms-meta: - '{''test100'': ''foo100'', ''test200'': ''bar200''}' x-ms-meta-test100: @@ -293,7 +313,7 @@ interactions: x-ms-meta-test200: - bar200 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareba8b17d0/fileba8b17d0?comp=metadata response: @@ -305,19 +325,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:07 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAB5A8C12"' + : '"0x8D732885758EDD4"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:08 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 530c797a-f01a-009c-0c46-4a1fbd000000 + x-ms-client-request-id: 732cf46e-d064-11e9-a4c6-001a7dda7113 + x-ms-request-id: 7c21a0a1-301a-0071-4e71-64b5df000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -325,7 +346,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba8b17d0/fileba8b17d0 - comp=metadata - '' @@ -333,15 +354,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c7f31200-b639-11e9-bedc-2816a845e8c6 + - 7335a7dc-d064-11e9-bc4d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:09 GMT + - Fri, 06 Sep 2019 05:09:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshareba8b17d0/fileba8b17d0 response: @@ -356,25 +377,30 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:07 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAB5A8C12"' + : '"0x8D732885758EDD4"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:08 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 7335a7dc-d064-11e9-bc4d-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:05.8601428Z' + x-ms-file-creation-time: '2019-09-06T05:09:05.5168182Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:05.5168182Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 x-ms-meta-test100: foo100 x-ms-meta-test200: bar200 - x-ms-request-id: 530c797c-f01a-009c-0d46-4a1fbd000000 + x-ms-request-id: 7c21a0a2-301a-0071-4f71-64b5df000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -382,7 +408,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba8b17d0/fileba8b17d0 - '' - '' @@ -390,17 +416,17 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c7fd578c-b639-11e9-ad60-2816a845e8c6 + - 7339c376-d064-11e9-a729-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:09 GMT + - Fri, 06 Sep 2019 05:09:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD - uri: https://storagename.file.core.windows.net/utshareba8b17d0/fileba8b17d0?sharesnapshot=2019-08-03T21:58:08.0000000Z + uri: https://storagename.file.core.windows.net/utshareba8b17d0/fileba8b17d0?sharesnapshot=2019-09-06T05:09:05.0000000Z response: body: string: '' @@ -413,469 +439,30 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:08 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185DAB37E2A0"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 21:58:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-meta-test1: foo - x-ms-meta-test2: bar - x-ms-request-id: 35db7f67-f01a-0097-5a46-4a07c9000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareba8b17d0/fileba8b17d0 - - sharesnapshot=2019-08-03T21:58:08.0000000Z - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5dc22d10-b63b-11e9-ab87-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:30 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareba8b17d0?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:29 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F416036CB"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:29 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 26d4098e-901a-004b-6b48-4a559a000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareba8b17d0 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5dfc329a-b63b-11e9-ae2f-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:30 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareba8b17d0/fileba8b17d0 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:29 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F41A42ADD"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:29 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bc10577c-101a-001e-3048-4abeed000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareba8b17d0/fileba8b17d0 - - '' - - '' -- request: - body: !!binary | - PHNx6+lQSqtbLmFt0mg2YNJnhE0aVmJRMfdbRPkpVuqOpf5OGYaSA8JM2ZfausDgtLCE8hAT0RNu - GbjyxkplktRDdkFjnswFDq+e9owaZvknvQ2nEfTXs3LjePDWgd5N1suN139/XG5b7w+q0vtF61cU - 5jTBd71GubKiu1bkEQ2bDOZkYstF6R22Y3GEQ6tuh+AMFinO5IFwjhMWtDIbAtQMlKBB0jP6raW8 - PfEEQO4eQLyN75eXsFaAYlbxJmh6p4ictHNw/g2qViXx0Cez32nDLmaLwJcbg+qIlltbChicHj+1 - LFR/Ci+C6ELKHoevUfOsuddJqvd4P9Qr5H5sR4J5RMrtWi8t5Uz4Mv6qd8IaIjhmyzbHv0/fNKyc - yY7oKes/eQxjYv7oErH8Tcj8YE+698JIfhnV3zuljRt2Yiv9kfhDG3mhuxWD3AG9ZGYW6ZveTHV+ - vQ7ZDGhuZBSPp0mlul7LJOn3Pe9ECX9zgxSWO2QKqiy6VFwSfVhOjjJBiqNLCjsKKKeR2OIJE89i - OCLyyDjprZVucZWI0Zr29xkPFR8JgkTlyLPldnAJOk4oFxWudffzg+aWJXR09hpIIGS5itCbFVCi - 5yH7lZE0RJeiFfn7DaF8bRuB+2Q2Zuw+Anaf5s0wwwc1gJh7n9ERPz2rBq0radlTZcFZyfICy27X - 5BG5K0tP8IKNPdtfBcFSgZPZMD+1cZ8uA1DTX2aA4PGe56ErYnSxnGJHcFosgr1LkWj0/MF/iDnu - F5n6AeANbCsWDVH9ZyOtgXccujKBjGKqxQKTOpBVUSh02x7zivrC934cZcWa28rN2Sg11LHPsLXK - kJCE3WHQLoYwq4wiSIwhxmbjfHub39a3qCXs7kPZh3mX7Zlx0OTP4VJtMGrARfrQvVeOQTmI4Cty - T+eWPsd695MfPhSP11REL4FyXU5E6S71M1ngAR+ztIagKw0y7iv0C8jTeOT9vroGvPuyGfk0yhdI - neH9S3NIPURwLGqYWm+HZGrVgF8CLU4hFnLtndCWMj4yPvrDEu0w7zt8JvsIYuj5Onyg3Hjj7JEP - GUHGaibX2j0VXFxBzanUZO8zHgTOENBPi+BFomXpp9Uj/RSs4ryFXjOB85ufyrSfF6ABc/UWB1cF - FZSU32ljlEnMNUvB+jPGi0RWWvQ8GqY3z5o8LIqBMnbLfdeGxbYR4nM9evbTB8ZHoKcPcWX6POSp - 6VZIHZebNe0MIsS4esStXAJgxBeeQueGcMJWVS2w1YcPQxG+8ZxR8yRyYq2Shw5lYOqKQwDnQ6W5 - XI0IerPkm7YFPafbnJbi0bScb7m08M5qFusZVCRucM7bfsiUl0F03trqjhBZCOE5yLpQ1wGY+A== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 5e3517ae-b63b-11e9-aa6d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:31 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshareba8b17d0/fileba8b17d0?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : QpJdywWI6B4NEsmKT4i/zw== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:29 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F41BA9D1F"' + : '"0x8D73288572A7F97"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:09:29 GMT + : Fri, 06 Sep 2019 05:09:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bc10577e-101a-001e-3148-4abeed000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareba8b17d0/fileba8b17d0 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5e401718-b63b-11e9-b157-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:31 GMT - x-ms-meta: - - '{''test1'': ''foo'', ''test2'': ''bar''}' - x-ms-meta-test1: - - foo - x-ms-meta-test2: - - bar - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareba8b17d0/fileba8b17d0?comp=metadata - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:29 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F41D1ABB9"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:30 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bc10577f-101a-001e-3248-4abeed000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareba8b17d0/fileba8b17d0 - - comp=metadata - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5e79e9c6-b63b-11e9-bef3-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:31 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareba8b17d0?restype=share&comp=snapshot - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:29 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F416036CB"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:29 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bc105781-101a-001e-3348-4abeed000000 - x-ms-snapshot: '2019-08-03T22:09:30.0000000Z' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareba8b17d0 - - restype=share&comp=snapshot - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5e985b26-b63b-11e9-9f43-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:31 GMT - x-ms-meta: - - '{''test100'': ''foo100'', ''test200'': ''bar200''}' - x-ms-meta-test100: - - foo100 - x-ms-meta-test200: - - bar200 - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareba8b17d0/fileba8b17d0?comp=metadata - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:29 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F421CA4F4"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:30 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bc105782-101a-001e-3448-4abeed000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareba8b17d0/fileba8b17d0 - - comp=metadata - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5eb2ab70-b63b-11e9-9502-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:31 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshareba8b17d0/fileba8b17d0 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:30 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F421CA4F4"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:30 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-meta-test100: foo100 - x-ms-meta-test200: bar200 - x-ms-request-id: bc105783-101a-001e-3548-4abeed000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareba8b17d0/fileba8b17d0 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5ebc1558-b63b-11e9-b9e0-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:32 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshareba8b17d0/fileba8b17d0?sharesnapshot=2019-08-03T22:09:30.0000000Z - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:31 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F41D1ABB9"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:30 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 7339c376-d064-11e9-a729-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:05.5558551Z' + x-ms-file-creation-time: '2019-09-06T05:09:05.5168182Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:05.5168182Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 x-ms-meta-test1: foo x-ms-meta-test2: bar - x-ms-request-id: 6f96dc6b-e01a-004f-2948-4aa018000000 + x-ms-request-id: a593068f-701a-00bb-3c71-64e956000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -883,8 +470,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba8b17d0/fileba8b17d0 - - sharesnapshot=2019-08-03T22:09:30.0000000Z + - sharesnapshot=2019-09-06T05:09:05.0000000Z - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_properties_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_properties_async.yaml index 492a825f803a..a75f3cc6bc91 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_properties_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_properties_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c8a0001a-b639-11e9-ba10-2816a845e8c6 + - 73d50fec-d064-11e9-89a6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:10 GMT + - Fri, 06 Sep 2019 05:09:07 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharebaee12f2?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:09 GMT + : Fri, 06 Sep 2019 05:09:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAC5B4383"' + : '"0x8D732885CE5FA56"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:09 GMT + : Fri, 06 Sep 2019 05:09:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fdfd4f8e-901a-008c-7a46-4a295b000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 73d50fec-d064-11e9-89a6-001a7dda7113 + x-ms-request-id: df0df568-101a-0014-4c71-641b9b000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharebaee12f2 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c8f4265c-b639-11e9-a50a-2816a845e8c6 + - 79545052-d064-11e9-bc12-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:58:11 GMT + - Fri, 06 Sep 2019 05:09:16 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharebaee12f2/filebaee12f2 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:09 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAC9C957C"' + : '"0x8D732885D8CBC21"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:10 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 6272c6fe-e01a-0022-1046-4a0a36000000 + x-ms-client-request-id: 79545052-d064-11e9-bc12-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:16.2659873Z' + x-ms-file-creation-time: '2019-09-06T05:09:16.2659873Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:16.2659873Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: f5c63300-301a-0095-0e71-64bb41000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharebaee12f2/filebaee12f2 - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - c921e6ee-b639-11e9-82e4-2816a845e8c6 + - 7966a480-d064-11e9-b54b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:11 GMT + - Fri, 06 Sep 2019 05:09:16 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : ftb4wi1mbBghAEG5lwpqZA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:09 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DACA6D089"' + : '"0x8D732885D9289EC"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:10 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 6272c701-e01a-0022-1146-4a0a36000000 + x-ms-client-request-id: 7966a480-d064-11e9-b54b-001a7dda7113 + x-ms-request-id: f5c63302-301a-0095-0f71-64bb41000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharebaee12f2/filebaee12f2 - comp=range - '' @@ -177,15 +195,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c92c485a-b639-11e9-8853-2816a845e8c6 + - 796941f6-d064-11e9-bcf5-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:11 GMT + - Fri, 06 Sep 2019 05:09:16 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utsharebaee12f2/filebaee12f2 response: @@ -200,252 +218,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:09 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DACA6D089"' + : '"0x8D732885D9289EC"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:10 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 6272c703-e01a-0022-1246-4a0a36000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharebaee12f2/filebaee12f2 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5f52b808-b63b-11e9-83fb-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:33 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharebaee12f2?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:31 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F42F06C38"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:32 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bbb4d538-401a-008e-7148-4a2ba1000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharebaee12f2 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5f913542-b63b-11e9-9242-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:33 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharebaee12f2/filebaee12f2 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:31 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F433ACBC3"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:32 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 35db8390-f01a-0097-6048-4a07c9000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharebaee12f2/filebaee12f2 - - '' - - '' -- request: - body: !!binary | - 79CLWyXh1LGlhvq8tCJ4yOsCE1RnCC5r1dX3sG1j4QXC92GMUBRsBBtVPUn9Yps0kY8TVC7xOeXB - thLTbCngzME2ON/wP5BDOqwGUmgc7LQ5k6dyHLvSrr68y7eqbZxKtBKLYyEb3+MqvVVPiF2oZoux - HQWM1dOugdEq0hq4PodMb5b1C3ymoHaVADD1rTOF6s/ZTNtzARDdoQ9sloHeGwmHVqgKuvR1tCxR - jEQpPcle9XI4f/R0It0KITyUGnnOGnjo4L5A72oU6H1rQ9LmTpAvxbyXT6cwUmNHv54NiHjjRaqy - FPhcq+UuulhgNPYQqHvHZkOo2r3w2OywUh60uLI7GfzjnhzhFXCXeJ5qxz3tj3W99FoMCaGVlvOP - cnTY03BPSeRw1x0/iA7vCf1eQKBs0jNWlJGygbbW4zLXuH8EvvzXWXD2v9ArAHH7bDYVlCj8+3/w - jnvFIjJR80pqLO4WSnWuVCkNG6hY+OwLHVyElI0h0So6kC9Q56D6S/sSUvH6cNXoyDnq2ChT20op - Y1jFQj6uePm2evKP29Tpu/Ijym4OuEYEUnJH+yA9IT7jqhFVp1RTe3VWXFYdAtqYfcC2P8GAnDPM - sOcWUfWcbDgZQNp0CpPi3+8kD5X8dRILMm790y2Y7eAyoyDTA8hgwDNJ86Yn3hFR1JlJyFBna2aP - UgXXbeiKcD56ZsXk8U1OrpXN0BNtMOIz6hu21uedx2Pr8hMUTqChdtAqsHsUOtORJc5wemL5qqRx - koWNEIFNSenlM+YEgGq7D01XjYmuDDbUTk72rlq/IFpzuRSkk3KhLehIkk51U51rIVv5TVLMVeU7 - LKVHwIcjvRTOjrkGWl+XoEtbz5l6vGiTuP7ahx5WTMacwG8xU7B1B7fvG5AUEuXJozMWhesI6MaM - iGar9TBe7FN8LDaqYo6R8ia/2ACdRdld4wr2+pjiq/MXOsSMJxA0ocb3N5830K1+Kd24+H7QNvZ2 - DTHNdr5DHXFZbDrxGRjriXe0Ds0I19qMSsrVcaLLG934ESezeJS03ZXhvVnqaT5Xf5unvEo6FAXP - R5zY9zZYVS3OtQagk7VevWX7/puG7s7s06y/9fGNLS1GqTsRBLLf7sCy0FFr9NZRRAnF2JSagdnT - OFtgtodwSQu9tOva0tjPCnckbNhZX1v27++/RG78CaqJgwg2E7yEbLl73daesgDal90xFhJmmnbN - oo7EwRmR+oe1FSqUimYYqH1xmZbBtLhl5na/A8t4DHWQd0ZBa95JCzaYqynG9Hn5qrETRgQQ/t21 - EMaIcxw5ZwYXMjEovcQViT/V9uOdukzRYbSwS7qTs3xBFRsKq6H4HyU03ULeLbmKspGCCF9Orw== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 5fcbf074-b63b-11e9-b91c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:33 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharebaee12f2/filebaee12f2?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : ftb4wi1mbBghAEG5lwpqZA== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:31 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4350EFCF"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:32 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 35db8393-f01a-0097-6148-4a07c9000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharebaee12f2/filebaee12f2 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 5fdb9fa6-b63b-11e9-997d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:33 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharebaee12f2/filebaee12f2 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:32 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4350EFCF"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:32 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 35db8394-f01a-0097-6248-4a07c9000000 + x-ms-client-request-id: 796941f6-d064-11e9-bcf5-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:16.2659873Z' + x-ms-file-creation-time: '2019-09-06T05:09:16.2659873Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:16.2659873Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: f5c63303-301a-0095-1071-64bb41000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -453,7 +247,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharebaee12f2/filebaee12f2 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_properties_with_non_existing_file_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_properties_with_non_existing_file_async.yaml index eecd69af0343..350d06e65edb 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_properties_with_non_existing_file_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_properties_with_non_existing_file_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c999531a-b639-11e9-9ac7-2816a845e8c6 + - 797cd278-d064-11e9-b9c9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:12 GMT + - Fri, 06 Sep 2019 05:09:16 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utsharee2101c80/filee2101c80 response: @@ -20,64 +20,17 @@ interactions: headers: ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:10 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 ? !!python/object/new:multidict._istr.istr - Transfer-Encoding : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-error-code: ShareNotFound - x-ms-request-id: d7c01d30-d01a-0003-7146-4a6707000000 - x-ms-version: '2018-11-09' - status: - code: 404 - message: The specified share does not exist. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharee2101c80/filee2101c80 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 602e18dc-b63b-11e9-8531-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:34 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharee2101c80/filee2101c80 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:33 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 797cd278-d064-11e9-b9c9-001a7dda7113 x-ms-error-code: ShareNotFound - x-ms-request-id: 2c3feab7-601a-00d6-3248-4a2fda000000 - x-ms-version: '2018-11-09' + x-ms-request-id: f5c63304-301a-0095-1171-64bb41000000 + x-ms-version: '2019-02-02' status: code: 404 message: The specified share does not exist. @@ -85,7 +38,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee2101c80/filee2101c80 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_properties_with_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_properties_with_snapshot_async.yaml index 6a59074b8885..51bf7ac3fbb7 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_properties_with_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_get_file_properties_with_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ca3647a6-b639-11e9-b9d5-2816a845e8c6 + - 799ec608-d064-11e9-b3d9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:13 GMT + - Fri, 06 Sep 2019 05:09:16 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef0d118dc?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:11 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DADD483A1"' + : '"0x8D732885DD02D0F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:12 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 216bbd9c-f01a-001f-4146-4abf10000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 799ec608-d064-11e9-b3d9-001a7dda7113 + x-ms-request-id: 39836985-101a-0066-0571-641cd4000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef0d118dc - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ca5e2ada-b639-11e9-a554-2816a845e8c6 + - 79a97b1a-d064-11e9-b590-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:58:13 GMT + - Fri, 06 Sep 2019 05:09:16 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef0d118dc/filef0d118dc response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:12 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DADFBA21A"' + : '"0x8D732885DEB6DD0"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:12 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e8038af5-401a-0006-6046-4a9378000000 + x-ms-client-request-id: 79a97b1a-d064-11e9-b590-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:16.8865744Z' + x-ms-file-creation-time: '2019-09-06T05:09:16.8865744Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:16.8865744Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: fe53ac50-601a-0098-3871-647395000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef0d118dc/filef0d118dc - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - ca838230-b639-11e9-bc24-2816a845e8c6 + - 79c2c458-d064-11e9-8bd1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:13 GMT + - Fri, 06 Sep 2019 05:09:16 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : OX6CtdP63ofLPtUE3CAh7Q== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:12 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAE093928"' + : '"0x8D732885DEF6666"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:12 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e8038af7-401a-0006-6146-4a9378000000 + x-ms-client-request-id: 79c2c458-d064-11e9-8bd1-001a7dda7113 + x-ms-request-id: fe53ac52-601a-0098-3971-647395000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef0d118dc/filef0d118dc - comp=range - '' @@ -177,13 +195,13 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - caa3c1c8-b639-11e9-b9e5-2816a845e8c6 + - 79c61d9e-d064-11e9-a917-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:14 GMT + - Fri, 06 Sep 2019 05:09:16 GMT x-ms-meta: - '{''test1'': ''foo'', ''test2'': ''bar''}' x-ms-meta-test1: @@ -191,7 +209,7 @@ interactions: x-ms-meta-test2: - bar x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef0d118dc/filef0d118dc?comp=metadata response: @@ -203,19 +221,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:12 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAE279C1C"' + : '"0x8D732885DF29B79"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:12 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e8038af8-401a-0006-6246-4a9378000000 + x-ms-client-request-id: 79c61d9e-d064-11e9-a917-001a7dda7113 + x-ms-request-id: fe53ac53-601a-0098-3a71-647395000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -223,7 +242,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef0d118dc/filef0d118dc - comp=metadata - '' @@ -231,15 +250,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - caafee14-b639-11e9-8553-2816a845e8c6 + - 79ccf66e-d064-11e9-9045-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:14 GMT + - Fri, 06 Sep 2019 05:09:17 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef0d118dc?restype=share&comp=snapshot response: @@ -251,19 +270,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:12 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DADD483A1"' + : '"0x8D732885DD02D0F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:12 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e8038af9-401a-0006-6346-4a9378000000 - x-ms-snapshot: '2019-08-03T21:58:12.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: 79ccf66e-d064-11e9-9045-001a7dda7113 + x-ms-request-id: fe53ac55-601a-0098-3c71-647395000000 + x-ms-snapshot: '2019-09-06T05:09:17.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -271,7 +291,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef0d118dc - restype=share&comp=snapshot - '' @@ -279,13 +299,13 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cac17824-b639-11e9-93aa-2816a845e8c6 + - 79f5a6cc-d064-11e9-a38c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:14 GMT + - Fri, 06 Sep 2019 05:09:17 GMT x-ms-meta: - '{''test100'': ''foo100'', ''test200'': ''bar200''}' x-ms-meta-test100: @@ -293,7 +313,7 @@ interactions: x-ms-meta-test200: - bar200 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef0d118dc/filef0d118dc?comp=metadata response: @@ -305,19 +325,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:12 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAE453BA6"' + : '"0x8D732885E217F06"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:13 GMT + : Fri, 06 Sep 2019 05:09:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e8038afa-401a-0006-6446-4a9378000000 + x-ms-client-request-id: 79f5a6cc-d064-11e9-a38c-001a7dda7113 + x-ms-request-id: fe53ac5a-601a-0098-4171-647395000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -325,7 +346,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef0d118dc/filef0d118dc - comp=metadata - '' @@ -333,15 +354,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cae09c54-b639-11e9-88df-2816a845e8c6 + - 79fa467e-d064-11e9-a860-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:14 GMT + - Fri, 06 Sep 2019 05:09:17 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utsharef0d118dc/filef0d118dc response: @@ -356,25 +377,30 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:12 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DAE453BA6"' + : '"0x8D732885E217F06"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:13 GMT + : Fri, 06 Sep 2019 05:09:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 79fa467e-d064-11e9-a860-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:17.2409094Z' + x-ms-file-creation-time: '2019-09-06T05:09:16.8865744Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:16.8865744Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 x-ms-meta-test100: foo100 x-ms-meta-test200: bar200 - x-ms-request-id: e8038afb-401a-0006-6546-4a9378000000 + x-ms-request-id: fe53ac5b-601a-0098-4271-647395000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -382,7 +408,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef0d118dc/filef0d118dc - '' - '' @@ -390,17 +416,17 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - caec06a6-b639-11e9-aee8-2816a845e8c6 + - 79fd9e98-d064-11e9-adcf-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:14 GMT + - Fri, 06 Sep 2019 05:09:17 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD - uri: https://storagename.file.core.windows.net/utsharef0d118dc/filef0d118dc?sharesnapshot=2019-08-03T21:58:12.0000000Z + uri: https://storagename.file.core.windows.net/utsharef0d118dc/filef0d118dc?sharesnapshot=2019-09-06T05:09:17.0000000Z response: body: string: '' @@ -413,469 +439,30 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:13 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185DAE279C1C"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 21:58:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-meta-test1: foo - x-ms-meta-test2: bar - x-ms-request-id: bf321379-e01a-0000-2946-4a6400000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharef0d118dc/filef0d118dc - - sharesnapshot=2019-08-03T21:58:12.0000000Z - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 60d0af00-b63b-11e9-9b2d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:35 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef0d118dc?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:34 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4471F8D3"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:34 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ea4aedda-001a-0089-5f48-4add24000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharef0d118dc - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 60fd2962-b63b-11e9-b4bd-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:35 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef0d118dc/filef0d118dc - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:34 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F44AC51C2"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:34 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 216bc18c-f01a-001f-1348-4abf10000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharef0d118dc/filef0d118dc - - '' - - '' -- request: - body: !!binary | - /klC2J992qSGw88FTpO2O1g8Azt/DBJwiofscDpEvtmeo4BAI8WS9Wmb2d9M5ClWi8exfdngUhgB - b5JO9eqMf8+QOmiZR1zMOPYEu74QyY9UjE7Fv7HUA8C86FQTg3k+uWdlmKrmoski7KIa5MMWogJN - Vbb8eBJMrVid9rv4btLHjdmU+YtMqEfOOiKyCa4G7J9Xl+vU6ARB5qWXtL3Vy0tGOGQLXdKITJ+t - cgYoIuXO4OhoIpUM9Dij7E96xGAuuOmReAjijXqlYfM++2vEt9HpPnoXDJsKP0obA4Fohv6j9cCR - QdPyPV28iqDHQbw8DwUtT+xa6qbnexr720Tsk1GehKdJY8/1TSd3a2MG/Nqe0JVe8IimFknudPOh - GXFV4XP12PJVv9Y6Ihnh99nVo5EpiMiXFK/G+dYGlsatn52+4gqrSxk/uJCrkLv6WyQsHKs3qLEI - Q/fdmDvnw0r9m3RCjBpFXHhyorUhXvKwcwwC71DnIxuVIAdK6Nec8bzaxn5b5G8arw66GSnsk5Hw - dI1/IETM9qOE4/fx1XizMKavf6WBk5HRqnW2SLYuiBHG45kQWgiEAXNx2LuoTqnLYMJmTaBxQGPi - Nrprw2yCp/ks5nKU6jcW86M8Vk/OvC8+CNhjzxPLZzFhDytO+U/bToz03JaAiursoCKgXgBW26y2 - nZF4p9vxX9n3GIa0xcBagBeONGjY3/aN01tN8CVUSgNVnQPOixsrG8plFWPVt4O7UVbLe06HMjXH - xdMd6EczjnFXt+bOVw59Zj93NhowJw3j+aW8btSRcrUDlihhOu1w9TW8twILOSsGohPvKVBxYDJO - ZuHqknUKpqj1qGecZNW9jFxcVLKjKxw851ROqoMqctlFtHgOThu5UN0NUhVHhU3Xi7V+eVwTECxF - +NgIxyd1/kUVaLaQv5NUL/yQOcSVH2hwyD1gnnTJxClBiS9MJwQCizlY4OdNZxCKLXB17LybyhPU - 6vwMkfuap4Kk4cZfB0ZBUfqStaausZIocTAELUaLaZwb6p/ib5JY3kqqyprTM/NHOiKhRojEXp9C - 6V8U4RqBEcpc0W99XXgj5HoazzOC1+0Nwda6ity+2ie2Tc4SHEtIdN3EifNE/HKp4J4VxsnS7AXe - U8skj1WHy9EVodn82E3ugRAqEonHi49o2S0nHp46AVGjmGwpeJiDL6yarBRGAnxZH0t5kCv2WK5r - RBMKpshl73Is2UKvkMbWPRn8vLIjo4SPxJnJmdDo2OpMf71yOEcKovRNIeIGyv0I3uRVASTH3SiF - GSt6SnDF7WLgxFjWMSxg+zCMXWgz3w9B6WrGPlSKyn4IpdGyJ2tzvQhczrfeBJfecXo7bbpQfw== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6132764c-b63b-11e9-941c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:36 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharef0d118dc/filef0d118dc?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : OX6CtdP63ofLPtUE3CAh7Q== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:34 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185F44B7503A"' + : '"0x8D732885DF29B79"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:09:35 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 216bc18e-f01a-001f-1448-4abf10000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharef0d118dc/filef0d118dc - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 613cec24-b63b-11e9-98e2-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:36 GMT - x-ms-meta: - - '{''test1'': ''foo'', ''test2'': ''bar''}' - x-ms-meta-test1: - - foo - x-ms-meta-test2: - - bar - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef0d118dc/filef0d118dc?comp=metadata - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:34 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F44C16430"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 216bc18f-f01a-001f-1548-4abf10000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharef0d118dc/filef0d118dc - - comp=metadata - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 614d98c0-b63b-11e9-a08d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:36 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef0d118dc?restype=share&comp=snapshot - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:34 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4471F8D3"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:34 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 216bc191-f01a-001f-1648-4abf10000000 - x-ms-snapshot: '2019-08-03T22:09:35.0000000Z' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharef0d118dc - - restype=share&comp=snapshot - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6157bd18-b63b-11e9-86aa-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:36 GMT - x-ms-meta: - - '{''test100'': ''foo100'', ''test200'': ''bar200''}' - x-ms-meta-test100: - - foo100 - x-ms-meta-test200: - - bar200 - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharef0d118dc/filef0d118dc?comp=metadata - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:34 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F44DBF5DC"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 216bc192-f01a-001f-1748-4abf10000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharef0d118dc/filef0d118dc - - comp=metadata - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 616eacf4-b63b-11e9-8a3b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:36 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharef0d118dc/filef0d118dc - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:34 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F44DBF5DC"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-meta-test100: foo100 - x-ms-meta-test200: bar200 - x-ms-request-id: 216bc193-f01a-001f-1848-4abf10000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharef0d118dc/filef0d118dc - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 617d48d4-b63b-11e9-861a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:36 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharef0d118dc/filef0d118dc?sharesnapshot=2019-08-03T22:09:35.0000000Z - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:35 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F44C16430"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 79fd9e98-d064-11e9-adcf-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:16.9336185Z' + x-ms-file-creation-time: '2019-09-06T05:09:16.8865744Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:16.8865744Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 x-ms-meta-test1: foo x-ms-meta-test2: bar - x-ms-request-id: 55a7a4ba-f01a-0079-5748-4a0d4a000000 + x-ms-request-id: 41913b90-701a-0070-2771-64ea03000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -883,8 +470,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef0d118dc/filef0d118dc - - sharesnapshot=2019-08-03T22:09:35.0000000Z + - sharesnapshot=2019-09-06T05:09:17.0000000Z - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_2_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_2_async.yaml index 67ec0725c41e..47e34134028e 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_2_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_2_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 71e97728-b63d-11e9-b18b-2816a845e8c6 + - 7a18a9d4-d064-11e9-a951-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:23 GMT + - Fri, 06 Sep 2019 05:09:17 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare4ee91033?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:21 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186155877B93"' + : '"0x8D732885E4B3ED4"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:22 GMT + : Fri, 06 Sep 2019 05:09:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fba2b881-501a-007f-594a-4afa32000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 7a18a9d4-d064-11e9-a951-001a7dda7113 + x-ms-request-id: 85104f80-101a-00bd-6e71-64dae9000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare4ee91033 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 7219ac0c-b63d-11e9-8c32-2816a845e8c6 + - 7a257b00-d064-11e9-9cf0-001a7dda7113 x-ms-content-length: - '2048' x-ms-date: - - Sat, 03 Aug 2019 22:24:23 GMT + - Fri, 06 Sep 2019 05:09:17 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare4ee91033/file4ee91033 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:21 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186155C366CF"' + : '"0x8D732885E58C904"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:22 GMT + : Fri, 06 Sep 2019 05:09:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 31e148eb-b01a-0018-654a-4a4995000000 + x-ms-client-request-id: 7a257b00-d064-11e9-9cf0-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:17.6032516Z' + x-ms-file-creation-time: '2019-09-06T05:09:17.6032516Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:17.6032516Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 32894cf3-701a-004f-4171-6422a0000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare4ee91033/file4ee91033 - '' - '' @@ -106,15 +123,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 724ac5dc-b63d-11e9-a07e-2816a845e8c6 + - 7a30451c-d064-11e9-88bb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:23 GMT + - Fri, 06 Sep 2019 05:09:17 GMT x-ms-range: - bytes=0-511 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -131,19 +148,20 @@ interactions: : pTsTLZHyQ+et6NksJ1OHxg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:21 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186155CDF00A"' + : '"0x8D732885E5C4C4D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:22 GMT + : Fri, 06 Sep 2019 05:09:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 31e148ed-b01a-0018-664a-4a4995000000 + x-ms-client-request-id: 7a30451c-d064-11e9-88bb-001a7dda7113 + x-ms-request-id: 32894cf5-701a-004f-4271-6422a0000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -151,7 +169,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare4ee91033/file4ee91033 - comp=range - '' @@ -163,15 +181,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 7254c76e-b63d-11e9-8223-2816a845e8c6 + - 7a32f874-d064-11e9-be63-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:23 GMT + - Fri, 06 Sep 2019 05:09:17 GMT x-ms-range: - bytes=1024-1535 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -188,19 +206,20 @@ interactions: : pTsTLZHyQ+et6NksJ1OHxg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:22 GMT + : Fri, 06 Sep 2019 05:09:16 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186155D71976"' + : '"0x8D732885E5F0C18"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:22 GMT + : Fri, 06 Sep 2019 05:09:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 31e148ee-b01a-0018-674a-4a4995000000 + x-ms-client-request-id: 7a32f874-d064-11e9-be63-001a7dda7113 + x-ms-request-id: 32894cf6-701a-004f-4371-6422a0000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -208,7 +227,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare4ee91033/file4ee91033 - comp=range - '' @@ -218,15 +237,15 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 725dc94a-b63d-11e9-b7d8-2816a845e8c6 + - 7a356022-d064-11e9-83b2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:23 GMT + - Fri, 06 Sep 2019 05:09:17 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare4ee91033/file4ee91033?comp=rangelist response: @@ -238,563 +257,23 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:22 GMT + : Fri, 06 Sep 2019 05:09:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186155D71976"' + : '"0x8D732885E5F0C18"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:22 GMT + : Fri, 06 Sep 2019 05:09:17 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 ? !!python/object/new:multidict._istr.istr - Transfer-Encoding : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-content-length: '2048' - x-ms-request-id: 31e148ef-b01a-0018-684a-4a4995000000 - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare4ee91033/file4ee91033 - - comp=rangelist - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2e9b8874-b640-11e9-bd4d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:43:58 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare4ee91033?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:43:57 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186412414939"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:43:57 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e9beac23-701a-0005-2d4c-4a907f000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare4ee91033 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2eecb24a-b640-11e9-861d-2816a845e8c6 - x-ms-content-length: - - '2048' - x-ms-date: - - Sat, 03 Aug 2019 22:43:59 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare4ee91033/file4ee91033 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:43:58 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D71864129138C6"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:43:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: be4dd7c9-f01a-0014-604c-4aa764000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare4ee91033/file4ee91033 - - '' - - '' -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 2f19f5ee-b640-11e9-9691-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:43:59 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare4ee91033/file4ee91033?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : pTsTLZHyQ+et6NksJ1OHxg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:43:58 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D71864129CAC8C"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:43:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: be4dd7cc-f01a-0014-614c-4aa764000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare4ee91033/file4ee91033 - - comp=range - - '' -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 2f2616b4-b640-11e9-936e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:43:59 GMT - x-ms-range: - - bytes=1024-1535 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare4ee91033/file4ee91033?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : pTsTLZHyQ+et6NksJ1OHxg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:43:58 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186412A7F932"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:43:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: be4dd7cd-f01a-0014-624c-4aa764000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare4ee91033/file4ee91033 - - comp=range - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2f30386e-b640-11e9-a429-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:43:59 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare4ee91033/file4ee91033?comp=rangelist - response: - body: - string: "\uFEFF051110241535" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:43:58 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186412A7F932"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:43:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-content-length: '2048' - x-ms-request-id: be4dd7ce-f01a-0014-634c-4aa764000000 - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare4ee91033/file4ee91033 - - comp=rangelist - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9411b9ae-b641-11e9-90b8-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:53:58 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare4ee91033?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:53:56 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186577D51880"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:53:57 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 71d41965-b01a-0075-734e-4ae3bb000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare4ee91033 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 947ae6ca-b641-11e9-aec5-2816a845e8c6 - x-ms-content-length: - - '2048' - x-ms-date: - - Sat, 03 Aug 2019 22:53:59 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare4ee91033/file4ee91033 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:53:58 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186578344F7C"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:53:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 400fcdd9-401a-0042-2b4e-4a4f14000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare4ee91033/file4ee91033 - - '' - - '' -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 94d2705c-b641-11e9-97d1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:53:59 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare4ee91033/file4ee91033?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : pTsTLZHyQ+et6NksJ1OHxg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:53:58 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186578546073"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:53:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 400fcddb-401a-0042-2c4e-4a4f14000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare4ee91033/file4ee91033 - - comp=range - - '' -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 94f1f524-b641-11e9-8ce7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:53:59 GMT - x-ms-range: - - bytes=1024-1535 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare4ee91033/file4ee91033?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : pTsTLZHyQ+et6NksJ1OHxg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:53:58 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D718657873FC21"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:53:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 400fcddd-401a-0042-2d4e-4a4f14000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare4ee91033/file4ee91033 - - comp=range - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 94fda9e8-b641-11e9-93f3-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:54:00 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare4ee91033/file4ee91033?comp=rangelist - response: - body: - string: "\uFEFF051110241535" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:06 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D718657873FC21"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:53:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 7a356022-d064-11e9-83b2-001a7dda7113 x-ms-content-length: '2048' - x-ms-request-id: 400fcdde-401a-0042-2e4e-4a4f14000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 32894cf7-701a-004f-4471-6422a0000000 + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -802,7 +281,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare4ee91033/file4ee91033 - comp=rangelist - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_2_from_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_2_from_snapshot_async.yaml index 7236baa0eb9c..5bc1e4582f9e 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_2_from_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_2_from_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 72eb1d94-b63d-11e9-afb9-2816a845e8c6 + - 7bab2e1c-d064-11e9-9cfb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:24 GMT + - Fri, 06 Sep 2019 05:09:20 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5db41615?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:23 GMT + : Fri, 06 Sep 2019 05:09:20 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186156999A4D"' + : '"0x8D732885FE31AE6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:24 GMT + : Fri, 06 Sep 2019 05:09:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5dbc1ad4-501a-00d5-564a-4a2cdd000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 7bab2e1c-d064-11e9-9cfb-001a7dda7113 + x-ms-request-id: 27d935c3-e01a-005d-3471-645970000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5db41615 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 732e72e2-b63d-11e9-a1f1-2816a845e8c6 + - 7bbf78ec-d064-11e9-8ba7-001a7dda7113 x-ms-content-length: - '2048' x-ms-date: - - Sat, 03 Aug 2019 22:24:25 GMT + - Fri, 06 Sep 2019 05:09:20 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:23 GMT + : Fri, 06 Sep 2019 05:09:20 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186156C9E30B"' + : '"0x8D732885FF529D3"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:24 GMT + : Fri, 06 Sep 2019 05:09:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 95001622-301a-00c5-404a-4a1a3b000000 + x-ms-client-request-id: 7bbf78ec-d064-11e9-8ba7-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:20.3058131Z' + x-ms-file-creation-time: '2019-09-06T05:09:20.3058131Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:20.3058131Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 63bad850-a01a-0001-0271-640c28000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5db41615/file5db41615 - '' - '' @@ -106,15 +123,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 736c4e94-b63d-11e9-a17f-2816a845e8c6 + - 7bcc193e-d064-11e9-b145-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:25 GMT + - Fri, 06 Sep 2019 05:09:20 GMT x-ms-range: - bytes=0-511 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -131,19 +148,20 @@ interactions: : pTsTLZHyQ+et6NksJ1OHxg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:24 GMT + : Fri, 06 Sep 2019 05:09:20 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186156EED6E6"' + : '"0x8D732885FF92269"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:24 GMT + : Fri, 06 Sep 2019 05:09:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 95001625-301a-00c5-414a-4a1a3b000000 + x-ms-client-request-id: 7bcc193e-d064-11e9-b145-001a7dda7113 + x-ms-request-id: 63bad853-a01a-0001-0471-640c28000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -151,7 +169,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5db41615/file5db41615 - comp=range - '' @@ -163,15 +181,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 7375b334-b63d-11e9-880b-2816a845e8c6 + - 7bd14700-d064-11e9-b07c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:25 GMT + - Fri, 06 Sep 2019 05:09:20 GMT x-ms-range: - bytes=1024-1535 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -188,19 +206,20 @@ interactions: : pTsTLZHyQ+et6NksJ1OHxg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:24 GMT + : Fri, 06 Sep 2019 05:09:20 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186156F96026"' + : '"0x8D732885FFDDE82"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:24 GMT + : Fri, 06 Sep 2019 05:09:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 95001626-301a-00c5-424a-4a1a3b000000 + x-ms-client-request-id: 7bd14700-d064-11e9-b07c-001a7dda7113 + x-ms-request-id: 63bad854-a01a-0001-0571-640c28000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -208,7 +227,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5db41615/file5db41615 - comp=range - '' @@ -216,15 +235,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 7390d2a8-b63d-11e9-9421-2816a845e8c6 + - 7bda2098-d064-11e9-b8e0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:25 GMT + - Fri, 06 Sep 2019 05:09:20 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5db41615?restype=share&comp=snapshot response: @@ -236,19 +255,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:24 GMT + : Fri, 06 Sep 2019 05:09:20 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186156999A4D"' + : '"0x8D732885FE31AE6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:24 GMT + : Fri, 06 Sep 2019 05:09:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 530c822f-f01a-009c-234a-4a1fbd000000 - x-ms-snapshot: '2019-08-03T22:24:25.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: 7bda2098-d064-11e9-b8e0-001a7dda7113 + x-ms-request-id: 8aa1737a-d01a-00ef-1c71-64a601000000 + x-ms-snapshot: '2019-09-06T05:09:20.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -256,7 +276,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5db41615 - restype=share&comp=snapshot - '' @@ -264,15 +284,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 73c3bf4a-b63d-11e9-b7bf-2816a845e8c6 + - 7be99df8-d064-11e9-9a40-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:26 GMT + - Fri, 06 Sep 2019 05:09:20 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615 response: @@ -284,12 +304,13 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:27 GMT + : Fri, 06 Sep 2019 05:09:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 95001627-301a-00c5-434a-4a1a3b000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 7be99df8-d064-11e9-9a40-001a7dda7113 + x-ms-request-id: 63bad856-a01a-0001-0671-640c28000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -297,7 +318,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5db41615/file5db41615 - '' - '' @@ -307,17 +328,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 7560a20a-b63d-11e9-95d0-2816a845e8c6 + - 7bf96af8-d064-11e9-9f9c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:29 GMT + - Fri, 06 Sep 2019 05:09:20 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615?sharesnapshot=2019-08-03T22:24:25.0000000Z&comp=rangelist + uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615?sharesnapshot=2019-09-06T05:09:20.0000000Z&comp=rangelist response: body: string: "\uFEFF051110241535" @@ -327,741 +348,23 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:27 GMT + : Fri, 06 Sep 2019 05:09:21 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186156F96026"' + : '"0x8D732885FFDDE82"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:24 GMT + : Fri, 06 Sep 2019 05:09:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 ? !!python/object/new:multidict._istr.istr - Transfer-Encoding : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-content-length: '2048' - x-ms-request-id: 267fcf37-b01a-0013-674a-4a51e1000000 - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615/file5db41615 - - sharesnapshot=2019-08-03T22:24:25.0000000Z&comp=rangelist - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2f8713ec-b640-11e9-aa15-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:44:00 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare5db41615?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:43:58 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D71864132FCCF1"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:43:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bc1062dc-101a-001e-364c-4abeed000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 2fc6f5a2-b640-11e9-a6cf-2816a845e8c6 - x-ms-content-length: - - '2048' - x-ms-date: - - Sat, 03 Aug 2019 22:44:00 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:43:59 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186413626A33"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:43:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 38380fb8-901a-00a5-174c-4a5f19000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615/file5db41615 - - '' - - '' -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 30005528-b640-11e9-b5c5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:44:01 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : pTsTLZHyQ+et6NksJ1OHxg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:43:59 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186413827B1E"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:43:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 38380fba-901a-00a5-184c-4a5f19000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615/file5db41615 - - comp=range - - '' -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 300b8746-b640-11e9-a902-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:44:01 GMT - x-ms-range: - - bytes=1024-1535 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : pTsTLZHyQ+et6NksJ1OHxg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:43:59 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D71864138DC7C9"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:44:00 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 38380fbb-901a-00a5-194c-4a5f19000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615/file5db41615 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 301b3834-b640-11e9-a21d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:44:01 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare5db41615?restype=share&comp=snapshot - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:44:00 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D71864132FCCF1"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:43:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 179edf72-f01a-0050-434c-4a7b08000000 - x-ms-snapshot: '2019-08-03T22:44:00.0000000Z' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615 - - restype=share&comp=snapshot - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 30631858-b640-11e9-bd75-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:44:01 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:44:00 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 38380fbd-901a-00a5-1a4c-4a5f19000000 - x-ms-version: '2018-11-09' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615/file5db41615 - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 30ce4a94-b640-11e9-a652-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:44:02 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615?sharesnapshot=2019-08-03T22:44:00.0000000Z&comp=rangelist - response: - body: - string: "\uFEFF051110241535" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:44:00 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D71864138DC7C9"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:44:00 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-content-length: '2048' - x-ms-request-id: 7d06bc79-801a-00d7-1c4c-4a2e27000000 - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615/file5db41615 - - sharesnapshot=2019-08-03T22:44:00.0000000Z&comp=rangelist - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9a16abe2-b641-11e9-8fde-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:54:08 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare5db41615?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:07 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D718657DBDA55D"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:54:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 717d9591-901a-00c3-114e-4aed43000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9a52b11c-b641-11e9-989b-2816a845e8c6 - x-ms-content-length: - - '2048' - x-ms-date: - - Sat, 03 Aug 2019 22:54:08 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:07 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D718657E04F2B5"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:54:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 928a87c3-301a-0081-774e-4ac657000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615/file5db41615 - - '' - - '' -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9aaeeac8-b641-11e9-985c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:54:09 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : pTsTLZHyQ+et6NksJ1OHxg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:07 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D718657E302940"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:54:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 928a87c5-301a-0081-784e-4ac657000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615/file5db41615 - - comp=range - - '' -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9ace06d2-b641-11e9-85f7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:54:09 GMT - x-ms-range: - - bytes=1024-1535 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : pTsTLZHyQ+et6NksJ1OHxg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:07 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D718657E4F4FB0"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:54:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 928a87c6-301a-0081-794e-4ac657000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615/file5db41615 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9ae014f4-b641-11e9-8651-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:54:09 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare5db41615?restype=share&comp=snapshot - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:09 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D718657DBDA55D"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:54:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 730cd739-601a-007c-2f4e-4af935000000 - x-ms-snapshot: '2019-08-03T22:54:09.0000000Z' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615 - - restype=share&comp=snapshot - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9b512f1a-b641-11e9-827f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:54:10 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 928a87c8-301a-0081-7a4e-4ac657000000 - x-ms-version: '2018-11-09' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare5db41615/file5db41615 - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9b692c18-b641-11e9-a4e9-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:54:10 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare5db41615/file5db41615?sharesnapshot=2019-08-03T22:54:09.0000000Z&comp=rangelist - response: - body: - string: "\uFEFF051110241535" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:09 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D718657E4F4FB0"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:54:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 7bf96af8-d064-11e9-9f9c-001a7dda7113 x-ms-content-length: '2048' - x-ms-request-id: faeed861-001a-004e-7c4e-4aa1e5000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 3360b06d-301a-0061-7771-6470b7000000 + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -1069,8 +372,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5db41615/file5db41615 - - sharesnapshot=2019-08-03T22:54:09.0000000Z&comp=rangelist + - sharesnapshot=2019-09-06T05:09:20.0000000Z&comp=rangelist - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_none_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_none_async.yaml index f980964cf581..8e9566b364cb 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_none_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_none_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 75e2e9e8-b63d-11e9-8582-2816a845e8c6 + - 7cf3e206-d064-11e9-8583-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:29 GMT + - Fri, 06 Sep 2019 05:09:22 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare847d11b1?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:28 GMT + : Fri, 06 Sep 2019 05:09:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186159A4D6AA"' + : '"0x8D7328864CD02EA"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:29 GMT + : Fri, 06 Sep 2019 05:09:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ab708023-101a-00bf-274a-4a7076000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 7cf3e206-d064-11e9-8583-001a7dda7113 + x-ms-request-id: 0dfb7130-501a-0067-3471-644308000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare847d11b1 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 763e03a2-b63d-11e9-921b-2816a845e8c6 + - 80ba88f4-d064-11e9-a8c2-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 22:24:30 GMT + - Fri, 06 Sep 2019 05:09:28 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare847d11b1/file847d11b1 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:28 GMT + : Fri, 06 Sep 2019 05:09:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186159DA982B"' + : '"0x8D7328864FAB64C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:29 GMT + : Fri, 06 Sep 2019 05:09:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 099562d5-901a-0004-344a-4a9182000000 + x-ms-client-request-id: 80ba88f4-d064-11e9-a8c2-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:28.7307852Z' + x-ms-file-creation-time: '2019-09-06T05:09:28.7307852Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:28.7307852Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 1f4dc497-001a-00a1-0271-648889000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare847d11b1/file847d11b1 - '' - '' @@ -104,15 +121,15 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 766ae034-b63d-11e9-b5aa-2816a845e8c6 + - 80d13d80-d064-11e9-9fa9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:30 GMT + - Fri, 06 Sep 2019 05:09:28 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare847d11b1/file847d11b1?comp=rangelist response: @@ -124,335 +141,23 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:29 GMT + : Fri, 06 Sep 2019 05:09:31 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7186159DA982B"' + : '"0x8D7328864FAB64C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:29 GMT + : Fri, 06 Sep 2019 05:09:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 ? !!python/object/new:multidict._istr.istr - Transfer-Encoding : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-content-length: '1024' - x-ms-request-id: 099562d7-901a-0004-354a-4a9182000000 - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare847d11b1/file847d11b1 - - comp=rangelist - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 31528802-b640-11e9-a9b0-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:44:03 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare847d11b1?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:44:01 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186414FA8082"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:44:02 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8f7120d0-001a-0082-694c-4ac550000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare847d11b1 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 319b6958-b640-11e9-8ee5-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:44:03 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare847d11b1/file847d11b1 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:44:02 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186415386978"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:44:02 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bc468d01-601a-0055-1a4c-4a8f77000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare847d11b1/file847d11b1 - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 31d55280-b640-11e9-980b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:44:04 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare847d11b1/file847d11b1?comp=rangelist - response: - body: - string: "\uFEFF" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:44:02 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186415386978"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:44:02 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-content-length: '1024' - x-ms-request-id: bc468d04-601a-0055-1b4c-4a8f77000000 - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare847d11b1/file847d11b1 - - comp=rangelist - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9bf8409e-b641-11e9-a614-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:54:11 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare847d11b1?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:10 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D718657FB0F371"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:54:10 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 963d6589-801a-0098-644e-4aea3f000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare847d11b1 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9c4b738c-b641-11e9-b673-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:54:12 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare847d11b1/file847d11b1 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:10 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D718657FECA8EB"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:54:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 39e0c89b-401a-00a7-394e-4a5de3000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare847d11b1/file847d11b1 - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9c75b9b4-b641-11e9-bc06-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:54:12 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare847d11b1/file847d11b1?comp=rangelist - response: - body: - string: "\uFEFF" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:10 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D718657FECA8EB"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:54:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 80d13d80-d064-11e9-9fa9-001a7dda7113 x-ms-content-length: '1024' - x-ms-request-id: 39e0c89d-401a-00a7-3a4e-4a5de3000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 1f4dc499-001a-00a1-0371-648889000000 + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -460,7 +165,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare847d11b1/file847d11b1 - comp=rangelist - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_none_from_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_none_from_snapshot_async.yaml index 67ce7d3a00c9..43e0b85d481f 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_none_from_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_list_ranges_none_from_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 76c802c6-b63d-11e9-bdba-2816a845e8c6 + - 82ec4eae-d064-11e9-a74e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:31 GMT + - Fri, 06 Sep 2019 05:09:32 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea82c1793?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:30 GMT + : Fri, 06 Sep 2019 05:09:31 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D718615A703937"' + : '"0x8D73288671DF675"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:30 GMT + : Fri, 06 Sep 2019 05:09:32 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8c5a6f4a-d01a-0021-044a-4a0931000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 82ec4eae-d064-11e9-a74e-001a7dda7113 + x-ms-request-id: 52a59e0a-801a-0080-0c71-64acf2000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea82c1793 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 76fcccee-b63d-11e9-95d5-2816a845e8c6 + - 82f5e924-d064-11e9-ba1a-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 22:24:31 GMT + - Fri, 06 Sep 2019 05:09:32 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea82c1793/filea82c1793 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:30 GMT + : Fri, 06 Sep 2019 05:09:31 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D718615A9A616C"' + : '"0x8D732886728A4A1"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:30 GMT + : Fri, 06 Sep 2019 05:09:32 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ca338cd8-301a-0046-764a-4aba96000000 + x-ms-client-request-id: 82f5e924-d064-11e9-ba1a-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:32.3872417Z' + x-ms-file-creation-time: '2019-09-06T05:09:32.3872417Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:32.3872417Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: e54aa401-801a-0074-2771-646704000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea82c1793/filea82c1793 - '' - '' @@ -102,15 +119,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 77267bba-b63d-11e9-bf9e-2816a845e8c6 + - 8300329a-d064-11e9-8b1d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:31 GMT + - Fri, 06 Sep 2019 05:09:32 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea82c1793?restype=share&comp=snapshot response: @@ -122,19 +139,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:30 GMT + : Fri, 06 Sep 2019 05:09:35 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D718615A703937"' + : '"0x8D73288671DF675"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:30 GMT + : Fri, 06 Sep 2019 05:09:32 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7118752c-b01a-007e-114a-4afbcf000000 - x-ms-snapshot: '2019-08-03T22:24:31.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: 8300329a-d064-11e9-8b1d-001a7dda7113 + x-ms-request-id: 8d72d46c-e01a-0096-7a71-645a25000000 + x-ms-snapshot: '2019-09-06T05:09:34.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +160,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea82c1793 - restype=share&comp=snapshot - '' @@ -150,15 +168,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 7778b90a-b63d-11e9-b8e6-2816a845e8c6 + - 84d0f476-d064-11e9-8e6b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:32 GMT + - Fri, 06 Sep 2019 05:09:35 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utsharea82c1793/filea82c1793 response: @@ -170,12 +188,13 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:31 GMT + : Fri, 06 Sep 2019 05:09:34 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ca338cda-301a-0046-774a-4aba96000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 84d0f476-d064-11e9-8e6b-001a7dda7113 + x-ms-request-id: e54aa424-801a-0074-4671-646704000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -183,7 +202,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea82c1793/filea82c1793 - '' - '' @@ -193,17 +212,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 77933722-b63d-11e9-9f69-2816a845e8c6 + - 84d426ae-d064-11e9-97df-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:24:32 GMT + - Fri, 06 Sep 2019 05:09:35 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utsharea82c1793/filea82c1793?sharesnapshot=2019-08-03T22:24:31.0000000Z&comp=rangelist + uri: https://storagename.file.core.windows.net/utsharea82c1793/filea82c1793?sharesnapshot=2019-09-06T05:09:34.0000000Z&comp=rangelist response: body: string: "\uFEFF" @@ -213,513 +232,23 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:24:31 GMT + : Fri, 06 Sep 2019 05:09:41 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D718615A9A616C"' + : '"0x8D732886728A4A1"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:24:30 GMT + : Fri, 06 Sep 2019 05:09:32 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 ? !!python/object/new:multidict._istr.istr - Transfer-Encoding : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-content-length: '1024' - x-ms-request-id: 6f96e165-e01a-004f-0d4a-4aa018000000 - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea82c1793/filea82c1793 - - sharesnapshot=2019-08-03T22:24:31.0000000Z&comp=rangelist - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3251d9d2-b640-11e9-9270-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:44:04 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea82c1793?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:44:03 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186415EF4175"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:44:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 717d9243-901a-00c3-034c-4aed43000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea82c1793 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 32960cca-b640-11e9-b667-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:44:05 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea82c1793/filea82c1793 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:44:03 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186416332361"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:44:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ca339355-301a-0046-1b4c-4aba96000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea82c1793/filea82c1793 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 32d42df8-b640-11e9-a8f4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:44:05 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea82c1793?restype=share&comp=snapshot - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:44:05 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186415EF4175"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:44:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c1ab4355-901a-00e1-154c-4a8375000000 - x-ms-snapshot: '2019-08-03T22:44:05.0000000Z' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea82c1793 - - restype=share&comp=snapshot - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3334269c-b640-11e9-af39-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:44:06 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utsharea82c1793/filea82c1793 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:44:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ca339358-301a-0046-1c4c-4aba96000000 - x-ms-version: '2018-11-09' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea82c1793/filea82c1793 - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 334c114c-b640-11e9-bd8e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:44:06 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharea82c1793/filea82c1793?sharesnapshot=2019-08-03T22:44:05.0000000Z&comp=rangelist - response: - body: - string: "\uFEFF" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:44:05 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186416332361"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:44:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-content-length: '1024' - x-ms-request-id: 043d3767-101a-00b4-144c-4a6802000000 - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea82c1793/filea82c1793 - - sharesnapshot=2019-08-03T22:44:05.0000000Z&comp=rangelist - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9d0e6866-b641-11e9-9ee1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:54:13 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea82c1793?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:12 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186580CA10F1"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:54:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ad7bd4bf-801a-005f-764e-4a96fe000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea82c1793 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9d64f334-b641-11e9-a8e4-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:54:14 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea82c1793/filea82c1793 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:12 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D71865810D41A5"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:54:13 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 591a3e3f-001a-000a-4a4e-4a7d89000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea82c1793/filea82c1793 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9db7f06c-b641-11e9-8dfd-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:54:14 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharea82c1793?restype=share&comp=snapshot - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:12 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7186580CA10F1"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:54:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c61175ab-901a-0040-2d4e-4a4dee000000 - x-ms-snapshot: '2019-08-03T22:54:13.0000000Z' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea82c1793 - - restype=share&comp=snapshot - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9def5650-b641-11e9-997c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:54:15 GMT - x-ms-version: - - '2018-11-09' - method: DELETE - uri: https://storagename.file.core.windows.net/utsharea82c1793/filea82c1793 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:13 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 591a3e43-001a-000a-4d4e-4a7d89000000 - x-ms-version: '2018-11-09' - status: - code: 202 - message: Accepted - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharea82c1793/filea82c1793 - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9df9170a-b641-11e9-8114-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:54:15 GMT - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utsharea82c1793/filea82c1793?sharesnapshot=2019-08-03T22:54:13.0000000Z&comp=rangelist - response: - body: - string: "\uFEFF" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:54:13 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D71865810D41A5"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:54:13 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 84d426ae-d064-11e9-97df-001a7dda7113 x-ms-content-length: '1024' - x-ms-request-id: 7c9ef4b3-601a-0077-454e-4ae141000000 - x-ms-version: '2018-11-09' + x-ms-request-id: af4f8bc0-f01a-007e-1171-64c3b3000000 + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -727,8 +256,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea82c1793/filea82c1793 - - sharesnapshot=2019-08-03T22:54:13.0000000Z&comp=rangelist + - sharesnapshot=2019-09-06T05:09:34.0000000Z&comp=rangelist - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_resize_file_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_resize_file_async.yaml index fefd660d9343..2bbed42de992 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_resize_file_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_resize_file_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d1c7621e-b639-11e9-91d1-2816a845e8c6 + - 1a20ac6e-d067-11e9-a549-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:26 GMT + - Fri, 06 Sep 2019 05:28:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare301a0f98?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:24 GMT + : Fri, 06 Sep 2019 05:28:04 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB5828AD5"' + : '"0x8D7328AFE623302"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:25 GMT + : Fri, 06 Sep 2019 05:28:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 75621602-a01a-002e-7f46-4ae4c7000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 1a20ac6e-d067-11e9-a549-001a7dda7113 + x-ms-request-id: 9144b559-001a-0037-5573-648158000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare301a0f98 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d218d406-b639-11e9-b5b0-2816a845e8c6 + - 1a41c248-d067-11e9-a55c-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:58:26 GMT + - Fri, 06 Sep 2019 05:28:05 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare301a0f98/file301a0f98 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:25 GMT + : Fri, 06 Sep 2019 05:28:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB5BA3E4E"' + : '"0x8D7328AFE7C1ADC"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:25 GMT + : Fri, 06 Sep 2019 05:28:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 301fe3fe-701a-00c9-5e46-4af4ca000000 + x-ms-client-request-id: 1a41c248-d067-11e9-a55c-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:28:05.2636380Z' + x-ms-file-creation-time: '2019-09-06T05:28:05.2636380Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:28:05.2636380Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: ce501e93-601a-0031-3773-64b2e7000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare301a0f98/file301a0f98 - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - d253341e-b639-11e9-8943-2816a845e8c6 + - 1a539f82-d067-11e9-8d67-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:26 GMT + - Fri, 06 Sep 2019 05:28:05 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : afSrU21Z64awxB9BZ//JbQ== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:25 GMT + : Fri, 06 Sep 2019 05:28:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB5D9B2E9"' + : '"0x8D7328AFE8061A5"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:25 GMT + : Fri, 06 Sep 2019 05:28:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 301fe3ff-701a-00c9-5f46-4af4ca000000 + x-ms-client-request-id: 1a539f82-d067-11e9-8d67-001a7dda7113 + x-ms-request-id: ce501e95-601a-0031-3873-64b2e7000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare301a0f98/file301a0f98 - comp=range - '' @@ -177,17 +195,25 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d2732dd2-b639-11e9-9711-2816a845e8c6 + - 1a574676-d067-11e9-be54-001a7dda7113 x-ms-content-length: - '5' x-ms-date: - - Sat, 03 Aug 2019 21:58:27 GMT + - Fri, 06 Sep 2019 05:28:05 GMT + x-ms-file-attributes: + - preserve + x-ms-file-creation-time: + - preserve + x-ms-file-last-write-time: + - preserve + x-ms-file-permission: + - preserve x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare301a0f98/file301a0f98?comp=properties response: @@ -199,19 +225,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:25 GMT + : Fri, 06 Sep 2019 05:28:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB5F975AE"' + : '"0x8D7328AFE85E136"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:26 GMT + : Fri, 06 Sep 2019 05:28:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 301fe400-701a-00c9-6046-4af4ca000000 + x-ms-client-request-id: 1a574676-d067-11e9-be54-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:28:05.3276982Z' + x-ms-file-creation-time: '2019-09-06T05:28:05.2636380Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:28:05.2636380Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: ce501e96-601a-0031-3973-64b2e7000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -219,7 +253,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare301a0f98/file301a0f98 - comp=properties - '' @@ -227,15 +261,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d291ff34-b639-11e9-ac08-2816a845e8c6 + - 1a5dd1c0-d067-11e9-9f7b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:27 GMT + - Fri, 06 Sep 2019 05:28:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare301a0f98/file301a0f98 response: @@ -250,302 +284,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:25 GMT + : Fri, 06 Sep 2019 05:28:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB5F975AE"' + : '"0x8D7328AFE85E136"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:26 GMT + : Fri, 06 Sep 2019 05:28:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 301fe401-701a-00c9-6146-4af4ca000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare301a0f98/file301a0f98 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 681dfb0c-b63b-11e9-a438-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:47 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare301a0f98?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:46 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4BC4F897"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:46 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 73a8bd72-901a-0026-7e48-4affb4000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare301a0f98 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68583b70-b63b-11e9-8a2e-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:48 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare301a0f98/file301a0f98 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:46 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4BF7C970"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:47 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ba72c5f5-b01a-00d4-7f48-4a2d20000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare301a0f98/file301a0f98 - - '' - - '' -- request: - body: !!binary | - 7X8tLBKm2tK/FCgeCP5Utp+kPfBH5OaAlw0e9kEqU4vdtE/QeduiQklv+5JqQSaw5HXg0n7kjk7W - Ubmxa3IlaN6iboM1oJoNXDERHyOdKjDMEJHGC9tfCATFrT6HF02m2svRAj/fYV1BHDRCaZY9104l - OWhQKjiIkuYkypszTFHqP8fafOlRDron+0NaHWf21vhkfm/sey81i0m8zi3gCO70Lr7FLWnoXNYq - Gd/lJx/GBnV1vHcNFFRxRVEe8dCXCqdL/cSGf6HUqxgXqpDcwXDiVHjUdVseVnFjhv4PdAPaNYrs - bEksGv7UQP63Zud1PXnPDkNxct8pY+OgG8DUV5CSq5HrE+bH4GbUtUt+N8VDJq14GxWn3KzLK5je - +mVF6VkZaFqBl/O1RvQORYjjwS7wPLIZYacRh6AbQ6xqDtp4zWx2FrtmCqcuMPZH/J15fXCvZDvW - n3sYm/oafLRlaDlk8znIpW8wWXGS4+vofUAT7aaMXrBZeEib0xUsLypR2+cGRGCuR8J8JnQqoNig - NrwFxK8QMN7nN4j5jJ/qGqTxDN3nB9WNPW77Go0bgz4XFxKalO2yBiWw0gY/SWHjHj5/cJZ5VbEG - vBU/EUkqJQGxMcIAFdkFTRrXb5GdPM8ivNbSu05DmrI27Na9Ii0A88mEUzABa3VLQnZ/IrIDeMm2 - LH8V3Gw4a2o0ykAKnoqSeYem7AwzEB9NPwGXIfENbcDP/YO2u3ykadYEhvld+LbEkmsMQ4l1kXE4 - 0dmmAOlS/d2QbqwLneNSbxN8fua50TOU6j2Df71CGlb4Xe2lyd4aCdeRitGj95CCxg6ygs3eDkmZ - xNQc02PdAEwixJOKNykcsqx8OXBcT/NZoE0zJOGLEgYCF6IGMgWxADehUBxHTtHkHdbrI5KQgK7C - eCsk0Z0e4TK8RscaE/3rJKl+lJ6VMawwnfGAh9TMwK3arBT5pOsnSpW9YADlU9L1Vr0B+nyXI3lG - X/DKgQ65ydLqyeL54EeteBDyV2iPqSk9RN2d7O+I62LZmoyxj+cgYbuePMrtDKmLJS1DbCky9xut - iXJCBYvWc6TLiCEj5+v3OeDI948HA+8IrDMyxyRutlbqUV0/qHFE86X5vjJ/+hksdimN6X5UCJKM - S7j0Zq0INzaFGJG9KTOwCHwX2nOjm3mXjP00SKN0WjyLjKniq7dROae03HUadReeQf64QMO3DD7H - aTBvQIXAq4IlDvDKG7eWe7IhIbSHWVbO5Xf+3izQfNk9ugpSdMtdA8cfvaDDSXApgaNST4gHniWI - jQshrN9QWdiu8G56RYLGUoCUNlen1D+ld3YexMXjTw55UQ8gwxCNkAFkdZE72aMOSy7VRLMmvw== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6895e082-b63b-11e9-8638-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:48 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare301a0f98/file301a0f98?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : afSrU21Z64awxB9BZ//JbQ== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:47 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4C1AC10C"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:47 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ba72c5f7-b01a-00d4-8048-4a2d20000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare301a0f98/file301a0f98 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68b53550-b63b-11e9-9488-2816a845e8c6 - x-ms-content-length: - - '5' - x-ms-date: - - Sat, 03 Aug 2019 22:09:48 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare301a0f98/file301a0f98?comp=properties - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:47 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4C3EA33C"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:47 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ba72c5f9-b01a-00d4-0148-4a2d20000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare301a0f98/file301a0f98 - - comp=properties - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68c42b6e-b63b-11e9-9caf-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:48 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshare301a0f98/file301a0f98 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '5' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:47 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4C3EA33C"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:47 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: ba72c5fa-b01a-00d4-0248-4a2d20000000 + x-ms-client-request-id: 1a5dd1c0-d067-11e9-9f7b-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:28:05.3276982Z' + x-ms-file-creation-time: '2019-09-06T05:28:05.2636380Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:28:05.2636380Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: ce501e97-601a-0031-3a73-64b2e7000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -553,7 +313,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare301a0f98/file301a0f98 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_set_file_metadata_with_upper_case_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_set_file_metadata_with_upper_case_async.yaml index f2c52ad2f72c..7d8506319e7e 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_set_file_metadata_with_upper_case_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_set_file_metadata_with_upper_case_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d3a05ca8-b639-11e9-a60d-2816a845e8c6 + - 8d3b401a-d064-11e9-8881-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:29 GMT + - Fri, 06 Sep 2019 05:09:49 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareec4f1893?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:27 GMT + : Fri, 06 Sep 2019 05:09:49 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB775C178"' + : '"0x8D73288716E56A9"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:28 GMT + : Fri, 06 Sep 2019 05:09:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 886b939d-d01a-0065-2d46-4ad55d000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 8d3b401a-d064-11e9-8881-001a7dda7113 + x-ms-request-id: f3ec1c75-d01a-00c0-6f71-64abca000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareec4f1893 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d40ee69e-b639-11e9-b26c-2816a845e8c6 + - 8d4748a8-d064-11e9-98fe-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:58:29 GMT + - Fri, 06 Sep 2019 05:09:49 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareec4f1893/fileec4f1893 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:28 GMT + : Fri, 06 Sep 2019 05:09:50 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB7D6068D"' + : '"0x8D7328871DE7EC3"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:29 GMT + : Fri, 06 Sep 2019 05:09:50 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 02f29ce8-d01a-004c-0846-4aa31f000000 + x-ms-client-request-id: 8d4748a8-d064-11e9-98fe-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:50.3562435Z' + x-ms-file-creation-time: '2019-09-06T05:09:50.3562435Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:50.3562435Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 1596087e-001a-00ec-3871-644765000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareec4f1893/fileec4f1893 - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - d4666d5e-b639-11e9-95a8-2816a845e8c6 + - 8db59a12-d064-11e9-ad7f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:30 GMT + - Fri, 06 Sep 2019 05:09:50 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : 379W/ujj+k7Ut8jdQMoYdg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:28 GMT + : Fri, 06 Sep 2019 05:09:50 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB7F8D724"' + : '"0x8D7328871E22922"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:29 GMT + : Fri, 06 Sep 2019 05:09:50 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 02f29cec-d01a-004c-0b46-4aa31f000000 + x-ms-client-request-id: 8db59a12-d064-11e9-ad7f-001a7dda7113 + x-ms-request-id: 15960882-001a-00ec-3a71-644765000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareec4f1893/fileec4f1893 - comp=range - '' @@ -177,13 +195,13 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d48590be-b639-11e9-af30-2816a845e8c6 + - 8db8c8ae-d064-11e9-9cbb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:30 GMT + - Fri, 06 Sep 2019 05:09:50 GMT x-ms-meta: - '{''hello'': ''world'', ''number'': ''42'', ''UP'': ''UPval''}' x-ms-meta-UP: @@ -193,7 +211,7 @@ interactions: x-ms-meta-number: - '42' x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareec4f1893/fileec4f1893?comp=metadata response: @@ -205,19 +223,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:28 GMT + : Fri, 06 Sep 2019 05:09:50 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB8123027"' + : '"0x8D7328871E4E8ED"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:29 GMT + : Fri, 06 Sep 2019 05:09:50 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 02f29ced-d01a-004c-0c46-4aa31f000000 + x-ms-client-request-id: 8db8c8ae-d064-11e9-9cbb-001a7dda7113 + x-ms-request-id: 15960883-001a-00ec-3b71-644765000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -225,7 +244,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareec4f1893/fileec4f1893 - comp=metadata - '' @@ -233,15 +252,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d4a4c31e-b639-11e9-8319-2816a845e8c6 + - 8dbb5d5a-d064-11e9-86bc-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:30 GMT + - Fri, 06 Sep 2019 05:09:50 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshareec4f1893/fileec4f1893 response: @@ -256,314 +275,31 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:29 GMT + : Fri, 06 Sep 2019 05:09:50 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB8123027"' + : '"0x8D7328871E4E8ED"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:29 GMT + : Fri, 06 Sep 2019 05:09:50 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-meta-UP: UPval - x-ms-meta-hello: world - x-ms-meta-number: '42' - x-ms-request-id: 02f29cee-d01a-004c-0d46-4aa31f000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareec4f1893/fileec4f1893 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 69977f1c-b63b-11e9-9eec-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:50 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareec4f1893?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:48 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4D430F29"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:49 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2bbb043a-001a-00ef-3848-4a6f7e000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareec4f1893 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 69d6cd4c-b63b-11e9-9129-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:50 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareec4f1893/fileec4f1893 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:49 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4D9C76A0"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:49 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 90a184c6-501a-0030-1848-4a3e2a000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareec4f1893/fileec4f1893 - - '' - - '' -- request: - body: !!binary | - Yid3XamsZ85NBKgCmI6Z52UehnfU3Y8XsIHNuXfcIBgOBvdZ6efclwl0RzOc00Zab1eGXfud9pBh - cnyuR8sqsZwFywJK63hLGl2/hYQfw0otNGiMli+RrdKTqI8h1DSTsMgEM2MbI0su2jvnl+Kc116c - YmSzVDZaKeNDB++Lvr9aSDrIcIYHmWkbXc5ha6PdyfeDZ8zMFWBhjriJ9MPVUUKHf17aoNSjK3VF - PX/PnE3lVO40Nh4gPHaKovs3dQYtvMBGrrjg1cQdl7XJFnafH2boFdg/NH4RLMbVNCG8dJtcYJeK - S3mJF+6wyQlMcwMkAvQa1l/F0hUUXBpQiIzwKzGWAIbE1PPpEsQfAVE8sAE+PNm4TlmmirW20y03 - ami1LQNtkIDiQUYkx4g0DYhP/BZiu5MbHRDVHjoj6cmygRlRubOblb84EnuaqYMdXEifHXdEA2zY - KMwGBXbLc7yREnDHmtSNKGfEn+CQm1CJgIOlpK5Q4A3BvQmItldjqoIaLrcQ2xvlUgEozVbMlRVG - A37x+QVP9rUBC9gHGrB4wf0JmNUoCog9kY7IGEiTz+Ku4dOZLI5ojANqZoiPQiKQKcC4lD6qOXyt - dbCGntkFuvXgbgUEYrUiuIXAqFLnvsVrOPxX4krOBi+J5Fy+6bJQ0gtE6N2Wl140NSrsHTy0z30E - zcXHILZMCtImFp7QlJDlwQjbKC7HrLDTEbvGCNLCd3kbgblo/e3GuafsF7N5w9dXpEg0wbbvqm8B - m2x3pEppCXeLF4ctcyJxFEt9NDkiAXyq6gOYSjjz0FTBHdAHDas0aXv9BCSDokLdt1U5uNqLy0qH - ELkW+/JemYFhXYv48yT2JR3PLdehlfCpSyXlLJBdrwzlPCDIQstgbDnN8jdqG6AexBxjfVBoYoix - PsRs6Ga4qnXzP4AtluSAoPazbjrwAVmyB3l6g2+/66DOkMzGdmbjuG+6eOElnmaC+taVmEIwxyjU - 9RYfBeH8qSx2zTe4+s5iqyt45+Cv2dM5zGwpC0yAtbqYd2bYFlUY1QL3aK5Zj2mbw/C6r1LdOPYv - jE4JG2HXr9LQbi8d+6hhjKDCGcuoS829+pjbg3qTMKQ/TSxwu6sFlZ3mJnlDjC18migdcdR2+J82 - giksbyVMqVg4ZGJNd1LxZqF0c0+uO7my60+BEVjFrdZy2lv83LyVTp0dkSLBK7oMsneriRV1FO+Q - Z7MVYkAjQqf+V99PF/x1R3/DBzslX8+sbWDt6Ue+CCwCuvCIA8caAy9QS/npu9XNBsoAY1WSJeQz - ONLw+b4m8CVIHLVwSbYJz+r8uMDHtY7mZOZ1MOFnEEodPx+bSUW6aKjl66Qwq1DwWw6wjF7+iA== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6a2be65e-b63b-11e9-8bde-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:51 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshareec4f1893/fileec4f1893?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : 379W/ujj+k7Ut8jdQMoYdg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:49 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4DB113C1"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:50 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 90a184c8-501a-0030-1948-4a3e2a000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareec4f1893/fileec4f1893 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6a36fba2-b63b-11e9-aeef-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:51 GMT - x-ms-meta: - - '{''hello'': ''world'', ''number'': ''42'', ''UP'': ''UPval''}' - x-ms-meta-UP: - - UPval - x-ms-meta-hello: - - world - x-ms-meta-number: - - '42' - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareec4f1893/fileec4f1893?comp=metadata - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:49 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4DBB75E1"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:50 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 90a184c9-501a-0030-1a48-4a3e2a000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareec4f1893/fileec4f1893 - - comp=metadata - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6a4b0958-b63b-11e9-ba84-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:51 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utshareec4f1893/fileec4f1893 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:49 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4DBB75E1"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:50 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 8dbb5d5a-d064-11e9-86bc-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:50.3982829Z' + x-ms-file-creation-time: '2019-09-06T05:09:50.3562435Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:50.3562435Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 x-ms-meta-UP: UPval x-ms-meta-hello: world x-ms-meta-number: '42' - x-ms-request-id: 90a184ca-501a-0030-1b48-4a3e2a000000 + x-ms-request-id: 15960884-001a-00ec-3c71-644765000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -571,7 +307,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareec4f1893/fileec4f1893 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_set_file_properties_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_set_file_properties_async.yaml index e8a59e1726d4..676c3732a9bb 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_set_file_properties_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_set_file_properties_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d5159bf4-b639-11e9-8449-2816a845e8c6 + - 3a658f40-d357-11e9-a521-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:31 GMT + - Mon, 09 Sep 2019 23:12:00 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharebc1a12fe?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:29 GMT + : Mon, 09 Sep 2019 23:12:00 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB8B441F3"' + : '"0x8D7357B1EAA605B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:30 GMT + : Mon, 09 Sep 2019 23:12:00 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: f8ab3256-001a-0001-2046-4a65fd000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 3a658f40-d357-11e9-a521-001a7dda7113 + x-ms-request-id: 684e1630-f01a-006e-2963-6706db000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharebc1a12fe - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d5450d7a-b639-11e9-8f5f-2816a845e8c6 + - 3a8c7bf8-d357-11e9-a069-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:58:31 GMT + - Mon, 09 Sep 2019 23:12:00 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharebc1a12fe/filebc1a12fe response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:30 GMT + : Mon, 09 Sep 2019 23:12:01 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB8EED5A3"' + : '"0x8D7357B1ED1C9E2"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:30 GMT + : Mon, 09 Sep 2019 23:12:01 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ddeb76f5-601a-0038-2d46-4a2559000000 + x-ms-client-request-id: 3a8c7bf8-d357-11e9-a069-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-09T23:12:01.0529250Z' + x-ms-file-creation-time: '2019-09-09T23:12:01.0529250Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-09T23:12:01.0529250Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 64fb3cd0-501a-0093-7e63-6788fe000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharebc1a12fe/filebc1a12fe - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - d5809262-b639-11e9-b775-2816a845e8c6 + - 3ab04b4c-d357-11e9-b80e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:32 GMT + - Mon, 09 Sep 2019 23:12:01 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : aHnHh6kpL9BLaCLM3XK+Zg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:30 GMT + : Mon, 09 Sep 2019 23:12:01 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB905BD2F"' + : '"0x8D7357B1EDF3AA9"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:31 GMT + : Mon, 09 Sep 2019 23:12:01 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ddeb76f7-601a-0038-2e46-4a2559000000 + x-ms-client-request-id: 3ab04b4c-d357-11e9-b80e-001a7dda7113 + x-ms-request-id: 64fb3cd2-501a-0093-7f63-6788fe000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharebc1a12fe/filebc1a12fe - comp=range - '' @@ -177,19 +195,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d58a904c-b639-11e9-96b6-2816a845e8c6 + - 3ab3d6de-d357-11e9-834d-001a7dda7113 x-ms-content-disposition: - inline x-ms-content-language: - spanish x-ms-date: - - Sat, 03 Aug 2019 21:58:32 GMT + - Mon, 09 Sep 2019 23:12:01 GMT + x-ms-file-attributes: + - preserve + x-ms-file-creation-time: + - preserve + x-ms-file-last-write-time: + - preserve + x-ms-file-permission: + - preserve x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharebc1a12fe/filebc1a12fe?comp=properties response: @@ -201,19 +227,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:30 GMT + : Mon, 09 Sep 2019 23:12:01 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB9117F24"' + : '"0x8D7357B1EE1FA79"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:31 GMT + : Mon, 09 Sep 2019 23:12:01 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ddeb76f8-601a-0038-2f46-4a2559000000 + x-ms-client-request-id: 3ab3d6de-d357-11e9-834d-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-09T23:12:01.1590265Z' + x-ms-file-creation-time: '2019-09-09T23:12:01.0529250Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-09T23:12:01.0529250Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 64fb3cd3-501a-0093-8063-6788fe000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -221,7 +255,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharebc1a12fe/filebc1a12fe - comp=properties - '' @@ -229,15 +263,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d59f9882-b639-11e9-8b2c-2816a845e8c6 + - 3ab6551c-d357-11e9-b471-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:32 GMT + - Mon, 09 Sep 2019 23:12:01 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utsharebc1a12fe/filebc1a12fe response: @@ -258,310 +292,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:31 GMT + : Mon, 09 Sep 2019 23:12:01 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DB9117F24"' + : '"0x8D7357B1EE1FA79"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:31 GMT + : Mon, 09 Sep 2019 23:12:01 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: ddeb76f9-601a-0038-3046-4a2559000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharebc1a12fe/filebc1a12fe - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6ab4c3b6-b63b-11e9-8f04-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:52 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharebc1a12fe?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:51 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4E572BAA"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:51 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 823196ff-e01a-000b-3348-4a7c74000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharebc1a12fe - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6ae154c0-b63b-11e9-a706-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:52 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharebc1a12fe/filebc1a12fe - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:50 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4E7F5E73"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:51 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4c632adf-701a-0041-5f48-4a4c13000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharebc1a12fe/filebc1a12fe - - '' - - '' -- request: - body: !!binary | - ECuRUvzcKOiNGbHFPa8Qg29TIWZGygkeAAmlledUC3IgR+dXigunvAY4febKY0iGTDGhEHfb4N/4 - iy0kBMdXFl1CaUBhOJ59P/z0lFyfJpr4oqJXrrLeHp4oP6RcWh2lyy7JRhFf6sBB3e92d+JfdyVk - BPCsg+/aSMGlAom7plQi72bEDM70dGdVNLaRGR2+yzd1b9RIjAIkTwUaK5UjhHTq2bk9xs32MDgN - QJKjvGpGbCTVmW8ZpRblrDYdYquFqaNT7yIwt4VKRIuoz9hO7cFvC7RgdPy8sWoZhJuttFs4wrik - +A7Q/t5bXUhGFggjU9mE0WIj3H/o5OrLXsm9E12jklCa4NN/x1DDurxto7BZQTfeM0uc96Np8tM0 - fcyDnfreQTC8wMFJZWXoWm7x1UKnzoG/fN5ShHlFqxCdJZfLNM4i80TXQuczAbD+QKHSNrMeuZ/N - qOO3c0GRpsCY1T4Xm5SWVBqFh7pLRqixlUU/KJzMZ6UhLEPaRPTsZaSkweSnLGD1JkQqpF07fCDu - Gsm8dHQE633KELgHCiCD8D1bICFTBdcf58wOzvAq8oRXJJohPbeaAGQQCH9YD81kbz0C8j0iuGJ3 - Bt9knBG3yGZN52UpRfBnv21J8Ipo4wVCQ0gRSsL9e1RyveItBiYRAh52+/i38ituIETv6QUZrpGC - YJH2OOORl7UzD/6pJKoOogt+xwaZMUS50QmCqEBl0aY8c4QpZLCVKO3aUkxcvwU/4Zmt/bidNNNP - 2OlaYuOUDK58YalYQvNpTa87Ix0aGi5e+LmYn/Rej3JBWB20GauIKlElellUuRqPfF1MRhXs952v - 7PK5yjxWXwDs7AZuRssgiIqYfdpjk81pDe71Y3mvD7hRtzTZ7uKfUpH534H0Xcdsq3BsJI0LgxM0 - al3EMuGuZPbdUBepQpitfpdjfYuvO+SplACIVinlccV0z8vibnMYMHHbY9R6buR1vJowvLjD7rPl - PTyllH3o2wrG/J/o+kOD8E+YQN4Rn6WIxTzGL+OcPJtfkjiT+trYNItQIlBorgqQAc6aCW39/AGA - fDY1LriI1d0BwbgoBRQH+/k7JMtwAF39HjWTAbCHGKbz+gXwD6ubKigcN9kmlOtZXtPFRCCQhA01 - EKCaPUXHVBHWLUpgNsOrGGPfqjJoChcTJ9mbNB8WXJBu3DsEF/4C0u/k9mjTrMjjGElFK4LRAUqE - 0jArnRtZWgakrOnTKprqgHTZEtRxwdsZduALZMWNOFhuM7wanHNx2uKBv7cnIy83N15CBAY5fYNd - dYjIcljzmUh3IsTWPILv1tvZZ/a2IFeJ4lVfLkhX3AOuNUUMk1yQNCD47xSIZ+f9YqUJpHhdeA== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6b058810-b63b-11e9-803d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:52 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharebc1a12fe/filebc1a12fe?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : aHnHh6kpL9BLaCLM3XK+Zg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:50 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4E89E7AB"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:51 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4c632ae1-701a-0041-6048-4a4c13000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharebc1a12fe/filebc1a12fe - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6b0f6bee-b63b-11e9-8ccd-2816a845e8c6 - x-ms-content-disposition: - - inline - x-ms-content-language: - - spanish - x-ms-date: - - Sat, 03 Aug 2019 22:09:52 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharebc1a12fe/filebc1a12fe?comp=properties - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:50 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4E958283"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:51 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4c632ae2-701a-0041-6148-4a4c13000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharebc1a12fe/filebc1a12fe - - comp=properties - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6b1c14f4-b63b-11e9-8ce6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:52 GMT - x-ms-version: - - '2018-11-09' - method: HEAD - uri: https://storagename.file.core.windows.net/utsharebc1a12fe/filebc1a12fe - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Disposition - : inline - ? !!python/object/new:multidict._istr.istr - - Content-Language - : spanish - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:50 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F4E958283"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:51 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 4c632ae3-701a-0041-6248-4a4c13000000 + x-ms-client-request-id: 3ab6551c-d357-11e9-b471-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-09T23:12:01.1590265Z' + x-ms-file-creation-time: '2019-09-09T23:12:01.0529250Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-09T23:12:01.0529250Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 64fb3cd4-501a-0093-0163-6788fe000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -569,7 +321,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharebc1a12fe/filebc1a12fe - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_set_file_properties_with_file_permission_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_set_file_properties_with_file_permission_async.yaml new file mode 100644 index 000000000000..3c2b0d7b77ca --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_set_file_properties_with_file_permission_async.yaml @@ -0,0 +1,388 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8e311a3a-d064-11e9-adfa-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 05:09:51 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshareaac01bc0?restype=share + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:09:50 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7328872630BCD"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:09:51 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8e311a3a-d064-11e9-adfa-001a7dda7113 + x-ms-request-id: a89a3ca2-701a-0012-4b71-642824000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshareaac01bc0 + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8e3cff2c-d064-11e9-8da9-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Fri, 06 Sep 2019 05:09:51 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshareaac01bc0/fileaac01bc0 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:09:51 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732887272300C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:09:51 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8e3cff2c-d064-11e9-8da9-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:51.3241612Z' + x-ms-file-creation-time: '2019-09-06T05:09:51.3241612Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:51.3241612Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: c3c54834-301a-0003-6271-64b290000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshareaac01bc0/fileaac01bc0 + - '' + - '' +- request: + body: !!binary | + 4HDkemMyxn+s76vXX9S2ng8HrPm+DUvMUzZOb3CafgUAe53rXLtr1qSSiUq3f35+2BXhqpGQFE7w + 7/N1kqRcrqZbWA14EqOwP9PQJe9avtPAJM/nwpJSHcdSW28muzjh+sFYN2xda62/IzuM9axS+1ho + n7Uu8/4TxJ40PgEP5a8TTwVRoVhmMEv67PaGhMpQSbAWEPUWUOgQd89uLTH89vqbkpr1S9X6Ncff + 4Oy559ICnK0r6uvR/gayizVpEkp1h24+PTfzhtriX/UcXVsTpBFrtlHWO/D3B7bt+qKOUvgDb+Hc + yWjZ7gWUcKuplslMJnQsRd0DKmEwT5pYLdCorrNfi4F/dSnm3dJxM2I7qhVmCIJ+8SJ/aY92V0Mg + 7UJtluUjRUjIBM2vlhcoaDFM2IAei7mGmQNBSCMyja+ILdkt8oQghDxKRlg21VtgrTQSQhxivQQU + Vw+iRv4K3XHvrSXH4Mi2wiAPe+mSTGMH6yLfBjlywGfLesiJp09k+7gy/U6CA36r2aeWbtVQlLT9 + SCszHVbCgr/s8nkAeppNf9FiZsExaAnkinOq51l/z0QsHH1BUCmihz33m0+tLWVh6pAmWcEsMHxE + uOG6a89mN3SDyQ2q8CbQAqPFxbwmzek15Au77ruGH7TGFwEuD6ymYF5WnsRky/Sbl0hrEBZlCfss + htYLF/ZIHrhSPdwB+Y4+PiNwP9uggJeypf25zEpwEtklwZGuSjMnIG7M0pa7vascMEq5z2318iDn + 3vuGGb5PBjvbFPse/Zjw7VG1ysGFPKrdw8eCdRUf2yemddfcUFa0ahNBQizEKYVLIqDc+rroVfBu + w7WfwLDxcemQYAGXFSm5UEAahXiDCFYwlkbj0FzcuBgBPcaCA01c9BLFDT/B79ucb7i/oTkycEfK + DOaGgRyNeVtjfzgi8Ay3xFBfJDVVoWwAGSDBltsk4a1eamJlv3erZB9KxpRnjBfFZIt3lZhgF0UI + XO7jxKJVhfjt+L/BRZ1Dp7ZiQyc7V/kbu8DdE3H0LtxRBKCcBWJ/KvpIrBhoO7gMA6tA9JUdohly + j+ua5+9vZqTp9s89MXu/aZNN4gyRkXrNBiwmsYQSc2/Xf+rcrS5imY9PIx2/jn91stgQ5m4ouCk6 + WwPmURhAoCUDkxvjQ7X+Ql6NQEvMJRNUTBs3t6PGiB2aMCQgKr3Yjg8V4K0RI9bObHxcHKI6QYei + I3hwm6RnmicnOZI2fEJaH1YFsLkTNVJJueFGUaNxserq1qBZKhkOvyjQJEKVzBsiYXX01mPd0tLU + hX2bwW3NbHvbBJR8UZas1IMWPbARCVBNZGvN81Yr5HFcwxCHUkQqT5BVBxwxy7ySCFanE4g9qg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8e48aa98-d064-11e9-aa5a-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 05:09:51 GMT + x-ms-range: + - bytes=0-1023 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshareaac01bc0/fileaac01bc0?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : VN3ajU210g9er8RFjjWXKA== + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:09:51 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732887274A1AD"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:09:51 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8e48aa98-d064-11e9-aa5a-001a7dda7113 + x-ms-request-id: c3c54837-301a-0003-6471-64b290000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshareaac01bc0/fileaac01bc0 + - comp=range + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8e4b1a6e-d064-11e9-8cda-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 05:09:51 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.file.core.windows.net/utshareaac01bc0/fileaac01bc0 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '1024' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:09:51 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732887274A1AD"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:09:51 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8e4b1a6e-d064-11e9-8cda-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:09:51.3241612Z' + x-ms-file-creation-time: '2019-09-06T05:09:51.3241612Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:09:51.3241612Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: c3c54838-301a-0003-6571-64b290000000 + x-ms-server-encrypted: 'true' + x-ms-type: File + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshareaac01bc0/fileaac01bc0 + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8e4dde48-d064-11e9-bcd8-001a7dda7113 + x-ms-content-disposition: + - inline + x-ms-content-language: + - spanish + x-ms-date: + - Fri, 06 Sep 2019 05:09:51 GMT + x-ms-file-attributes: + - Archive|Temporary + x-ms-file-creation-time: + - '2019-09-06T08:09:51.3241610Z' + x-ms-file-last-write-time: + - '2019-09-06T08:09:51.3241610Z' + x-ms-file-permission: + - preserve + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshareaac01bc0/fileaac01bc0?comp=properties + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:09:50 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73288728127C9"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:09:51 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8e4dde48-d064-11e9-bcd8-001a7dda7113 + x-ms-file-attributes: Archive | Temporary + x-ms-file-change-time: '2019-09-06T05:09:51.4222537Z' + x-ms-file-creation-time: '2019-09-06T08:09:51.3241610Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T08:09:51.3241610Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8da98b26-a01a-003e-1a71-64c48b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshareaac01bc0/fileaac01bc0 + - comp=properties + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 8e581074-d064-11e9-940b-001a7dda7113 + x-ms-date: + - Fri, 06 Sep 2019 05:09:51 GMT + x-ms-version: + - '2019-02-02' + method: HEAD + uri: https://storagename.file.core.windows.net/utshareaac01bc0/fileaac01bc0 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Disposition + : inline + ? !!python/object/new:multidict._istr.istr + - Content-Language + : spanish + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '1024' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Fri, 06 Sep 2019 05:09:50 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73288728127C9"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Fri, 06 Sep 2019 05:09:51 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 8e581074-d064-11e9-940b-001a7dda7113 + x-ms-file-attributes: Archive | Temporary + x-ms-file-change-time: '2019-09-06T05:09:51.4222537Z' + x-ms-file-creation-time: '2019-09-06T08:09:51.3241610Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T08:09:51.3241610Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8da98b29-a01a-003e-1b71-64c48b000000 + x-ms-server-encrypted: 'true' + x-ms-type: File + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /utshareaac01bc0/fileaac01bc0 + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_unicode_get_file_binary_data_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_unicode_get_file_binary_data_async.yaml index 24282262a387..8f515b394dad 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_unicode_get_file_binary_data_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_unicode_get_file_binary_data_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d6e60400-b639-11e9-82a7-2816a845e8c6 + - 96db6b1e-d064-11e9-8d4e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:34 GMT + - Fri, 06 Sep 2019 05:10:05 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare740e1669?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:32 GMT + : Fri, 06 Sep 2019 05:10:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBA82A08A"' + : '"0x8D732887B0EF0B6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:33 GMT + : Fri, 06 Sep 2019 05:10:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 91b41a50-501a-003b-0346-4a265e000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 96db6b1e-d064-11e9-8d4e-001a7dda7113 + x-ms-request-id: 5cad6853-801a-0064-5b71-64a26c000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare740e1669 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d7184824-b639-11e9-9e73-2816a845e8c6 + - 96e6c202-d064-11e9-b0db-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:58:34 GMT + - Fri, 06 Sep 2019 05:10:05 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare740e1669/file740e1669 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:33 GMT + : Fri, 06 Sep 2019 05:10:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBAC96A2D"' + : '"0x8D732887B1A7CC9"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:34 GMT + : Fri, 06 Sep 2019 05:10:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2c3f9307-601a-00d6-1b46-4a2fda000000 + x-ms-client-request-id: 96e6c202-d064-11e9-b0db-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:10:05.8489033Z' + x-ms-file-creation-time: '2019-09-06T05:10:05.8489033Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:10:05.8489033Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a89a3cd9-701a-0012-6e71-642824000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare740e1669/file740e1669 - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - d7558d2e-b639-11e9-8aec-2816a845e8c6 + - 96f0fb00-d064-11e9-abae-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:35 GMT + - Fri, 06 Sep 2019 05:10:05 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : suqff86oMaSmOyE/QaiFWw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:33 GMT + : Fri, 06 Sep 2019 05:10:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBADA361A"' + : '"0x8D732887B1CEE65"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:34 GMT + : Fri, 06 Sep 2019 05:10:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2c3f9309-601a-00d6-1c46-4a2fda000000 + x-ms-client-request-id: 96f0fb00-d064-11e9-abae-001a7dda7113 + x-ms-request-id: a89a3cda-701a-0012-6f71-642824000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare740e1669/file740e1669 - comp=range - '' @@ -179,17 +197,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d7739358-b639-11e9-bee5-2816a845e8c6 + - 96f3685e-d064-11e9-99a2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:35 GMT + - Fri, 06 Sep 2019 05:10:05 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare740e1669/file740e1669 response: @@ -228,280 +246,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:33 GMT + : Fri, 06 Sep 2019 05:10:05 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBADA361A"' + : '"0x8D732887B1CEE65"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:34 GMT + : Fri, 06 Sep 2019 05:10:05 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 2c3f930a-601a-00d6-1d46-4a2fda000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 206 - message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare740e1669/file740e1669 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6c994824-b63b-11e9-ac87-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:55 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare740e1669?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:54 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F5036FFB1"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:54 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c3822aa9-701a-00eb-1248-4a9afc000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare740e1669 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6ce0f4ee-b63b-11e9-beb0-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:55 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare740e1669/file740e1669 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:54 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F508ACF3F"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:54 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 31e14432-b01a-0018-1248-4a4995000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare740e1669/file740e1669 - - '' - - '' -- request: - body: !!binary | - AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4 - OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3Bx - cnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmq - q6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj - 5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhsc - HR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RV - VldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2O - j5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbH - yMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8A - AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5 - Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFy - c3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6Slpqeoqaqr - rK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk - 5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwd - Hh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVW - V1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6P - kJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfI - ycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6d114ed4-b63b-11e9-bb31-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:56 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare740e1669/file740e1669?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : suqff86oMaSmOyE/QaiFWw== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:54 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F5096912F"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:54 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 31e14435-b01a-0018-1348-4a4995000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare740e1669/file740e1669 - - comp=range - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6d2d8c46-b63b-11e9-a357-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:56 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare740e1669/file740e1669 - response: - body: - string: !!binary | - AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4 - OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3Bx - cnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmq - q6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj - 5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhsc - HR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RV - VldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2O - j5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbH - yMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8A - AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5 - Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFy - c3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6Slpqeoqaqr - rK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk - 5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwd - Hh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVW - V1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6P - kJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfI - ycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w== - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-1023/1024 - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:54 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F5096912F"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:54 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 31e14436-b01a-0018-1448-4a4995000000 + x-ms-client-request-id: 96f3685e-d064-11e9-99a2-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:10:05.8489033Z' + x-ms-file-creation-time: '2019-09-06T05:10:05.8489033Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:10:05.8489033Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a89a3cdb-701a-0012-7071-642824000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -509,7 +275,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare740e1669/file740e1669 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_unicode_get_file_unicode_name_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_unicode_get_file_unicode_name_async.yaml index bc943a027761..0467a7de9a21 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_unicode_get_file_unicode_name_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_unicode_get_file_unicode_name_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d7debee8-b639-11e9-979a-2816a845e8c6 + - 97133e50-d064-11e9-834a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:36 GMT + - Fri, 06 Sep 2019 05:10:06 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare8b4316d2?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:34 GMT + : Fri, 06 Sep 2019 05:10:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBB9C08F6"' + : '"0x8D732888292B4CB"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:35 GMT + : Fri, 06 Sep 2019 05:10:18 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c7ccaef1-501a-0019-6946-4a4868000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 97133e50-d064-11e9-834a-001a7dda7113 + x-ms-request-id: 7ccafb0e-201a-00d4-6771-64e3a5000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare8b4316d2 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d832e866-b639-11e9-b239-2816a845e8c6 + - 9f1e9f38-d064-11e9-9089-001a7dda7113 x-ms-content-length: - '11' x-ms-date: - - Sat, 03 Aug 2019 21:58:36 GMT + - Fri, 06 Sep 2019 05:10:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare8b4316d2/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:35 GMT + : Fri, 06 Sep 2019 05:10:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBBD16D41"' + : '"0x8D73288835CEA47"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:35 GMT + : Fri, 06 Sep 2019 05:10:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5e7cb32a-101a-0051-2a46-4a7af5000000 + x-ms-client-request-id: 9f1e9f38-d064-11e9-9089-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:10:19.7060167Z' + x-ms-file-creation-time: '2019-09-06T05:10:19.7060167Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:10:19.7060167Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa17429-d01a-00ef-7c71-64a601000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare8b4316d2/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C - '' - '' @@ -106,15 +123,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - d86dab9a-b639-11e9-ac56-2816a845e8c6 + - 9f33c2fa-d064-11e9-b43a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:37 GMT + - Fri, 06 Sep 2019 05:10:19 GMT x-ms-range: - bytes=0-10 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -131,19 +148,20 @@ interactions: : XrY7u+Ae7tCTyyK7j1rNww== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:35 GMT + : Fri, 06 Sep 2019 05:10:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBBF21A95"' + : '"0x8D7328883606D99"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:36 GMT + : Fri, 06 Sep 2019 05:10:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5e7cb32c-101a-0051-2b46-4a7af5000000 + x-ms-client-request-id: 9f33c2fa-d064-11e9-b43a-001a7dda7113 + x-ms-request-id: 8aa1742b-d01a-00ef-7d71-64a601000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -151,7 +169,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare8b4316d2/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C - comp=range - '' @@ -161,17 +179,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d877c11c-b639-11e9-9e55-2816a845e8c6 + - 9f37b7d8-d064-11e9-8f8b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:37 GMT + - Fri, 06 Sep 2019 05:10:19 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare8b4316d2/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C response: @@ -192,244 +210,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:35 GMT + : Fri, 06 Sep 2019 05:10:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBBF21A95"' + : '"0x8D7328883606D99"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:36 GMT + : Fri, 06 Sep 2019 05:10:19 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5e7cb32d-101a-0051-2c46-4a7af5000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 206 - message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare8b4316d2/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6d897758-b63b-11e9-b949-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:56 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8b4316d2?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:55 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F514B319A"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:56 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3f266c83-401a-00e3-2448-4a818f000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare8b4316d2 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6dd73a00-b63b-11e9-8939-2816a845e8c6 - x-ms-content-length: - - '11' - x-ms-date: - - Sat, 03 Aug 2019 22:09:57 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare8b4316d2/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:56 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F518169BE"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:56 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8f65677e-e01a-00a1-1048-4aaa9b000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare8b4316d2/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C - - '' - - '' -- request: - body: hello world - headers: - Content-Length: - - '11' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6e13c16c-b63b-11e9-ba6e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:57 GMT - x-ms-range: - - bytes=0-10 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare8b4316d2/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : XrY7u+Ae7tCTyyK7j1rNww== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:56 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F519766B7"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:56 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8f656781-e01a-00a1-1148-4aaa9b000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare8b4316d2/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C - - comp=range - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6e1cd400-b63b-11e9-a6c5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:57 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare8b4316d2/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C - response: - body: - string: hello world - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '11' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-10/11 - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:56 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F519766B7"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:56 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 8f656782-e01a-00a1-1248-4aaa9b000000 + x-ms-client-request-id: 9f37b7d8-d064-11e9-8f8b-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:10:19.7060167Z' + x-ms-file-creation-time: '2019-09-06T05:10:19.7060167Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:10:19.7060167Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa1742c-d01a-00ef-7e71-64a601000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -437,7 +239,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare8b4316d2/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_big_range_from_file_url_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_big_range_from_file_url_async.yaml new file mode 100644 index 000000000000..960225ac56c1 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_big_range_from_file_url_async.yaml @@ -0,0 +1,952 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4181b1f4-d01f-11e9-9c2a-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:53:47 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utsharea262174b?restype=share + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:47 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7324325E026C1"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:47 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4181b1f4-d01f-11e9-9c2a-001a7dda7113 + x-ms-request-id: 004fccf6-101a-0025-302c-643b47000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 41c5c3d8-d01f-11e9-93d9-001a7dda7113 + x-ms-content-length: + - '1048576' + x-ms-date: + - Thu, 05 Sep 2019 20:53:47 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utsharea262174b/testfile1 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:47 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432624C683"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:48 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 41c5c3d8-d01f-11e9-93d9-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:53:48.0356483Z' + x-ms-file-creation-time: '2019-09-05T20:53:48.0356483Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-05T20:53:48.0356483Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-request-id: 5733ac30-f01a-003d-0d2c-64e420000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b/testfile1 + - '' + - '' +- request: + body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop + headers: + Content-Length: + - '1048576' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 41ffa4a8-d01f-11e9-99f6-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:53:48 GMT + x-ms-range: + - bytes=0-1048575 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utsharea262174b/testfile1?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : 224fIvQ1+ZOxJMPC/BxiAw== + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:48 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73243268AB464"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:48 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 41ffa4a8-d01f-11e9-99f6-001a7dda7113 + x-ms-request-id: 5733ac32-f01a-003d-0e2c-64e420000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b/testfile1 + - comp=range + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4269e4ec-d01f-11e9-98a2-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:53:48 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utsharea262174b?restype=share + response: + body: + string: "\uFEFFShareAlreadyExistsThe + specified share already exists.\nRequestId:b32c0d60-401a-0017-472c-643b30000000\nTime:2019-09-05T20:53:49.0844025Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '222' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:48 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4269e4ec-d01f-11e9-98a2-001a7dda7113 + x-ms-error-code: ShareAlreadyExists + x-ms-request-id: b32c0d60-401a-0017-472c-643b30000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The specified share already exists. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 42a52d9c-d01f-11e9-b04f-001a7dda7113 + x-ms-content-length: + - '1048576' + x-ms-date: + - Thu, 05 Sep 2019 20:53:49 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utsharea262174b/filetoupdate1 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:48 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7324326DAF76C"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:49 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 42a52d9c-d01f-11e9-b04f-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:53:49.2296556Z' + x-ms-file-creation-time: '2019-09-05T20:53:49.2296556Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-05T20:53:49.2296556Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-request-id: 5733ac35-f01a-003d-0f2c-64e420000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b/filetoupdate1 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 42b4b60c-d01f-11e9-8fe7-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.file.core.windows.net/utsharea262174b/testfile1?se=2019-09-05T21%3A53%3A49Z&sp=r&sv=2018-03-28&sr=f&sig=juXcCKjuTLCRbMzUjAShTgwRBzhKBFtX5A8pIQiyNNA%3D + x-ms-date: + - Thu, 05 Sep 2019 20:53:49 GMT + x-ms-range: + - bytes=0-1048575 + x-ms-source-range: + - bytes=0-1048575 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utsharea262174b/filetoupdate1?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:49 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7324326FA6663"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:49 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 42b4b60c-d01f-11e9-8fe7-001a7dda7113 + x-ms-content-crc64: CBDafWFmG7I= + x-ms-request-id: 5733ac36-f01a-003d-102c-64e420000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b/filetoupdate1 + - comp=range + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 42d3ba66-d01f-11e9-9526-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:53:49 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utsharea262174b/filetoupdate1?comp=rangelist + response: + body: + string: "\uFEFF01048575" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:49 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7324326FA6663"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:49 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Transfer-Encoding + : chunked + x-ms-client-request-id: 42d3ba66-d01f-11e9-9526-001a7dda7113 + x-ms-content-length: '1048576' + x-ms-request-id: 5733ac38-f01a-003d-122c-64e420000000 + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b/filetoupdate1 + - comp=rangelist + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 42e158a6-d01f-11e9-8987-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:53:49 GMT + x-ms-range: + - bytes=0-1048575 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utsharea262174b/filetoupdate1 + response: + body: + string: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '1048576' + ? !!python/object/new:multidict._istr.istr + - Content-Range + : bytes 0-1048575/1048576 + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:49 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7324326FA6663"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:49 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 42e158a6-d01f-11e9-8987-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:53:49.2296556Z' + x-ms-file-creation-time: '2019-09-05T20:53:49.2296556Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-05T20:53:49.2296556Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: 5733ac39-f01a-003d-132c-64e420000000 + x-ms-server-encrypted: 'true' + x-ms-type: File + x-ms-version: '2019-02-02' + status: + code: 206 + message: Partial Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b/filetoupdate1 + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 76ecef2e-d01f-11e9-81a8-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:16 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utsharea262174b?restype=share + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732435B488E6A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 76ecef2e-d01f-11e9-81a8-001a7dda7113 + x-ms-request-id: 25af12c0-e01a-001e-0f2c-647ee3000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7725b286-d01f-11e9-b42d-001a7dda7113 + x-ms-content-length: + - '1048576' + x-ms-date: + - Thu, 05 Sep 2019 20:55:17 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utsharea262174b/testfile1 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732435B83777E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7725b286-d01f-11e9-b42d-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:55:17.5754622Z' + x-ms-file-creation-time: '2019-09-05T20:55:17.5754622Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-05T20:55:17.5754622Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-request-id: a60a6052-101a-0035-682c-64fe2f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b/testfile1 + - '' + - '' +- request: + body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop + headers: + Content-Length: + - '1048576' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 775cf05e-d01f-11e9-873c-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:17 GMT + x-ms-range: + - bytes=0-1048575 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utsharea262174b/testfile1?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : 224fIvQ1+ZOxJMPC/BxiAw== + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:17 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732435BE4AA6A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 775cf05e-d01f-11e9-873c-001a7dda7113 + x-ms-request-id: a60a6054-101a-0035-692c-64fe2f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b/testfile1 + - comp=range + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 77c038e8-d01f-11e9-ae52-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:18 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utsharea262174b?restype=share + response: + body: + string: "\uFEFFShareAlreadyExistsThe + specified share already exists.\nRequestId:f4fd2089-601a-002f-052c-649ff0000000\nTime:2019-09-05T20:55:18.5675973Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '222' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:17 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 77c038e8-d01f-11e9-ae52-001a7dda7113 + x-ms-error-code: ShareAlreadyExists + x-ms-request-id: f4fd2089-601a-002f-052c-649ff0000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The specified share already exists. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 77fa353e-d01f-11e9-a8e8-001a7dda7113 + x-ms-content-length: + - '1048576' + x-ms-date: + - Thu, 05 Sep 2019 20:55:18 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utsharea262174b/filetoupdate1 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732435C2F2133"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 77fa353e-d01f-11e9-a8e8-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:55:18.7004723Z' + x-ms-file-creation-time: '2019-09-05T20:55:18.7004723Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-05T20:55:18.7004723Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-request-id: a60a6056-101a-0035-6a2c-64fe2f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b/filetoupdate1 + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7808a488-d01f-11e9-ad9f-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.file.core.windows.net/utsharea262174b/testfile1?se=2019-09-05T21%3A55%3A18Z&sp=r&sv=2018-03-28&sr=f&sig=pmBVT0hIOryeXRP3xQs6IPeAyZEpGvB/WMebv5WdsWQ%3D + x-ms-date: + - Thu, 05 Sep 2019 20:55:18 GMT + x-ms-range: + - bytes=0-1048575 + x-ms-source-range: + - bytes=0-1048575 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utsharea262174b/filetoupdate1?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732435C4D096E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7808a488-d01f-11e9-ad9f-001a7dda7113 + x-ms-content-crc64: CBDafWFmG7I= + x-ms-request-id: a60a6057-101a-0035-6b2c-64fe2f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b/filetoupdate1 + - comp=range + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 78265f1c-d01f-11e9-8a86-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:18 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://oauthstoragename.file.core.windows.net/utsharea262174b/filetoupdate1?comp=rangelist + response: + body: + string: "\uFEFF01048575" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732435C4D096E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Transfer-Encoding + : chunked + x-ms-client-request-id: 78265f1c-d01f-11e9-8a86-001a7dda7113 + x-ms-content-length: '1048576' + x-ms-request-id: a60a6059-101a-0035-6d2c-64fe2f000000 + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b/filetoupdate1 + - comp=rangelist + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7833d38a-d01f-11e9-b542-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:19 GMT + x-ms-range: + - bytes=0-1048575 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://oauthstoragename.file.core.windows.net/utsharea262174b/filetoupdate1 + response: + body: + string: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '1048576' + ? !!python/object/new:multidict._istr.istr + - Content-Range + : bytes 0-1048575/1048576 + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:18 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732435C4D096E"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:18 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7833d38a-d01f-11e9-b542-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:55:18.7004723Z' + x-ms-file-creation-time: '2019-09-05T20:55:18.7004723Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-05T20:55:18.7004723Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: a60a605a-101a-0035-6e2c-64fe2f000000 + x-ms-server-encrypted: 'true' + x-ms-type: File + x-ms-version: '2019-02-02' + status: + code: 206 + message: Partial Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utsharea262174b/filetoupdate1 + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_file_unicode_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_file_unicode_async.yaml index a56a89f4d34b..0330b94ad7a6 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_file_unicode_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_file_unicode_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d8dcd766-b639-11e9-b99f-2816a845e8c6 + - 9f64bc50-d064-11e9-9540-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:37 GMT + - Fri, 06 Sep 2019 05:10:20 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareba3412cf?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:36 GMT + : Fri, 06 Sep 2019 05:10:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBC80D782"' + : '"0x8D732888395E8FF"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:36 GMT + : Fri, 06 Sep 2019 05:10:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7639ad16-401a-00e8-1446-4a99fb000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 9f64bc50-d064-11e9-9540-001a7dda7113 + x-ms-request-id: f9c6d93f-201a-007d-5971-6422d7000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba3412cf - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d9233b92-b639-11e9-a5f3-2816a845e8c6 + - 9f70f306-d064-11e9-84d5-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:58:38 GMT + - Fri, 06 Sep 2019 05:10:20 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareba3412cf/fileba3412cf response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:37 GMT + : Fri, 06 Sep 2019 05:10:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBCC261C5"' + : '"0x8D7328883B09CCD"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:37 GMT + : Fri, 06 Sep 2019 05:10:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fba2aff6-501a-007f-5446-4afa32000000 + x-ms-client-request-id: 9f70f306-d064-11e9-84d5-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:10:20.2545357Z' + x-ms-file-creation-time: '2019-09-06T05:10:20.2545357Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:10:20.2545357Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 91e9f36a-501a-0005-3c71-64812f000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba3412cf/fileba3412cf - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - d9680e6e-b639-11e9-93b3-2816a845e8c6 + - 9f8790e4-d064-11e9-9a42-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:38 GMT + - Fri, 06 Sep 2019 05:10:20 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : 3dPn/ME/vtuqYzfO532xGw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:37 GMT + : Fri, 06 Sep 2019 05:10:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBCEC86B2"' + : '"0x8D7328883B3AACB"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:37 GMT + : Fri, 06 Sep 2019 05:10:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fba2aff9-501a-007f-5546-4afa32000000 + x-ms-client-request-id: 9f8790e4-d064-11e9-9a42-001a7dda7113 + x-ms-request-id: 91e9f36d-501a-0005-3e71-64812f000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba3412cf/fileba3412cf - comp=range - '' @@ -181,15 +199,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - d971ba24-b639-11e9-9e50-2816a845e8c6 + - 9f8a4e24-d064-11e9-b949-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:38 GMT + - Fri, 06 Sep 2019 05:10:20 GMT x-ms-range: - bytes=0-511 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -206,19 +224,20 @@ interactions: : pTsTLZHyQ+et6NksJ1OHxg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:37 GMT + : Fri, 06 Sep 2019 05:10:19 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBCF5FE4C"' + : '"0x8D7328883B6437B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:37 GMT + : Fri, 06 Sep 2019 05:10:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fba2affa-501a-007f-5646-4afa32000000 + x-ms-client-request-id: 9f8a4e24-d064-11e9-b949-001a7dda7113 + x-ms-request-id: 91e9f36f-501a-0005-4071-64812f000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -226,7 +245,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba3412cf/fileba3412cf - comp=range - '' @@ -236,17 +255,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d986c314-b639-11e9-9c39-2816a845e8c6 + - 9f8cbd76-d064-11e9-9c94-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:39 GMT + - Fri, 06 Sep 2019 05:10:20 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshareba3412cf/fileba3412cf response: @@ -285,337 +304,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:37 GMT + : Fri, 06 Sep 2019 05:10:33 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBCF5FE4C"' + : '"0x8D7328883B6437B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:37 GMT + : Fri, 06 Sep 2019 05:10:20 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: fba2affb-501a-007f-5746-4afa32000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 206 - message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareba3412cf/fileba3412cf - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6e75cb8a-b63b-11e9-92cb-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:58 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareba3412cf?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:57 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F521E9020"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:57 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7660e460-501a-0091-2248-4af0b1000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareba3412cf - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6eacd322-b63b-11e9-bcca-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:09:58 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshareba3412cf/fileba3412cf - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:57 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F524E54A1"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:57 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: a55d82a7-d01a-008b-7648-4adfde000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareba3412cf/fileba3412cf - - '' - - '' -- request: - body: !!binary | - Xlg5Xs4jWDpywVx+YbZz4hyc9YmNL/CFDmWw8dmNdyc7bMSOx7mdOB+o1P0yYYz78KUxnUkQ3OKQ - m025cL7TC4KTAI9FChJ0CcNysiga/Nh+oHMxb7I+Hf2AbVvWdBmz0ziLE5JnyYtXSYwtEH0J1AjF - NQK7a9NraQt7YfnDp7TI+usZQF0JiYj2/vGlrzaEy2EQkiSxh1fReT2daym/nETMARp/iWykpHrc - S1+mkCz9QjH7b0buS9+uefLJAhjvAruZ3Aor7MYX2uDFUxreZ6rIjFaO+aEQzRVx5Y95Reeamxe8 - kdH1746iXAd4+Cz52S8k8GauA96SteZ6zK2dY8oQaxKSaNOioME6/npBNIhDpTm9gMjfRIjWHLol - W3UBCP1O/iKuiKQeLEZ/ZJ5mTUIdeRADiv0eHHcS8dSVitroXO8TzH4PqXFWvozGRDcrLAbzhdfC - NCfyocLwKEYMbwezO7Ob/eC4nj5UZ+K+63YVPidB4pgf0GSq9bkm+o8CmBjG94soSrOzTR5d0SYN - Lk+4O0jzHtiIxCe9dwYrNiQW5lju6WO0Rh4IHeeSInqW0F6qZFd1L/UHoyBk2hojpI8AjwYt7Dxw - 1uxHnjYJzrrE2sUCyAfIH/G20/0Sh4n00wQD2XqS2aXPklfp9JkJJFC7pjNpFhYW3Gb+hppO5ZC9 - 1PYaDaYdy6BOXIKQE1paL2d3m/RtQaips11VW60l95Kcm/hb3Ac2cg+GqgehISs8xnSqX6QMdLy/ - tTS81NCwyZGeqLvOOUExFm2qD2UkYjIUzlA7kj/GbHNuZJuUIO+6uWT60o2TycVFhlkZBPLnxNpL - e/cIXuOje7q+2zj7ANq5fpoNwLKWHBUNtZ2QfhpD0oI9GzULOaEuYtz62tm8rom1lsOkHeZ1rdeG - ppxwtQ3vJrI6uF8Zld0pxrPKK5p9P1lmpvgceaTkpNR1AJuv/F5Bbpl3hZRepbCRsfyoTr9HLBZ1 - CUOsQIZ9j/VYiNmxE49hXBY/ocEbbhLHQ3lT6Bxue8V7CdVtfM5lL5b3Bd9tGgGn2v6fkBAIzANG - VGU1H36zrQO8eHpmB4ClZWNj5n6tvMk/sq5e9TS6EzSfhaBKSrnmNTbPj5/UcS40NKalTNBvEuIz - QjNsdr9ko6nfdKFNZ/mXzLjfdzO+tlXcSHSxNrWVnYQW1d3zlMS4faxGqy1ywAtbyfx+szWCfTF4 - UH3tRkJLioktM4D+PTYro+cH049msrwxRTijj3XMbTS13BL7XdpvCcfKSfpWau73Y19TCP06Vtmh - /CW+vVx5wXmMwhSyvCY5bO/hHBBBdLqh4l9PhtFUxa2GfHsu5+MpST/uq613ChtT/cC+bwQuZw== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6eeefd5c-b63b-11e9-a50d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:59 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshareba3412cf/fileba3412cf?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : 3dPn/ME/vtuqYzfO532xGw== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:57 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F5273E4C6"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: a55d82ab-d01a-008b-7948-4adfde000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareba3412cf/fileba3412cf - - comp=range - - '' -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6f0e2b98-b63b-11e9-a9fa-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:59 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshareba3412cf/fileba3412cf?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : pTsTLZHyQ+et6NksJ1OHxg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:57 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F5292BCF8"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: a55d82ad-d01a-008b-7a48-4adfde000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshareba3412cf/fileba3412cf - - comp=range - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6f18ced8-b63b-11e9-b579-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:09:59 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshareba3412cf/fileba3412cf - response: - body: - string: !!binary | - YWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hp - amtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFi - Y2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWpr - bG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNk - ZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xt - bm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVm - Z2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5v - cGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdo - aWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3C9 - 1PYaDaYdy6BOXIKQE1paL2d3m/RtQaips11VW60l95Kcm/hb3Ac2cg+GqgehISs8xnSqX6QMdLy/ - tTS81NCwyZGeqLvOOUExFm2qD2UkYjIUzlA7kj/GbHNuZJuUIO+6uWT60o2TycVFhlkZBPLnxNpL - e/cIXuOje7q+2zj7ANq5fpoNwLKWHBUNtZ2QfhpD0oI9GzULOaEuYtz62tm8rom1lsOkHeZ1rdeG - ppxwtQ3vJrI6uF8Zld0pxrPKK5p9P1lmpvgceaTkpNR1AJuv/F5Bbpl3hZRepbCRsfyoTr9HLBZ1 - CUOsQIZ9j/VYiNmxE49hXBY/ocEbbhLHQ3lT6Bxue8V7CdVtfM5lL5b3Bd9tGgGn2v6fkBAIzANG - VGU1H36zrQO8eHpmB4ClZWNj5n6tvMk/sq5e9TS6EzSfhaBKSrnmNTbPj5/UcS40NKalTNBvEuIz - QjNsdr9ko6nfdKFNZ/mXzLjfdzO+tlXcSHSxNrWVnYQW1d3zlMS4faxGqy1ywAtbyfx+szWCfTF4 - UH3tRkJLioktM4D+PTYro+cH049msrwxRTijj3XMbTS13BL7XdpvCcfKSfpWau73Y19TCP06Vtmh - /CW+vVx5wXmMwhSyvCY5bO/hHBBBdLqh4l9PhtFUxa2GfHsu5+MpST/uq613ChtT/cC+bwQuZw== - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-1023/1024 - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:57 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F5292BCF8"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a55d82ae-d01a-008b-7b48-4adfde000000 + x-ms-client-request-id: 9f8cbd76-d064-11e9-9c94-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:10:20.2545357Z' + x-ms-file-creation-time: '2019-09-06T05:10:20.2545357Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:10:20.2545357Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 91e9f370-501a-0005-4171-64812f000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -623,7 +333,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareba3412cf/fileba3412cf - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_async.yaml index 11c282b93d47..8961226fd821 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d9d3cd3e-b639-11e9-8550-2816a845e8c6 + - a7969d18-d064-11e9-8fb4-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:39 GMT + - Fri, 06 Sep 2019 05:10:33 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare3f830ff6?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:38 GMT + : Fri, 06 Sep 2019 05:10:33 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBD901F0E"' + : '"0x8D732888BC9606B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:38 GMT + : Fri, 06 Sep 2019 05:10:33 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d10d061a-301a-002b-5146-4a10b8000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: a7969d18-d064-11e9-8fb4-001a7dda7113 + x-ms-request-id: e9704d1b-b01a-007f-1471-649c6f000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare3f830ff6 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - da27563a-b639-11e9-bdf0-2816a845e8c6 + - a7a51ed8-d064-11e9-ac51-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:58:40 GMT + - Fri, 06 Sep 2019 05:10:33 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare3f830ff6/file3f830ff6 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:38 GMT + : Fri, 06 Sep 2019 05:10:33 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBDC50CC7"' + : '"0x8D732888BD6F007"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:39 GMT + : Fri, 06 Sep 2019 05:10:33 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3674a83b-b01a-003a-1046-4a27a3000000 + x-ms-client-request-id: a7a51ed8-d064-11e9-ac51-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:10:33.9274759Z' + x-ms-file-creation-time: '2019-09-06T05:10:33.9274759Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:10:33.9274759Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 570dec36-101a-00cf-7b71-64dda6000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare3f830ff6/file3f830ff6 - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - da619e58-b639-11e9-8c4e-2816a845e8c6 + - a7ad67ca-d064-11e9-9953-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:40 GMT + - Fri, 06 Sep 2019 05:10:33 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : HDXw5FLw5DeEOJaq0aSXOw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:38 GMT + : Fri, 06 Sep 2019 05:10:33 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBDE56BE9"' + : '"0x8D732888BD93A89"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:39 GMT + : Fri, 06 Sep 2019 05:10:33 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3674a83d-b01a-003a-1146-4a27a3000000 + x-ms-client-request-id: a7ad67ca-d064-11e9-9953-001a7dda7113 + x-ms-request-id: 570dec39-101a-00cf-7d71-64dda6000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare3f830ff6/file3f830ff6 - comp=range - '' @@ -181,15 +199,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - da6a4208-b639-11e9-87fa-2816a845e8c6 + - a7b00602-d064-11e9-8428-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:40 GMT + - Fri, 06 Sep 2019 05:10:34 GMT x-ms-range: - bytes=0-511 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -206,19 +224,20 @@ interactions: : pTsTLZHyQ+et6NksJ1OHxg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:38 GMT + : Fri, 06 Sep 2019 05:10:33 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBDEEE382"' + : '"0x8D732888BDBFA4F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:39 GMT + : Fri, 06 Sep 2019 05:10:33 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3674a83e-b01a-003a-1246-4a27a3000000 + x-ms-client-request-id: a7b00602-d064-11e9-8428-001a7dda7113 + x-ms-request-id: 570dec3a-101a-00cf-7e71-64dda6000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -226,7 +245,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare3f830ff6/file3f830ff6 - comp=range - '' @@ -236,17 +255,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - da80c06c-b639-11e9-9846-2816a845e8c6 + - a7b231e6-d064-11e9-8b30-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:40 GMT + - Fri, 06 Sep 2019 05:10:34 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare3f830ff6/file3f830ff6 response: @@ -285,337 +304,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:39 GMT + : Fri, 06 Sep 2019 05:10:33 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBDEEE382"' + : '"0x8D732888BDBFA4F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:39 GMT + : Fri, 06 Sep 2019 05:10:33 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 3674a83f-b01a-003a-1346-4a27a3000000 - x-ms-server-encrypted: 'true' - x-ms-type: File - x-ms-version: '2018-11-09' - status: - code: 206 - message: Partial Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare3f830ff6/file3f830ff6 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6f798ebe-b63b-11e9-a24e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:10:00 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare3f830ff6?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:59 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F532CDBC4"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e88f4b2d-d01a-002a-0e48-4a1145000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare3f830ff6 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6fbce6e2-b63b-11e9-aa45-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:10:00 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utshare3f830ff6/file3f830ff6 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:59 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F53764134"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5bc5c0ba-801a-0039-1f48-4a24a4000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare3f830ff6/file3f830ff6 - - '' - - '' -- request: - body: !!binary | - 42mL7Ewv6c8CGfTfnt3cGDshVF0gG8LDLxvjPwZgaRLZNwjMlbwu6GbortPYt33dK2oel9fU6iGr - MI2sikPdZxUhJ2co9v0IPnl4+HnMvxasr8LpyAR48d5xPBDA/JD+DRtIXzRCxkyepm5T7KSIIx4h - YDOQOllewYk27N88MFTWKaEgUuUQp8SSuVdNOE8KAsdiAEFyC2mTRq6pI3F/Q86hvcj5ciEqF0jX - Q/ZTmeoQVb0iSAxvtSmPq64Mge89D3QsX3+dIoFZPVYB7gRCEu+7YYCeT7w4/CDOAgkvjUKMPiCK - lQMYNyNX6i0hc4hfYMp8j5BR1aMpSmTgmob9FYNDzktpLxs+yBJduVFz6KPtF0zrGWnQQ0VluqKM - y2OBuGPhU2Is706WH++rE/a1+p6YjKJZCXoeRbCBrcW4Jc3Ou4BH0v435CeMjyGStUB3apVqLi/P - PcichGc6G5G/WzWjAUe/7IH1gShek916cDzdUY/vJvdbZHeJcc01hrYCwM8lubXFgx3ICHm+BZ25 - j1P0zEk756t1d9otbn+3pdV9KWDvhHe/IMYZBwSJBtun6ob+ltVm1nY19r8THl0ej+oGs/ThGICp - X0H3SrVarF5NmXhymFm9etOtou7reKnq8MHRrv2tRIPL4FXLwOglp5KXdORh4IpwRrkkRa4neOM8 - 14g3JknQEqSxJxUO7gkI3RmCDhHl9CI+YfrAOOBiDBglZQ9pz4lWzUzoZ2AyqFsyhoKtShvQzzef - XXkz16aB9VXnJcTgMy49wJJ5bdx3hZvLUeDKXICNxfc/XilNuG02t3kb3Ybt9YmWZhzOUXC71p5W - +DGCmlC4nPUWiRMLyDCB2g1xBq5fZ9bvjXZ9V6X919hsLXKpdvN1eC4IXWjM+dlQt1c6nRVoXMTn - V1R4sBn2YAgueGSrrXBakZ+OuecB9ULyAsPMx+I2Exm3Gn5s/KoP69AZ5i5g3Kk69O6g1Y2E3NCg - 7eZCYENjSR7cE4O/FyqkNnclT0JetjnUEs2BwJsY6Xo4YW/iJe9ZIpgeQg0SyV+J65IhLlEWLygr - vYjrO9IZBKKpsKyt1UMUd+MrH7ix3yYI8ewDeJhhT4xzWdrZFoSTE/uxAR8kX4MlZEpxUlg6R6Bc - w+uYvFvfeEWG9y5lOuMvOrMRlNVdDsAY1QdcbYMmnqIq8it2bR1u5LIYtzuy+QcSHTHqZpAnGV+l - TubQRwJ92yIcSQpRajaqdlD6EQQqNxNK1691fp0RFph+j5l3wdixGJzTbUk3sWdubDbE5ihHdCZx - Q0NI9E6kDvxL4EGGOHhUKqhOgyrIyT1IlFdk/JxsTl81sbPHRlSNlhk0BKJbMbZWUlfLUKTSNg== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 70044a8a-b63b-11e9-9d48-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:10:01 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare3f830ff6/file3f830ff6?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : HDXw5FLw5DeEOJaq0aSXOw== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:59 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F5389A5A5"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5bc5c0bc-801a-0039-2048-4a24a4000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare3f830ff6/file3f830ff6 - - comp=range - - '' -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Content-Length: - - '512' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 701034e8-b63b-11e9-a46e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:10:01 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utshare3f830ff6/file3f830ff6?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : pTsTLZHyQ+et6NksJ1OHxg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:09:59 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F5394CB39"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5bc5c0bf-801a-0039-2348-4a24a4000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utshare3f830ff6/file3f830ff6 - - comp=range - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 701a743a-b63b-11e9-a509-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:10:01 GMT - x-ms-range: - - bytes=0-33554431 - x-ms-version: - - '2018-11-09' - method: GET - uri: https://storagename.file.core.windows.net/utshare3f830ff6/file3f830ff6 - response: - body: - string: !!binary | - YWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hp - amtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFi - Y2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWpr - bG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNk - ZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xt - bm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVm - Z2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5v - cGFiY2RlZmdoaWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdo - aWprbG1ub3BhYmNkZWZnaGlqa2xtbm9wYWJjZGVmZ2hpamtsbW5vcGFiY2RlZmdoaWprbG1ub3A8 - 14g3JknQEqSxJxUO7gkI3RmCDhHl9CI+YfrAOOBiDBglZQ9pz4lWzUzoZ2AyqFsyhoKtShvQzzef - XXkz16aB9VXnJcTgMy49wJJ5bdx3hZvLUeDKXICNxfc/XilNuG02t3kb3Ybt9YmWZhzOUXC71p5W - +DGCmlC4nPUWiRMLyDCB2g1xBq5fZ9bvjXZ9V6X919hsLXKpdvN1eC4IXWjM+dlQt1c6nRVoXMTn - V1R4sBn2YAgueGSrrXBakZ+OuecB9ULyAsPMx+I2Exm3Gn5s/KoP69AZ5i5g3Kk69O6g1Y2E3NCg - 7eZCYENjSR7cE4O/FyqkNnclT0JetjnUEs2BwJsY6Xo4YW/iJe9ZIpgeQg0SyV+J65IhLlEWLygr - vYjrO9IZBKKpsKyt1UMUd+MrH7ix3yYI8ewDeJhhT4xzWdrZFoSTE/uxAR8kX4MlZEpxUlg6R6Bc - w+uYvFvfeEWG9y5lOuMvOrMRlNVdDsAY1QdcbYMmnqIq8it2bR1u5LIYtzuy+QcSHTHqZpAnGV+l - TubQRwJ92yIcSQpRajaqdlD6EQQqNxNK1691fp0RFph+j5l3wdixGJzTbUk3sWdubDbE5ihHdCZx - Q0NI9E6kDvxL4EGGOHhUKqhOgyrIyT1IlFdk/JxsTl81sbPHRlSNlhk0BKJbMbZWUlfLUKTSNg== - headers: - ? !!python/object/new:multidict._istr.istr - - Accept-Ranges - : bytes - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '1024' - ? !!python/object/new:multidict._istr.istr - - Content-Range - : bytes 0-1023/1024 - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml; charset=utf-8 - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:10:00 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F5394CB39"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:09:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5bc5c0c3-801a-0039-2448-4a24a4000000 + x-ms-client-request-id: a7b231e6-d064-11e9-8b30-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:10:33.9274759Z' + x-ms-file-creation-time: '2019-09-06T05:10:33.9274759Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:10:33.9274759Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 570dec3b-101a-00cf-7f71-64dda6000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -623,7 +333,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare3f830ff6/file3f830ff6 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_from_file_url_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_from_file_url_async.yaml new file mode 100644 index 000000000000..009ff9ca3110 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_from_file_url_async.yaml @@ -0,0 +1,1104 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 46047fca-d01f-11e9-8c96-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:53:54 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare499915ba?restype=share + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:54 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432A6118B2"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:55 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 46047fca-d01f-11e9-8c96-001a7dda7113 + x-ms-request-id: afb53cf9-901a-002b-7f2c-6412f7000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4642df34-d01f-11e9-9c7d-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Thu, 05 Sep 2019 20:53:55 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare499915ba/testfile + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:55 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432AAC9B14"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:55 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4642df34-d01f-11e9-9c7d-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:53:55.6367124Z' + x-ms-file-creation-time: '2019-09-05T20:53:55.6367124Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-05T20:53:55.6367124Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-request-id: a60a5fa1-101a-0035-272c-64fe2f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/testfile + - '' + - '' +- request: + body: !!binary | + xRibN/UZGIKZwfibTXD0DkG1rT8jVJBHkNrb1YzmJWxNd/oGLndne2N4cIZRoBnpUqhiJB6z4EQC + aApc/JFHiJb5KX4IbyoOPHN98cs0aGW27Ehn5+qhxDWl0aTG5gfE4FojD2g9KTTnflSHO5klORNg + ZaNk4JL9LuI6SFm48reqY15dm183R18tQONDMQA2uVb2WtlAovQWOXJn5oLdOpoYG89DuBURMovj + H3gu0y3jdRsce4szX8nAyRW2eMAXtFPNmXZaposjbqjisffn047K7F5pgrQygrR2zaOiuNGYWfBh + azvzmKattRqN8FigWSOH6IPBCUFbRgL+tx7WJOWxFtGoeD1w+7W3DAA5c9KZWOwLvhGYwcjxtkhF + k3mPzUJsFt7P1bWXQ/nXQ4YRKLuqmBwZZXy27nOuyrVGv+lgkzkNoLmSKYVAnglx1m5g6suy1hp5 + g9XC7OrysvBiFRYJ0cFOMkE6vJ5VGZ+6xkNum5bDvhgXImtEsLETrUBK2gt45nAL2K2GV6BBARaP + m205FUmTFEtM9n9nMsa6G0qGtISLDphWI2/T41Y1iKy3mSiqd+9g8YtLkSATu3EmaX1XFatNcaWE + nRRqVecGSLty3GLNULzTFdYvczhX7qaV357jNyMxe9/SGkNtrifiMFBR0scU6iDuKCXG8KvecRwy + mkeZGm34t8hUUYMXsd20VmSED2z7tfmTVJYmhEOA06qaeQrcSsvFf3vqx/IEVRxdqypilJp8lKkR + tTzKb5VznNeucKMfLDLNIIu/NHLolHWhYM4BtmjXMTgFVBbIgX1QoDOy+xE4gYKaW0aLl2aY63Jl + LP5oLRdDyYdoAbeN2UxcwuuGbbLGCin80V0PnD5haRHV84ZETjG1H7ZFumDy5OfUuY22bF29NeFX + aDfroJZ31EVqTYSHeIf1J9FMvulnGF6uFvLKrnFYM/ovk3b7I3IFZTc4emXZ8eQPwfATDvN7GL0R + EAwk38m7l8S8SY9AwD6MKLp5MBvW2tUEmS1QURv61f55Rz+ch1YgRqyJXjoVQ4kWYNKWoHwYkrl0 + M8o9mRxVU0wA63dKf2BCmBKnIHM62MwHLsVKj9kBWi3FDFI+GiGc6xG7miMtuTJ73iAPb+WWxYr4 + BQpefAYXmwXuSrrMvCnOqRwXHJySYR4taSBJ0oKkKkA4ybnV/NvlAqjwdd736sjJ8TiuqSeYd/5K + Xa9b9JmAyG17BTkeVxB585xf4Tis4sc2mWtVcYyY/MA96GP7T2FfuxlAuhMdTAMFGA8fSt0zS361 + 50dT8jzwkcmyXlGimjHtYzUiy6VVaOkcSE5h7wMIoDwa+aZcm5JElq24CS0w88HgaLKfFBciNg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 46867f62-d01f-11e9-8b5f-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:53:55 GMT + x-ms-range: + - bytes=0-1023 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshare499915ba/testfile?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : MbTHUI6uUZBmFtPI3w5+lw== + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:55 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432ABB6832"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:55 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 46867f62-d01f-11e9-8b5f-001a7dda7113 + x-ms-request-id: a60a5fa3-101a-0035-282c-64fe2f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/testfile + - comp=range + - '' +- request: + body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop + headers: + Content-Length: + - '512' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 4694e5e2-d01f-11e9-b18b-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:53:55 GMT + x-ms-range: + - bytes=0-511 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshare499915ba/testfile?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : pTsTLZHyQ+et6NksJ1OHxg== + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:55 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432ACA35BD"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:55 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4694e5e2-d01f-11e9-b18b-001a7dda7113 + x-ms-request-id: a60a5fa5-101a-0035-292c-64fe2f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/testfile + - comp=range + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 46aa146e-d01f-11e9-83d6-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:53:55 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare499915ba?restype=share + response: + body: + string: "\uFEFFShareAlreadyExistsThe + specified share already exists.\nRequestId:02314a29-d01a-003a-262c-648843000000\nTime:2019-09-05T20:53:56.2334312Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '222' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:55 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 46aa146e-d01f-11e9-83d6-001a7dda7113 + x-ms-error-code: ShareAlreadyExists + x-ms-request-id: 02314a29-d01a-003a-262c-648843000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The specified share already exists. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 46e7492c-d01f-11e9-a6ac-001a7dda7113 + x-ms-content-length: + - '2048' + x-ms-date: + - Thu, 05 Sep 2019 20:53:56 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare499915ba/filetoupdate + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:56 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432B1CE934"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:56 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 46e7492c-d01f-11e9-a6ac-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:53:56.3727156Z' + x-ms-file-creation-time: '2019-09-05T20:53:56.3727156Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-05T20:53:56.3727156Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-request-id: a60a5fae-101a-0035-2a2c-64fe2f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/filetoupdate + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 46f7ccb4-d01f-11e9-b13f-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.file.core.windows.net/utshare499915ba/testfile?se=2019-09-05T21%3A53%3A56Z&sp=r&sv=2018-03-28&sr=f&sig=ROOzSAzZaVL5n4UDq4lS0t85/vt/825hmTzv7U0ykzw%3D + x-ms-date: + - Thu, 05 Sep 2019 20:53:56 GMT + x-ms-range: + - bytes=0-511 + x-ms-source-range: + - bytes=0-511 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshare499915ba/filetoupdate?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:56 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432B37EB85"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:56 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 46f7ccb4-d01f-11e9-b13f-001a7dda7113 + x-ms-content-crc64: EZA9hgZaRrQ= + x-ms-request-id: a60a5fb0-101a-0035-2b2c-64fe2f000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/filetoupdate + - comp=range + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 47114838-d01f-11e9-b14a-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:53:56 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshare499915ba/filetoupdate?comp=rangelist + response: + body: + string: "\uFEFF0511" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:56 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432B37EB85"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:56 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Transfer-Encoding + : chunked + x-ms-client-request-id: 47114838-d01f-11e9-b14a-001a7dda7113 + x-ms-content-length: '2048' + x-ms-request-id: a60a5fb2-101a-0035-2d2c-64fe2f000000 + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/filetoupdate + - comp=rangelist + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 471f02b4-d01f-11e9-96b5-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:53:56 GMT + x-ms-range: + - bytes=0-511 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/utshare499915ba/filetoupdate + response: + body: + string: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '512' + ? !!python/object/new:multidict._istr.istr + - Content-Range + : bytes 0-511/2048 + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:53:56 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432B37EB85"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:53:56 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 471f02b4-d01f-11e9-96b5-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:53:56.3727156Z' + x-ms-file-creation-time: '2019-09-05T20:53:56.3727156Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-05T20:53:56.3727156Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: a60a5fb3-101a-0035-2e2c-64fe2f000000 + x-ms-server-encrypted: 'true' + x-ms-type: File + x-ms-version: '2019-02-02' + status: + code: 206 + message: Partial Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/filetoupdate + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 74b1d700-d01f-11e9-9e4b-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:13 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare499915ba?restype=share + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:13 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73243590CC218"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 74b1d700-d01f-11e9-9e4b-001a7dda7113 + x-ms-request-id: b518871c-701a-000c-6c2c-640533000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 74ee4a9e-d01f-11e9-bd8b-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Thu, 05 Sep 2019 20:55:13 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare499915ba/testfile + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:13 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73243594A4F4F"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 74ee4a9e-d01f-11e9-bd8b-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:55:13.8454351Z' + x-ms-file-creation-time: '2019-09-05T20:55:13.8454351Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-05T20:55:13.8454351Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-request-id: f5687f4f-a01a-000f-6f2c-64e457000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/testfile + - '' + - '' +- request: + body: !!binary | + xRibN/UZGIKZwfibTXD0DkG1rT8jVJBHkNrb1YzmJWxNd/oGLndne2N4cIZRoBnpUqhiJB6z4EQC + aApc/JFHiJb5KX4IbyoOPHN98cs0aGW27Ehn5+qhxDWl0aTG5gfE4FojD2g9KTTnflSHO5klORNg + ZaNk4JL9LuI6SFm48reqY15dm183R18tQONDMQA2uVb2WtlAovQWOXJn5oLdOpoYG89DuBURMovj + H3gu0y3jdRsce4szX8nAyRW2eMAXtFPNmXZaposjbqjisffn047K7F5pgrQygrR2zaOiuNGYWfBh + azvzmKattRqN8FigWSOH6IPBCUFbRgL+tx7WJOWxFtGoeD1w+7W3DAA5c9KZWOwLvhGYwcjxtkhF + k3mPzUJsFt7P1bWXQ/nXQ4YRKLuqmBwZZXy27nOuyrVGv+lgkzkNoLmSKYVAnglx1m5g6suy1hp5 + g9XC7OrysvBiFRYJ0cFOMkE6vJ5VGZ+6xkNum5bDvhgXImtEsLETrUBK2gt45nAL2K2GV6BBARaP + m205FUmTFEtM9n9nMsa6G0qGtISLDphWI2/T41Y1iKy3mSiqd+9g8YtLkSATu3EmaX1XFatNcaWE + nRRqVecGSLty3GLNULzTFdYvczhX7qaV357jNyMxe9/SGkNtrifiMFBR0scU6iDuKCXG8KvecRwy + mkeZGm34t8hUUYMXsd20VmSED2z7tfmTVJYmhEOA06qaeQrcSsvFf3vqx/IEVRxdqypilJp8lKkR + tTzKb5VznNeucKMfLDLNIIu/NHLolHWhYM4BtmjXMTgFVBbIgX1QoDOy+xE4gYKaW0aLl2aY63Jl + LP5oLRdDyYdoAbeN2UxcwuuGbbLGCin80V0PnD5haRHV84ZETjG1H7ZFumDy5OfUuY22bF29NeFX + aDfroJZ31EVqTYSHeIf1J9FMvulnGF6uFvLKrnFYM/ovk3b7I3IFZTc4emXZ8eQPwfATDvN7GL0R + EAwk38m7l8S8SY9AwD6MKLp5MBvW2tUEmS1QURv61f55Rz+ch1YgRqyJXjoVQ4kWYNKWoHwYkrl0 + M8o9mRxVU0wA63dKf2BCmBKnIHM62MwHLsVKj9kBWi3FDFI+GiGc6xG7miMtuTJ73iAPb+WWxYr4 + BQpefAYXmwXuSrrMvCnOqRwXHJySYR4taSBJ0oKkKkA4ybnV/NvlAqjwdd736sjJ8TiuqSeYd/5K + Xa9b9JmAyG17BTkeVxB585xf4Tis4sc2mWtVcYyY/MA96GP7T2FfuxlAuhMdTAMFGA8fSt0zS361 + 50dT8jzwkcmyXlGimjHtYzUiy6VVaOkcSE5h7wMIoDwa+aZcm5JElq24CS0w88HgaLKfFBciNg== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7523dbf4-d01f-11e9-9ee7-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:13 GMT + x-ms-range: + - bytes=0-1023 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare499915ba/testfile?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : MbTHUI6uUZBmFtPI3w5+lw== + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:13 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73243595858D8"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7523dbf4-d01f-11e9-9ee7-001a7dda7113 + x-ms-request-id: f5687f58-a01a-000f-772c-64e457000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/testfile + - comp=range + - '' +- request: + body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop + headers: + Content-Length: + - '512' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 7531dc1a-d01f-11e9-b559-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:14 GMT + x-ms-range: + - bytes=0-511 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare499915ba/testfile?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : pTsTLZHyQ+et6NksJ1OHxg== + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:13 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73243596689AD"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7531dc1a-d01f-11e9-b559-001a7dda7113 + x-ms-request-id: f5687f5d-a01a-000f-7c2c-64e457000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/testfile + - comp=range + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 75446d00-d01f-11e9-9997-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:14 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare499915ba?restype=share + response: + body: + string: "\uFEFFShareAlreadyExistsThe + specified share already exists.\nRequestId:f4fd2081-601a-002f-022c-649ff0000000\nTime:2019-09-05T20:55:14.3937190Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '222' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:13 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 75446d00-d01f-11e9-9997-001a7dda7113 + x-ms-error-code: ShareAlreadyExists + x-ms-request-id: f4fd2081-601a-002f-022c-649ff0000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The specified share already exists. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7579b04c-d01f-11e9-84f3-001a7dda7113 + x-ms-content-length: + - '2048' + x-ms-date: + - Thu, 05 Sep 2019 20:55:14 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare499915ba/filetoupdate + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:13 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7324359AE8F37"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7579b04c-d01f-11e9-84f3-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:55:14.5024311Z' + x-ms-file-creation-time: '2019-09-05T20:55:14.5024311Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-05T20:55:14.5024311Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-request-id: f5687f70-a01a-000f-0f2c-64e457000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/filetoupdate + - '' + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 75889a52-d01f-11e9-826f-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.file.core.windows.net/utshare499915ba/testfile?se=2019-09-05T21%3A55%3A14Z&sp=r&sv=2018-03-28&sr=f&sig=NwF3LITXLLFEOp64A/yJE4AUUTZr9WMh3u9UZ01Q4/0%3D + x-ms-date: + - Thu, 05 Sep 2019 20:55:14 GMT + x-ms-range: + - bytes=0-511 + x-ms-source-range: + - bytes=0-511 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare499915ba/filetoupdate?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:14 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7324359C8A6FD"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 75889a52-d01f-11e9-826f-001a7dda7113 + x-ms-content-crc64: EZA9hgZaRrQ= + x-ms-request-id: f5687f77-a01a-000f-162c-64e457000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/filetoupdate + - comp=range + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 75a20452-d01f-11e9-b70a-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:14 GMT + x-ms-version: + - '2019-02-02' + method: GET + uri: https://oauthstoragename.file.core.windows.net/utshare499915ba/filetoupdate?comp=rangelist + response: + body: + string: "\uFEFF0511" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:14 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7324359C8A6FD"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Transfer-Encoding + : chunked + x-ms-client-request-id: 75a20452-d01f-11e9-b70a-001a7dda7113 + x-ms-content-length: '2048' + x-ms-request-id: f5687f83-a01a-000f-222c-64e457000000 + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/filetoupdate + - comp=rangelist + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 75af6894-d01f-11e9-9889-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:14 GMT + x-ms-range: + - bytes=0-511 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://oauthstoragename.file.core.windows.net/utshare499915ba/filetoupdate + response: + body: + string: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop + headers: + ? !!python/object/new:multidict._istr.istr + - Accept-Ranges + : bytes + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '512' + ? !!python/object/new:multidict._istr.istr + - Content-Range + : bytes 0-511/2048 + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml; charset=utf-8 + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:14 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7324359C8A6FD"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:14 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 75af6894-d01f-11e9-9889-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:55:14.5024311Z' + x-ms-file-creation-time: '2019-09-05T20:55:14.5024311Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-05T20:55:14.5024311Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-lease-state: available + x-ms-lease-status: unlocked + x-ms-request-id: f5687f88-a01a-000f-272c-64e457000000 + x-ms-server-encrypted: 'true' + x-ms-type: File + x-ms-version: '2019-02-02' + status: + code: 206 + message: Partial Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare499915ba/filetoupdate + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_from_file_url_when_source_file_does_not_have_enough_bytes_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_from_file_url_when_source_file_does_not_have_enough_bytes_async.yaml new file mode 100644 index 000000000000..a6817b4bccf0 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_from_file_url_when_source_file_does_not_have_enough_bytes_async.yaml @@ -0,0 +1,886 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 49bdf324-d01f-11e9-b4e0-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:54:01 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare9c7527e2?restype=share + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:54:00 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432E1AFF97"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:54:01 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 49bdf324-d01f-11e9-b4e0-001a7dda7113 + x-ms-request-id: efb28fc6-f01a-002d-4d2c-642148000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2 + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 49fb9368-d01f-11e9-a057-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Thu, 05 Sep 2019 20:54:01 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare9c7527e2/testfile1 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:54:01 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432E584020"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:54:01 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 49fb9368-d01f-11e9-a057-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:54:01.7947680Z' + x-ms-file-creation-time: '2019-09-05T20:54:01.7947680Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-05T20:54:01.7947680Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-request-id: 5d030ff7-d01a-002a-6b2c-644d2b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2/testfile1 + - '' + - '' +- request: + body: !!binary | + 56Fh2QDdlo8KQfpUd1ZQNd+yGq/QAU+QoiFFoZfoZjj1PmLX3f4CwRlesXFuAu1o2QlSfUg69auu + qh7t6fU9i40lDIC9+QnrLbmxUTWLn0ZFMT6aCHyg72w1ig/bMtWEtw94NR0wAgJQv1iLulfZCDd5 + D1GF+9SQygXgKAz5lmnxTlOyj4p8cQ6a/F0SgUBgnAZtbvRL8ylyI1aR0kZe9H7ra3v1vuS9a7Z1 + sb5khMx5JjndB0gTUzEc1lDTSC2bVpmNVpQNtAQenIwZ/DuDffGeVN9qj/OfwXyWMKhb6h2hrIWA + ORSbhj0TVKF9d2YM7zi0n3ycdSsezlac+SCXz1XNdES16oCCfxxWQW86JjFiu01N1DRLG5T2aMkz + YH0tJpWnm71npB87smRkxM3JE+UkFd9Y9npUH9aM5F9ftAOZ/qREyEHVkBBzhyHuVAdbUM6wqa0h + pJ0nicpFgAt3yq23Zo38S4tRFmOre1zGjIlqVUCaBEHasYUij24Sm5FqZgoMUIMFYRpPT/l/XL5A + aXKnk3UEm8Lf1qOzBqa+SN88q8QLv9ICqOb0klrgaC9g68REqyw0VX1hvvDaBr5Kaqvdh+cXYswe + SrvtlutCt8L0PalNk1LXKs9U4YuKnapezROnsYkPfy6xeeVjCKjphdZHuXd0Zmlfp4Fq5obpwQoH + PB+td2zJuEqnnWswWw5KXYSk8BJlUHTsgfPL2jyRE1oyyOn3nCl5kN0rrHME9yYR6QTqk9n61tiS + Be4QszDppSdMywNPxzaXJb2oeo2aD6QBvELpVYedTNLUuwfRmqPhAX8V+ExMkfk8D2CTyy6/SndK + NNzYOaTprYP1s0svy1kEO2jWn7XZHuDqbRtf31H+fgJCRCfjUtCU3uRgFLmDhUMJNjrGcgUybvAm + OQxoSKoRzwSn4QXFRdGs1j1FjREBKuwMjzGs4t/dbqnvFAQfWYO3UdMR2Y1BHGmiqXUUleV/fv5s + L2KXg0RnkPOiph9nRkf49JVfjKjNHD2EZCY7cHNBriUH8tGTLpMut4dBZdVW+mRY0sN581wVkPBy + Z29EdZ35IvCR1dRycf0AQK17ulVSE9J5EM6qziTdCjTMRUCPS2a238ueH7BMmBf3G/bkWJcUp+Gx + oq41laiHNigi14tAf/zW4HUEBnD3QFA4qBcpwn+GK+YzNj+bF4h9zfZeAejdvyS/GMZqnUlpc7Z8 + fEoYzf3LRUPoGXDPY/PrxZCyfLxZkV04aSpxaxshdtFDfFI4Vp22V2zV8aStfAzyVUImj3DA6rHX + O8XaZ1YA8RJ+JiRXBJaqZShfISoDT8abv5Q70YlYedG5ApZqNkwenOLLYQzQY2UIrCzwglFVvA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 4a328340-d01f-11e9-8c30-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:54:01 GMT + x-ms-range: + - bytes=0-1023 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshare9c7527e2/testfile1?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : QW0/uajF74VumzpDlNNDGg== + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:54:01 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432E711F8F"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:54:01 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4a328340-d01f-11e9-8c30-001a7dda7113 + x-ms-request-id: 5d030ffd-d01a-002a-6f2c-644d2b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2/testfile1 + - comp=range + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4a51d0f6-d01f-11e9-a1a4-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:54:02 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare9c7527e2?restype=share + response: + body: + string: "\uFEFFShareAlreadyExistsThe + specified share already exists.\nRequestId:a60a5fb9-101a-0035-312c-64fe2f000000\nTime:2019-09-05T20:54:02.3593335Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '222' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:54:02 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4a51d0f6-d01f-11e9-a1a4-001a7dda7113 + x-ms-error-code: ShareAlreadyExists + x-ms-request-id: a60a5fb9-101a-0035-312c-64fe2f000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The specified share already exists. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2 + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4a8f9b1e-d01f-11e9-9a62-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Thu, 05 Sep 2019 20:54:02 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/utshare9c7527e2/filetoupdate + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:54:02 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432EC448CA"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:54:02 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4a8f9b1e-d01f-11e9-9a62-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:54:02.5027786Z' + x-ms-file-creation-time: '2019-09-05T20:54:02.5027786Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-05T20:54:02.5027786Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-request-id: 5d031003-d01a-002a-722c-644d2b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2/filetoupdate + - '' + - '' +- request: + body: !!binary | + 56Fh2QDdlo8KQfpUd1ZQNd+yGq/QAU+QoiFFoZfoZjj1PmLX3f4CwRlesXFuAu1o2QlSfUg69auu + qh7t6fU9i40lDIC9+QnrLbmxUTWLn0ZFMT6aCHyg72w1ig/bMtWEtw94NR0wAgJQv1iLulfZCDd5 + D1GF+9SQygXgKAz5lmnxTlOyj4p8cQ6a/F0SgUBgnAZtbvRL8ylyI1aR0kZe9H7ra3v1vuS9a7Z1 + sb5khMx5JjndB0gTUzEc1lDTSC2bVpmNVpQNtAQenIwZ/DuDffGeVN9qj/OfwXyWMKhb6h2hrIWA + ORSbhj0TVKF9d2YM7zi0n3ycdSsezlac+SCXz1XNdES16oCCfxxWQW86JjFiu01N1DRLG5T2aMkz + YH0tJpWnm71npB87smRkxM3JE+UkFd9Y9npUH9aM5F9ftAOZ/qREyEHVkBBzhyHuVAdbUM6wqa0h + pJ0nicpFgAt3yq23Zo38S4tRFmOre1zGjIlqVUCaBEHasYUij24Sm5FqZgoMUIMFYRpPT/l/XL5A + aXKnk3UEm8Lf1qOzBqa+SN88q8QLv9ICqOb0klrgaC9g68REqyw0VX1hvvDaBr5Kaqvdh+cXYswe + SrvtlutCt8L0PalNk1LXKs9U4YuKnapezROnsYkPfy6xeeVjCKjphdZHuXd0Zmlfp4Fq5obpwQoH + PB+td2zJuEqnnWswWw5KXYSk8BJlUHTsgfPL2jyRE1oyyOn3nCl5kN0rrHME9yYR6QTqk9n61tiS + Be4QszDppSdMywNPxzaXJb2oeo2aD6QBvELpVYedTNLUuwfRmqPhAX8V+ExMkfk8D2CTyy6/SndK + NNzYOaTprYP1s0svy1kEO2jWn7XZHuDqbRtf31H+fgJCRCfjUtCU3uRgFLmDhUMJNjrGcgUybvAm + OQxoSKoRzwSn4QXFRdGs1j1FjREBKuwMjzGs4t/dbqnvFAQfWYO3UdMR2Y1BHGmiqXUUleV/fv5s + L2KXg0RnkPOiph9nRkf49JVfjKjNHD2EZCY7cHNBriUH8tGTLpMut4dBZdVW+mRY0sN581wVkPBy + Z29EdZ35IvCR1dRycf0AQK17ulVSE9J5EM6qziTdCjTMRUCPS2a238ueH7BMmBf3G/bkWJcUp+Gx + oq41laiHNigi14tAf/zW4HUEBnD3QFA4qBcpwn+GK+YzNj+bF4h9zfZeAejdvyS/GMZqnUlpc7Z8 + fEoYzf3LRUPoGXDPY/PrxZCyfLxZkV04aSpxaxshdtFDfFI4Vp22V2zV8aStfAzyVUImj3DA6rHX + O8XaZ1YA8RJ+JiRXBJaqZShfISoDT8abv5Q70YlYedG5ApZqNkwenOLLYQzQY2UIrCzwglFVvA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 4a9df9b0-d01f-11e9-b357-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:54:02 GMT + x-ms-range: + - bytes=0-1023 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshare9c7527e2/filetoupdate?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : QW0/uajF74VumzpDlNNDGg== + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:54:02 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D732432ED2A088"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:54:02 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4a9df9b0-d01f-11e9-b357-001a7dda7113 + x-ms-request-id: 5d031005-d01a-002a-742c-644d2b000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2/filetoupdate + - comp=range + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 4aac06cc-d01f-11e9-8271-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.file.core.windows.net/utshare9c7527e2/testfile1?sv=2018-03-28&sr=f&sig=ikNcnVTFuJPKIsSkelBHslQGsnxFolkIG8P50pYYF9k%3D + x-ms-date: + - Thu, 05 Sep 2019 20:54:02 GMT + x-ms-range: + - bytes=0-2049 + x-ms-source-range: + - bytes=0-2049 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://storagename.file.core.windows.net/utshare9c7527e2/filetoupdate?comp=range + response: + body: + string: "\uFEFFCannotVerifyCopySourceServer + failed to authenticate the request. Make sure the value of Authorization header + is formed correctly including the signature.\nRequestId:5d031006-d01a-002a-752c-644d2b000000\nTime:2019-09-05T20:54:02.8714945Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '322' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:54:02 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 4aac06cc-d01f-11e9-8271-001a7dda7113 + x-ms-error-code: CannotVerifyCopySource + x-ms-request-id: 5d031006-d01a-002a-752c-644d2b000000 + x-ms-version: '2019-02-02' + status: + code: 403 + message: Server failed to authenticate the request. Make sure the value of Authorization + header is formed correctly including the signature. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2/filetoupdate + - comp=range + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 72efea08-d01f-11e9-adbe-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:10 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare9c7527e2?restype=share + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:10 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7324357757D8D"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:10 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 72efea08-d01f-11e9-adbe-001a7dda7113 + x-ms-request-id: 07330bc0-301a-000d-392c-645aef000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2 + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 73528ae4-d01f-11e9-938f-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Thu, 05 Sep 2019 20:55:10 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare9c7527e2/testfile1 + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:11 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7324357ADDC1A"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 73528ae4-d01f-11e9-938f-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:55:11.1424026Z' + x-ms-file-creation-time: '2019-09-05T20:55:11.1424026Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-05T20:55:11.1424026Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-request-id: 7b28301a-601a-003f-082c-645a98000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2/testfile1 + - '' + - '' +- request: + body: !!binary | + 56Fh2QDdlo8KQfpUd1ZQNd+yGq/QAU+QoiFFoZfoZjj1PmLX3f4CwRlesXFuAu1o2QlSfUg69auu + qh7t6fU9i40lDIC9+QnrLbmxUTWLn0ZFMT6aCHyg72w1ig/bMtWEtw94NR0wAgJQv1iLulfZCDd5 + D1GF+9SQygXgKAz5lmnxTlOyj4p8cQ6a/F0SgUBgnAZtbvRL8ylyI1aR0kZe9H7ra3v1vuS9a7Z1 + sb5khMx5JjndB0gTUzEc1lDTSC2bVpmNVpQNtAQenIwZ/DuDffGeVN9qj/OfwXyWMKhb6h2hrIWA + ORSbhj0TVKF9d2YM7zi0n3ycdSsezlac+SCXz1XNdES16oCCfxxWQW86JjFiu01N1DRLG5T2aMkz + YH0tJpWnm71npB87smRkxM3JE+UkFd9Y9npUH9aM5F9ftAOZ/qREyEHVkBBzhyHuVAdbUM6wqa0h + pJ0nicpFgAt3yq23Zo38S4tRFmOre1zGjIlqVUCaBEHasYUij24Sm5FqZgoMUIMFYRpPT/l/XL5A + aXKnk3UEm8Lf1qOzBqa+SN88q8QLv9ICqOb0klrgaC9g68REqyw0VX1hvvDaBr5Kaqvdh+cXYswe + SrvtlutCt8L0PalNk1LXKs9U4YuKnapezROnsYkPfy6xeeVjCKjphdZHuXd0Zmlfp4Fq5obpwQoH + PB+td2zJuEqnnWswWw5KXYSk8BJlUHTsgfPL2jyRE1oyyOn3nCl5kN0rrHME9yYR6QTqk9n61tiS + Be4QszDppSdMywNPxzaXJb2oeo2aD6QBvELpVYedTNLUuwfRmqPhAX8V+ExMkfk8D2CTyy6/SndK + NNzYOaTprYP1s0svy1kEO2jWn7XZHuDqbRtf31H+fgJCRCfjUtCU3uRgFLmDhUMJNjrGcgUybvAm + OQxoSKoRzwSn4QXFRdGs1j1FjREBKuwMjzGs4t/dbqnvFAQfWYO3UdMR2Y1BHGmiqXUUleV/fv5s + L2KXg0RnkPOiph9nRkf49JVfjKjNHD2EZCY7cHNBriUH8tGTLpMut4dBZdVW+mRY0sN581wVkPBy + Z29EdZ35IvCR1dRycf0AQK17ulVSE9J5EM6qziTdCjTMRUCPS2a238ueH7BMmBf3G/bkWJcUp+Gx + oq41laiHNigi14tAf/zW4HUEBnD3QFA4qBcpwn+GK+YzNj+bF4h9zfZeAejdvyS/GMZqnUlpc7Z8 + fEoYzf3LRUPoGXDPY/PrxZCyfLxZkV04aSpxaxshdtFDfFI4Vp22V2zV8aStfAzyVUImj3DA6rHX + O8XaZ1YA8RJ+JiRXBJaqZShfISoDT8abv5Q70YlYedG5ApZqNkwenOLLYQzQY2UIrCzwglFVvA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 73874428-d01f-11e9-89ce-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:11 GMT + x-ms-range: + - bytes=0-1023 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare9c7527e2/testfile1?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : QW0/uajF74VumzpDlNNDGg== + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:11 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7324357BB7104"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 73874428-d01f-11e9-89ce-001a7dda7113 + x-ms-request-id: 7b28301c-601a-003f-092c-645a98000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2/testfile1 + - comp=range + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 7396a1d2-d01f-11e9-9cd9-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:11 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare9c7527e2?restype=share + response: + body: + string: "\uFEFFShareAlreadyExistsThe + specified share already exists.\nRequestId:7016fe35-401a-0038-2b2c-6436fb000000\nTime:2019-09-05T20:55:11.5755015Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '222' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 7396a1d2-d01f-11e9-9cd9-001a7dda7113 + x-ms-error-code: ShareAlreadyExists + x-ms-request-id: 7016fe35-401a-0038-2b2c-6436fb000000 + x-ms-version: '2019-02-02' + status: + code: 409 + message: The specified share already exists. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2 + - restype=share + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 73ca38ae-d01f-11e9-a364-001a7dda7113 + x-ms-content-length: + - '1024' + x-ms-date: + - Thu, 05 Sep 2019 20:55:11 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare9c7527e2/filetoupdate + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:11 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D7324357FEBB59"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 73ca38ae-d01f-11e9-a364-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-05T20:55:11.6724057Z' + x-ms-file-creation-time: '2019-09-05T20:55:11.6724057Z' + x-ms-file-id: '11529285414812647424' + x-ms-file-last-write-time: '2019-09-05T20:55:11.6724057Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 16864655153240182536*4804112389554988934 + x-ms-request-id: 7b28301e-601a-003f-0a2c-645a98000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2/filetoupdate + - '' + - '' +- request: + body: !!binary | + 56Fh2QDdlo8KQfpUd1ZQNd+yGq/QAU+QoiFFoZfoZjj1PmLX3f4CwRlesXFuAu1o2QlSfUg69auu + qh7t6fU9i40lDIC9+QnrLbmxUTWLn0ZFMT6aCHyg72w1ig/bMtWEtw94NR0wAgJQv1iLulfZCDd5 + D1GF+9SQygXgKAz5lmnxTlOyj4p8cQ6a/F0SgUBgnAZtbvRL8ylyI1aR0kZe9H7ra3v1vuS9a7Z1 + sb5khMx5JjndB0gTUzEc1lDTSC2bVpmNVpQNtAQenIwZ/DuDffGeVN9qj/OfwXyWMKhb6h2hrIWA + ORSbhj0TVKF9d2YM7zi0n3ycdSsezlac+SCXz1XNdES16oCCfxxWQW86JjFiu01N1DRLG5T2aMkz + YH0tJpWnm71npB87smRkxM3JE+UkFd9Y9npUH9aM5F9ftAOZ/qREyEHVkBBzhyHuVAdbUM6wqa0h + pJ0nicpFgAt3yq23Zo38S4tRFmOre1zGjIlqVUCaBEHasYUij24Sm5FqZgoMUIMFYRpPT/l/XL5A + aXKnk3UEm8Lf1qOzBqa+SN88q8QLv9ICqOb0klrgaC9g68REqyw0VX1hvvDaBr5Kaqvdh+cXYswe + SrvtlutCt8L0PalNk1LXKs9U4YuKnapezROnsYkPfy6xeeVjCKjphdZHuXd0Zmlfp4Fq5obpwQoH + PB+td2zJuEqnnWswWw5KXYSk8BJlUHTsgfPL2jyRE1oyyOn3nCl5kN0rrHME9yYR6QTqk9n61tiS + Be4QszDppSdMywNPxzaXJb2oeo2aD6QBvELpVYedTNLUuwfRmqPhAX8V+ExMkfk8D2CTyy6/SndK + NNzYOaTprYP1s0svy1kEO2jWn7XZHuDqbRtf31H+fgJCRCfjUtCU3uRgFLmDhUMJNjrGcgUybvAm + OQxoSKoRzwSn4QXFRdGs1j1FjREBKuwMjzGs4t/dbqnvFAQfWYO3UdMR2Y1BHGmiqXUUleV/fv5s + L2KXg0RnkPOiph9nRkf49JVfjKjNHD2EZCY7cHNBriUH8tGTLpMut4dBZdVW+mRY0sN581wVkPBy + Z29EdZ35IvCR1dRycf0AQK17ulVSE9J5EM6qziTdCjTMRUCPS2a238ueH7BMmBf3G/bkWJcUp+Gx + oq41laiHNigi14tAf/zW4HUEBnD3QFA4qBcpwn+GK+YzNj+bF4h9zfZeAejdvyS/GMZqnUlpc7Z8 + fEoYzf3LRUPoGXDPY/PrxZCyfLxZkV04aSpxaxshdtFDfFI4Vp22V2zV8aStfAzyVUImj3DA6rHX + O8XaZ1YA8RJ+JiRXBJaqZShfISoDT8abv5Q70YlYedG5ApZqNkwenOLLYQzQY2UIrCzwglFVvA== + headers: + Content-Length: + - '1024' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 73d812ee-d01f-11e9-aedb-001a7dda7113 + x-ms-date: + - Thu, 05 Sep 2019 20:55:11 GMT + x-ms-range: + - bytes=0-1023 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare9c7527e2/filetoupdate?comp=range + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Content-Md5 + : QW0/uajF74VumzpDlNNDGg== + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:11 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D73243580C770F"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Thu, 05 Sep 2019 20:55:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 73d812ee-d01f-11e9-aedb-001a7dda7113 + x-ms-request-id: 7b28301f-601a-003f-0b2c-645a98000000 + x-ms-request-server-encrypted: 'true' + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2/filetoupdate + - comp=range + - '' +- request: + body: null + headers: + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 73e54f2c-d01f-11e9-b47c-001a7dda7113 + x-ms-copy-source: + - https://emilystageaccount.file.core.windows.net/utshare9c7527e2/testfile1?sv=2018-03-28&sr=f&sig=ikNcnVTFuJPKIsSkelBHslQGsnxFolkIG8P50pYYF9k%3D + x-ms-date: + - Thu, 05 Sep 2019 20:55:11 GMT + x-ms-range: + - bytes=0-2049 + x-ms-source-range: + - bytes=0-2049 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://oauthstoragename.file.core.windows.net/utshare9c7527e2/filetoupdate?comp=range + response: + body: + string: "\uFEFFCannotVerifyCopySourceServer + failed to authenticate the request. Make sure the value of Authorization header + is formed correctly including the signature.\nRequestId:7b283020-601a-003f-0c2c-645a98000000\nTime:2019-09-05T20:55:12.0322633Z" + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '322' + ? !!python/object/new:multidict._istr.istr + - Content-Type + : application/xml + ? !!python/object/new:multidict._istr.istr + - Date + : Thu, 05 Sep 2019 20:55:11 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 73e54f2c-d01f-11e9-b47c-001a7dda7113 + x-ms-error-code: CannotVerifyCopySource + x-ms-request-id: 7b283020-601a-003f-0c2c-645a98000000 + x-ms-version: '2019-02-02' + status: + code: 403 + message: Server failed to authenticate the request. Make sure the value of Authorization + header is formed correctly including the signature. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilystageaccount.file.core.windows.net + - /utshare9c7527e2/filetoupdate + - comp=range + - '' +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_with_md5_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_with_md5_async.yaml index a38d2918c384..e4a3cd532845 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_with_md5_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_async.test_update_range_with_md5_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - db00a286-b639-11e9-8fd9-2816a845e8c6 + - a7d2730a-d064-11e9-a0b1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:41 GMT + - Fri, 06 Sep 2019 05:10:34 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharee0321376?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:40 GMT + : Fri, 06 Sep 2019 05:10:35 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBEA9E9FA"' + : '"0x8D732888C93BA14"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:40 GMT + : Fri, 06 Sep 2019 05:10:35 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: a2cf65c6-701a-000e-2846-4a880b000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: a7d2730a-d064-11e9-a0b1-001a7dda7113 + x-ms-request-id: 2f86d847-a01a-002e-5871-6401e3000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee0321376 - restype=share - '' @@ -50,19 +51,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - db437d9c-b639-11e9-b745-2816a845e8c6 + - a8d8af76-d064-11e9-9720-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:58:41 GMT + - Fri, 06 Sep 2019 05:10:35 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharee0321376/filee0321376 response: @@ -74,19 +83,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:40 GMT + : Fri, 06 Sep 2019 05:10:35 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBEF8E2DA"' + : '"0x8D732888D0AFFA2"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:41 GMT + : Fri, 06 Sep 2019 05:10:35 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e2e9e73-b01a-0031-4146-4a3fd7000000 + x-ms-client-request-id: a8d8af76-d064-11e9-9720-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T05:10:35.9463842Z' + x-ms-file-creation-time: '2019-09-06T05:10:35.9463842Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T05:10:35.9463842Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: f9c6d9fd-201a-007d-0571-6422d7000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -94,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee0321376/filee0321376 - '' - '' @@ -124,15 +141,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - db9a6852-b639-11e9-80ef-2816a845e8c6 + - a8e244b4-d064-11e9-a9e5-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:42 GMT + - Fri, 06 Sep 2019 05:10:36 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -149,19 +166,20 @@ interactions: : YsM43v2Melvm7+vx6Mn+Zg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:41 GMT + : Fri, 06 Sep 2019 05:10:35 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBF1F5D98"' + : '"0x8D732888D0F1F56"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:41 GMT + : Fri, 06 Sep 2019 05:10:35 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e2e9e75-b01a-0031-4246-4a3fd7000000 + x-ms-client-request-id: a8e244b4-d064-11e9-a9e5-001a7dda7113 + x-ms-request-id: f9c6d9ff-201a-007d-0771-6422d7000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -169,7 +187,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee0321376/filee0321376 - comp=range - '' @@ -183,15 +201,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - dbb9bb5a-b639-11e9-a321-2816a845e8c6 + - a8e59f06-d064-11e9-b873-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:58:42 GMT + - Fri, 06 Sep 2019 05:10:36 GMT x-ms-range: - bytes=0-511 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -208,19 +226,20 @@ interactions: : pTsTLZHyQ+et6NksJ1OHxg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 21:58:41 GMT + : Fri, 06 Sep 2019 05:10:35 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185DBF3DE7A3"' + : '"0x8D732888D1190ED"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 21:58:41 GMT + : Fri, 06 Sep 2019 05:10:35 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e2e9e77-b01a-0031-4346-4a3fd7000000 + x-ms-client-request-id: a8e59f06-d064-11e9-b873-001a7dda7113 + x-ms-request-id: f9c6da00-201a-007d-0871-6422d7000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -228,240 +247,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net - - /utsharee0321376/filee0321376 - - comp=range - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 711241ba-b63b-11e9-aaaf-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:10:02 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee0321376?restype=share - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:10:01 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F54CCBF8A"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:10:01 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: be4dc90b-f01a-0014-6248-4aa764000000 - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharee0321376 - - restype=share - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 715e415a-b63b-11e9-9a79-2816a845e8c6 - x-ms-content-length: - - '1024' - x-ms-date: - - Sat, 03 Aug 2019 22:10:03 GMT - x-ms-type: - - file - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://storagename.file.core.windows.net/utsharee0321376/filee0321376 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:10:02 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F5512D69A"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:10:02 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c8b13b51-f01a-0036-0a48-4ac952000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharee0321376/filee0321376 - - '' - - '' -- request: - body: !!binary | - 0gmiVW2jfKvXna28Z9yrELMJtd9KZM/qjXUiEAd2K/uTjHDNt9hmQtfWRowR5RbX7ptParK6+SXT - s1/k/OYsYulzQVFaEcKZcHn85LKQL3MQFI9RhQ5dSh3mMew4EAOtGiWigkhD/AMM32wqhQ9MxXL0 - i3ktQMZeeNVSFYjKKTEy/U/PpX8ZkcBnZmaFDFOYoqQynLdqtJ/45iyPiRLcSAlJsoraQqxNQ1I9 - KqAMFwU6YjYENbhkiMYy/s/lFLxspbGZId/Am5IrQhdA2L4rLoWFs9YiKc/uA/pwgHGiRPODCEx8 - FHoELPBUCzIz7gmwPP1filAZgTtRuWDTqWYxOlasnrmauzSolHk/IU4Tke05Kp0LRord4w29OCVt - aRVhYW7Xl7C9HBegzV9/OZ4uPCVSUi/RRWq8j4zSe7r+Ya4a7N6E9cPVN56z9VMleNFfs2iK9BKu - 5I7Bvp2HY5Qc2LT8dM5f14qsrhHj7HnFgqIx5swgo+On1kr3fjBAsoGckEIpvuhYf0BLyMikf+Ml - 3AxkAAwsGK6x/rxi5bYJM39/mRTLuhWBQq9hpaRVqMTj95Eo5PfPgQNcaWFP/NtLvG0x6v1gm5B3 - 2/lx0EJcRrWXh8Crd2ZbWl5T/Kat5wel5oi0ePTkvCJqRYJ8rlKqo9mRQFsPeshoW0em0qjWEMyl - luyBOgr7a9sXw1t1IsfNfHvqJyizRTj+uk7DzLJoMq6nxm07L64FfdTsR5MsnSLWeH2MOktI3DBy - 7WKUnl0LC0kdvyFjlv5hfxg5KpikW5q8gnpgwNiuJL+BzY93Xg4yCdHwbWK19uFawYAK9WG2pe54 - 7cUCGz2ILQ5iBhJ5od7+RCO88Qm5+iB4F++ETG/jkDYX1zcVgSMCZt+10e8itNxzlUqm4IEr3gkq - l9GaISywEHNLqD2PKRzrRWGZwfdxgPj0OffH9+TzXi0MMGthDwwfhDEPuLU3Rz7S9Q0w96yW3i5Z - ItQTdfzbWNzgi3sCyEmM5Wxtbs/W4bJaFSFLw9Mno0fyN2YD6GTfqJpo163pPBH2EsY6/L4+hdcM - gNRVSemm3bArPfVoPERVKl0IZag+jzmwq5e3L9ecBIJMfOaPpo97k4h+VZBToRQibOIotTyOY/T+ - Shu13rN1L08pht2Wy3Y6Q17EAhacQ4lDQ00T3utoiEM1W8l8FGDk1hAs+py5Cky15oP4ExpqPvXU - 5RC4cy/+DOWChG/WRUSd8zTmTryCH82zds7cHpwqzNICs4+GBzsRkJ3ylREWQartVRNgYXw9iBzP - BpOZclVK+2KIgtYwYMCvhWQVHBtPs+TgGDTz4MrAwlLVeWOK5V1EptyXnYQX5xsZB5Hnn/lAWg== - headers: - Content-Length: - - '1024' - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 71989092-b63b-11e9-bb27-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:10:03 GMT - x-ms-range: - - bytes=0-1023 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharee0321376/filee0321376?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : YsM43v2Melvm7+vx6Mn+Zg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:10:02 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F551BD8EB"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:10:02 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c8b13b53-f01a-0036-0b48-4ac952000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net - - /utsharee0321376/filee0321376 - - comp=range - - '' -- request: - body: abcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnopabcdefghijklmnop - headers: - Content-Length: - - '512' - Content-MD5: - - pTsTLZHyQ+et6NksJ1OHxg== - Content-Type: - - application/octet-stream - User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 71a13dfe-b63b-11e9-8372-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 22:10:03 GMT - x-ms-range: - - bytes=0-511 - x-ms-version: - - '2018-11-09' - x-ms-write: - - update - method: PUT - uri: https://storagename.file.core.windows.net/utsharee0321376/filee0321376?comp=range - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Content-Md5 - : pTsTLZHyQ+et6NksJ1OHxg== - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 22:10:02 GMT - ? !!python/object/new:multidict._istr.istr - - Etag - : '"0x8D7185F55250252"' - ? !!python/object/new:multidict._istr.istr - - Last-Modified - : Sat, 03 Aug 2019 22:10:02 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c8b13b54-f01a-0036-0c48-4ac952000000 - x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee0321376/filee0321376 - comp=range - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_file_samples_file.test_file_operations.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_file_samples_file.test_file_operations.yaml index f434026d16fd..6774f52a1f27 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_file_samples_file.test_file_operations.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_file_samples_file.test_file_operations.yaml @@ -1,3 +1,4 @@ + interactions: - request: body: null @@ -371,4 +372,448 @@ interactions: status: code: 202 message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 24761282-d295-11e9-8a0c-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 00:02:41 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://emilydevtest.file.core.windows.net/filesshare?restype=share + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Mon, 09 Sep 2019 00:02:41 GMT + ETag: + - '"0x8D734B908C2F732"' + Last-Modified: + - Mon, 09 Sep 2019 00:02:41 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 24761282-d295-11e9-8a0c-001a7dda7113 + x-ms-request-id: + - 7d0cfb0a-b01a-001d-41a1-665e48000000 + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 24955b68-d295-11e9-ad7e-001a7dda7113 + x-ms-content-length: + - '100' + x-ms-date: + - Mon, 09 Sep 2019 00:02:41 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://emilydevtest.file.core.windows.net/filesshare/myfile + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Mon, 09 Sep 2019 00:02:41 GMT + ETag: + - '"0x8D734B908CC3CB3"' + Last-Modified: + - Mon, 09 Sep 2019 00:02:41 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 24955b68-d295-11e9-ad7e-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-09T00:02:41.7411251Z' + x-ms-file-creation-time: + - '2019-09-09T00:02:41.7411251Z' + x-ms-file-id: + - '13835128424026341376' + x-ms-file-last-write-time: + - '2019-09-09T00:02:41.7411251Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 + x-ms-request-id: + - 7d0cfb0d-b01a-001d-42a1-665e48000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 249d520c-d295-11e9-9cdd-001a7dda7113 + x-ms-content-length: + - '55' + x-ms-date: + - Mon, 09 Sep 2019 00:02:41 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://emilydevtest.file.core.windows.net/filesshare/myfile2 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Mon, 09 Sep 2019 00:02:41 GMT + ETag: + - '"0x8D734B908D89BB9"' + Last-Modified: + - Mon, 09 Sep 2019 00:02:41 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 249d520c-d295-11e9-9cdd-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-09T00:02:41.8222009Z' + x-ms-file-creation-time: + - '2019-09-09T00:02:41.8222009Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-09T00:02:41.8222009Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 + x-ms-request-id: + - 7d0cfb0e-b01a-001d-43a1-665e48000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: Lorem ipsum dolor sit amet, consectetur adipiscing elit + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '55' + Content-Type: + - application/octet-stream + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 24a9ac52-d295-11e9-8cc9-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 00:02:41 GMT + x-ms-range: + - bytes=0-54 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://emilydevtest.file.core.windows.net/filesshare/myfile2?comp=range + response: + body: + string: '' + headers: + Content-Length: + - '0' + Content-MD5: + - /BCgjff6+jhxFmZGYJ4clQ== + Date: + - Mon, 09 Sep 2019 00:02:41 GMT + ETag: + - '"0x8D734B908E2FE7A"' + Last-Modified: + - Mon, 09 Sep 2019 00:02:41 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 24a9ac52-d295-11e9-8cc9-001a7dda7113 + x-ms-request-id: + - 7d0cfb0f-b01a-001d-44a1-665e48000000 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 24b39aae-d295-11e9-b95d-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 00:02:41 GMT + x-ms-range: + - bytes=0-33554431 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://emilydevtest.file.core.windows.net/filesshare/myfile2 + response: + body: + string: Lorem ipsum dolor sit amet, consectetur adipiscing elit + headers: + Accept-Ranges: + - bytes + Content-Length: + - '55' + Content-Range: + - bytes 0-54/55 + Content-Type: + - application/xml; charset=utf-8 + Date: + - Mon, 09 Sep 2019 00:02:41 GMT + ETag: + - '"0x8D734B908E2FE7A"' + Last-Modified: + - Mon, 09 Sep 2019 00:02:41 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 24b39aae-d295-11e9-b95d-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-09T00:02:41.8222009Z' + x-ms-file-creation-time: + - '2019-09-09T00:02:41.8222009Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2019-09-09T00:02:41.8222009Z' + x-ms-file-parent-id: + - '0' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 + x-ms-request-id: + - 7d0cfb10-b01a-001d-45a1-665e48000000 + x-ms-server-encrypted: + - 'true' + x-ms-type: + - File + x-ms-version: + - '2019-02-02' + status: + code: 206 + message: Partial Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 24bbbdb6-d295-11e9-8259-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 00:02:41 GMT + x-ms-version: + - '2019-02-02' + method: DELETE + uri: https://emilydevtest.file.core.windows.net/filesshare/myfile + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Mon, 09 Sep 2019 00:02:41 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 24bbbdb6-d295-11e9-8259-001a7dda7113 + x-ms-request-id: + - 7d0cfb11-b01a-001d-46a1-665e48000000 + x-ms-version: + - '2019-02-02' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 24c2615c-d295-11e9-86fe-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 00:02:42 GMT + x-ms-version: + - '2019-02-02' + method: DELETE + uri: https://emilydevtest.file.core.windows.net/filesshare/myfile2 + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Mon, 09 Sep 2019 00:02:41 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 24c2615c-d295-11e9-86fe-001a7dda7113 + x-ms-request-id: + - 7d0cfb12-b01a-001d-47a1-665e48000000 + x-ms-version: + - '2019-02-02' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 24cbc5a6-d295-11e9-928b-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 00:02:42 GMT + x-ms-version: + - '2019-02-02' + method: DELETE + uri: https://emilydevtest.file.core.windows.net/filesshare?restype=share + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Mon, 09 Sep 2019 00:02:44 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - 24cbc5a6-d295-11e9-928b-001a7dda7113 + x-ms-request-id: + - 7d0cfb13-b01a-001d-48a1-665e48000000 + x-ms-version: + - '2019-02-02' + status: + code: 202 + message: Accepted version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_exact_get_size.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_exact_get_size.yaml index e7098894b89c..a5d991758c71 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_exact_get_size.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_exact_get_size.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - c9b0b8b0-b636-11e9-b72a-2816a845e8c6 + - c5a8a44a-d052-11e9-9afc-001a7dda7113 x-ms-content-length: - '32768' x-ms-date: - - Sat, 03 Aug 2019 21:36:43 GMT + - Fri, 06 Sep 2019 03:02:33 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare6e7c1118/utdir6e7c1118/file6e7c1118 response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:36:42 GMT + - Fri, 06 Sep 2019 03:02:32 GMT ETag: - - '"0x8D7185AAD687BC3"' + - '"0x8D73276A9EDE547"' Last-Modified: - - Sat, 03 Aug 2019 21:36:43 GMT + - Fri, 06 Sep 2019 03:02:33 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c5a8a44a-d052-11e9-9afc-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:33.4684487Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:33.4684487Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:33.4684487Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - b5b2934c-101a-003c-3a43-4ad0db000000 + - 29424e5a-901a-009c-725f-64fe92000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -638,15 +662,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - c9f0defe-b636-11e9-aa30-2816a845e8c6 + - c5c2c1c2-d052-11e9-8ba1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:44 GMT + - Fri, 06 Sep 2019 03:02:33 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -660,19 +684,21 @@ interactions: Content-MD5: - EwnzLfRkla3TYFWgu5jH2A== Date: - - Sat, 03 Aug 2019 21:36:42 GMT + - Fri, 06 Sep 2019 03:02:32 GMT ETag: - - '"0x8D7185AAD8865A0"' + - '"0x8D73276A9F959C1"' Last-Modified: - - Sat, 03 Aug 2019 21:36:43 GMT + - Fri, 06 Sep 2019 03:02:33 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c5c2c1c2-d052-11e9-8ba1-001a7dda7113 x-ms-request-id: - - b5b2934e-101a-003c-3b43-4ad0db000000 + - 29424e5c-901a-009c-735f-64fe92000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -686,17 +712,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ca0c6ff6-b636-11e9-8a19-2816a845e8c6 + - c5ce0b9e-d052-11e9-889a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:44 GMT + - Fri, 06 Sep 2019 03:02:33 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare6e7c1118/utdir6e7c1118/file6e7c1118 response: @@ -1287,23 +1313,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:42 GMT + - Fri, 06 Sep 2019 03:02:32 GMT ETag: - - '"0x8D7185AAD8865A0"' + - '"0x8D73276A9F959C1"' Last-Modified: - - Sat, 03 Aug 2019 21:36:43 GMT + - Fri, 06 Sep 2019 03:02:33 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c5ce0b9e-d052-11e9-889a-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:33.4684487Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:33.4684487Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:33.4684487Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - b5b2934f-101a-003c-3c43-4ad0db000000 + - 29424e5e-901a-009c-755f-64fe92000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_no_content.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_no_content.yaml index 174e00fc9bff..c22627408835 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_no_content.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_no_content.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cb43fb5a-b636-11e9-82d3-2816a845e8c6 + - c66339ca-d052-11e9-95f4-001a7dda7113 x-ms-content-length: - '0' x-ms-date: - - Sat, 03 Aug 2019 21:36:46 GMT + - Fri, 06 Sep 2019 03:02:34 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare2d0b0f81/utdir2d0b0f81/file2d0b0f81 response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:36:45 GMT + - Fri, 06 Sep 2019 03:02:34 GMT ETag: - - '"0x8D7185AAEFE5936"' + - '"0x8D73276AAA75048"' Last-Modified: - - Sat, 03 Aug 2019 21:36:45 GMT + - Fri, 06 Sep 2019 03:02:34 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c66339ca-d052-11e9-95f4-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:34.6836040Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:34.6836040Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:34.6836040Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 03457adf-c01a-0094-5b43-4a04ce000000 + - e729e9be-b01a-00b4-185f-649f3a000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -59,23 +83,23 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cb877990-b636-11e9-bd69-2816a845e8c6 + - c67bdbee-d052-11e9-a14b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:47 GMT + - Fri, 06 Sep 2019 03:02:34 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare2d0b0f81/utdir2d0b0f81/file2d0b0f81 response: body: string: "\uFEFFInvalidRangeThe - range specified is invalid for the current size of the resource.\nRequestId:03457ae1-c01a-0094-5c43-4a04ce000000\nTime:2019-08-03T21:36:45.9813844Z" + range specified is invalid for the current size of the resource.\nRequestId:e729e9c0-b01a-00b4-195f-649f3a000000\nTime:2019-09-06T03:02:34.7287991Z" headers: Content-Length: - '249' @@ -84,17 +108,17 @@ interactions: Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:36:45 GMT + - Fri, 06 Sep 2019 03:02:34 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c67bdbee-d052-11e9-a14b-001a7dda7113 x-ms-error-code: - InvalidRange x-ms-request-id: - - 03457ae1-c01a-0094-5c43-4a04ce000000 + - e729e9c0-b01a-00b4-195f-649f3a000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 416 message: The range specified is invalid for the current size of the resource. @@ -108,15 +132,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cba68e8a-b636-11e9-bbfe-2816a845e8c6 + - c68265cc-d052-11e9-ab38-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:47 GMT + - Fri, 06 Sep 2019 03:02:34 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare2d0b0f81/utdir2d0b0f81/file2d0b0f81 response: @@ -130,23 +154,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:45 GMT + - Fri, 06 Sep 2019 03:02:34 GMT ETag: - - '"0x8D7185AAEFE5936"' + - '"0x8D73276AAA75048"' Last-Modified: - - Sat, 03 Aug 2019 21:36:45 GMT + - Fri, 06 Sep 2019 03:02:34 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c68265cc-d052-11e9-ab38-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:34.6836040Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:34.6836040Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:34.6836040Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 03457ae2-c01a-0094-5d43-4a04ce000000 + - e729e9c2-b01a-00b4-1b5f-649f3a000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_non_seekable.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_non_seekable.yaml index 61670dbfdeca..cc81d860cf45 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_non_seekable.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_non_seekable.yaml @@ -9,17 +9,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cc8fbf86-b636-11e9-bfe2-2816a845e8c6 + - c7134c1e-d052-11e9-a99e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:48 GMT + - Fri, 06 Sep 2019 03:02:35 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare4cf71030/utdir4cf71030/bytefile4cf71030 response: @@ -610,23 +610,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:47 GMT + - Fri, 06 Sep 2019 03:02:35 GMT ETag: - - '"0x8D7185AB001EE5E"' + - '"0x8D73276AB39C8AB"' Last-Modified: - - Sat, 03 Aug 2019 21:36:47 GMT + - Fri, 06 Sep 2019 03:02:35 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c7134c1e-d052-11e9-a99e-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 5c92005f-601a-0099-7343-4aebc2000000 + - e2d04b24-301a-004e-015f-647d7c000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -640,17 +654,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cce756a6-b636-11e9-863d-2816a845e8c6 + - c72e4fe4-d052-11e9-a753-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:49 GMT + - Fri, 06 Sep 2019 03:02:35 GMT x-ms-range: - bytes=32768-36863 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare4cf71030/utdir4cf71030/bytefile4cf71030 response: @@ -738,23 +752,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:48 GMT + - Fri, 06 Sep 2019 03:02:36 GMT ETag: - - '"0x8D7185AB001EE5E"' + - '"0x8D73276AB39C8AB"' Last-Modified: - - Sat, 03 Aug 2019 21:36:47 GMT + - Fri, 06 Sep 2019 03:02:35 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c72e4fe4-d052-11e9-a753-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 5c920063-601a-0099-7443-4aebc2000000 + - e2d04b28-301a-004e-035f-647d7c000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -768,17 +796,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ccf9c876-b636-11e9-a927-2816a845e8c6 + - c7548052-d052-11e9-87c2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:49 GMT + - Fri, 06 Sep 2019 03:02:36 GMT x-ms-range: - bytes=36864-40959 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare4cf71030/utdir4cf71030/bytefile4cf71030 response: @@ -866,23 +894,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:48 GMT + - Fri, 06 Sep 2019 03:02:36 GMT ETag: - - '"0x8D7185AB001EE5E"' + - '"0x8D73276AB39C8AB"' Last-Modified: - - Sat, 03 Aug 2019 21:36:47 GMT + - Fri, 06 Sep 2019 03:02:35 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c7548052-d052-11e9-87c2-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 5c920064-601a-0099-7543-4aebc2000000 + - e2d04b2a-301a-004e-055f-647d7c000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -896,17 +938,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cd1e1fda-b636-11e9-bba2-2816a845e8c6 + - c75b3f50-d052-11e9-b544-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:49 GMT + - Fri, 06 Sep 2019 03:02:36 GMT x-ms-range: - bytes=40960-45055 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare4cf71030/utdir4cf71030/bytefile4cf71030 response: @@ -994,23 +1036,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:48 GMT + - Fri, 06 Sep 2019 03:02:36 GMT ETag: - - '"0x8D7185AB001EE5E"' + - '"0x8D73276AB39C8AB"' Last-Modified: - - Sat, 03 Aug 2019 21:36:47 GMT + - Fri, 06 Sep 2019 03:02:35 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c75b3f50-d052-11e9-b544-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 5c920065-601a-0099-7643-4aebc2000000 + - e2d04b2b-301a-004e-065f-647d7c000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1024,17 +1080,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cd2fdd0c-b636-11e9-8ec0-2816a845e8c6 + - c761a464-d052-11e9-a983-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:49 GMT + - Fri, 06 Sep 2019 03:02:36 GMT x-ms-range: - bytes=45056-49151 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare4cf71030/utdir4cf71030/bytefile4cf71030 response: @@ -1122,23 +1178,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:48 GMT + - Fri, 06 Sep 2019 03:02:36 GMT ETag: - - '"0x8D7185AB001EE5E"' + - '"0x8D73276AB39C8AB"' Last-Modified: - - Sat, 03 Aug 2019 21:36:47 GMT + - Fri, 06 Sep 2019 03:02:35 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c761a464-d052-11e9-a983-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 5c920067-601a-0099-7743-4aebc2000000 + - e2d04b2d-301a-004e-085f-647d7c000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1152,17 +1222,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cd5c6c06-b636-11e9-9025-2816a845e8c6 + - c767c7a4-d052-11e9-bb5a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:50 GMT + - Fri, 06 Sep 2019 03:02:36 GMT x-ms-range: - bytes=49152-53247 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare4cf71030/utdir4cf71030/bytefile4cf71030 response: @@ -1250,23 +1320,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:48 GMT + - Fri, 06 Sep 2019 03:02:36 GMT ETag: - - '"0x8D7185AB001EE5E"' + - '"0x8D73276AB39C8AB"' Last-Modified: - - Sat, 03 Aug 2019 21:36:47 GMT + - Fri, 06 Sep 2019 03:02:35 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c767c7a4-d052-11e9-bb5a-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 5c920068-601a-0099-7843-4aebc2000000 + - e2d04b2e-301a-004e-095f-647d7c000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1280,17 +1364,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cd730966-b636-11e9-a7fd-2816a845e8c6 + - c76e53b6-d052-11e9-80b5-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:50 GMT + - Fri, 06 Sep 2019 03:02:36 GMT x-ms-range: - bytes=53248-57343 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare4cf71030/utdir4cf71030/bytefile4cf71030 response: @@ -1378,23 +1462,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:48 GMT + - Fri, 06 Sep 2019 03:02:36 GMT ETag: - - '"0x8D7185AB001EE5E"' + - '"0x8D73276AB39C8AB"' Last-Modified: - - Sat, 03 Aug 2019 21:36:47 GMT + - Fri, 06 Sep 2019 03:02:35 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c76e53b6-d052-11e9-80b5-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 5c920069-601a-0099-7943-4aebc2000000 + - e2d04b2f-301a-004e-0a5f-647d7c000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1408,17 +1506,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cd9ac75e-b636-11e9-b90a-2816a845e8c6 + - c7747b98-d052-11e9-91b8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:50 GMT + - Fri, 06 Sep 2019 03:02:36 GMT x-ms-range: - bytes=57344-61439 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare4cf71030/utdir4cf71030/bytefile4cf71030 response: @@ -1506,23 +1604,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:49 GMT + - Fri, 06 Sep 2019 03:02:36 GMT ETag: - - '"0x8D7185AB001EE5E"' + - '"0x8D73276AB39C8AB"' Last-Modified: - - Sat, 03 Aug 2019 21:36:47 GMT + - Fri, 06 Sep 2019 03:02:35 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c7747b98-d052-11e9-91b8-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 5c92006a-601a-0099-7a43-4aebc2000000 + - e2d04b30-301a-004e-0b5f-647d7c000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1536,17 +1648,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cdace108-b636-11e9-ba4d-2816a845e8c6 + - c77d6c58-d052-11e9-962e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:50 GMT + - Fri, 06 Sep 2019 03:02:36 GMT x-ms-range: - bytes=61440-65535 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare4cf71030/utdir4cf71030/bytefile4cf71030 response: @@ -1634,23 +1746,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:49 GMT + - Fri, 06 Sep 2019 03:02:36 GMT ETag: - - '"0x8D7185AB001EE5E"' + - '"0x8D73276AB39C8AB"' Last-Modified: - - Sat, 03 Aug 2019 21:36:47 GMT + - Fri, 06 Sep 2019 03:02:35 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c77d6c58-d052-11e9-962e-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 5c92006b-601a-0099-7b43-4aebc2000000 + - e2d04b31-301a-004e-0c5f-647d7c000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1664,17 +1790,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cdd8d2a6-b636-11e9-bfad-2816a845e8c6 + - c784eb76-d052-11e9-a6e4-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:50 GMT + - Fri, 06 Sep 2019 03:02:36 GMT x-ms-range: - bytes=65536-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare4cf71030/utdir4cf71030/bytefile4cf71030 response: @@ -1691,23 +1817,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:49 GMT + - Fri, 06 Sep 2019 03:02:36 GMT ETag: - - '"0x8D7185AB001EE5E"' + - '"0x8D73276AB39C8AB"' Last-Modified: - - Sat, 03 Aug 2019 21:36:47 GMT + - Fri, 06 Sep 2019 03:02:35 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c784eb76-d052-11e9-a6e4-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:35.6134835Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 5c92006c-601a-0099-7c43-4aebc2000000 + - e2d04b32-301a-004e-0d5f-647d7c000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_non_seekable_from_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_non_seekable_from_snapshot.yaml index 6577db8989a0..041d2a0e0883 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_non_seekable_from_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_non_seekable_from_snapshot.yaml @@ -11,15 +11,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ceb8f37e-b636-11e9-979d-2816a845e8c6 + - c7cf091e-d052-11e9-8512-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:52 GMT + - Fri, 06 Sep 2019 03:02:36 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5b221612?restype=share&comp=snapshot response: @@ -29,19 +29,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:36:50 GMT + - Fri, 06 Sep 2019 03:02:36 GMT ETag: - - '"0x8D7185AB1999307"' + - '"0x8D73276ABD58B28"' Last-Modified: - - Sat, 03 Aug 2019 21:36:50 GMT + - Fri, 06 Sep 2019 03:02:36 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c7cf091e-d052-11e9-8512-001a7dda7113 x-ms-request-id: - - cfad2b68-701a-008d-5243-4a28a6000000 + - 5edea195-e01a-00cb-6d5f-6450a1000000 x-ms-snapshot: - - '2019-08-03T21:36:51.0000000Z' + - '2019-09-06T03:02:37.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,15 +59,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cf14549e-b636-11e9-a4a3-2816a845e8c6 + - c7f04ea6-d052-11e9-8a12-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:53 GMT + - Fri, 06 Sep 2019 03:02:37 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612 response: @@ -75,13 +77,15 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:36:51 GMT + - Fri, 06 Sep 2019 03:02:37 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - c7f04ea6-d052-11e9-8a12-001a7dda7113 x-ms-request-id: - - cbffd744-a01a-0025-4143-4afcb3000000 + - ca7d00b3-101a-0004-3d5f-64def3000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -95,19 +99,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cf5ac62c-b636-11e9-978d-2816a845e8c6 + - c815d562-d052-11e9-a7de-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:53 GMT + - Fri, 06 Sep 2019 03:02:37 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-08-03T21:36:51.0000000Z + uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-09-06T03:02:37.0000000Z response: body: string: !!binary | @@ -696,23 +700,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:52 GMT + - Fri, 06 Sep 2019 03:02:36 GMT ETag: - - '"0x8D7185AB22AFE9F"' + - '"0x8D73276ABF04C88"' Last-Modified: - - Sat, 03 Aug 2019 21:36:51 GMT + - Fri, 06 Sep 2019 03:02:36 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c815d562-d052-11e9-a7de-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 8c5a5f28-d01a-0021-4443-4a0931000000 + - d82534ee-701a-0060-305f-642f6b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -726,19 +744,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cfb69b52-b636-11e9-a581-2816a845e8c6 + - c8403a2c-d052-11e9-b49a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:54 GMT + - Fri, 06 Sep 2019 03:02:37 GMT x-ms-range: - bytes=32768-36863 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-08-03T21:36:51.0000000Z + uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-09-06T03:02:37.0000000Z response: body: string: !!binary | @@ -824,23 +842,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:52 GMT + - Fri, 06 Sep 2019 03:02:37 GMT ETag: - - '"0x8D7185AB22AFE9F"' + - '"0x8D73276ABF04C88"' Last-Modified: - - Sat, 03 Aug 2019 21:36:51 GMT + - Fri, 06 Sep 2019 03:02:36 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c8403a2c-d052-11e9-b49a-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 8c5a5f2c-d01a-0021-4543-4a0931000000 + - d82534f7-701a-0060-365f-642f6b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -854,19 +886,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cfcd72e4-b636-11e9-b349-2816a845e8c6 + - c889aa02-d052-11e9-9005-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:54 GMT + - Fri, 06 Sep 2019 03:02:38 GMT x-ms-range: - bytes=36864-40959 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-08-03T21:36:51.0000000Z + uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-09-06T03:02:37.0000000Z response: body: string: !!binary | @@ -952,23 +984,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:52 GMT + - Fri, 06 Sep 2019 03:02:37 GMT ETag: - - '"0x8D7185AB22AFE9F"' + - '"0x8D73276ABF04C88"' Last-Modified: - - Sat, 03 Aug 2019 21:36:51 GMT + - Fri, 06 Sep 2019 03:02:36 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c889aa02-d052-11e9-9005-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 8c5a5f2d-d01a-0021-4643-4a0931000000 + - d8253503-701a-0060-3f5f-642f6b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -982,19 +1028,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - cfecbf36-b636-11e9-8bd7-2816a845e8c6 + - c8927d3a-d052-11e9-9a42-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:54 GMT + - Fri, 06 Sep 2019 03:02:38 GMT x-ms-range: - bytes=40960-45055 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-08-03T21:36:51.0000000Z + uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-09-06T03:02:37.0000000Z response: body: string: !!binary | @@ -1080,23 +1126,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:52 GMT + - Fri, 06 Sep 2019 03:02:37 GMT ETag: - - '"0x8D7185AB22AFE9F"' + - '"0x8D73276ABF04C88"' Last-Modified: - - Sat, 03 Aug 2019 21:36:51 GMT + - Fri, 06 Sep 2019 03:02:36 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c8927d3a-d052-11e9-9a42-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 8c5a5f2e-d01a-0021-4743-4a0931000000 + - d8253505-701a-0060-415f-642f6b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1110,19 +1170,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d00be4a4-b636-11e9-a2e3-2816a845e8c6 + - c89b4466-d052-11e9-a800-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:54 GMT + - Fri, 06 Sep 2019 03:02:38 GMT x-ms-range: - bytes=45056-49151 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-08-03T21:36:51.0000000Z + uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-09-06T03:02:37.0000000Z response: body: string: !!binary | @@ -1208,23 +1268,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:53 GMT + - Fri, 06 Sep 2019 03:02:37 GMT ETag: - - '"0x8D7185AB22AFE9F"' + - '"0x8D73276ABF04C88"' Last-Modified: - - Sat, 03 Aug 2019 21:36:51 GMT + - Fri, 06 Sep 2019 03:02:36 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c89b4466-d052-11e9-a800-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 8c5a5f2f-d01a-0021-4843-4a0931000000 + - d8253507-701a-0060-435f-642f6b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1238,19 +1312,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d02b00ae-b636-11e9-af1a-2816a845e8c6 + - c8a1cf8a-d052-11e9-bbfd-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:54 GMT + - Fri, 06 Sep 2019 03:02:38 GMT x-ms-range: - bytes=49152-53247 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-08-03T21:36:51.0000000Z + uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-09-06T03:02:37.0000000Z response: body: string: !!binary | @@ -1336,23 +1410,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:53 GMT + - Fri, 06 Sep 2019 03:02:37 GMT ETag: - - '"0x8D7185AB22AFE9F"' + - '"0x8D73276ABF04C88"' Last-Modified: - - Sat, 03 Aug 2019 21:36:51 GMT + - Fri, 06 Sep 2019 03:02:36 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c8a1cf8a-d052-11e9-bbfd-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 8c5a5f31-d01a-0021-4943-4a0931000000 + - d8253509-701a-0060-455f-642f6b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1366,19 +1454,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d045bea4-b636-11e9-b3df-2816a845e8c6 + - c8a881c6-d052-11e9-9efa-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:55 GMT + - Fri, 06 Sep 2019 03:02:38 GMT x-ms-range: - bytes=53248-57343 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-08-03T21:36:51.0000000Z + uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-09-06T03:02:37.0000000Z response: body: string: !!binary | @@ -1464,23 +1552,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:53 GMT + - Fri, 06 Sep 2019 03:02:37 GMT ETag: - - '"0x8D7185AB22AFE9F"' + - '"0x8D73276ABF04C88"' Last-Modified: - - Sat, 03 Aug 2019 21:36:51 GMT + - Fri, 06 Sep 2019 03:02:36 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c8a881c6-d052-11e9-9efa-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 8c5a5f32-d01a-0021-4a43-4a0931000000 + - d825350b-701a-0060-475f-642f6b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1494,19 +1596,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d0704952-b636-11e9-9762-2816a845e8c6 + - c8aee4d0-d052-11e9-857a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:55 GMT + - Fri, 06 Sep 2019 03:02:38 GMT x-ms-range: - bytes=57344-61439 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-08-03T21:36:51.0000000Z + uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-09-06T03:02:37.0000000Z response: body: string: !!binary | @@ -1592,23 +1694,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:53 GMT + - Fri, 06 Sep 2019 03:02:37 GMT ETag: - - '"0x8D7185AB22AFE9F"' + - '"0x8D73276ABF04C88"' Last-Modified: - - Sat, 03 Aug 2019 21:36:51 GMT + - Fri, 06 Sep 2019 03:02:36 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c8aee4d0-d052-11e9-857a-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 8c5a5f33-d01a-0021-4b43-4a0931000000 + - d825350c-701a-0060-485f-642f6b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1622,19 +1738,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d0876ef4-b636-11e9-9d9a-2816a845e8c6 + - c8b57882-d052-11e9-98d9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:55 GMT + - Fri, 06 Sep 2019 03:02:38 GMT x-ms-range: - bytes=61440-65535 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-08-03T21:36:51.0000000Z + uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-09-06T03:02:37.0000000Z response: body: string: !!binary | @@ -1720,23 +1836,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:53 GMT + - Fri, 06 Sep 2019 03:02:37 GMT ETag: - - '"0x8D7185AB22AFE9F"' + - '"0x8D73276ABF04C88"' Last-Modified: - - Sat, 03 Aug 2019 21:36:51 GMT + - Fri, 06 Sep 2019 03:02:36 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c8b57882-d052-11e9-98d9-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 8c5a5f34-d01a-0021-4c43-4a0931000000 + - d825350f-701a-0060-4b5f-642f6b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1750,19 +1880,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d0a80c1a-b636-11e9-9653-2816a845e8c6 + - c8bbe3b4-d052-11e9-99d0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:36:55 GMT + - Fri, 06 Sep 2019 03:02:38 GMT x-ms-range: - bytes=65536-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-08-03T21:36:51.0000000Z + uri: https://storagename.file.core.windows.net/utshare5b221612/utdir5b221612/bytefile5b221612?sharesnapshot=2019-09-06T03:02:37.0000000Z response: body: string: !!binary | @@ -1777,23 +1907,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:54 GMT + - Fri, 06 Sep 2019 03:02:37 GMT ETag: - - '"0x8D7185AB22AFE9F"' + - '"0x8D73276ABF04C88"' Last-Modified: - - Sat, 03 Aug 2019 21:36:51 GMT + - Fri, 06 Sep 2019 03:02:36 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c8bbe3b4-d052-11e9-99d0-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:36.8026078Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 8c5a5f35-d01a-0021-4d43-4a0931000000 + - d8253512-701a-0060-4e5f-642f6b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_properties_server_encryption.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_properties_server_encryption.yaml index 979fabcca255..443d62095ae8 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_properties_server_encryption.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_properties_server_encryption.yaml @@ -9,15 +9,15 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d3bba7ae-b636-11e9-a686-2816a845e8c6 + - c989249e-d052-11e9-afc6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:00 GMT + - Fri, 06 Sep 2019 03:02:39 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utshare8e471737/utdir8e471737/bytefile8e471737 response: @@ -29,23 +29,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:36:59 GMT + - Fri, 06 Sep 2019 03:02:39 GMT ETag: - - '"0x8D7185AB72D06F3"' + - '"0x8D73276ADAA0030"' Last-Modified: - - Sat, 03 Aug 2019 21:36:59 GMT + - Fri, 06 Sep 2019 03:02:39 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - c989249e-d052-11e9-afc6-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:39.6933408Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:39.6933408Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:39.6933408Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 01b81a5d-701a-0086-2243-4a30d2000000 + - 4deca606-401a-0009-255f-641627000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 200 message: OK diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_server_encryption.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_server_encryption.yaml index 56110d71156b..80aedb5490d4 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_server_encryption.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_server_encryption.yaml @@ -9,19 +9,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d5ec2952-b636-11e9-a1cf-2816a845e8c6 + - ca37df5e-d052-11e9-afa6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:04 GMT + - Fri, 06 Sep 2019 03:02:41 GMT x-ms-range: - bytes=0-1024 x-ms-range-get-content-md5: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharea628128b/utdira628128b/bytefilea628128b response: @@ -57,23 +57,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:03 GMT + - Fri, 06 Sep 2019 03:02:40 GMT ETag: - - '"0x8D7185AB95E7D29"' + - '"0x8D73276AE59CBC6"' Last-Modified: - - Sat, 03 Aug 2019 21:37:03 GMT + - Fri, 06 Sep 2019 03:02:40 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - ca37df5e-d052-11e9-afa6-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:40.8524386Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:40.8524386Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:40.8524386Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - dc380793-b01a-009b-7743-4ae938000000 + - eec90236-e01a-003f-515f-649b57000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_bytes_non_parallel.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_bytes_non_parallel.yaml index 73a975d7c1e1..b78a674c58d4 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_bytes_non_parallel.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_bytes_non_parallel.yaml @@ -9,17 +9,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d844d1e2-b636-11e9-83f9-2816a845e8c6 + - cae24700-d052-11e9-be2c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:08 GMT + - Fri, 06 Sep 2019 03:02:42 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef32e1409/utdirf32e1409/bytefilef32e1409 response: @@ -610,23 +610,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:07 GMT + - Fri, 06 Sep 2019 03:02:42 GMT ETag: - - '"0x8D7185ABB96AB6A"' + - '"0x8D73276AF08D3E9"' Last-Modified: - - Sat, 03 Aug 2019 21:37:06 GMT + - Fri, 06 Sep 2019 03:02:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cae24700-d052-11e9-be2c-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ad7bbb15-801a-005f-4543-4a96fe000000 + - 96dd44e4-a01a-0063-145f-64ce0f000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -640,17 +654,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d8bef30c-b636-11e9-b475-2816a845e8c6 + - cafefc40-d052-11e9-ab51-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:09 GMT + - Fri, 06 Sep 2019 03:02:42 GMT x-ms-range: - bytes=32768-36863 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef32e1409/utdirf32e1409/bytefilef32e1409 response: @@ -738,23 +752,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:07 GMT + - Fri, 06 Sep 2019 03:02:42 GMT ETag: - - '"0x8D7185ABB96AB6A"' + - '"0x8D73276AF08D3E9"' Last-Modified: - - Sat, 03 Aug 2019 21:37:06 GMT + - Fri, 06 Sep 2019 03:02:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cafefc40-d052-11e9-ab51-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ad7bbb23-801a-005f-4643-4a96fe000000 + - 96dd44e8-a01a-0063-165f-64ce0f000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -768,17 +796,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d8d5e19a-b636-11e9-9868-2816a845e8c6 + - cb05878c-d052-11e9-81fe-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:09 GMT + - Fri, 06 Sep 2019 03:02:42 GMT x-ms-range: - bytes=36864-40959 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef32e1409/utdirf32e1409/bytefilef32e1409 response: @@ -866,23 +894,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:07 GMT + - Fri, 06 Sep 2019 03:02:42 GMT ETag: - - '"0x8D7185ABB96AB6A"' + - '"0x8D73276AF08D3E9"' Last-Modified: - - Sat, 03 Aug 2019 21:37:06 GMT + - Fri, 06 Sep 2019 03:02:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cb05878c-d052-11e9-81fe-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ad7bbb24-801a-005f-4743-4a96fe000000 + - 96dd44ea-a01a-0063-185f-64ce0f000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -896,17 +938,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d8f559be-b636-11e9-bdd9-2816a845e8c6 + - cb0bf764-d052-11e9-9e47-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:09 GMT + - Fri, 06 Sep 2019 03:02:42 GMT x-ms-range: - bytes=40960-45055 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef32e1409/utdirf32e1409/bytefilef32e1409 response: @@ -994,23 +1036,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:07 GMT + - Fri, 06 Sep 2019 03:02:42 GMT ETag: - - '"0x8D7185ABB96AB6A"' + - '"0x8D73276AF08D3E9"' Last-Modified: - - Sat, 03 Aug 2019 21:37:06 GMT + - Fri, 06 Sep 2019 03:02:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cb0bf764-d052-11e9-9e47-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ad7bbb25-801a-005f-4843-4a96fe000000 + - 96dd44ed-a01a-0063-1a5f-64ce0f000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1024,17 +1080,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d9062b10-b636-11e9-a156-2816a845e8c6 + - cb123388-d052-11e9-bfa1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:09 GMT + - Fri, 06 Sep 2019 03:02:42 GMT x-ms-range: - bytes=45056-49151 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef32e1409/utdirf32e1409/bytefilef32e1409 response: @@ -1122,23 +1178,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:07 GMT + - Fri, 06 Sep 2019 03:02:42 GMT ETag: - - '"0x8D7185ABB96AB6A"' + - '"0x8D73276AF08D3E9"' Last-Modified: - - Sat, 03 Aug 2019 21:37:06 GMT + - Fri, 06 Sep 2019 03:02:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cb123388-d052-11e9-bfa1-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ad7bbb26-801a-005f-4943-4a96fe000000 + - 96dd44ee-a01a-0063-1b5f-64ce0f000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1152,17 +1222,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d933c8b6-b636-11e9-b6ae-2816a845e8c6 + - cb18f28a-d052-11e9-9de0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:10 GMT + - Fri, 06 Sep 2019 03:02:42 GMT x-ms-range: - bytes=49152-53247 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef32e1409/utdirf32e1409/bytefilef32e1409 response: @@ -1250,23 +1320,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:08 GMT + - Fri, 06 Sep 2019 03:02:42 GMT ETag: - - '"0x8D7185ABB96AB6A"' + - '"0x8D73276AF08D3E9"' Last-Modified: - - Sat, 03 Aug 2019 21:37:06 GMT + - Fri, 06 Sep 2019 03:02:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cb18f28a-d052-11e9-9de0-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ad7bbb2a-801a-005f-4c43-4a96fe000000 + - 96dd44ef-a01a-0063-1c5f-64ce0f000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1280,17 +1364,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d945791e-b636-11e9-af60-2816a845e8c6 + - cb221080-d052-11e9-95a6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:10 GMT + - Fri, 06 Sep 2019 03:02:42 GMT x-ms-range: - bytes=53248-57343 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef32e1409/utdirf32e1409/bytefilef32e1409 response: @@ -1378,23 +1462,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:08 GMT + - Fri, 06 Sep 2019 03:02:42 GMT ETag: - - '"0x8D7185ABB96AB6A"' + - '"0x8D73276AF08D3E9"' Last-Modified: - - Sat, 03 Aug 2019 21:37:06 GMT + - Fri, 06 Sep 2019 03:02:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cb221080-d052-11e9-95a6-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ad7bbb2b-801a-005f-4d43-4a96fe000000 + - 96dd44f0-a01a-0063-1d5f-64ce0f000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1408,17 +1506,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d95844d0-b636-11e9-949c-2816a845e8c6 + - cb28c2a6-d052-11e9-873a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:10 GMT + - Fri, 06 Sep 2019 03:02:42 GMT x-ms-range: - bytes=57344-61439 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef32e1409/utdirf32e1409/bytefilef32e1409 response: @@ -1506,23 +1604,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:08 GMT + - Fri, 06 Sep 2019 03:02:42 GMT ETag: - - '"0x8D7185ABB96AB6A"' + - '"0x8D73276AF08D3E9"' Last-Modified: - - Sat, 03 Aug 2019 21:37:06 GMT + - Fri, 06 Sep 2019 03:02:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cb28c2a6-d052-11e9-873a-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ad7bbb2c-801a-005f-4e43-4a96fe000000 + - 96dd44f3-a01a-0063-205f-64ce0f000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1536,17 +1648,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d96a81d0-b636-11e9-a4dc-2816a845e8c6 + - cb2effe4-d052-11e9-b9d6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:10 GMT + - Fri, 06 Sep 2019 03:02:42 GMT x-ms-range: - bytes=61440-65535 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef32e1409/utdirf32e1409/bytefilef32e1409 response: @@ -1634,23 +1746,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:08 GMT + - Fri, 06 Sep 2019 03:02:42 GMT ETag: - - '"0x8D7185ABB96AB6A"' + - '"0x8D73276AF08D3E9"' Last-Modified: - - Sat, 03 Aug 2019 21:37:06 GMT + - Fri, 06 Sep 2019 03:02:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cb2effe4-d052-11e9-b9d6-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ad7bbb2d-801a-005f-4f43-4a96fe000000 + - 96dd44f4-a01a-0063-215f-64ce0f000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1664,17 +1790,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - d97d0b3e-b636-11e9-a7d8-2816a845e8c6 + - cb3592b4-d052-11e9-adcf-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:10 GMT + - Fri, 06 Sep 2019 03:02:42 GMT x-ms-range: - bytes=65536-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef32e1409/utdirf32e1409/bytefilef32e1409 response: @@ -1691,23 +1817,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:08 GMT + - Fri, 06 Sep 2019 03:02:42 GMT ETag: - - '"0x8D7185ABB96AB6A"' + - '"0x8D73276AF08D3E9"' Last-Modified: - - Sat, 03 Aug 2019 21:37:06 GMT + - Fri, 06 Sep 2019 03:02:42 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cb3592b4-d052-11e9-adcf-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:42.0045323Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ad7bbb2e-801a-005f-5043-4a96fe000000 + - 96dd44f7-a01a-0063-245f-64ce0f000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_bytes_small.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_bytes_small.yaml index 2c8aaaa42b0b..1eced441857c 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_bytes_small.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_bytes_small.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - da746310-b636-11e9-ae3a-2816a845e8c6 + - cb9b3782-d052-11e9-9a2c-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:37:12 GMT + - Fri, 06 Sep 2019 03:02:43 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare6f98112b/utdir6f98112b/file6f98112b response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:37:11 GMT + - Fri, 06 Sep 2019 03:02:43 GMT ETag: - - '"0x8D7185ABE2E7102"' + - '"0x8D73276AFE5ADBD"' Last-Modified: - - Sat, 03 Aug 2019 21:37:11 GMT + - Fri, 06 Sep 2019 03:02:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cb9b3782-d052-11e9-9a2c-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:43.4809277Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:43.4809277Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:43.4809277Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 1bfd2b52-801a-0054-0843-4a8e8a000000 + - 8d19e085-401a-009f-4e5f-641ff6000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -81,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - dab2676c-b636-11e9-bd7e-2816a845e8c6 + - cbba894c-d052-11e9-ad48-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:12 GMT + - Fri, 06 Sep 2019 03:02:43 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -103,19 +127,21 @@ interactions: Content-MD5: - zIYOBRWfWw/4bedAqZbT3A== Date: - - Sat, 03 Aug 2019 21:37:11 GMT + - Fri, 06 Sep 2019 03:02:43 GMT ETag: - - '"0x8D7185ABE3E0434"' + - '"0x8D73276AFF34597"' Last-Modified: - - Sat, 03 Aug 2019 21:37:11 GMT + - Fri, 06 Sep 2019 03:02:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cbba894c-d052-11e9-ad48-001a7dda7113 x-ms-request-id: - - 1bfd2b54-801a-0054-0943-4a8e8a000000 + - 8d19e088-401a-009f-505f-641ff6000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -129,17 +155,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - dac1da6c-b636-11e9-9afb-2816a845e8c6 + - cbcb287a-d052-11e9-b839-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:12 GMT + - Fri, 06 Sep 2019 03:02:43 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare6f98112b/utdir6f98112b/file6f98112b response: @@ -173,23 +199,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:11 GMT + - Fri, 06 Sep 2019 03:02:43 GMT ETag: - - '"0x8D7185ABE3E0434"' + - '"0x8D73276AFF34597"' Last-Modified: - - Sat, 03 Aug 2019 21:37:11 GMT + - Fri, 06 Sep 2019 03:02:43 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cbcb287a-d052-11e9-b839-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:43.4809277Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:43.4809277Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:43.4809277Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 1bfd2b55-801a-0054-0a43-4a8e8a000000 + - 8d19e08a-401a-009f-525f-641ff6000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_non_parallel.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_non_parallel.yaml index 517b24dec025..a238f25c6991 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_non_parallel.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_non_parallel.yaml @@ -9,17 +9,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - de4f799c-b636-11e9-a0e2-2816a845e8c6 + - cd2c0e3a-d052-11e9-bbff-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:18 GMT + - Fri, 06 Sep 2019 03:02:45 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare79f146e/utdir79f146e/bytefile79f146e response: @@ -610,23 +610,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:18 GMT + - Fri, 06 Sep 2019 03:02:45 GMT ETag: - - '"0x8D7185AC1C2050A"' + - '"0x8D73276B14EE3FA"' Last-Modified: - - Sat, 03 Aug 2019 21:37:17 GMT + - Fri, 06 Sep 2019 03:02:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cd2c0e3a-d052-11e9-bbff-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 6ad9505b-c01a-00bd-6b43-4a728c000000 + - 42e599c1-a01a-00b8-7a5f-640832000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -640,17 +654,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ded9a12c-b636-11e9-8115-2816a845e8c6 + - cd4428dc-d052-11e9-ac59-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:19 GMT + - Fri, 06 Sep 2019 03:02:46 GMT x-ms-range: - bytes=32768-36863 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare79f146e/utdir79f146e/bytefile79f146e response: @@ -738,23 +752,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:18 GMT + - Fri, 06 Sep 2019 03:02:45 GMT ETag: - - '"0x8D7185AC1C2050A"' + - '"0x8D73276B14EE3FA"' Last-Modified: - - Sat, 03 Aug 2019 21:37:17 GMT + - Fri, 06 Sep 2019 03:02:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cd4428dc-d052-11e9-ac59-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 6ad9505e-c01a-00bd-6c43-4a728c000000 + - 42e599c4-a01a-00b8-7b5f-640832000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -768,17 +796,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - deeba5de-b636-11e9-8820-2816a845e8c6 + - cd4e41a4-d052-11e9-aa5f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:19 GMT + - Fri, 06 Sep 2019 03:02:46 GMT x-ms-range: - bytes=36864-40959 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare79f146e/utdir79f146e/bytefile79f146e response: @@ -866,23 +894,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:18 GMT + - Fri, 06 Sep 2019 03:02:45 GMT ETag: - - '"0x8D7185AC1C2050A"' + - '"0x8D73276B14EE3FA"' Last-Modified: - - Sat, 03 Aug 2019 21:37:17 GMT + - Fri, 06 Sep 2019 03:02:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cd4e41a4-d052-11e9-aa5f-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 6ad9505f-c01a-00bd-6d43-4a728c000000 + - 42e599c6-a01a-00b8-7d5f-640832000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -896,17 +938,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - df103de2-b636-11e9-9164-2816a845e8c6 + - cd598368-d052-11e9-967e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:19 GMT + - Fri, 06 Sep 2019 03:02:46 GMT x-ms-range: - bytes=40960-45055 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare79f146e/utdir79f146e/bytefile79f146e response: @@ -994,23 +1036,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:18 GMT + - Fri, 06 Sep 2019 03:02:45 GMT ETag: - - '"0x8D7185AC1C2050A"' + - '"0x8D73276B14EE3FA"' Last-Modified: - - Sat, 03 Aug 2019 21:37:17 GMT + - Fri, 06 Sep 2019 03:02:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cd598368-d052-11e9-967e-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 6ad95060-c01a-00bd-6e43-4a728c000000 + - 42e599c7-a01a-00b8-7e5f-640832000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1024,17 +1080,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - df222a8a-b636-11e9-8828-2816a845e8c6 + - cd60aa74-d052-11e9-bf43-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:19 GMT + - Fri, 06 Sep 2019 03:02:46 GMT x-ms-range: - bytes=45056-49151 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare79f146e/utdir79f146e/bytefile79f146e response: @@ -1122,23 +1178,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:18 GMT + - Fri, 06 Sep 2019 03:02:45 GMT ETag: - - '"0x8D7185AC1C2050A"' + - '"0x8D73276B14EE3FA"' Last-Modified: - - Sat, 03 Aug 2019 21:37:17 GMT + - Fri, 06 Sep 2019 03:02:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cd60aa74-d052-11e9-bf43-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 6ad95061-c01a-00bd-6f43-4a728c000000 + - 42e599c8-a01a-00b8-7f5f-640832000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1152,17 +1222,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - df34e136-b636-11e9-a458-2816a845e8c6 + - cd670fdc-d052-11e9-add1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:20 GMT + - Fri, 06 Sep 2019 03:02:46 GMT x-ms-range: - bytes=49152-53247 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare79f146e/utdir79f146e/bytefile79f146e response: @@ -1250,23 +1320,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:18 GMT + - Fri, 06 Sep 2019 03:02:45 GMT ETag: - - '"0x8D7185AC1C2050A"' + - '"0x8D73276B14EE3FA"' Last-Modified: - - Sat, 03 Aug 2019 21:37:17 GMT + - Fri, 06 Sep 2019 03:02:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cd670fdc-d052-11e9-add1-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 6ad95062-c01a-00bd-7043-4a728c000000 + - 42e599ca-a01a-00b8-015f-640832000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1280,17 +1364,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - df4e8428-b636-11e9-a82b-2816a845e8c6 + - cd6d99fe-d052-11e9-a40a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:20 GMT + - Fri, 06 Sep 2019 03:02:46 GMT x-ms-range: - bytes=53248-57343 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare79f146e/utdir79f146e/bytefile79f146e response: @@ -1378,23 +1462,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:19 GMT + - Fri, 06 Sep 2019 03:02:45 GMT ETag: - - '"0x8D7185AC1C2050A"' + - '"0x8D73276B14EE3FA"' Last-Modified: - - Sat, 03 Aug 2019 21:37:17 GMT + - Fri, 06 Sep 2019 03:02:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cd6d99fe-d052-11e9-a40a-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 6ad95063-c01a-00bd-7143-4a728c000000 + - 42e599cb-a01a-00b8-025f-640832000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1408,17 +1506,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - df5f76c6-b636-11e9-b8b0-2816a845e8c6 + - cd73ff5e-d052-11e9-9a2d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:20 GMT + - Fri, 06 Sep 2019 03:02:46 GMT x-ms-range: - bytes=57344-61439 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare79f146e/utdir79f146e/bytefile79f146e response: @@ -1506,23 +1604,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:19 GMT + - Fri, 06 Sep 2019 03:02:45 GMT ETag: - - '"0x8D7185AC1C2050A"' + - '"0x8D73276B14EE3FA"' Last-Modified: - - Sat, 03 Aug 2019 21:37:17 GMT + - Fri, 06 Sep 2019 03:02:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cd73ff5e-d052-11e9-9a2d-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 6ad95064-c01a-00bd-7243-4a728c000000 + - 42e599cd-a01a-00b8-045f-640832000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1536,17 +1648,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - df719770-b636-11e9-b50f-2816a845e8c6 + - cd7a896e-d052-11e9-92b1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:20 GMT + - Fri, 06 Sep 2019 03:02:46 GMT x-ms-range: - bytes=61440-65535 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare79f146e/utdir79f146e/bytefile79f146e response: @@ -1634,23 +1746,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:19 GMT + - Fri, 06 Sep 2019 03:02:45 GMT ETag: - - '"0x8D7185AC1C2050A"' + - '"0x8D73276B14EE3FA"' Last-Modified: - - Sat, 03 Aug 2019 21:37:17 GMT + - Fri, 06 Sep 2019 03:02:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cd7a896e-d052-11e9-92b1-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 6ad95065-c01a-00bd-7343-4a728c000000 + - 42e599ce-a01a-00b8-055f-640832000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1664,17 +1790,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - df818066-b636-11e9-9227-2816a845e8c6 + - cd813b92-d052-11e9-bf60-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:20 GMT + - Fri, 06 Sep 2019 03:02:46 GMT x-ms-range: - bytes=65536-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare79f146e/utdir79f146e/bytefile79f146e response: @@ -1691,23 +1817,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:19 GMT + - Fri, 06 Sep 2019 03:02:45 GMT ETag: - - '"0x8D7185AC1C2050A"' + - '"0x8D73276B14EE3FA"' Last-Modified: - - Sat, 03 Aug 2019 21:37:17 GMT + - Fri, 06 Sep 2019 03:02:45 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cd813b92-d052-11e9-bf60-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:45.8121317Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 6ad95066-c01a-00bd-7443-4a728c000000 + - 42e599cf-a01a-00b8-065f-640832000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_non_parallel_from_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_non_parallel_from_snapshot.yaml index 3c16a883f297..e2637c3bcd4a 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_non_parallel_from_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_non_parallel_from_snapshot.yaml @@ -11,15 +11,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e0aba886-b636-11e9-811b-2816a845e8c6 + - cdce38e2-d052-11e9-b511-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:22 GMT + - Fri, 06 Sep 2019 03:02:47 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare512e1a50?restype=share&comp=snapshot response: @@ -29,19 +29,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:37:21 GMT + - Fri, 06 Sep 2019 03:02:46 GMT ETag: - - '"0x8D7185AC3911EB2"' + - '"0x8D73276B1D8CE3F"' Last-Modified: - - Sat, 03 Aug 2019 21:37:20 GMT + - Fri, 06 Sep 2019 03:02:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cdce38e2-d052-11e9-b511-001a7dda7113 x-ms-request-id: - - da5d5e42-801a-00b1-5a43-4a9c7d000000 + - 82b5dfaf-401a-0044-765f-64d9cb000000 x-ms-snapshot: - - '2019-08-03T21:37:21.0000000Z' + - '2019-09-06T03:02:47.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -57,15 +59,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e1073292-b636-11e9-9865-2816a845e8c6 + - ce07bf06-d052-11e9-8660-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:23 GMT + - Fri, 06 Sep 2019 03:02:47 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50 response: @@ -75,13 +77,15 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:37:22 GMT + - Fri, 06 Sep 2019 03:02:47 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - ce07bf06-d052-11e9-8660-001a7dda7113 x-ms-request-id: - - 674759ae-401a-0085-0d43-4a33d5000000 + - 6d4dc52d-c01a-0038-025f-64f734000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -95,19 +99,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e154af22-b636-11e9-80e0-2816a845e8c6 + - ce208d36-d052-11e9-a1aa-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:23 GMT + - Fri, 06 Sep 2019 03:02:47 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-08-03T21:37:21.0000000Z + uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-09-06T03:02:47.0000000Z response: body: string: !!binary | @@ -696,23 +700,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:22 GMT + - Fri, 06 Sep 2019 03:02:47 GMT ETag: - - '"0x8D7185AC41D79F2"' + - '"0x8D73276B1F44CB2"' Last-Modified: - - Sat, 03 Aug 2019 21:37:21 GMT + - Fri, 06 Sep 2019 03:02:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - ce208d36-d052-11e9-a1aa-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d3666e1d-001a-0045-1443-4ab991000000 + - f3eb807b-d01a-00c0-195f-64abca000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -726,19 +744,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e1c64806-b636-11e9-bbbd-2816a845e8c6 + - ce3d0836-d052-11e9-88a2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:24 GMT + - Fri, 06 Sep 2019 03:02:47 GMT x-ms-range: - bytes=32768-36863 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-08-03T21:37:21.0000000Z + uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-09-06T03:02:47.0000000Z response: body: string: !!binary | @@ -824,23 +842,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:22 GMT + - Fri, 06 Sep 2019 03:02:47 GMT ETag: - - '"0x8D7185AC41D79F2"' + - '"0x8D73276B1F44CB2"' Last-Modified: - - Sat, 03 Aug 2019 21:37:21 GMT + - Fri, 06 Sep 2019 03:02:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - ce3d0836-d052-11e9-88a2-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d3666e22-001a-0045-1543-4ab991000000 + - f3eb807f-d01a-00c0-1a5f-64abca000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -854,19 +886,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e1fcfe8a-b636-11e9-870f-2816a845e8c6 + - ce44574c-d052-11e9-ac91-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:24 GMT + - Fri, 06 Sep 2019 03:02:47 GMT x-ms-range: - bytes=36864-40959 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-08-03T21:37:21.0000000Z + uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-09-06T03:02:47.0000000Z response: body: string: !!binary | @@ -952,23 +984,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:22 GMT + - Fri, 06 Sep 2019 03:02:47 GMT ETag: - - '"0x8D7185AC41D79F2"' + - '"0x8D73276B1F44CB2"' Last-Modified: - - Sat, 03 Aug 2019 21:37:21 GMT + - Fri, 06 Sep 2019 03:02:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - ce44574c-d052-11e9-ac91-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d3666e24-001a-0045-1643-4ab991000000 + - f3eb8080-d01a-00c0-1b5f-64abca000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -982,19 +1028,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e21c2f1e-b636-11e9-8b9f-2816a845e8c6 + - ce4b7e58-d052-11e9-a45e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:24 GMT + - Fri, 06 Sep 2019 03:02:47 GMT x-ms-range: - bytes=40960-45055 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-08-03T21:37:21.0000000Z + uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-09-06T03:02:47.0000000Z response: body: string: !!binary | @@ -1080,23 +1126,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:23 GMT + - Fri, 06 Sep 2019 03:02:47 GMT ETag: - - '"0x8D7185AC41D79F2"' + - '"0x8D73276B1F44CB2"' Last-Modified: - - Sat, 03 Aug 2019 21:37:21 GMT + - Fri, 06 Sep 2019 03:02:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - ce4b7e58-d052-11e9-a45e-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d3666e25-001a-0045-1743-4ab991000000 + - f3eb8082-d01a-00c0-1c5f-64abca000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1110,19 +1170,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e23bbc76-b636-11e9-832a-2816a845e8c6 + - ce52a442-d052-11e9-a4c3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:25 GMT + - Fri, 06 Sep 2019 03:02:47 GMT x-ms-range: - bytes=45056-49151 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-08-03T21:37:21.0000000Z + uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-09-06T03:02:47.0000000Z response: body: string: !!binary | @@ -1208,23 +1268,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:23 GMT + - Fri, 06 Sep 2019 03:02:47 GMT ETag: - - '"0x8D7185AC41D79F2"' + - '"0x8D73276B1F44CB2"' Last-Modified: - - Sat, 03 Aug 2019 21:37:21 GMT + - Fri, 06 Sep 2019 03:02:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - ce52a442-d052-11e9-a4c3-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d3666e27-001a-0045-1843-4ab991000000 + - f3eb8083-d01a-00c0-1d5f-64abca000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1238,19 +1312,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e24e83f8-b636-11e9-840a-2816a845e8c6 + - ce59a574-d052-11e9-b245-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:25 GMT + - Fri, 06 Sep 2019 03:02:47 GMT x-ms-range: - bytes=49152-53247 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-08-03T21:37:21.0000000Z + uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-09-06T03:02:47.0000000Z response: body: string: !!binary | @@ -1336,23 +1410,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:23 GMT + - Fri, 06 Sep 2019 03:02:47 GMT ETag: - - '"0x8D7185AC41D79F2"' + - '"0x8D73276B1F44CB2"' Last-Modified: - - Sat, 03 Aug 2019 21:37:21 GMT + - Fri, 06 Sep 2019 03:02:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - ce59a574-d052-11e9-b245-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d3666e28-001a-0045-1943-4ab991000000 + - f3eb8084-d01a-00c0-1e5f-64abca000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1366,19 +1454,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e2606da4-b636-11e9-b63f-2816a845e8c6 + - ce60cb68-d052-11e9-bd74-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:25 GMT + - Fri, 06 Sep 2019 03:02:47 GMT x-ms-range: - bytes=53248-57343 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-08-03T21:37:21.0000000Z + uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-09-06T03:02:47.0000000Z response: body: string: !!binary | @@ -1464,23 +1552,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:23 GMT + - Fri, 06 Sep 2019 03:02:47 GMT ETag: - - '"0x8D7185AC41D79F2"' + - '"0x8D73276B1F44CB2"' Last-Modified: - - Sat, 03 Aug 2019 21:37:21 GMT + - Fri, 06 Sep 2019 03:02:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - ce60cb68-d052-11e9-bd74-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d3666e2a-001a-0045-1a43-4ab991000000 + - f3eb8085-d01a-00c0-1f5f-64abca000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1494,19 +1596,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e27ae2dc-b636-11e9-80c9-2816a845e8c6 + - ce67cb74-d052-11e9-942f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:25 GMT + - Fri, 06 Sep 2019 03:02:48 GMT x-ms-range: - bytes=57344-61439 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-08-03T21:37:21.0000000Z + uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-09-06T03:02:47.0000000Z response: body: string: !!binary | @@ -1592,23 +1694,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:23 GMT + - Fri, 06 Sep 2019 03:02:47 GMT ETag: - - '"0x8D7185AC41D79F2"' + - '"0x8D73276B1F44CB2"' Last-Modified: - - Sat, 03 Aug 2019 21:37:21 GMT + - Fri, 06 Sep 2019 03:02:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - ce67cb74-d052-11e9-942f-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d3666e2b-001a-0045-1b43-4ab991000000 + - f3eb8086-d01a-00c0-205f-64abca000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1622,19 +1738,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e29a2f94-b636-11e9-858d-2816a845e8c6 + - ce6ecb90-d052-11e9-be4c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:25 GMT + - Fri, 06 Sep 2019 03:02:48 GMT x-ms-range: - bytes=61440-65535 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-08-03T21:37:21.0000000Z + uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-09-06T03:02:47.0000000Z response: body: string: !!binary | @@ -1720,23 +1836,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:23 GMT + - Fri, 06 Sep 2019 03:02:47 GMT ETag: - - '"0x8D7185AC41D79F2"' + - '"0x8D73276B1F44CB2"' Last-Modified: - - Sat, 03 Aug 2019 21:37:21 GMT + - Fri, 06 Sep 2019 03:02:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - ce6ecb90-d052-11e9-be4c-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d3666e2e-001a-0045-1e43-4ab991000000 + - f3eb8087-d01a-00c0-215f-64abca000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1750,19 +1880,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e2b90c8c-b636-11e9-9632-2816a845e8c6 + - ce75f2a2-d052-11e9-9ea7-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:25 GMT + - Fri, 06 Sep 2019 03:02:48 GMT x-ms-range: - bytes=65536-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-08-03T21:37:21.0000000Z + uri: https://storagename.file.core.windows.net/utshare512e1a50/utdir512e1a50/bytefile512e1a50?sharesnapshot=2019-09-06T03:02:47.0000000Z response: body: string: !!binary | @@ -1777,23 +1907,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:24 GMT + - Fri, 06 Sep 2019 03:02:47 GMT ETag: - - '"0x8D7185AC41D79F2"' + - '"0x8D73276B1F44CB2"' Last-Modified: - - Sat, 03 Aug 2019 21:37:21 GMT + - Fri, 06 Sep 2019 03:02:46 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - ce75f2a2-d052-11e9-9ea7-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:02:46.8961566Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d3666e2f-001a-0045-1f43-4ab991000000 + - f3eb8088-d01a-00c0-225f-64abca000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_small.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_small.yaml index d3b61ac352be..097774937064 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_small.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_small.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e3f93534-b636-11e9-8c68-2816a845e8c6 + - cecb3db4-d052-11e9-8d25-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:37:28 GMT + - Fri, 06 Sep 2019 03:02:48 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare81371190/utdir81371190/file81371190 response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:37:27 GMT + - Fri, 06 Sep 2019 03:02:48 GMT ETag: - - '"0x8D7185AC7BAA9F1"' + - '"0x8D73276B312100C"' Last-Modified: - - Sat, 03 Aug 2019 21:37:27 GMT + - Fri, 06 Sep 2019 03:02:48 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cecb3db4-d052-11e9-8d25-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:48.8049676Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:48.8049676Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:48.8049676Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - c51424bc-501a-009a-4f43-4ae8c5000000 + - 46e1cff5-301a-002c-185f-64bf5b000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -81,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - e44ee952-b636-11e9-b60b-2816a845e8c6 + - cee9818c-d052-11e9-9644-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:28 GMT + - Fri, 06 Sep 2019 03:02:48 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -103,19 +127,21 @@ interactions: Content-MD5: - Lpc2deCm0pPXaLS5U0ggdA== Date: - - Sat, 03 Aug 2019 21:37:27 GMT + - Fri, 06 Sep 2019 03:02:48 GMT ETag: - - '"0x8D7185AC7DE16E5"' + - '"0x8D73276B31BAF55"' Last-Modified: - - Sat, 03 Aug 2019 21:37:27 GMT + - Fri, 06 Sep 2019 03:02:48 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cee9818c-d052-11e9-9644-001a7dda7113 x-ms-request-id: - - c51424bf-501a-009a-5043-4ae8c5000000 + - 46e1cff7-301a-002c-195f-64bf5b000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -129,17 +155,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e46220d2-b636-11e9-ba90-2816a845e8c6 + - cef03adc-d052-11e9-8e0a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:28 GMT + - Fri, 06 Sep 2019 03:02:48 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare81371190/utdir81371190/file81371190 response: @@ -173,23 +199,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:27 GMT + - Fri, 06 Sep 2019 03:02:48 GMT ETag: - - '"0x8D7185AC7DE16E5"' + - '"0x8D73276B31BAF55"' Last-Modified: - - Sat, 03 Aug 2019 21:37:27 GMT + - Fri, 06 Sep 2019 03:02:48 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cef03adc-d052-11e9-8e0a-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:48.8049676Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:48.8049676Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:48.8049676Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - c51424c0-501a-009a-5143-4ae8c5000000 + - 46e1cff9-301a-002c-1b5f-64bf5b000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_small_from_snapshot.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_small_from_snapshot.yaml index 19e4f4db4eec..6bb6f1bff7b2 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_small_from_snapshot.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_stream_small_from_snapshot.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e542ca14-b636-11e9-9d59-2816a845e8c6 + - cf28c56e-d052-11e9-91d5-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:37:30 GMT + - Fri, 06 Sep 2019 03:02:49 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea2a21772/utdira2a21772/filea2a21772 response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:37:28 GMT + - Fri, 06 Sep 2019 03:02:48 GMT ETag: - - '"0x8D7185AC8F6978C"' + - '"0x8D73276B36ACCD7"' Last-Modified: - - Sat, 03 Aug 2019 21:37:29 GMT + - Fri, 06 Sep 2019 03:02:49 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cf28c56e-d052-11e9-91d5-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:49.3865175Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:49.3865175Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:49.3865175Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 601148d2-c01a-007a-6e43-4a0e4d000000 + - 81ddacb9-501a-00de-0a5f-644712000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -81,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - e5880608-b636-11e9-a55c-2816a845e8c6 + - cf3f9c3a-d052-11e9-9f1b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:30 GMT + - Fri, 06 Sep 2019 03:02:49 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -103,19 +127,21 @@ interactions: Content-MD5: - Ey2kq8FzG8br/oHY+wpQ9A== Date: - - Sat, 03 Aug 2019 21:37:29 GMT + - Fri, 06 Sep 2019 03:02:48 GMT ETag: - - '"0x8D7185AC9168160"' + - '"0x8D73276B371AC50"' Last-Modified: - - Sat, 03 Aug 2019 21:37:29 GMT + - Fri, 06 Sep 2019 03:02:49 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cf3f9c3a-d052-11e9-9f1b-001a7dda7113 x-ms-request-id: - - 601148d4-c01a-007a-6f43-4a0e4d000000 + - 81ddacbc-501a-00de-0c5f-644712000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -131,15 +157,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e5aa755e-b636-11e9-845b-2816a845e8c6 + - cf46a0a4-d052-11e9-98ea-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:30 GMT + - Fri, 06 Sep 2019 03:02:49 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea2a21772?restype=share&comp=snapshot response: @@ -149,19 +175,21 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:37:30 GMT + - Fri, 06 Sep 2019 03:02:48 GMT ETag: - - '"0x8D7185AC858026E"' + - '"0x8D73276B333E5D2"' Last-Modified: - - Sat, 03 Aug 2019 21:37:28 GMT + - Fri, 06 Sep 2019 03:02:49 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cf46a0a4-d052-11e9-98ea-001a7dda7113 x-ms-request-id: - - 73a8b2d0-901a-0026-1743-4affb4000000 + - abdd36ad-901a-0057-195f-64fdc7000000 x-ms-snapshot: - - '2019-08-03T21:37:30.0000000Z' + - '2019-09-06T03:02:49.0000000Z' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -177,15 +205,15 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e6823646-b636-11e9-915d-2816a845e8c6 + - cf63c79e-d052-11e9-b29c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:32 GMT + - Fri, 06 Sep 2019 03:02:49 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utsharea2a21772/utdira2a21772/filea2a21772 response: @@ -195,13 +223,15 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:37:30 GMT + - Fri, 06 Sep 2019 03:02:48 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cf63c79e-d052-11e9-b29c-001a7dda7113 x-ms-request-id: - - 601148d6-c01a-007a-7043-4a0e4d000000 + - 81ddacc2-501a-00de-105f-644712000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 202 message: Accepted @@ -215,19 +245,19 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - e6a42582-b636-11e9-beae-2816a845e8c6 + - cf6ddade-d052-11e9-930d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:32 GMT + - Fri, 06 Sep 2019 03:02:49 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utsharea2a21772/utdira2a21772/filea2a21772?sharesnapshot=2019-08-03T21:37:30.0000000Z + uri: https://storagename.file.core.windows.net/utsharea2a21772/utdira2a21772/filea2a21772?sharesnapshot=2019-09-06T03:02:49.0000000Z response: body: string: !!binary | @@ -259,23 +289,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:30 GMT + - Fri, 06 Sep 2019 03:02:48 GMT ETag: - - '"0x8D7185AC9168160"' + - '"0x8D73276B371AC50"' Last-Modified: - - Sat, 03 Aug 2019 21:37:29 GMT + - Fri, 06 Sep 2019 03:02:49 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - cf6ddade-d052-11e9-930d-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:49.3865175Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:49.3865175Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:49.3865175Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - c8b13093-f01a-0036-2543-4ac952000000 + - 82ee0112-401a-008f-1e5f-64da9e000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_non_parallel.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_non_parallel.yaml index d554a3fa565a..d4fbf020c15e 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_non_parallel.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_non_parallel.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ea70c654-b636-11e9-9e28-2816a845e8c6 + - d1dfcba4-d052-11e9-907b-001a7dda7113 x-ms-content-length: - '32770' x-ms-date: - - Sat, 03 Aug 2019 21:37:38 GMT + - Fri, 06 Sep 2019 03:02:53 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharedfa413a7/utdirdfa413a7/filedfa413a7 response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:37:37 GMT + - Fri, 06 Sep 2019 03:02:53 GMT ETag: - - '"0x8D7185ACE408B4A"' + - '"0x8D73276B627B04E"' Last-Modified: - - Sat, 03 Aug 2019 21:37:38 GMT + - Fri, 06 Sep 2019 03:02:53 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d1dfcba4-d052-11e9-907b-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:53.9798606Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:53.9798606Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:53.9798606Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 219a92f7-901a-0087-3143-4a312f000000 + - e96f2f8c-b01a-007f-2b5f-649c6f000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -480,15 +504,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - eac790b0-b636-11e9-bd9e-2816a845e8c6 + - d1fca958-d052-11e9-8d0e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:39 GMT + - Fri, 06 Sep 2019 03:02:54 GMT x-ms-range: - bytes=0-32769 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -502,19 +526,21 @@ interactions: Content-MD5: - brfBmdYPzQQKYQ22uT/2wQ== Date: - - Sat, 03 Aug 2019 21:37:37 GMT + - Fri, 06 Sep 2019 03:02:53 GMT ETag: - - '"0x8D7185ACE5EEE37"' + - '"0x8D73276B62FEFA9"' Last-Modified: - - Sat, 03 Aug 2019 21:37:38 GMT + - Fri, 06 Sep 2019 03:02:54 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d1fca958-d052-11e9-8d0e-001a7dda7113 x-ms-request-id: - - 219a92f9-901a-0087-3243-4a312f000000 + - e96f2f90-b01a-007f-2e5f-649c6f000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -528,17 +554,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - eae2f2a4-b636-11e9-9fef-2816a845e8c6 + - d2044576-d052-11e9-a5ea-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:39 GMT + - Fri, 06 Sep 2019 03:02:54 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharedfa413a7/utdirdfa413a7/filedfa413a7 response: @@ -984,23 +1010,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:38 GMT + - Fri, 06 Sep 2019 03:02:53 GMT ETag: - - '"0x8D7185ACE5EEE37"' + - '"0x8D73276B62FEFA9"' Last-Modified: - - Sat, 03 Aug 2019 21:37:38 GMT + - Fri, 06 Sep 2019 03:02:54 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - d2044576-d052-11e9-a5ea-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:53.9798606Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:53.9798606Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:53.9798606Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 219a92fa-901a-0087-3343-4a312f000000 + - e96f2f93-b01a-007f-315f-649c6f000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content @@ -1014,17 +1054,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - eb0e3054-b636-11e9-949b-2816a845e8c6 + - d20d8dba-d052-11e9-a04f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:39 GMT + - Fri, 06 Sep 2019 03:02:54 GMT x-ms-range: - bytes=32768-32769 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharedfa413a7/utdirdfa413a7/filedfa413a7 response: @@ -1040,23 +1080,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:38 GMT + - Fri, 06 Sep 2019 03:02:53 GMT ETag: - - '"0x8D7185ACE5EEE37"' + - '"0x8D73276B62FEFA9"' Last-Modified: - - Sat, 03 Aug 2019 21:37:38 GMT + - Fri, 06 Sep 2019 03:02:54 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - d20d8dba-d052-11e9-a04f-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:53.9798606Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:53.9798606Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:53.9798606Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 219a92fc-901a-0087-3443-4a312f000000 + - e96f2f94-b01a-007f-325f-649c6f000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_small.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_small.yaml index e4de17c36d38..03363a72b7d8 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_small.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_small.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ec05d240-b636-11e9-9260-2816a845e8c6 + - d24b4802-d052-11e9-a106-001a7dda7113 x-ms-content-length: - '1030' x-ms-date: - - Sat, 03 Aug 2019 21:37:41 GMT + - Fri, 06 Sep 2019 03:02:54 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5ebc10c9/utdir5ebc10c9/file5ebc10c9 response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:37:40 GMT + - Fri, 06 Sep 2019 03:02:54 GMT ETag: - - '"0x8D7185ACFCB4321"' + - '"0x8D73276B6997973"' Last-Modified: - - Sat, 03 Aug 2019 21:37:40 GMT + - Fri, 06 Sep 2019 03:02:54 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d24b4802-d052-11e9-a106-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:54.7255667Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:54.7255667Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:54.7255667Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 31e1399e-b01a-0018-3443-4a4995000000 + - 3dddc82c-a01a-0097-4c5f-6405f9000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -76,15 +100,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - ec5dd568-b636-11e9-88b1-2816a845e8c6 + - d26e23d8-d052-11e9-8bdd-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:42 GMT + - Fri, 06 Sep 2019 03:02:54 GMT x-ms-range: - bytes=0-1029 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -98,19 +122,21 @@ interactions: Content-MD5: - +GLdeO8f37aHpsMHX7khcw== Date: - - Sat, 03 Aug 2019 21:37:40 GMT + - Fri, 06 Sep 2019 03:02:54 GMT ETag: - - '"0x8D7185ACFEF737F"' + - '"0x8D73276B6A11C6F"' Last-Modified: - - Sat, 03 Aug 2019 21:37:41 GMT + - Fri, 06 Sep 2019 03:02:54 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d26e23d8-d052-11e9-8bdd-001a7dda7113 x-ms-request-id: - - 31e139a1-b01a-0018-3543-4a4995000000 + - 3dddc82e-a01a-0097-4d5f-6405f9000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -124,17 +150,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ec7c4f58-b636-11e9-ac56-2816a845e8c6 + - d27570e4-d052-11e9-a8b8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:42 GMT + - Fri, 06 Sep 2019 03:02:54 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5ebc10c9/utdir5ebc10c9/file5ebc10c9 response: @@ -163,23 +189,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:40 GMT + - Fri, 06 Sep 2019 03:02:54 GMT ETag: - - '"0x8D7185ACFEF737F"' + - '"0x8D73276B6A11C6F"' Last-Modified: - - Sat, 03 Aug 2019 21:37:41 GMT + - Fri, 06 Sep 2019 03:02:54 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - d27570e4-d052-11e9-a8b8-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:54.7255667Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:54.7255667Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:54.7255667Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 31e139a2-b01a-0018-3643-4a4995000000 + - 3dddc82f-a01a-0097-4e5f-6405f9000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_with_encoding.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_with_encoding.yaml index f85c64e5858e..e8f4c9edb1d1 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_with_encoding.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_with_encoding.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ed94c502-b636-11e9-9f3d-2816a845e8c6 + - d2c55ad2-d052-11e9-8ecb-001a7dda7113 x-ms-content-length: - '36' x-ms-date: - - Sat, 03 Aug 2019 21:37:44 GMT + - Fri, 06 Sep 2019 03:02:55 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef3f11412/utdirf3f11412/filef3f11412 response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:37:43 GMT + - Fri, 06 Sep 2019 03:02:55 GMT ETag: - - '"0x8D7185AD15E880C"' + - '"0x8D73276B70B42BD"' Last-Modified: - - Sat, 03 Aug 2019 21:37:43 GMT + - Fri, 06 Sep 2019 03:02:55 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d2c55ad2-d052-11e9-8ecb-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:55.4712765Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:55.4712765Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:55.4712765Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 7ab19292-301a-0020-2943-4a08cc000000 + - eee8d9c3-101a-002b-015f-64d338000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -64,15 +88,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - edf42864-b636-11e9-a2f6-2816a845e8c6 + - d2e106de-d052-11e9-a85a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:44 GMT + - Fri, 06 Sep 2019 03:02:55 GMT x-ms-range: - bytes=0-35 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -86,19 +110,21 @@ interactions: Content-MD5: - O7c5HRnUhbM5yD4T1wnm/w== Date: - - Sat, 03 Aug 2019 21:37:43 GMT + - Fri, 06 Sep 2019 03:02:55 GMT ETag: - - '"0x8D7185AD1826A38"' + - '"0x8D73276B71333EF"' Last-Modified: - - Sat, 03 Aug 2019 21:37:43 GMT + - Fri, 06 Sep 2019 03:02:55 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d2e106de-d052-11e9-a85a-001a7dda7113 x-ms-request-id: - - 7ab19294-301a-0020-2a43-4a08cc000000 + - eee8d9c5-101a-002b-025f-64d338000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -112,17 +138,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ee064782-b636-11e9-afa7-2816a845e8c6 + - d2e87d26-d052-11e9-9dcf-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:44 GMT + - Fri, 06 Sep 2019 03:02:55 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef3f11412/utdirf3f11412/filef3f11412 response: @@ -139,23 +165,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:43 GMT + - Fri, 06 Sep 2019 03:02:55 GMT ETag: - - '"0x8D7185AD1826A38"' + - '"0x8D73276B71333EF"' Last-Modified: - - Sat, 03 Aug 2019 21:37:43 GMT + - Fri, 06 Sep 2019 03:02:55 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - d2e87d26-d052-11e9-9dcf-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:55.4712765Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:55.4712765Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:55.4712765Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 7ab19295-301a-0020-2b43-4a08cc000000 + - eee8d9c8-101a-002b-055f-64d338000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_with_encoding_and_progress.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_with_encoding_and_progress.yaml index 18b3fdc60e95..a1077962400f 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_with_encoding_and_progress.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_get_file_to_text_with_encoding_and_progress.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ef136408-b636-11e9-b98f-2816a845e8c6 + - d4c7f6f8-d052-11e9-b753-001a7dda7113 x-ms-content-length: - '36' x-ms-date: - - Sat, 03 Aug 2019 21:37:46 GMT + - Fri, 06 Sep 2019 03:02:58 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare1ddc1978/utdir1ddc1978/file1ddc1978 response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:37:45 GMT + - Fri, 06 Sep 2019 03:02:58 GMT ETag: - - '"0x8D7185AD2CCD927"' + - '"0x8D73276B91CEFB1"' Last-Modified: - - Sat, 03 Aug 2019 21:37:45 GMT + - Fri, 06 Sep 2019 03:02:58 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d4c7f6f8-d052-11e9-b753-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:58.9425585Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:58.9425585Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:58.9425585Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 55a797e0-f01a-0079-2543-4a0d4a000000 + - 86743e3b-e01a-0086-705f-649f4d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -64,15 +88,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - ef6b56d8-b636-11e9-aaaa-2816a845e8c6 + - d4f3a82c-d052-11e9-8041-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:47 GMT + - Fri, 06 Sep 2019 03:02:59 GMT x-ms-range: - bytes=0-35 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -86,19 +110,21 @@ interactions: Content-MD5: - O7c5HRnUhbM5yD4T1wnm/w== Date: - - Sat, 03 Aug 2019 21:37:46 GMT + - Fri, 06 Sep 2019 03:02:58 GMT ETag: - - '"0x8D7185AD2FA32E8"' + - '"0x8D73276B937AA19"' Last-Modified: - - Sat, 03 Aug 2019 21:37:46 GMT + - Fri, 06 Sep 2019 03:02:59 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d4f3a82c-d052-11e9-8041-001a7dda7113 x-ms-request-id: - - 55a797e2-f01a-0079-2643-4a0d4a000000 + - 86743e3d-e01a-0086-715f-649f4d000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -112,17 +138,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - ef8a1764-b636-11e9-b730-2816a845e8c6 + - d50ec5e2-d052-11e9-8cec-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:47 GMT + - Fri, 06 Sep 2019 03:02:59 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare1ddc1978/utdir1ddc1978/file1ddc1978 response: @@ -139,23 +165,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:46 GMT + - Fri, 06 Sep 2019 03:02:59 GMT ETag: - - '"0x8D7185AD2FA32E8"' + - '"0x8D73276B937AA19"' Last-Modified: - - Sat, 03 Aug 2019 21:37:46 GMT + - Fri, 06 Sep 2019 03:02:59 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - d50ec5e2-d052-11e9-8cec-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:02:58.9425585Z' + x-ms-file-creation-time: + - '2019-09-06T03:02:58.9425585Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:02:58.9425585Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 55a797e3-f01a-0079-2743-4a0d4a000000 + - 86743e3e-e01a-0086-725f-649f4d000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_bytes_with_zero_byte.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_bytes_with_zero_byte.yaml index e98d8666be8d..b3000d24fa7b 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_bytes_with_zero_byte.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_bytes_with_zero_byte.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - f397bf40-b636-11e9-9a4b-2816a845e8c6 + - d64aa652-d052-11e9-8f15-001a7dda7113 x-ms-content-length: - '0' x-ms-date: - - Sat, 03 Aug 2019 21:37:54 GMT + - Fri, 06 Sep 2019 03:03:01 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareb8d917d0/utdirb8d917d0/fileb8d917d0 response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:37:52 GMT + - Fri, 06 Sep 2019 03:03:01 GMT ETag: - - '"0x8D7185AD74F8856"' + - '"0x8D73276BA8D539B"' Last-Modified: - - Sat, 03 Aug 2019 21:37:53 GMT + - Fri, 06 Sep 2019 03:03:01 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d64aa652-d052-11e9-8f15-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:03:01.3568411Z' + x-ms-file-creation-time: + - '2019-09-06T03:03:01.3568411Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:03:01.3568411Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 37421359-c01a-00b6-7043-4a6af8000000 + - c3c481ee-301a-0003-685f-64b290000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -59,23 +83,23 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - f3ef183e-b636-11e9-abc3-2816a845e8c6 + - d662645e-d052-11e9-9cf4-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:54 GMT + - Fri, 06 Sep 2019 03:03:01 GMT x-ms-range: - bytes=0-5 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshareb8d917d0/utdirb8d917d0/fileb8d917d0 response: body: string: "\uFEFFInvalidRangeThe - range specified is invalid for the current size of the resource.\nRequestId:3742135c-c01a-00b6-7143-4a6af8000000\nTime:2019-08-03T21:37:53.7672622Z" + range specified is invalid for the current size of the resource.\nRequestId:c3c481f1-301a-0003-695f-64b290000000\nTime:2019-09-06T03:03:01.4285929Z" headers: Content-Length: - '249' @@ -84,17 +108,17 @@ interactions: Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:37:52 GMT + - Fri, 06 Sep 2019 03:03:01 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - d662645e-d052-11e9-9cf4-001a7dda7113 x-ms-error-code: - InvalidRange x-ms-request-id: - - 3742135c-c01a-00b6-7143-4a6af8000000 + - c3c481f1-301a-0003-695f-64b290000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 416 message: The range specified is invalid for the current size of the resource. @@ -108,23 +132,23 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - f4078f6c-b636-11e9-b2d2-2816a845e8c6 + - d66c4d70-d052-11e9-8ffd-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:55 GMT + - Fri, 06 Sep 2019 03:03:01 GMT x-ms-range: - bytes=3-5 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshareb8d917d0/utdirb8d917d0/fileb8d917d0 response: body: string: "\uFEFFInvalidRangeThe - range specified is invalid for the current size of the resource.\nRequestId:3742135d-c01a-00b6-7243-4a6af8000000\nTime:2019-08-03T21:37:53.9293783Z" + range specified is invalid for the current size of the resource.\nRequestId:c3c481f2-301a-0003-6a5f-64b290000000\nTime:2019-09-06T03:03:01.4696217Z" headers: Content-Length: - '249' @@ -133,17 +157,17 @@ interactions: Content-Type: - application/xml Date: - - Sat, 03 Aug 2019 21:37:52 GMT + - Fri, 06 Sep 2019 03:03:01 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - d66c4d70-d052-11e9-8ffd-001a7dda7113 x-ms-error-code: - InvalidRange x-ms-request-id: - - 3742135d-c01a-00b6-7243-4a6af8000000 + - c3c481f2-301a-0003-6a5f-64b290000000 x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 416 message: The range specified is invalid for the current size of the resource. diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_path_invalid_range_non_parallel.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_path_invalid_range_non_parallel.yaml index 0ab3fb28f9e0..f7e229e0692d 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_path_invalid_range_non_parallel.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_path_invalid_range_non_parallel.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - f62a2d92-b636-11e9-a694-2816a845e8c6 + - d6ded7ee-d052-11e9-a729-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:37:58 GMT + - Fri, 06 Sep 2019 03:03:02 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshared4721c11/utdird4721c11/filed4721c11 response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:37:57 GMT + - Fri, 06 Sep 2019 03:03:01 GMT ETag: - - '"0x8D7185AD9F8B530"' + - '"0x8D73276BB21EF98"' Last-Modified: - - Sat, 03 Aug 2019 21:37:57 GMT + - Fri, 06 Sep 2019 03:03:02 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d6ded7ee-d052-11e9-a729-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:03:02.3307672Z' + x-ms-file-creation-time: + - '2019-09-06T03:03:02.3307672Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:03:02.3307672Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 9d5fc451-201a-0052-1643-4a79f2000000 + - bf197e2a-f01a-008a-1d5f-640845000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -81,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - f67c20d2-b636-11e9-887a-2816a845e8c6 + - d6f6858c-d052-11e9-a887-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:59 GMT + - Fri, 06 Sep 2019 03:03:02 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -103,19 +127,21 @@ interactions: Content-MD5: - w4K7XcRVEiqgHdQNiSA8bw== Date: - - Sat, 03 Aug 2019 21:37:57 GMT + - Fri, 06 Sep 2019 03:03:01 GMT ETag: - - '"0x8D7185ADA0736BE"' + - '"0x8D73276BB28A7FB"' Last-Modified: - - Sat, 03 Aug 2019 21:37:58 GMT + - Fri, 06 Sep 2019 03:03:02 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - d6f6858c-d052-11e9-a887-001a7dda7113 x-ms-request-id: - - 9d5fc453-201a-0052-1743-4a79f2000000 + - bf197e2d-f01a-008a-1f5f-640845000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -129,17 +155,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - f69e7c8c-b636-11e9-b740-2816a845e8c6 + - d701cf92-d052-11e9-bdd9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:37:59 GMT + - Fri, 06 Sep 2019 03:03:02 GMT x-ms-range: - bytes=1-32768 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshared4721c11/utdird4721c11/filed4721c11 response: @@ -173,23 +199,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:37:57 GMT + - Fri, 06 Sep 2019 03:03:01 GMT ETag: - - '"0x8D7185ADA0736BE"' + - '"0x8D73276BB28A7FB"' Last-Modified: - - Sat, 03 Aug 2019 21:37:58 GMT + - Fri, 06 Sep 2019 03:03:02 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - d701cf92-d052-11e9-bdd9-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:03:02.3307672Z' + x-ms-file-creation-time: + - '2019-09-06T03:03:02.3307672Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:03:02.3307672Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - 9d5fc454-201a-0052-1843-4a79f2000000 + - bf197e2f-f01a-008a-215f-640845000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_path_non_parallel.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_path_non_parallel.yaml index 0ef32e63bea8..46344ab881d3 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_path_non_parallel.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_path_non_parallel.yaml @@ -9,17 +9,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - f86eded2-b636-11e9-a903-2816a845e8c6 + - d790e240-d052-11e9-9fd7-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:38:02 GMT + - Fri, 06 Sep 2019 03:03:03 GMT x-ms-range: - bytes=1-3 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare710b165f/utdir710b165f/bytefile710b165f response: @@ -36,23 +36,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:38:00 GMT + - Fri, 06 Sep 2019 03:03:02 GMT ETag: - - '"0x8D7185ADBE1556D"' + - '"0x8D73276BBB21D84"' Last-Modified: - - Sat, 03 Aug 2019 21:38:01 GMT + - Fri, 06 Sep 2019 03:03:03 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - d790e240-d052-11e9-9fd7-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:03:03.2436318Z' + x-ms-file-creation-time: + - '2019-09-06T03:03:03.2436318Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:03:03.2436318Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d7bec44e-d01a-0003-4a43-4a6707000000 + - 6365d258-801a-005b-255f-646acf000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_path_small.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_path_small.yaml index 187f382f2171..1acf4706e490 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_path_small.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_ranged_get_file_to_path_small.yaml @@ -9,17 +9,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - f9aac24a-b636-11e9-88b6-2816a845e8c6 + - d9705c42-d052-11e9-ace5-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:38:04 GMT + - Fri, 06 Sep 2019 03:03:06 GMT x-ms-range: - bytes=1-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharedd0c1381/utdirdd0c1381/bytefiledd0c1381 response: @@ -36,23 +36,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:38:03 GMT + - Fri, 06 Sep 2019 03:03:06 GMT ETag: - - '"0x8D7185ADD1C3130"' + - '"0x8D73276BD96950A"' Last-Modified: - - Sat, 03 Aug 2019 21:38:03 GMT + - Fri, 06 Sep 2019 03:03:06 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - d9705c42-d052-11e9-ace5-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:03:06.4186331Z' + x-ms-file-creation-time: + - '2019-09-06T03:03:06.4186331Z' + x-ms-file-id: + - '13835093239654252544' + x-ms-file-last-write-time: + - '2019-09-06T03:03:06.4186331Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d2f403d7-e01a-000b-1a43-4a7c74000000 + - f140364c-901a-00d1-495f-64317e000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_unicode_get_file_binary_data.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_unicode_get_file_binary_data.yaml index d82c88b62103..6ea0e2e2f3e5 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_unicode_get_file_binary_data.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_unicode_get_file_binary_data.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - fc5a9298-b636-11e9-a141-2816a845e8c6 + - df4010fe-d052-11e9-a95b-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 21:38:08 GMT + - Fri, 06 Sep 2019 03:03:16 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareca5f130e/utdirca5f130e/fileca5f130e response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:38:07 GMT + - Fri, 06 Sep 2019 03:03:16 GMT ETag: - - '"0x8D7185AE01476B3"' + - '"0x8D73276C3866C14"' Last-Modified: - - Sat, 03 Aug 2019 21:38:08 GMT + - Fri, 06 Sep 2019 03:03:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - df4010fe-d052-11e9-a95b-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:03:16.4110868Z' + x-ms-file-creation-time: + - '2019-09-06T03:03:16.4110868Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:03:16.4110868Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d44da4f5-701a-00e0-7f43-4a8288000000 + - 68074f5c-001a-00d3-325f-648fc6000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -81,15 +105,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - fc99a600-b636-11e9-afaa-2816a845e8c6 + - df5ad886-d052-11e9-93c4-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:38:09 GMT + - Fri, 06 Sep 2019 03:03:16 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -103,19 +127,21 @@ interactions: Content-MD5: - suqff86oMaSmOyE/QaiFWw== Date: - - Sat, 03 Aug 2019 21:38:07 GMT + - Fri, 06 Sep 2019 03:03:16 GMT ETag: - - '"0x8D7185AE028C5A9"' + - '"0x8D73276C38D4B8D"' Last-Modified: - - Sat, 03 Aug 2019 21:38:08 GMT + - Fri, 06 Sep 2019 03:03:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - df5ad886-d052-11e9-93c4-001a7dda7113 x-ms-request-id: - - d44da4f7-701a-00e0-8043-4a8288000000 + - 68074f65-001a-00d3-385f-648fc6000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -129,17 +155,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - fcb9a7a8-b636-11e9-8fd7-2816a845e8c6 + - df618aba-d052-11e9-9851-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:38:09 GMT + - Fri, 06 Sep 2019 03:03:16 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshareca5f130e/utdirca5f130e/fileca5f130e response: @@ -173,23 +199,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:38:08 GMT + - Fri, 06 Sep 2019 03:03:16 GMT ETag: - - '"0x8D7185AE028C5A9"' + - '"0x8D73276C38D4B8D"' Last-Modified: - - Sat, 03 Aug 2019 21:38:08 GMT + - Fri, 06 Sep 2019 03:03:16 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - df618aba-d052-11e9-9851-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:03:16.4110868Z' + x-ms-file-creation-time: + - '2019-09-06T03:03:16.4110868Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:03:16.4110868Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - d44da4f8-701a-00e0-0143-4a8288000000 + - 68074f6f-001a-00d3-425f-648fc6000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_unicode_get_file_unicode_data.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_unicode_get_file_unicode_data.yaml index df9862094171..634e8fd47200 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_unicode_get_file_unicode_data.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file.test_unicode_get_file_unicode_data.yaml @@ -11,19 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - fdb022d2-b636-11e9-a390-2816a845e8c6 + - e1700e86-d052-11e9-a9e0-001a7dda7113 x-ms-content-length: - '26' x-ms-date: - - Sat, 03 Aug 2019 21:38:11 GMT + - Fri, 06 Sep 2019 03:03:19 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharede221370/utdirde221370/filede221370 response: @@ -33,19 +41,35 @@ interactions: Content-Length: - '0' Date: - - Sat, 03 Aug 2019 21:38:09 GMT + - Fri, 06 Sep 2019 03:03:19 GMT ETag: - - '"0x8D7185AE17026CF"' + - '"0x8D73276C5B87A5D"' Last-Modified: - - Sat, 03 Aug 2019 21:38:10 GMT + - Fri, 06 Sep 2019 03:03:20 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e1700e86-d052-11e9-a9e0-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:03:20.0945757Z' + x-ms-file-creation-time: + - '2019-09-06T03:03:20.0945757Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:03:20.0945757Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ddac3f5b-b01a-005c-0643-4a95f9000000 + - c600b1c7-901a-00a3-435f-643631000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -63,15 +87,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - fdf4693e-b636-11e9-81c2-2816a845e8c6 + - e18d2938-d052-11e9-9cba-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:38:11 GMT + - Fri, 06 Sep 2019 03:03:20 GMT x-ms-range: - bytes=0-25 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -85,19 +109,21 @@ interactions: Content-MD5: - aFkhSeVIRnJoB2MmKjC25w== Date: - - Sat, 03 Aug 2019 21:38:09 GMT + - Fri, 06 Sep 2019 03:03:19 GMT ETag: - - '"0x8D7185AE182C7CD"' + - '"0x8D73276C5BF32C1"' Last-Modified: - - Sat, 03 Aug 2019 21:38:10 GMT + - Fri, 06 Sep 2019 03:03:20 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - e18d2938-d052-11e9-9cba-001a7dda7113 x-ms-request-id: - - ddac3f5d-b01a-005c-0743-4a95f9000000 + - c600b1ca-901a-00a3-455f-643631000000 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 201 message: Created @@ -111,17 +137,17 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - fe065c64-b636-11e9-a725-2816a845e8c6 + - e193c152-d052-11e9-a33e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 21:38:11 GMT + - Fri, 06 Sep 2019 03:03:20 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharede221370/utdirde221370/filede221370 response: @@ -137,23 +163,37 @@ interactions: Content-Type: - application/xml; charset=utf-8 Date: - - Sat, 03 Aug 2019 21:38:09 GMT + - Fri, 06 Sep 2019 03:03:20 GMT ETag: - - '"0x8D7185AE182C7CD"' + - '"0x8D73276C5BF32C1"' Last-Modified: - - Sat, 03 Aug 2019 21:38:10 GMT + - Fri, 06 Sep 2019 03:03:20 GMT Server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin + x-ms-client-request-id: + - e193c152-d052-11e9-a33e-001a7dda7113 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2019-09-06T03:03:20.0945757Z' + x-ms-file-creation-time: + - '2019-09-06T03:03:20.0945757Z' + x-ms-file-id: + - '13835163608398430208' + x-ms-file-last-write-time: + - '2019-09-06T03:03:20.0945757Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 4099112195243312672*10394889115079208622 x-ms-request-id: - - ddac3f5e-b01a-005c-0843-4a95f9000000 + - c600b1cb-901a-00a3-465f-643631000000 x-ms-server-encrypted: - 'true' x-ms-type: - File x-ms-version: - - '2018-11-09' + - '2019-02-02' status: code: 206 message: Partial Content diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_exact_get_size_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_exact_get_size_async.yaml index ef6416f9c64c..43e8039dd0f9 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_exact_get_size_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_exact_get_size_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2b04b26e-b63a-11e9-bb53-2816a845e8c6 + - 9264f514-d054-11e9-87f5-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:00:55 GMT + - Fri, 06 Sep 2019 03:15:26 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5d961612?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:54 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E0EBBBCAF"' + : '"0x8D7327876997FC9"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:00:54 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4b0ecec4-501a-00b8-5c46-4a86f3000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 9264f514-d054-11e9-87f5-001a7dda7113 + x-ms-request-id: b035b146-d01a-008d-3761-646426000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5d961612 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2b534d5e-b63a-11e9-9fab-2816a845e8c6 + - 92798fbe-d054-11e9-9453-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:00:56 GMT + - Fri, 06 Sep 2019 03:15:26 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5d961612/utdir5d961612?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:54 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E0ED828E5"' + : '"0x8D7327876ABAF2E"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:00:55 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4b0ecec7-501a-00b8-5d46-4a86f3000000 + x-ms-client-request-id: 92798fbe-d054-11e9-9453-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:26.4641838Z' + x-ms-file-creation-time: '2019-09-06T03:15:26.4641838Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:26.4641838Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: b035b149-d01a-008d-3861-646426000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5d961612/utdir5d961612 - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2b7594be-b63a-11e9-ba86-2816a845e8c6 + - 9285bfb6-d054-11e9-b157-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:00:56 GMT + - Fri, 06 Sep 2019 03:15:26 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5d961612/utdir5d961612/bytefile5d961612 response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:55 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E0F1675BE"' + : '"0x8D7327876BAA6F4"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:00:55 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c0059d38-001a-00a0-8046-4aab66000000 + x-ms-client-request-id: 9285bfb6-d054-11e9-b157-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:26.5622772Z' + x-ms-file-creation-time: '2019-09-06T03:15:26.5622772Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:26.5622772Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 5805bff7-e01a-00db-5061-6495c9000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5d961612/utdir5d961612/bytefile5d961612 - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 2bae995a-b63a-11e9-818d-2816a845e8c6 + - 928feacc-d054-11e9-8693-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:00:56 GMT + - Fri, 06 Sep 2019 03:15:26 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : jwT7SJ9LJtMhdePEu/P7xQ== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:55 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E0F44BA20"' + : '"0x8D7327876C1D4A4"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:00:55 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c0059d3a-001a-00a0-0146-4aab66000000 + x-ms-client-request-id: 928feacc-d054-11e9-8693-001a7dda7113 + x-ms-request-id: 5805bffa-e01a-00db-5261-6495c9000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5d961612/utdir5d961612/bytefile5d961612 - comp=range - '' @@ -1357,19 +1391,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2bd19326-b63a-11e9-be02-2816a845e8c6 + - 929f267e-d054-11e9-b9f9-001a7dda7113 x-ms-content-length: - '32768' x-ms-date: - - Sat, 03 Aug 2019 22:00:57 GMT + - Fri, 06 Sep 2019 03:15:26 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5d961612/utdir5d961612/file5d961612 response: @@ -1381,19 +1423,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:55 GMT + : Fri, 06 Sep 2019 03:15:25 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E0F71024C"' + : '"0x8D7327876D5AF9B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:00:56 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5bc5bdb3-801a-0039-1446-4a24a4000000 + x-ms-client-request-id: 929f267e-d054-11e9-b9f9-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:26.7394459Z' + x-ms-file-creation-time: '2019-09-06T03:15:26.7394459Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:26.7394459Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 13d9f7c5-501a-0077-0d61-648660000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1401,7 +1451,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5d961612/utdir5d961612/file5d961612 - '' - '' @@ -1988,15 +2038,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 2c0ce022-b63a-11e9-9525-2816a845e8c6 + - 92aa590a-d054-11e9-9096-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:00:57 GMT + - Fri, 06 Sep 2019 03:15:26 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -2013,19 +2063,20 @@ interactions: : SH4nlQNH2rMAACudYuJ7bw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:56 GMT + : Fri, 06 Sep 2019 03:15:25 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E0F9B9C7B"' + : '"0x8D7327876D9811D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:00:56 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5bc5bdb5-801a-0039-1546-4a24a4000000 + x-ms-client-request-id: 92aa590a-d054-11e9-9096-001a7dda7113 + x-ms-request-id: 13d9f7c7-501a-0077-0e61-648660000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -2033,7 +2084,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5d961612/utdir5d961612/file5d961612 - comp=range - '' @@ -2043,17 +2094,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2c21799e-b63a-11e9-97ca-2816a845e8c6 + - 92adfff8-d054-11e9-8de7-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:00:57 GMT + - Fri, 06 Sep 2019 03:15:26 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5d961612/utdir5d961612/file5d961612 response: @@ -2649,23 +2700,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:57 GMT + : Fri, 06 Sep 2019 03:15:25 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E0F9B9C7B"' + : '"0x8D7327876D9811D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:00:56 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5bc5bdb6-801a-0039-1646-4a24a4000000 + x-ms-client-request-id: 92adfff8-d054-11e9-8de7-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:26.7394459Z' + x-ms-file-creation-time: '2019-09-06T03:15:26.7394459Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:26.7394459Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 13d9f7c8-501a-0077-0f61-648660000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2673,7 +2729,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5d961612/utdir5d961612/file5d961612 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_no_content_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_no_content_async.yaml index 9d56354d0ea5..532313b89b02 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_no_content_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_no_content_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2d1b3892-b63a-11e9-8406-2816a845e8c6 + - 92c26d0c-d054-11e9-8a82-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:00:59 GMT + - Fri, 06 Sep 2019 03:15:26 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare8a7147b?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:58 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E10C26F8A"' + : '"0x8D7327876F54368"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:00:58 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2a372d34-a01a-00e9-6f46-4a9806000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 92c26d0c-d054-11e9-8a82-001a7dda7113 + x-ms-request-id: 67732097-401a-006b-3a61-64d400000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare8a7147b - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2d70ee36-b63a-11e9-adfb-2816a845e8c6 + - 92cb3924-d054-11e9-872a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:00:59 GMT + - Fri, 06 Sep 2019 03:15:27 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare8a7147b/utdir8a7147b?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:58 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E10F529E0"' + : '"0x8D7327876F945D6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:00:58 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2a372d37-a01a-00e9-7046-4a9806000000 + x-ms-client-request-id: 92cb3924-d054-11e9-872a-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:26.9726678Z' + x-ms-file-creation-time: '2019-09-06T03:15:26.9726678Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:26.9726678Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 6773209a-401a-006b-3b61-64d400000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare8a7147b/utdir8a7147b - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2d7f798a-b63a-11e9-853f-2816a845e8c6 + - 92d1dab6-d054-11e9-a4fa-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:00:59 GMT + - Fri, 06 Sep 2019 03:15:27 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare8a7147b/utdir8a7147b/bytefile8a7147b response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:58 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E114813EB"' + : '"0x8D732787705CC04"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:00:59 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e2e9f34-b01a-0031-6546-4a3fd7000000 + x-ms-client-request-id: 92d1dab6-d054-11e9-a4fa-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.0547460Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.0547460Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:27.0547460Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 850f8021-101a-00bd-4c61-64dae9000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare8a7147b/utdir8a7147b/bytefile8a7147b - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 2de18c34-b63a-11e9-9a3b-2816a845e8c6 + - 92dcc3b4-d054-11e9-b717-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:00 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : 0aJALZ0CGgtrqoW6ez97Yg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:59 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1176A677"' + : '"0x8D73278770D961A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:00:59 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3e2e9f36-b01a-0031-6646-4a3fd7000000 + x-ms-client-request-id: 92dcc3b4-d054-11e9-b717-001a7dda7113 + x-ms-request-id: 850f8023-101a-00bd-4d61-64dae9000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare8a7147b/utdir8a7147b/bytefile8a7147b - comp=range - '' @@ -1357,19 +1391,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2e009354-b63a-11e9-8f79-2816a845e8c6 + - 92e56f06-d054-11e9-88d5-001a7dda7113 x-ms-content-length: - '0' x-ms-date: - - Sat, 03 Aug 2019 22:01:00 GMT + - Fri, 06 Sep 2019 03:15:27 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare8a7147b/utdir8a7147b/file8a7147b response: @@ -1381,19 +1423,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:59 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E11B6A13B"' + : '"0x8D73278771B06E0"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:00:59 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e8038bdf-401a-0006-0e46-4a9378000000 + x-ms-client-request-id: 92e56f06-d054-11e9-88d5-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.1938784Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.1938784Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:27.1938784Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 5bcb5241-801a-00bf-4061-646451000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1401,7 +1451,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare8a7147b/utdir8a7147b/file8a7147b - '' - '' @@ -1411,23 +1461,23 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2e3f383e-b63a-11e9-9489-2816a845e8c6 + - 92f02962-d054-11e9-acc0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:01 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare8a7147b/utdir8a7147b/file8a7147b response: body: string: "\uFEFFInvalidRangeThe - range specified is invalid for the current size of the resource.\nRequestId:e8038be1-401a-0006-0f46-4a9378000000\nTime:2019-08-03T22:01:00.0268262Z" + range specified is invalid for the current size of the resource.\nRequestId:5bcb5243-801a-00bf-4161-646451000000\nTime:2019-09-06T03:15:27.2182933Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -1440,16 +1490,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:59 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: 92f02962-d054-11e9-acc0-001a7dda7113 x-ms-error-code: InvalidRange - x-ms-request-id: e8038be1-401a-0006-0f46-4a9378000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 5bcb5243-801a-00bf-4161-646451000000 + x-ms-version: '2019-02-02' status: code: 416 message: The range specified is invalid for the current size of the resource. @@ -1457,7 +1505,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare8a7147b/utdir8a7147b/file8a7147b - '' - '' @@ -1467,15 +1515,15 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2e5e2370-b63a-11e9-844a-2816a845e8c6 + - 92f2f1d8-d054-11e9-838a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:01 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare8a7147b/utdir8a7147b/file8a7147b response: @@ -1493,23 +1541,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:00:59 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E11B6A13B"' + : '"0x8D73278771B06E0"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:00:59 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: e8038be2-401a-0006-1046-4a9378000000 + x-ms-client-request-id: 92f2f1d8-d054-11e9-838a-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.1938784Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.1938784Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:27.1938784Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 5bcb5244-801a-00bf-4261-646451000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -1517,7 +1570,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare8a7147b/utdir8a7147b/file8a7147b - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_non_seekable_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_non_seekable_async.yaml index ba595103ee67..cb8875149d9c 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_non_seekable_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_non_seekable_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2e8c991e-b63a-11e9-a047-2816a845e8c6 + - 93087bf4-d054-11e9-8c64-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:01 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare31a7152a?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:00 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1249F724"' + : '"0x8D73278773CD21A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:00 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8b9cc319-501a-00de-0c46-4a34a9000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 93087bf4-d054-11e9-8c64-001a7dda7113 + x-ms-request-id: 9f66b394-601a-0021-3d61-64778f000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2ed3513a-b63a-11e9-bd14-2816a845e8c6 + - 931272c8-d054-11e9-8ca0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:02 GMT + - Fri, 06 Sep 2019 03:15:27 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare31a7152a/utdir31a7152a?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:00 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E12579243"' + : '"0x8D7327877409955"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:00 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8b9cc31c-501a-00de-0d46-4a34a9000000 + x-ms-client-request-id: 931272c8-d054-11e9-8ca0-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:27.4401109Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.4401109Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:27.4401109Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 9f66b397-601a-0021-3e61-64778f000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a/utdir31a7152a - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2f01335e-b63a-11e9-b6c3-2816a845e8c6 + - 931640ba-d054-11e9-b67b-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:02 GMT + - Fri, 06 Sep 2019 03:15:27 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare31a7152a/utdir31a7152a/bytefile31a7152a response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:00 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E129EE170"' + : '"0x8D7327877494E04"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d81b3f2b-c01a-009f-2846-4a1cba000000 + x-ms-client-request-id: 931640ba-d054-11e9-b67b-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 96dd68f6-a01a-0063-3961-64ce0f000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a/utdir31a7152a/bytefile31a7152a - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 2f39457a-b63a-11e9-a7b3-2816a845e8c6 + - 931dbd5a-d054-11e9-92cd-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:02 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : PNBruFFZMDqTLNuSFCucdA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:00 GMT + : Fri, 06 Sep 2019 03:15:26 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E12CF7029"' + : '"0x8D73278774DBBE7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d81b3f2d-c01a-009f-2946-4a1cba000000 + x-ms-client-request-id: 931dbd5a-d054-11e9-92cd-001a7dda7113 + x-ms-request-id: 96dd68f8-a01a-0063-3a61-64ce0f000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a/utdir31a7152a/bytefile31a7152a - comp=range - '' @@ -1359,17 +1393,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2f5a2e48-b63a-11e9-b9f2-2816a845e8c6 + - 9325f630-d054-11e9-b11b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:03 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare31a7152a/utdir31a7152a/bytefile31a7152a response: @@ -1965,23 +1999,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E12CF7029"' + : '"0x8D73278774DBBE7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c3822794-701a-00eb-7746-4a9afc000000 + x-ms-client-request-id: 9325f630-d054-11e9-b11b-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 6365e940-801a-005b-0c61-646acf000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1989,7 +2028,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a/utdir31a7152a/bytefile31a7152a - '' - '' @@ -1999,17 +2038,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2f9ee112-b63a-11e9-8206-2816a845e8c6 + - 93307de4-d054-11e9-8df7-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:03 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-range: - bytes=32768-36863 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare31a7152a/utdir31a7152a/bytefile31a7152a response: @@ -2102,23 +2141,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E12CF7029"' + : '"0x8D73278774DBBE7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c3822797-701a-00eb-7846-4a9afc000000 + x-ms-client-request-id: 93307de4-d054-11e9-8df7-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 6365e943-801a-005b-0d61-646acf000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2126,7 +2170,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a/utdir31a7152a/bytefile31a7152a - '' - '' @@ -2136,17 +2180,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2fb31910-b63a-11e9-93b7-2816a845e8c6 + - 9333d5be-d054-11e9-88a7-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:03 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-range: - bytes=36864-40959 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare31a7152a/utdir31a7152a/bytefile31a7152a response: @@ -2239,23 +2283,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E12CF7029"' + : '"0x8D73278774DBBE7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c3822798-701a-00eb-7946-4a9afc000000 + x-ms-client-request-id: 9333d5be-d054-11e9-88a7-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 6365e944-801a-005b-0e61-646acf000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2263,7 +2312,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a/utdir31a7152a/bytefile31a7152a - '' - '' @@ -2273,17 +2322,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2fbca41a-b63a-11e9-aa8a-2816a845e8c6 + - 933756f4-d054-11e9-9e10-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:03 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-range: - bytes=40960-45055 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare31a7152a/utdir31a7152a/bytefile31a7152a response: @@ -2376,23 +2425,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:02 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E12CF7029"' + : '"0x8D73278774DBBE7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c3822799-701a-00eb-7a46-4a9afc000000 + x-ms-client-request-id: 933756f4-d054-11e9-9e10-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 6365e945-801a-005b-0f61-646acf000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2400,7 +2454,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a/utdir31a7152a/bytefile31a7152a - '' - '' @@ -2410,17 +2464,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2fc60550-b63a-11e9-8ad9-2816a845e8c6 + - 933aaf24-d054-11e9-8913-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:03 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-range: - bytes=45056-49151 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare31a7152a/utdir31a7152a/bytefile31a7152a response: @@ -2513,23 +2567,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:02 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E12CF7029"' + : '"0x8D73278774DBBE7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c382279a-701a-00eb-7b46-4a9afc000000 + x-ms-client-request-id: 933aaf24-d054-11e9-8913-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 6365e946-801a-005b-1061-646acf000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2537,7 +2596,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a/utdir31a7152a/bytefile31a7152a - '' - '' @@ -2547,17 +2606,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2fd5ee8a-b63a-11e9-a2db-2816a845e8c6 + - 933e0830-d054-11e9-b4b9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:03 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-range: - bytes=49152-53247 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare31a7152a/utdir31a7152a/bytefile31a7152a response: @@ -2650,23 +2709,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:02 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E12CF7029"' + : '"0x8D73278774DBBE7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c382279b-701a-00eb-7c46-4a9afc000000 + x-ms-client-request-id: 933e0830-d054-11e9-b4b9-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 6365e947-801a-005b-1161-646acf000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2674,7 +2738,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a/utdir31a7152a/bytefile31a7152a - '' - '' @@ -2684,17 +2748,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2fdf500c-b63a-11e9-9dd0-2816a845e8c6 + - 934139e2-d054-11e9-a8f7-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:03 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-range: - bytes=53248-57343 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare31a7152a/utdir31a7152a/bytefile31a7152a response: @@ -2787,23 +2851,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:02 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E12CF7029"' + : '"0x8D73278774DBBE7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c382279c-701a-00eb-7d46-4a9afc000000 + x-ms-client-request-id: 934139e2-d054-11e9-a8f7-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 6365e948-801a-005b-1261-646acf000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2811,7 +2880,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a/utdir31a7152a/bytefile31a7152a - '' - '' @@ -2821,17 +2890,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2ff4a546-b63a-11e9-ac4f-2816a845e8c6 + - 9343f71c-d054-11e9-baa9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:04 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-range: - bytes=57344-61439 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare31a7152a/utdir31a7152a/bytefile31a7152a response: @@ -2924,23 +2993,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:02 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E12CF7029"' + : '"0x8D73278774DBBE7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c382279d-701a-00eb-7e46-4a9afc000000 + x-ms-client-request-id: 9343f71c-d054-11e9-baa9-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 6365e949-801a-005b-1361-646acf000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2948,7 +3022,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a/utdir31a7152a/bytefile31a7152a - '' - '' @@ -2958,17 +3032,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 2ffeda02-b63a-11e9-9bf9-2816a845e8c6 + - 9346da6e-d054-11e9-bc27-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:04 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-range: - bytes=61440-65535 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare31a7152a/utdir31a7152a/bytefile31a7152a response: @@ -3061,23 +3135,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:02 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E12CF7029"' + : '"0x8D73278774DBBE7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c382279f-701a-00eb-7f46-4a9afc000000 + x-ms-client-request-id: 9346da6e-d054-11e9-bc27-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 6365e94a-801a-005b-1461-646acf000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -3085,7 +3164,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a/utdir31a7152a/bytefile31a7152a - '' - '' @@ -3095,17 +3174,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 300a569a-b63a-11e9-91d9-2816a845e8c6 + - 934a3b30-d054-11e9-8bb8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:04 GMT + - Fri, 06 Sep 2019 03:15:27 GMT x-ms-range: - bytes=65536-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare31a7152a/utdir31a7152a/bytefile31a7152a response: @@ -3127,23 +3206,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:02 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E12CF7029"' + : '"0x8D73278774DBBE7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:01 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c38227a0-701a-00eb-8046-4a9afc000000 + x-ms-client-request-id: 934a3b30-d054-11e9-8bb8-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-creation-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:27.4971652Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 6365e94b-801a-005b-1561-646acf000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -3151,7 +3235,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare31a7152a/utdir31a7152a/bytefile31a7152a - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_non_seekable_from_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_non_seekable_from_snapshot_async.yaml index 486af2b142aa..637340588d4c 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_non_seekable_from_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_non_seekable_from_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 30448652-b63a-11e9-b391-2816a845e8c6 + - 9368fa1e-d054-11e9-b713-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:04 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare85f41b0c?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:02 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E13EBD7E6"' + : '"0x8D73278779C0AA0"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:03 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4213a654-601a-0033-1846-4a3d2d000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 9368fa1e-d054-11e9-b713-001a7dda7113 + x-ms-request-id: c3c49aff-301a-0003-5861-64b290000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 30755ad8-b63a-11e9-a554-2816a845e8c6 + - 937247b4-d054-11e9-b58a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:04 GMT + - Fri, 06 Sep 2019 03:15:28 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:03 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E13F9F5B5"' + : '"0x8D7327877A1203A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:03 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4213a657-601a-0033-1946-4a3d2d000000 + x-ms-client-request-id: 937247b4-d054-11e9-b58a-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:28.0727098Z' + x-ms-file-creation-time: '2019-09-06T03:15:28.0727098Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:28.0727098Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: c3c49b02-301a-0003-5961-64b290000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 30961bc8-b63a-11e9-ae57-2816a845e8c6 + - 9376da28-d054-11e9-9d0d-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:05 GMT + - Fri, 06 Sep 2019 03:15:28 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:03 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E14349863"' + : '"0x8D7327877AB34C6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 15d692e3-e01a-0044-6546-4ab86c000000 + x-ms-client-request-id: 9376da28-d054-11e9-9d0d-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-creation-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 2cd9b563-e01a-0096-3f61-645a25000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 30cf291e-b63a-11e9-b09a-2816a845e8c6 + - 937fc124-d054-11e9-acb1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:05 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : JKSyz6z6rkB4ah1wi2RVvQ== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:03 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E146638C6"' + : '"0x8D7327877B06628"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 15d692e5-e01a-0044-6646-4ab86c000000 + x-ms-client-request-id: 937fc124-d054-11e9-acb1-001a7dda7113 + x-ms-request-id: 2cd9b565-e01a-0096-4061-645a25000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c - comp=range - '' @@ -1357,15 +1391,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 30f113ba-b63a-11e9-b2f1-2816a845e8c6 + - 9386ca8c-d054-11e9-b689-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:05 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare85f41b0c?restype=share&comp=snapshot response: @@ -1377,19 +1411,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:27 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E13EBD7E6"' + : '"0x8D73278779C0AA0"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:03 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4213a659-601a-0033-1a46-4a3d2d000000 - x-ms-snapshot: '2019-08-03T22:01:04.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: 9386ca8c-d054-11e9-b689-001a7dda7113 + x-ms-request-id: c3c49b04-301a-0003-5a61-64b290000000 + x-ms-snapshot: '2019-09-06T03:15:28.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1397,7 +1432,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c - restype=share&comp=snapshot - '' @@ -1405,15 +1440,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3132b288-b63a-11e9-ac0a-2816a845e8c6 + - 938c0850-d054-11e9-b820-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:06 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c response: @@ -1425,12 +1460,13 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 954c3e32-701a-002c-0b46-4ae63d000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 938c0850-d054-11e9-b820-001a7dda7113 + x-ms-request-id: cc01fc7b-401a-0036-6d61-64de84000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -1438,7 +1474,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c - '' - '' @@ -1448,19 +1484,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 31709436-b63a-11e9-8e32-2816a845e8c6 + - 9394db98-d054-11e9-b6fa-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:06 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-08-03T22:01:04.0000000Z + uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-09-06T03:15:28.0000000Z response: body: string: !!binary | @@ -2054,23 +2090,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E146638C6"' + : '"0x8D7327877B06628"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5e7cb3fa-101a-0051-5146-4a7af5000000 + x-ms-client-request-id: 9394db98-d054-11e9-b6fa-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-creation-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 3ddddfa1-a01a-0097-6961-6405f9000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2078,9 +2119,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c - - sharesnapshot=2019-08-03T22:01:04.0000000Z + - sharesnapshot=2019-09-06T03:15:28.0000000Z - '' - request: body: null @@ -2088,19 +2129,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 31a981da-b63a-11e9-8231-2816a845e8c6 + - 939f5992-d054-11e9-b2f1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:06 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-range: - bytes=32768-36863 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-08-03T22:01:04.0000000Z + uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-09-06T03:15:28.0000000Z response: body: string: !!binary | @@ -2191,23 +2232,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E146638C6"' + : '"0x8D7327877B06628"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5e7cb3fe-101a-0051-5246-4a7af5000000 + x-ms-client-request-id: 939f5992-d054-11e9-b2f1-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-creation-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 3ddddfa6-a01a-0097-6a61-6405f9000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2215,9 +2261,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c - - sharesnapshot=2019-08-03T22:01:04.0000000Z + - sharesnapshot=2019-09-06T03:15:28.0000000Z - '' - request: body: null @@ -2225,19 +2271,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 31b30cda-b63a-11e9-a0e4-2816a845e8c6 + - 93a216f4-d054-11e9-929a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:06 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-range: - bytes=36864-40959 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-08-03T22:01:04.0000000Z + uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-09-06T03:15:28.0000000Z response: body: string: !!binary | @@ -2328,23 +2374,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E146638C6"' + : '"0x8D7327877B06628"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5e7cb3ff-101a-0051-5346-4a7af5000000 + x-ms-client-request-id: 93a216f4-d054-11e9-929a-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-creation-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 3ddddfa7-a01a-0097-6b61-6405f9000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2352,9 +2403,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c - - sharesnapshot=2019-08-03T22:01:04.0000000Z + - sharesnapshot=2019-09-06T03:15:28.0000000Z - '' - request: body: null @@ -2362,19 +2413,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 31bc7792-b63a-11e9-b8f2-2816a845e8c6 + - 93a50e26-d054-11e9-9106-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:07 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-range: - bytes=40960-45055 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-08-03T22:01:04.0000000Z + uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-09-06T03:15:28.0000000Z response: body: string: !!binary | @@ -2465,23 +2516,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:05 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E146638C6"' + : '"0x8D7327877B06628"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5e7cb400-101a-0051-5446-4a7af5000000 + x-ms-client-request-id: 93a50e26-d054-11e9-9106-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-creation-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 3ddddfa8-a01a-0097-6c61-6405f9000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2489,9 +2545,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c - - sharesnapshot=2019-08-03T22:01:04.0000000Z + - sharesnapshot=2019-09-06T03:15:28.0000000Z - '' - request: body: null @@ -2499,19 +2555,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 31c60a64-b63a-11e9-bd01-2816a845e8c6 + - 93a7f49a-d054-11e9-8522-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:07 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-range: - bytes=45056-49151 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-08-03T22:01:04.0000000Z + uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-09-06T03:15:28.0000000Z response: body: string: !!binary | @@ -2602,23 +2658,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:05 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E146638C6"' + : '"0x8D7327877B06628"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5e7cb401-101a-0051-5546-4a7af5000000 + x-ms-client-request-id: 93a7f49a-d054-11e9-8522-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-creation-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 3ddddfaa-a01a-0097-6e61-6405f9000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2626,9 +2687,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c - - sharesnapshot=2019-08-03T22:01:04.0000000Z + - sharesnapshot=2019-09-06T03:15:28.0000000Z - '' - request: body: null @@ -2636,19 +2697,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 31e8bed2-b63a-11e9-8e03-2816a845e8c6 + - 93ab0646-d054-11e9-af89-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:07 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-range: - bytes=49152-53247 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-08-03T22:01:04.0000000Z + uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-09-06T03:15:28.0000000Z response: body: string: !!binary | @@ -2739,23 +2800,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:05 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E146638C6"' + : '"0x8D7327877B06628"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5e7cb402-101a-0051-5646-4a7af5000000 + x-ms-client-request-id: 93ab0646-d054-11e9-af89-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-creation-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 3ddddfab-a01a-0097-6f61-6405f9000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2763,9 +2829,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c - - sharesnapshot=2019-08-03T22:01:04.0000000Z + - sharesnapshot=2019-09-06T03:15:28.0000000Z - '' - request: body: null @@ -2773,19 +2839,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3209f1d2-b63a-11e9-914c-2816a845e8c6 + - 93adeba4-d054-11e9-95a6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:07 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-range: - bytes=53248-57343 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-08-03T22:01:04.0000000Z + uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-09-06T03:15:28.0000000Z response: body: string: !!binary | @@ -2876,23 +2942,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:05 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E146638C6"' + : '"0x8D7327877B06628"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5e7cb403-101a-0051-5746-4a7af5000000 + x-ms-client-request-id: 93adeba4-d054-11e9-95a6-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-creation-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 3ddddfac-a01a-0097-7061-6405f9000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2900,9 +2971,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c - - sharesnapshot=2019-08-03T22:01:04.0000000Z + - sharesnapshot=2019-09-06T03:15:28.0000000Z - '' - request: body: null @@ -2910,19 +2981,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 32272864-b63a-11e9-baf7-2816a845e8c6 + - 93b0fb5e-d054-11e9-84fa-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:07 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-range: - bytes=57344-61439 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-08-03T22:01:04.0000000Z + uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-09-06T03:15:28.0000000Z response: body: string: !!binary | @@ -3013,23 +3084,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:05 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E146638C6"' + : '"0x8D7327877B06628"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5e7cb404-101a-0051-5846-4a7af5000000 + x-ms-client-request-id: 93b0fb5e-d054-11e9-84fa-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-creation-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 3ddddfad-a01a-0097-7161-6405f9000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -3037,9 +3113,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c - - sharesnapshot=2019-08-03T22:01:04.0000000Z + - sharesnapshot=2019-09-06T03:15:28.0000000Z - '' - request: body: null @@ -3047,19 +3123,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3231484a-b63a-11e9-bdf2-2816a845e8c6 + - 93b47b66-d054-11e9-b654-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:07 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-range: - bytes=61440-65535 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-08-03T22:01:04.0000000Z + uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-09-06T03:15:28.0000000Z response: body: string: !!binary | @@ -3150,23 +3226,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:05 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E146638C6"' + : '"0x8D7327877B06628"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5e7cb405-101a-0051-5946-4a7af5000000 + x-ms-client-request-id: 93b47b66-d054-11e9-b654-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-creation-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 3ddddfaf-a01a-0097-7261-6405f9000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -3174,9 +3255,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c - - sharesnapshot=2019-08-03T22:01:04.0000000Z + - sharesnapshot=2019-09-06T03:15:28.0000000Z - '' - request: body: null @@ -3184,19 +3265,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 324746cc-b63a-11e9-b724-2816a845e8c6 + - 93b8718a-d054-11e9-9f99-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:07 GMT + - Fri, 06 Sep 2019 03:15:28 GMT x-ms-range: - bytes=65536-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-08-03T22:01:04.0000000Z + uri: https://storagename.file.core.windows.net/utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c?sharesnapshot=2019-09-06T03:15:28.0000000Z response: body: string: !!binary | @@ -3216,23 +3297,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:05 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E146638C6"' + : '"0x8D7327877B06628"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:04 GMT + : Fri, 06 Sep 2019 03:15:28 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5e7cb406-101a-0051-5a46-4a7af5000000 + x-ms-client-request-id: 93b8718a-d054-11e9-9f99-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-creation-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:28.1387718Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 3ddddfb1-a01a-0097-7461-6405f9000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -3240,8 +3326,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare85f41b0c/utdir85f41b0c/bytefile85f41b0c - - sharesnapshot=2019-08-03T22:01:04.0000000Z + - sharesnapshot=2019-09-06T03:15:28.0000000Z - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_properties_server_encryption_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_properties_server_encryption_async.yaml index 5bddfcae9dcb..e5ce2264c0dd 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_properties_server_encryption_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_properties_server_encryption_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3313528c-b63a-11e9-a5cf-2816a845e8c6 + - 993b57f4-d054-11e9-b145-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:09 GMT + - Fri, 06 Sep 2019 03:15:37 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharec4f11c31?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:08 GMT + : Fri, 06 Sep 2019 03:15:37 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E16B4A407"' + : '"0x8D732787D70BFBE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:08 GMT + : Fri, 06 Sep 2019 03:15:37 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d7c065e8-d01a-0003-4b46-4a6707000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 993b57f4-d054-11e9-b145-001a7dda7113 + x-ms-request-id: c44d1582-e01a-00a9-6661-649286000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharec4f11c31 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 33452f9c-b63a-11e9-af8c-2816a845e8c6 + - 99488ba4-d054-11e9-8d35-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:09 GMT + - Fri, 06 Sep 2019 03:15:37 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharec4f11c31/utdirc4f11c31?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:08 GMT + : Fri, 06 Sep 2019 03:15:37 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E16C90208"' + : '"0x8D732787D772779"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:08 GMT + : Fri, 06 Sep 2019 03:15:37 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d7c065ed-d01a-0003-4e46-4a6707000000 + x-ms-client-request-id: 99488ba4-d054-11e9-8d35-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:37.8639737Z' + x-ms-file-creation-time: '2019-09-06T03:15:37.8639737Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:37.8639737Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: c44d1585-e01a-00a9-6761-649286000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharec4f11c31/utdirc4f11c31 - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 336402b8-b63a-11e9-932b-2816a845e8c6 + - 994d2734-d054-11e9-a455-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:09 GMT + - Fri, 06 Sep 2019 03:15:37 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharec4f11c31/utdirc4f11c31/bytefilec4f11c31 response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:08 GMT + : Fri, 06 Sep 2019 03:15:37 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E170DB893"' + : '"0x8D732787D800335"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:08 GMT + : Fri, 06 Sep 2019 03:15:37 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 90fa57f2-701a-0063-4946-4a2225000000 + x-ms-client-request-id: 994d2734-d054-11e9-a455-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:37.9220277Z' + x-ms-file-creation-time: '2019-09-06T03:15:37.9220277Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:37.9220277Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a0665bdd-a01a-0073-6661-640b67000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharec4f11c31/utdirc4f11c31/bytefilec4f11c31 - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 339e125c-b63a-11e9-bbf7-2816a845e8c6 + - 99558ad2-d054-11e9-80dc-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:10 GMT + - Fri, 06 Sep 2019 03:15:37 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : 9XVGzf6jRFIeNgZ3OYM3Cw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:08 GMT + : Fri, 06 Sep 2019 03:15:37 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1733E51D"' + : '"0x8D732787D8582CE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:09 GMT + : Fri, 06 Sep 2019 03:15:37 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 90fa57f4-701a-0063-4a46-4a2225000000 + x-ms-client-request-id: 99558ad2-d054-11e9-80dc-001a7dda7113 + x-ms-request-id: a0665bdf-a01a-0073-6761-640b67000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharec4f11c31/utdirc4f11c31/bytefilec4f11c31 - comp=range - '' @@ -1357,15 +1391,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 33be82ec-b63a-11e9-9b0e-2816a845e8c6 + - 995cbce8-d054-11e9-b87e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:10 GMT + - Fri, 06 Sep 2019 03:15:38 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: HEAD uri: https://storagename.file.core.windows.net/utsharec4f11c31/utdirc4f11c31/bytefilec4f11c31 response: @@ -1380,23 +1414,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:08 GMT + : Fri, 06 Sep 2019 03:15:37 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1733E51D"' + : '"0x8D732787D8582CE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:09 GMT + : Fri, 06 Sep 2019 03:15:37 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: ca9556e4-001a-0023-6846-4a0bcb000000 + x-ms-client-request-id: 995cbce8-d054-11e9-b87e-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:37.9220277Z' + x-ms-file-creation-time: '2019-09-06T03:15:37.9220277Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:37.9220277Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 90f86b06-101a-00df-7361-6418ce000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 200 message: OK @@ -1404,7 +1443,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharec4f11c31/utdirc4f11c31/bytefilec4f11c31 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_server_encryption_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_server_encryption_async.yaml index 26e46e0dcf77..37b957a4567c 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_server_encryption_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_server_encryption_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 346b3f18-b63a-11e9-bc0b-2816a845e8c6 + - 9988b5b4-d054-11e9-ad09-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:11 GMT + - Fri, 06 Sep 2019 03:15:38 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea56b1785?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:10 GMT + : Fri, 06 Sep 2019 03:15:45 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1825B11C"' + : '"0x8D732788264EEF3"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:10 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e9f151a3-c01a-0058-5646-4a607b000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 9988b5b4-d054-11e9-ad09-001a7dda7113 + x-ms-request-id: 59aa9efc-a01a-00e5-2d61-6402b6000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea56b1785 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 34afe980-b63a-11e9-9ff5-2816a845e8c6 + - 9e54d380-d054-11e9-b867-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:11 GMT + - Fri, 06 Sep 2019 03:15:46 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea56b1785/utdira56b1785?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:10 GMT + : Fri, 06 Sep 2019 03:15:45 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E183493CD"' + : '"0x8D7327882836C45"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:10 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e9f151a6-c01a-0058-5746-4a607b000000 + x-ms-client-request-id: 9e54d380-d054-11e9-b867-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:46.3329861Z' + x-ms-file-creation-time: '2019-09-06T03:15:46.3329861Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:46.3329861Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 59aa9f4b-a01a-00e5-7461-6402b6000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea56b1785/utdira56b1785 - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 34db18d0-b63a-11e9-933c-2816a845e8c6 + - 9e59b230-d054-11e9-b24e-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:12 GMT + - Fri, 06 Sep 2019 03:15:46 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea56b1785/utdira56b1785/bytefilea56b1785 response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:10 GMT + : Fri, 06 Sep 2019 03:15:45 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1879E6D6"' + : '"0x8D73278828FA43A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:11 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 91d55b48-b01a-0090-7e46-4af14c000000 + x-ms-client-request-id: 9e59b230-d054-11e9-b24e-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:46.4130618Z' + x-ms-file-creation-time: '2019-09-06T03:15:46.4130618Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:46.4130618Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 62c70590-d01a-000b-3361-64a89f000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea56b1785/utdira56b1785/bytefilea56b1785 - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3516c47e-b63a-11e9-8199-2816a845e8c6 + - 9e64a5cc-d054-11e9-ba48-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:12 GMT + - Fri, 06 Sep 2019 03:15:46 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : shK82m9pYXcEz4yG7b+IfA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:11 GMT + : Fri, 06 Sep 2019 03:15:45 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E18AC71B7"' + : '"0x8D732788295991C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:11 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 91d55b4a-b01a-0090-7f46-4af14c000000 + x-ms-client-request-id: 9e64a5cc-d054-11e9-ba48-001a7dda7113 + x-ms-request-id: 62c70592-d01a-000b-3461-64a89f000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea56b1785/utdira56b1785/bytefilea56b1785 - comp=range - '' @@ -1359,19 +1393,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3533fe88-b63a-11e9-b72d-2816a845e8c6 + - 9e7085cc-d054-11e9-8bf0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:12 GMT + - Fri, 06 Sep 2019 03:15:46 GMT x-ms-range: - bytes=0-1024 x-ms-range-get-content-md5: - 'true' x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharea56b1785/utdira56b1785/bytefilea56b1785 response: @@ -1413,23 +1447,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:11 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E18AC71B7"' + : '"0x8D732788295991C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:11 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f8ab3332-001a-0001-4846-4a65fd000000 + x-ms-client-request-id: 9e7085cc-d054-11e9-8bf0-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:46.4130618Z' + x-ms-file-creation-time: '2019-09-06T03:15:46.4130618Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:46.4130618Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 81dddb27-501a-00de-7d61-644712000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1437,7 +1476,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea56b1785/utdira56b1785/bytefilea56b1785 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_bytes_non_parallel_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_bytes_non_parallel_async.yaml index cca2a6ae02ca..4cfb9ab71bcc 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_bytes_non_parallel_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_bytes_non_parallel_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 35d1a468-b63a-11e9-aa57-2816a845e8c6 + - 9ea85ac0-d054-11e9-b317-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:13 GMT + - Fri, 06 Sep 2019 03:15:46 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5681903?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:12 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E197DA065"' + : '"0x8D7327882DB9E38"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:12 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8a983b02-601a-005e-0a46-4a9703000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 9ea85ac0-d054-11e9-b317-001a7dda7113 + x-ms-request-id: d9b72234-b01a-008b-6e61-645799000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 36144894-b63a-11e9-b36e-2816a845e8c6 + - 9eb25f7e-d054-11e9-964a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:14 GMT + - Fri, 06 Sep 2019 03:15:46 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5681903/utdir5681903?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:12 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E19988357"' + : '"0x8D7327882E1CFC2"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8a983b05-601a-005e-0b46-4a9703000000 + x-ms-client-request-id: 9eb25f7e-d054-11e9-964a-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:46.9515714Z' + x-ms-file-creation-time: '2019-09-06T03:15:46.9515714Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:46.9515714Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: d9b72237-b01a-008b-6f61-645799000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903/utdir5681903 - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3622fb8a-b63a-11e9-89b7-2816a845e8c6 + - 9eba7c0a-d054-11e9-93ba-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:14 GMT + - Fri, 06 Sep 2019 03:15:47 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5681903/utdir5681903/bytefile5681903 response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E19E50396"' + : '"0x8D7327882F02B17"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: cdaa7fe3-801a-0032-6546-4a3cd0000000 + x-ms-client-request-id: 9eba7c0a-d054-11e9-93ba-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: b569711e-601a-0053-5061-6470c0000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903/utdir5681903/bytefile5681903 - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 366d08ca-b63a-11e9-a572-2816a845e8c6 + - 9ec50adc-d054-11e9-bc59-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:14 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : dKlx1J4TrDsDqWrMt6Nlkg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1A0254EE"' + : '"0x8D7327882F55C7D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: cdaa7fe5-801a-0032-6646-4a3cd0000000 + x-ms-client-request-id: 9ec50adc-d054-11e9-bc59-001a7dda7113 + x-ms-request-id: b5697120-601a-0053-5161-6470c0000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903/utdir5681903/bytefile5681903 - comp=range - '' @@ -1359,17 +1393,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 368c8a26-b63a-11e9-8197-2816a845e8c6 + - 9ecec6f6-d054-11e9-b2c0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:15 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5681903/utdir5681903/bytefile5681903 response: @@ -1965,23 +1999,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:14 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1A0254EE"' + : '"0x8D7327882F55C7D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 647aa9b7-801a-0093-1346-4af24b000000 + x-ms-client-request-id: 9ecec6f6-d054-11e9-b2c0-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 0148529c-f01a-0041-4e61-640b10000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1989,7 +2028,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903/utdir5681903/bytefile5681903 - '' - '' @@ -1999,17 +2038,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 36d35034-b63a-11e9-9df0-2816a845e8c6 + - 9ed88590-d054-11e9-ab50-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:15 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=32768-36863 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5681903/utdir5681903/bytefile5681903 response: @@ -2102,23 +2141,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:14 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1A0254EE"' + : '"0x8D7327882F55C7D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 647aa9ba-801a-0093-1446-4af24b000000 + x-ms-client-request-id: 9ed88590-d054-11e9-ab50-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 0148529f-f01a-0041-4f61-640b10000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2126,7 +2170,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903/utdir5681903/bytefile5681903 - '' - '' @@ -2136,17 +2180,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 36ea3b86-b63a-11e9-8055-2816a845e8c6 + - 9edad734-d054-11e9-8fc2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:15 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=36864-40959 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5681903/utdir5681903/bytefile5681903 response: @@ -2239,23 +2283,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:14 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1A0254EE"' + : '"0x8D7327882F55C7D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 647aa9bb-801a-0093-1546-4af24b000000 + x-ms-client-request-id: 9edad734-d054-11e9-8fc2-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 014852a0-f01a-0041-5061-640b10000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2263,7 +2312,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903/utdir5681903/bytefile5681903 - '' - '' @@ -2273,17 +2322,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 36f3e0be-b63a-11e9-8e80-2816a845e8c6 + - 9edcee5c-d054-11e9-8119-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:15 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=40960-45055 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5681903/utdir5681903/bytefile5681903 response: @@ -2376,23 +2425,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:14 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1A0254EE"' + : '"0x8D7327882F55C7D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 647aa9bc-801a-0093-1646-4af24b000000 + x-ms-client-request-id: 9edcee5c-d054-11e9-8119-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 014852a1-f01a-0041-5161-640b10000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2400,7 +2454,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903/utdir5681903/bytefile5681903 - '' - '' @@ -2410,17 +2464,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 37091e40-b63a-11e9-af2e-2816a845e8c6 + - 9edee8e8-d054-11e9-9841-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:15 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=45056-49151 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5681903/utdir5681903/bytefile5681903 response: @@ -2513,23 +2567,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:14 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1A0254EE"' + : '"0x8D7327882F55C7D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 647aa9bd-801a-0093-1746-4af24b000000 + x-ms-client-request-id: 9edee8e8-d054-11e9-9841-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 014852a2-f01a-0041-5261-640b10000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2537,7 +2596,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903/utdir5681903/bytefile5681903 - '' - '' @@ -2547,17 +2606,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3728c154-b63a-11e9-9b6f-2816a845e8c6 + - 9ee267f8-d054-11e9-82d8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:16 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=49152-53247 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5681903/utdir5681903/bytefile5681903 response: @@ -2650,23 +2709,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:14 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1A0254EE"' + : '"0x8D7327882F55C7D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 647aa9be-801a-0093-1846-4af24b000000 + x-ms-client-request-id: 9ee267f8-d054-11e9-82d8-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 014852a3-f01a-0041-5361-640b10000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2674,7 +2738,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903/utdir5681903/bytefile5681903 - '' - '' @@ -2684,17 +2748,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 37343c42-b63a-11e9-b426-2816a845e8c6 + - 9ee599e6-d054-11e9-9ef6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:16 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=53248-57343 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5681903/utdir5681903/bytefile5681903 response: @@ -2787,23 +2851,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:15 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1A0254EE"' + : '"0x8D7327882F55C7D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 647aa9bf-801a-0093-1946-4af24b000000 + x-ms-client-request-id: 9ee599e6-d054-11e9-9ef6-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 014852a4-f01a-0041-5461-640b10000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2811,7 +2880,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903/utdir5681903/bytefile5681903 - '' - '' @@ -2821,17 +2890,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3747e198-b63a-11e9-a246-2816a845e8c6 + - 9ee8302c-d054-11e9-898e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:16 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=57344-61439 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5681903/utdir5681903/bytefile5681903 response: @@ -2924,23 +2993,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:15 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1A0254EE"' + : '"0x8D7327882F55C7D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 647aa9c0-801a-0093-1a46-4af24b000000 + x-ms-client-request-id: 9ee8302c-d054-11e9-898e-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 014852a5-f01a-0041-5561-640b10000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2948,7 +3022,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903/utdir5681903/bytefile5681903 - '' - '' @@ -2958,17 +3032,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 37534c3e-b63a-11e9-a308-2816a845e8c6 + - 9eeaab02-d054-11e9-b05d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:16 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=61440-65535 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5681903/utdir5681903/bytefile5681903 response: @@ -3061,23 +3135,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:15 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1A0254EE"' + : '"0x8D7327882F55C7D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 647aa9c1-801a-0093-1b46-4af24b000000 + x-ms-client-request-id: 9eeaab02-d054-11e9-b05d-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 014852a6-f01a-0041-5661-640b10000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -3085,7 +3164,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903/utdir5681903/bytefile5681903 - '' - '' @@ -3095,17 +3174,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 375d96de-b63a-11e9-9bb6-2816a845e8c6 + - 9eed8f6e-d054-11e9-9aef-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:16 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=65536-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5681903/utdir5681903/bytefile5681903 response: @@ -3127,23 +3206,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:15 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1A0254EE"' + : '"0x8D7327882F55C7D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:13 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 647aa9c2-801a-0093-1c46-4af24b000000 + x-ms-client-request-id: 9eed8f6e-d054-11e9-9aef-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:47.0456599Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 014852a7-f01a-0041-5761-640b10000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -3151,7 +3235,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5681903/utdir5681903/bytefile5681903 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_bytes_small_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_bytes_small_async.yaml index e59160bc0912..d6b5456cc226 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_bytes_small_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_bytes_small_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 37aaf498-b63a-11e9-9690-2816a845e8c6 + - 9f0a3b1c-d054-11e9-a815-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:16 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5f241625?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:15 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1B55B237"' + : '"0x8D73278833C5E08"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:16 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 07e29b33-301a-00a3-7446-4aa861000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 9f0a3b1c-d054-11e9-a815-001a7dda7113 + x-ms-request-id: a3f09a3a-c01a-00e3-2c61-643109000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5f241625 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 37e96406-b63a-11e9-8771-2816a845e8c6 + - 9f164694-d054-11e9-b1cb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:17 GMT + - Fri, 06 Sep 2019 03:15:47 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5f241625/utdir5f241625?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:15 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1B6E5C41"' + : '"0x8D732788344A119"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:16 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 07e29b36-301a-00a3-7546-4aa861000000 + x-ms-client-request-id: 9f164694-d054-11e9-b1cb-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:47.5991833Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.5991833Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:47.5991833Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: a3f09a3d-c01a-00e3-2d61-643109000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5f241625/utdir5f241625 - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 38086842-b63a-11e9-a0d2-2816a845e8c6 + - 9f1afe48-d054-11e9-a3a1-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:17 GMT + - Fri, 06 Sep 2019 03:15:47 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5f241625/utdir5f241625/bytefile5f241625 response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:16 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1BB3AF42"' + : '"0x8D73278834E1943"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:16 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 6fd1a129-e01a-00c7-1846-4a18c1000000 + x-ms-client-request-id: 9f1afe48-d054-11e9-a3a1-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.6612419Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.6612419Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:47.6612419Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 61205359-e01a-004d-6061-649c18000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5f241625/utdir5f241625/bytefile5f241625 - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 38417436-b63a-11e9-9c34-2816a845e8c6 + - 9f22cc68-d054-11e9-9a0a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:17 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : BVmCSFH64Dud3YgDGTFubg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:16 GMT + : Fri, 06 Sep 2019 03:15:46 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1BD9B4BF"' + : '"0x8D732788353238C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:16 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 6fd1a12b-e01a-00c7-1946-4a18c1000000 + x-ms-client-request-id: 9f22cc68-d054-11e9-9a0a-001a7dda7113 + x-ms-request-id: 6120535b-e01a-004d-6161-649c18000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5f241625/utdir5f241625/bytefile5f241625 - comp=range - '' @@ -1357,19 +1391,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 386148e6-b63a-11e9-98a2-2816a845e8c6 + - 9f29f5d0-d054-11e9-ab11-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 22:01:18 GMT + - Fri, 06 Sep 2019 03:15:47 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare5f241625/utdir5f241625/file5f241625 response: @@ -1381,19 +1423,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:16 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1C23272B"' + : '"0x8D732788362B7B5"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:17 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: b7e7d6a7-101a-0073-7c46-4a14c3000000 + x-ms-client-request-id: 9f29f5d0-d054-11e9-ab11-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.7963701Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.7963701Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:47.7963701Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 72317069-a01a-00ca-1c61-640f7d000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1401,7 +1451,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5f241625/utdir5f241625/file5f241625 - '' - '' @@ -1431,15 +1481,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 38a8351c-b63a-11e9-89c7-2816a845e8c6 + - 9f3808a4-d054-11e9-8f94-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:18 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1456,19 +1506,20 @@ interactions: : EG1I3Gnng2rggsmwUDL2jw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:16 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1C2CC5DC"' + : '"0x8D7327883666214"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:17 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: b7e7d6a9-101a-0073-7d46-4a14c3000000 + x-ms-client-request-id: 9f3808a4-d054-11e9-8f94-001a7dda7113 + x-ms-request-id: 7231706d-a01a-00ca-1f61-640f7d000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1476,7 +1527,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5f241625/utdir5f241625/file5f241625 - comp=range - '' @@ -1486,17 +1537,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 38b1d66e-b63a-11e9-9fcb-2816a845e8c6 + - 9f3ff102-d054-11e9-a1f2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:18 GMT + - Fri, 06 Sep 2019 03:15:47 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare5f241625/utdir5f241625/file5f241625 response: @@ -1535,23 +1586,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:16 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1C2CC5DC"' + : '"0x8D7327883666214"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:17 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: b7e7d6aa-101a-0073-7e46-4a14c3000000 + x-ms-client-request-id: 9f3ff102-d054-11e9-a1f2-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:47.7963701Z' + x-ms-file-creation-time: '2019-09-06T03:15:47.7963701Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:47.7963701Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 72317071-a01a-00ca-2361-640f7d000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1559,7 +1615,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare5f241625/utdir5f241625/file5f241625 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_non_parallel_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_non_parallel_async.yaml index 11df428da329..731e4ab2c918 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_non_parallel_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_non_parallel_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 39c97e2c-b63a-11e9-b915-2816a845e8c6 + - 9f834548-d054-11e9-be06-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:20 GMT + - Fri, 06 Sep 2019 03:15:48 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare1ea51968?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:19 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1D68B317"' + : '"0x8D7327883B8055A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:19 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 73ca35f0-701a-008d-8046-4a28a6000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 9f834548-d054-11e9-be06-001a7dda7113 + x-ms-request-id: 8da8aac2-a01a-003e-7661-64c48b000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 39f2de7a-b63a-11e9-86f5-2816a845e8c6 + - 9f8e6db4-d054-11e9-9567-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:20 GMT + - Fri, 06 Sep 2019 03:15:48 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare1ea51968/utdir1ea51968?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:19 GMT + : Fri, 06 Sep 2019 03:15:47 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1D8F2E3F"' + : '"0x8D7327883BCFB7A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:19 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 73ca35f3-701a-008d-0146-4a28a6000000 + x-ms-client-request-id: 9f8e6db4-d054-11e9-9567-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:48.3879290Z' + x-ms-file-creation-time: '2019-09-06T03:15:48.3879290Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:48.3879290Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 8da8aac6-a01a-003e-7761-64c48b000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968/utdir1ea51968 - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3a1c9792-b63a-11e9-ac1a-2816a845e8c6 + - 9f929ae8-d054-11e9-8cad-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:21 GMT + - Fri, 06 Sep 2019 03:15:48 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare1ea51968/utdir1ea51968/bytefile1ea51968 response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:19 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1DE37819"' + : '"0x8D7327883C7100A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4eab2dbf-b01a-00b2-2546-4a9f7a000000 + x-ms-client-request-id: 9f929ae8-d054-11e9-8cad-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-creation-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 570d6e41-101a-00cf-6161-64dda6000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968/utdir1ea51968/bytefile1ea51968 - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3a747dee-b63a-11e9-a4de-2816a845e8c6 + - 9f9be358-d054-11e9-af9e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:21 GMT + - Fri, 06 Sep 2019 03:15:48 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : +Qe40EU7fGxSKe3loCaSTg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1E0BA0DA"' + : '"0x8D7327883CC1A52"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4eab2dc1-b01a-00b2-2646-4a9f7a000000 + x-ms-client-request-id: 9f9be358-d054-11e9-af9e-001a7dda7113 + x-ms-request-id: 570d6e43-101a-00cf-6261-64dda6000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968/utdir1ea51968/bytefile1ea51968 - comp=range - '' @@ -1359,17 +1393,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3a96aa64-b63a-11e9-8701-2816a845e8c6 + - 9fa50f94-d054-11e9-bb03-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:21 GMT + - Fri, 06 Sep 2019 03:15:48 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare1ea51968/utdir1ea51968/bytefile1ea51968 response: @@ -1965,23 +1999,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1E0BA0DA"' + : '"0x8D7327883CC1A52"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a2cf66ad-701a-000e-5946-4a880b000000 + x-ms-client-request-id: 9fa50f94-d054-11e9-bb03-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-creation-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a04332aa-c01a-0075-6761-6438d8000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1989,7 +2028,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968/utdir1ea51968/bytefile1ea51968 - '' - '' @@ -1999,17 +2038,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3ada724c-b63a-11e9-af8d-2816a845e8c6 + - 9fb24508-d054-11e9-869c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:22 GMT + - Fri, 06 Sep 2019 03:15:48 GMT x-ms-range: - bytes=32768-36863 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare1ea51968/utdir1ea51968/bytefile1ea51968 response: @@ -2102,23 +2141,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1E0BA0DA"' + : '"0x8D7327883CC1A52"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a2cf66b0-701a-000e-5a46-4a880b000000 + x-ms-client-request-id: 9fb24508-d054-11e9-869c-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-creation-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a04332ad-c01a-0075-6861-6438d8000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2126,7 +2170,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968/utdir1ea51968/bytefile1ea51968 - '' - '' @@ -2136,17 +2180,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3ae485fa-b63a-11e9-864e-2816a845e8c6 + - 9fb4ba48-d054-11e9-947c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:22 GMT + - Fri, 06 Sep 2019 03:15:48 GMT x-ms-range: - bytes=36864-40959 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare1ea51968/utdir1ea51968/bytefile1ea51968 response: @@ -2239,23 +2283,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1E0BA0DA"' + : '"0x8D7327883CC1A52"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a2cf66b1-701a-000e-5b46-4a880b000000 + x-ms-client-request-id: 9fb4ba48-d054-11e9-947c-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-creation-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a04332ae-c01a-0075-6961-6438d8000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2263,7 +2312,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968/utdir1ea51968/bytefile1ea51968 - '' - '' @@ -2273,17 +2322,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3aefc7b6-b63a-11e9-a30f-2816a845e8c6 + - 9fb730ba-d054-11e9-b841-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:22 GMT + - Fri, 06 Sep 2019 03:15:48 GMT x-ms-range: - bytes=40960-45055 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare1ea51968/utdir1ea51968/bytefile1ea51968 response: @@ -2376,23 +2425,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1E0BA0DA"' + : '"0x8D7327883CC1A52"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a2cf66b2-701a-000e-5c46-4a880b000000 + x-ms-client-request-id: 9fb730ba-d054-11e9-b841-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-creation-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a04332af-c01a-0075-6a61-6438d8000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2400,7 +2454,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968/utdir1ea51968/bytefile1ea51968 - '' - '' @@ -2410,17 +2464,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3b1100be-b63a-11e9-9aee-2816a845e8c6 + - 9fb9c702-d054-11e9-a3cd-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:22 GMT + - Fri, 06 Sep 2019 03:15:48 GMT x-ms-range: - bytes=45056-49151 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare1ea51968/utdir1ea51968/bytefile1ea51968 response: @@ -2513,23 +2567,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:21 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1E0BA0DA"' + : '"0x8D7327883CC1A52"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a2cf66b3-701a-000e-5d46-4a880b000000 + x-ms-client-request-id: 9fb9c702-d054-11e9-a3cd-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-creation-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a04332b0-c01a-0075-6b61-6438d8000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2537,7 +2596,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968/utdir1ea51968/bytefile1ea51968 - '' - '' @@ -2547,17 +2606,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3b327e1c-b63a-11e9-a387-2816a845e8c6 + - 9fbd7700-d054-11e9-adc8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:22 GMT + - Fri, 06 Sep 2019 03:15:48 GMT x-ms-range: - bytes=49152-53247 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare1ea51968/utdir1ea51968/bytefile1ea51968 response: @@ -2650,23 +2709,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:21 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1E0BA0DA"' + : '"0x8D7327883CC1A52"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a2cf66b5-701a-000e-5e46-4a880b000000 + x-ms-client-request-id: 9fbd7700-d054-11e9-adc8-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-creation-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a04332b1-c01a-0075-6c61-6438d8000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2674,7 +2738,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968/utdir1ea51968/bytefile1ea51968 - '' - '' @@ -2684,17 +2748,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3b3d1a38-b63a-11e9-abc6-2816a845e8c6 + - 9fbfe658-d054-11e9-b4a3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:22 GMT + - Fri, 06 Sep 2019 03:15:48 GMT x-ms-range: - bytes=53248-57343 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare1ea51968/utdir1ea51968/bytefile1ea51968 response: @@ -2787,23 +2851,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:21 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1E0BA0DA"' + : '"0x8D7327883CC1A52"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a2cf66b6-701a-000e-5f46-4a880b000000 + x-ms-client-request-id: 9fbfe658-d054-11e9-b4a3-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-creation-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a04332b2-c01a-0075-6d61-6438d8000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2811,7 +2880,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968/utdir1ea51968/bytefile1ea51968 - '' - '' @@ -2821,17 +2890,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3b475c9e-b63a-11e9-a409-2816a845e8c6 + - 9fc22e6e-d054-11e9-8725-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:23 GMT + - Fri, 06 Sep 2019 03:15:48 GMT x-ms-range: - bytes=57344-61439 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare1ea51968/utdir1ea51968/bytefile1ea51968 response: @@ -2924,23 +2993,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:21 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1E0BA0DA"' + : '"0x8D7327883CC1A52"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a2cf66b7-701a-000e-6046-4a880b000000 + x-ms-client-request-id: 9fc22e6e-d054-11e9-8725-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-creation-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a04332b3-c01a-0075-6e61-6438d8000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2948,7 +3022,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968/utdir1ea51968/bytefile1ea51968 - '' - '' @@ -2958,17 +3032,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3b516236-b63a-11e9-a974-2816a845e8c6 + - 9fc4f13e-d054-11e9-9fc1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:23 GMT + - Fri, 06 Sep 2019 03:15:48 GMT x-ms-range: - bytes=61440-65535 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare1ea51968/utdir1ea51968/bytefile1ea51968 response: @@ -3061,23 +3135,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:21 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1E0BA0DA"' + : '"0x8D7327883CC1A52"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a2cf66b8-701a-000e-6146-4a880b000000 + x-ms-client-request-id: 9fc4f13e-d054-11e9-9fc1-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-creation-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a04332b4-c01a-0075-6f61-6438d8000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -3085,7 +3164,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968/utdir1ea51968/bytefile1ea51968 - '' - '' @@ -3095,17 +3174,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3b7019c0-b63a-11e9-aa51-2816a845e8c6 + - 9fc78750-d054-11e9-b356-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:23 GMT + - Fri, 06 Sep 2019 03:15:48 GMT x-ms-range: - bytes=65536-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare1ea51968/utdir1ea51968/bytefile1ea51968 response: @@ -3127,23 +3206,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:21 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1E0BA0DA"' + : '"0x8D7327883CC1A52"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:20 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a2cf66b9-701a-000e-6246-4a880b000000 + x-ms-client-request-id: 9fc78750-d054-11e9-b356-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-creation-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:48.4539914Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: a04332b5-c01a-0075-7061-6438d8000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -3151,7 +3235,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare1ea51968/utdir1ea51968/bytefile1ea51968 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_non_parallel_from_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_non_parallel_from_snapshot_async.yaml index 24c7d25f67aa..6e93d7d18a06 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_non_parallel_from_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_non_parallel_from_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3bb4fd9c-b63a-11e9-af83-2816a845e8c6 + - 9fe231fa-d054-11e9-bc16-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:23 GMT + - Fri, 06 Sep 2019 03:15:48 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareae561f4a?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:22 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1F582C7F"' + : '"0x8D73278841760B7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:22 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 097bbf1a-101a-00d2-7e46-4ada58000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: 9fe231fa-d054-11e9-bc16-001a7dda7113 + x-ms-request-id: f6a66f00-d01a-0069-5361-646ab8000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3bee5680-b63a-11e9-91ac-2816a845e8c6 + - 9fee2590-d054-11e9-8f8f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:24 GMT + - Fri, 06 Sep 2019 03:15:49 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:22 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1F729E2E"' + : '"0x8D73278841CE5F1"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:22 GMT + : Fri, 06 Sep 2019 03:15:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 097bbf1d-101a-00d2-7f46-4ada58000000 + x-ms-client-request-id: 9fee2590-d054-11e9-8f8f-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:49.0165233Z' + x-ms-file-creation-time: '2019-09-06T03:15:49.0165233Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:49.0165233Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: f6a66f04-d01a-0069-5561-646ab8000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3bf9bde2-b63a-11e9-a2f0-2816a845e8c6 + - 9ff487e6-d054-11e9-ac42-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:24 GMT + - Fri, 06 Sep 2019 03:15:49 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:22 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1F97B920"' + : '"0x8D73278843099C1"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2b1747e8-401a-006b-2246-4a3956000000 + x-ms-client-request-id: 9ff487e6-d054-11e9-ac42-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-creation-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 21cbc03d-201a-006d-4d61-64e7bf000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a/bytefileae561f4a - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3c205dd0-b63a-11e9-b239-2816a845e8c6 + - a0064c2e-d054-11e9-bfeb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:24 GMT + - Fri, 06 Sep 2019 03:15:49 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : lVS7oPyvmfoqdlVs3JxlnA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:22 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1FB558A6"' + : '"0x8D7327884368EA6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2b1747ea-401a-006b-2346-4a3956000000 + x-ms-client-request-id: a0064c2e-d054-11e9-bfeb-001a7dda7113 + x-ms-request-id: 21cbc040-201a-006d-4f61-64e7bf000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a/bytefileae561f4a - comp=range - '' @@ -1357,15 +1391,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3c3cecc2-b63a-11e9-8dbe-2816a845e8c6 + - a01036f8-d054-11e9-bff9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:24 GMT + - Fri, 06 Sep 2019 03:15:49 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareae561f4a?restype=share&comp=snapshot response: @@ -1377,19 +1411,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:51 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1F582C7F"' + : '"0x8D73278841760B7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:22 GMT + : Fri, 06 Sep 2019 03:15:48 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 097bbf1e-101a-00d2-8046-4ada58000000 - x-ms-snapshot: '2019-08-03T22:01:23.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: a01036f8-d054-11e9-bff9-001a7dda7113 + x-ms-request-id: f6a66f08-d01a-0069-5961-646ab8000000 + x-ms-snapshot: '2019-09-06T03:15:50.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1397,7 +1432,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a - restype=share&comp=snapshot - '' @@ -1405,15 +1440,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3c4c9e7e-b63a-11e9-bbe6-2816a845e8c6 + - a22a72dc-d054-11e9-b72e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:24 GMT + - Fri, 06 Sep 2019 03:15:52 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a response: @@ -1425,12 +1460,13 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2487e1a8-b01a-00df-6946-4a3554000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: a22a72dc-d054-11e9-b72e-001a7dda7113 + x-ms-request-id: 612053cc-e01a-004d-4e61-649c18000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -1438,7 +1474,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a/bytefileae561f4a - '' - '' @@ -1448,19 +1484,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3caa9c4c-b63a-11e9-a819-2816a845e8c6 + - a23828b8-d054-11e9-86e3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:25 GMT + - Fri, 06 Sep 2019 03:15:52 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-08-03T22:01:23.0000000Z + uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-09-06T03:15:50.0000000Z response: body: string: !!binary | @@ -2054,23 +2090,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1FB558A6"' + : '"0x8D7327884368EA6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 043d2946-101a-00b4-0546-4a6802000000 + x-ms-client-request-id: a23828b8-d054-11e9-86e3-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-creation-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa0e7ad-d01a-00ef-3c61-64a601000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2078,9 +2119,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a/bytefileae561f4a - - sharesnapshot=2019-08-03T22:01:23.0000000Z + - sharesnapshot=2019-09-06T03:15:50.0000000Z - '' - request: body: null @@ -2088,19 +2129,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3cedb254-b63a-11e9-86e3-2816a845e8c6 + - a245ba64-d054-11e9-a3e9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:25 GMT + - Fri, 06 Sep 2019 03:15:52 GMT x-ms-range: - bytes=32768-36863 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-08-03T22:01:23.0000000Z + uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-09-06T03:15:50.0000000Z response: body: string: !!binary | @@ -2191,23 +2232,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1FB558A6"' + : '"0x8D7327884368EA6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 043d294a-101a-00b4-0646-4a6802000000 + x-ms-client-request-id: a245ba64-d054-11e9-a3e9-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-creation-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa0e7b1-d01a-00ef-3d61-64a601000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2215,9 +2261,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a/bytefileae561f4a - - sharesnapshot=2019-08-03T22:01:23.0000000Z + - sharesnapshot=2019-09-06T03:15:50.0000000Z - '' - request: body: null @@ -2225,19 +2271,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3cf6e95a-b63a-11e9-a72c-2816a845e8c6 + - a248ce1c-d054-11e9-b8f8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:25 GMT + - Fri, 06 Sep 2019 03:15:53 GMT x-ms-range: - bytes=36864-40959 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-08-03T22:01:23.0000000Z + uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-09-06T03:15:50.0000000Z response: body: string: !!binary | @@ -2328,23 +2374,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1FB558A6"' + : '"0x8D7327884368EA6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 043d294b-101a-00b4-0746-4a6802000000 + x-ms-client-request-id: a248ce1c-d054-11e9-b8f8-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-creation-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa0e7b2-d01a-00ef-3e61-64a601000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2352,9 +2403,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a/bytefileae561f4a - - sharesnapshot=2019-08-03T22:01:23.0000000Z + - sharesnapshot=2019-09-06T03:15:50.0000000Z - '' - request: body: null @@ -2362,19 +2413,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3d02be1c-b63a-11e9-8d21-2816a845e8c6 + - a24cc306-d054-11e9-816f-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:25 GMT + - Fri, 06 Sep 2019 03:15:53 GMT x-ms-range: - bytes=40960-45055 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-08-03T22:01:23.0000000Z + uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-09-06T03:15:50.0000000Z response: body: string: !!binary | @@ -2465,23 +2516,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1FB558A6"' + : '"0x8D7327884368EA6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 043d294c-101a-00b4-0846-4a6802000000 + x-ms-client-request-id: a24cc306-d054-11e9-816f-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-creation-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa0e7b3-d01a-00ef-3f61-64a601000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2489,9 +2545,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a/bytefileae561f4a - - sharesnapshot=2019-08-03T22:01:23.0000000Z + - sharesnapshot=2019-09-06T03:15:50.0000000Z - '' - request: body: null @@ -2499,19 +2555,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3d0e133e-b63a-11e9-b355-2816a845e8c6 + - a24fa72e-d054-11e9-bc54-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:26 GMT + - Fri, 06 Sep 2019 03:15:53 GMT x-ms-range: - bytes=45056-49151 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-08-03T22:01:23.0000000Z + uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-09-06T03:15:50.0000000Z response: body: string: !!binary | @@ -2602,23 +2658,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1FB558A6"' + : '"0x8D7327884368EA6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 043d294d-101a-00b4-0946-4a6802000000 + x-ms-client-request-id: a24fa72e-d054-11e9-bc54-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-creation-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa0e7b4-d01a-00ef-4061-64a601000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2626,9 +2687,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a/bytefileae561f4a - - sharesnapshot=2019-08-03T22:01:23.0000000Z + - sharesnapshot=2019-09-06T03:15:50.0000000Z - '' - request: body: null @@ -2636,19 +2697,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3d1708a4-b63a-11e9-817c-2816a845e8c6 + - a25249b6-d054-11e9-b0dd-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:26 GMT + - Fri, 06 Sep 2019 03:15:53 GMT x-ms-range: - bytes=49152-53247 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-08-03T22:01:23.0000000Z + uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-09-06T03:15:50.0000000Z response: body: string: !!binary | @@ -2739,23 +2800,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1FB558A6"' + : '"0x8D7327884368EA6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 043d294e-101a-00b4-0a46-4a6802000000 + x-ms-client-request-id: a25249b6-d054-11e9-b0dd-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-creation-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa0e7b5-d01a-00ef-4161-64a601000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2763,9 +2829,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a/bytefileae561f4a - - sharesnapshot=2019-08-03T22:01:23.0000000Z + - sharesnapshot=2019-09-06T03:15:50.0000000Z - '' - request: body: null @@ -2773,19 +2839,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3d21a61a-b63a-11e9-a317-2816a845e8c6 + - a254e45c-d054-11e9-8a22-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:26 GMT + - Fri, 06 Sep 2019 03:15:53 GMT x-ms-range: - bytes=53248-57343 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-08-03T22:01:23.0000000Z + uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-09-06T03:15:50.0000000Z response: body: string: !!binary | @@ -2876,23 +2942,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:24 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1FB558A6"' + : '"0x8D7327884368EA6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 043d294f-101a-00b4-0b46-4a6802000000 + x-ms-client-request-id: a254e45c-d054-11e9-8a22-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-creation-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa0e7b6-d01a-00ef-4261-64a601000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2900,9 +2971,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a/bytefileae561f4a - - sharesnapshot=2019-08-03T22:01:23.0000000Z + - sharesnapshot=2019-09-06T03:15:50.0000000Z - '' - request: body: null @@ -2910,19 +2981,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3d434ffa-b63a-11e9-aee7-2816a845e8c6 + - a257d1b8-d054-11e9-8e91-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:26 GMT + - Fri, 06 Sep 2019 03:15:53 GMT x-ms-range: - bytes=57344-61439 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-08-03T22:01:23.0000000Z + uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-09-06T03:15:50.0000000Z response: body: string: !!binary | @@ -3013,23 +3084,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:24 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1FB558A6"' + : '"0x8D7327884368EA6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 043d2951-101a-00b4-0c46-4a6802000000 + x-ms-client-request-id: a257d1b8-d054-11e9-8e91-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-creation-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa0e7b7-d01a-00ef-4361-64a601000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -3037,9 +3113,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a/bytefileae561f4a - - sharesnapshot=2019-08-03T22:01:23.0000000Z + - sharesnapshot=2019-09-06T03:15:50.0000000Z - '' - request: body: null @@ -3047,19 +3123,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3d62a538-b63a-11e9-868e-2816a845e8c6 + - a25b3e5c-d054-11e9-a2cc-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:26 GMT + - Fri, 06 Sep 2019 03:15:53 GMT x-ms-range: - bytes=61440-65535 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-08-03T22:01:23.0000000Z + uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-09-06T03:15:50.0000000Z response: body: string: !!binary | @@ -3150,23 +3226,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:24 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1FB558A6"' + : '"0x8D7327884368EA6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 043d2952-101a-00b4-0d46-4a6802000000 + x-ms-client-request-id: a25b3e5c-d054-11e9-a2cc-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-creation-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa0e7b8-d01a-00ef-4461-64a601000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -3174,9 +3255,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a/bytefileae561f4a - - sharesnapshot=2019-08-03T22:01:23.0000000Z + - sharesnapshot=2019-09-06T03:15:50.0000000Z - '' - request: body: null @@ -3184,19 +3265,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3d825786-b63a-11e9-801f-2816a845e8c6 + - a25ee61a-d054-11e9-aaa9-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:26 GMT + - Fri, 06 Sep 2019 03:15:53 GMT x-ms-range: - bytes=65536-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-08-03T22:01:23.0000000Z + uri: https://storagename.file.core.windows.net/utshareae561f4a/utdirae561f4a/bytefileae561f4a?sharesnapshot=2019-09-06T03:15:50.0000000Z response: body: string: !!binary | @@ -3216,23 +3297,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:24 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E1FB558A6"' + : '"0x8D7327884368EA6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:23 GMT + : Fri, 06 Sep 2019 03:15:49 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 043d2953-101a-00b4-0e46-4a6802000000 + x-ms-client-request-id: a25ee61a-d054-11e9-aaa9-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-creation-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:49.1456449Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8aa0e7b9-d01a-00ef-4561-64a601000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -3240,8 +3326,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareae561f4a/utdirae561f4a/bytefileae561f4a - - sharesnapshot=2019-08-03T22:01:23.0000000Z + - sharesnapshot=2019-09-06T03:15:50.0000000Z - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_small_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_small_async.yaml index 20132e31a900..f8137a69a76a 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_small_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_small_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3dd302ba-b63a-11e9-a19d-2816a845e8c6 + - a27cb346-d054-11e9-8606-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:27 GMT + - Fri, 06 Sep 2019 03:15:53 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare759e168a?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:25 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E21723D5D"' + : '"0x8D7327886AFBC55"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:26 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8f75d658-e01a-00e5-6f46-4a76f7000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: a27cb346-d054-11e9-8606-001a7dda7113 + x-ms-request-id: f9c5dd68-201a-007d-0861-6422d7000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare759e168a - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3dfc7ec2-b63a-11e9-89f7-2816a845e8c6 + - a28aa486-d054-11e9-bee6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:27 GMT + - Fri, 06 Sep 2019 03:15:53 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare759e168a/utdir759e168a?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:25 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2180F64F"' + : '"0x8D7327886B94178"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:26 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8f75d65b-e01a-00e5-7046-4a76f7000000 + x-ms-client-request-id: a28aa486-d054-11e9-bee6-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:53.3966712Z' + x-ms-file-creation-time: '2019-09-06T03:15:53.3966712Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:53.3966712Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: f9c5dd6e-201a-007d-0c61-6422d7000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare759e168a/utdir759e168a - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3e0a226c-b63a-11e9-8a5c-2816a845e8c6 + - a291f300-d054-11e9-ac07-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:27 GMT + - Fri, 06 Sep 2019 03:15:53 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare759e168a/utdir759e168a/bytefile759e168a response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:26 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E21B5080E"' + : '"0x8D7327886C6B235"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:26 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e9be659a-701a-0005-0c46-4a907f000000 + x-ms-client-request-id: a291f300-d054-11e9-ac07-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:53.4847541Z' + x-ms-file-creation-time: '2019-09-06T03:15:53.4847541Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:53.4847541Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8c6e0821-101a-0059-0d61-64d477000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare759e168a/utdir759e168a/bytefile759e168a - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3e3f0b98-b63a-11e9-be83-2816a845e8c6 + - a29b8f3a-d054-11e9-99fa-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:28 GMT + - Fri, 06 Sep 2019 03:15:53 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : fdF961oL2cX5rtczim0auw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:26 GMT + : Fri, 06 Sep 2019 03:15:52 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E21D62AA7"' + : '"0x8D7327886CB9568"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:26 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e9be659c-701a-0005-0d46-4a907f000000 + x-ms-client-request-id: a29b8f3a-d054-11e9-99fa-001a7dda7113 + x-ms-request-id: 8c6e0824-101a-0059-0f61-64d477000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare759e168a/utdir759e168a/bytefile759e168a - comp=range - '' @@ -1357,19 +1391,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3e602f48-b63a-11e9-a009-2816a845e8c6 + - a2a4feca-d054-11e9-921f-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 22:01:28 GMT + - Fri, 06 Sep 2019 03:15:53 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare759e168a/utdir759e168a/file759e168a response: @@ -1381,19 +1423,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:26 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E220299EF"' + : '"0x8D7327886DC3B3B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:27 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: faeec69e-001a-004e-1b46-4aa1e5000000 + x-ms-client-request-id: a2a4feca-d054-11e9-921f-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:53.6258875Z' + x-ms-file-creation-time: '2019-09-06T03:15:53.6258875Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:53.6258875Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 2110927c-001a-0008-7d61-6449fb000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1401,7 +1451,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare759e168a/utdir759e168a/file759e168a - '' - '' @@ -1431,15 +1481,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3e8879a8-b63a-11e9-9ac4-2816a845e8c6 + - a2b0d9ac-d054-11e9-a2aa-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:28 GMT + - Fri, 06 Sep 2019 03:15:53 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1456,19 +1506,20 @@ interactions: : zkKr57bR9a6AUb7WY5tsVA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:26 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E220D7155"' + : '"0x8D7327886DEACD7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:27 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: faeec6a0-001a-004e-1c46-4aa1e5000000 + x-ms-client-request-id: a2b0d9ac-d054-11e9-a2aa-001a7dda7113 + x-ms-request-id: 2110927e-001a-0008-7e61-6449fb000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1476,7 +1527,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare759e168a/utdir759e168a/file759e168a - comp=range - '' @@ -1486,17 +1537,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3e9304c0-b63a-11e9-87e0-2816a845e8c6 + - a2b37dd2-d054-11e9-89b2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:28 GMT + - Fri, 06 Sep 2019 03:15:53 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare759e168a/utdir759e168a/file759e168a response: @@ -1535,23 +1586,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:27 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E220D7155"' + : '"0x8D7327886DEACD7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:27 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: faeec6a1-001a-004e-1d46-4aa1e5000000 + x-ms-client-request-id: a2b37dd2-d054-11e9-89b2-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:53.6258875Z' + x-ms-file-creation-time: '2019-09-06T03:15:53.6258875Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:53.6258875Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 2110927f-001a-0008-7f61-6449fb000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1559,7 +1615,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare759e168a/utdir759e168a/file759e168a - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_small_from_snapshot_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_small_from_snapshot_async.yaml index 44554661dcf5..465d26ef6c35 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_small_from_snapshot_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_stream_small_from_snapshot_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3ec13992-b63a-11e9-af28-2816a845e8c6 + - a2ca5f86-d054-11e9-87db-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:28 GMT + - Fri, 06 Sep 2019 03:15:53 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharedd2b1c6c?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:27 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E22659D66"' + : '"0x8D7327886FC71F6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:27 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 975a4a09-901a-00ea-3d46-4a9b01000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: a2ca5f86-d054-11e9-87db-001a7dda7113 + x-ms-request-id: 83aeea29-601a-00b7-3b61-647e5e000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharedd2b1c6c - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3ef9ab6c-b63a-11e9-bead-2816a845e8c6 + - a2d2a1fa-d054-11e9-9aa6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:29 GMT + - Fri, 06 Sep 2019 03:15:53 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharedd2b1c6c/utdirdd2b1c6c?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:27 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E227E4913"' + : '"0x8D732788701CDB3"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:28 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 975a4a0c-901a-00ea-3e47-4a9b01000000 + x-ms-client-request-id: a2d2a1fa-d054-11e9-9aa6-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:53.8721203Z' + x-ms-file-creation-time: '2019-09-06T03:15:53.8721203Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:53.8721203Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 83aeea2c-601a-00b7-3d61-647e5e000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharedd2b1c6c/utdirdd2b1c6c - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3f1d43d0-b63a-11e9-9787-2816a845e8c6 + - a2d78df6-d054-11e9-898a-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:29 GMT + - Fri, 06 Sep 2019 03:15:53 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharedd2b1c6c/utdirdd2b1c6c/bytefiledd2b1c6c response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:27 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E22C151BD"' + : '"0x8D73278870C7EAA"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:28 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 64afb619-f01a-00d3-1b47-4adba5000000 + x-ms-client-request-id: a2d78df6-d054-11e9-898a-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:53.9421866Z' + x-ms-file-creation-time: '2019-09-06T03:15:53.9421866Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:53.9421866Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 4decae0d-401a-0009-2861-641627000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharedd2b1c6c/utdirdd2b1c6c/bytefiledd2b1c6c - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3f55d650-b63a-11e9-9d33-2816a845e8c6 + - a2e1666e-d054-11e9-bd31-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:29 GMT + - Fri, 06 Sep 2019 03:15:54 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : zI1tEwj92923GHdEFo7Mjg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:27 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E22EB4F97"' + : '"0x8D73278871161DD"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:28 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 64afb61b-f01a-00d3-1c47-4adba5000000 + x-ms-client-request-id: a2e1666e-d054-11e9-bd31-001a7dda7113 + x-ms-request-id: 4decae0f-401a-0009-2961-641627000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharedd2b1c6c/utdirdd2b1c6c/bytefiledd2b1c6c - comp=range - '' @@ -1357,19 +1391,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3f7379c6-b63a-11e9-9de5-2816a845e8c6 + - a2e7a65c-d054-11e9-9a25-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 22:01:30 GMT + - Fri, 06 Sep 2019 03:15:54 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharedd2b1c6c/utdirdd2b1c6c/filedd2b1c6c response: @@ -1381,19 +1423,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:28 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2310B8AF"' + : '"0x8D73278871EAB80"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:29 GMT + : Fri, 06 Sep 2019 03:15:54 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3f26697f-401a-00e3-0a47-4a818f000000 + x-ms-client-request-id: a2e7a65c-d054-11e9-9a25-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:54.0612992Z' + x-ms-file-creation-time: '2019-09-06T03:15:54.0612992Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:54.0612992Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: d281fb0f-f01a-001c-7561-640194000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1401,7 +1451,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharedd2b1c6c/utdirdd2b1c6c/filedd2b1c6c - '' - '' @@ -1431,15 +1481,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 3f96841e-b63a-11e9-93ca-2816a845e8c6 + - a2f376ba-d054-11e9-9171-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:30 GMT + - Fri, 06 Sep 2019 03:15:54 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1456,19 +1506,20 @@ interactions: : 6NpHjHIEZVpQZqcztsfR5A== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:28 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E231C056B"' + : '"0x8D732788721442C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:29 GMT + : Fri, 06 Sep 2019 03:15:54 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3f266981-401a-00e3-0b47-4a818f000000 + x-ms-client-request-id: a2f376ba-d054-11e9-9171-001a7dda7113 + x-ms-request-id: d281fb11-f01a-001c-7661-640194000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1476,7 +1527,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharedd2b1c6c/utdirdd2b1c6c/filedd2b1c6c - comp=range - '' @@ -1484,15 +1535,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3fa29b9e-b63a-11e9-9619-2816a845e8c6 + - a2f6f6c2-d054-11e9-befe-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:30 GMT + - Fri, 06 Sep 2019 03:15:54 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharedd2b1c6c?restype=share&comp=snapshot response: @@ -1504,19 +1555,20 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:28 GMT + : Fri, 06 Sep 2019 03:15:54 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E22659D66"' + : '"0x8D7327886FC71F6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:27 GMT + : Fri, 06 Sep 2019 03:15:53 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 975a4a0e-901a-00ea-3f47-4a9b01000000 - x-ms-snapshot: '2019-08-03T22:01:29.0000000Z' - x-ms-version: '2018-11-09' + x-ms-client-request-id: a2f6f6c2-d054-11e9-befe-001a7dda7113 + x-ms-request-id: 83aeea32-601a-00b7-4361-647e5e000000 + x-ms-snapshot: '2019-09-06T03:15:54.0000000Z' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1524,7 +1576,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharedd2b1c6c - restype=share&comp=snapshot - '' @@ -1532,15 +1584,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3fac7654-b63a-11e9-b695-2816a845e8c6 + - a371bc98-d054-11e9-85ad-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:30 GMT + - Fri, 06 Sep 2019 03:15:54 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: DELETE uri: https://storagename.file.core.windows.net/utsharedd2b1c6c/utdirdd2b1c6c/filedd2b1c6c response: @@ -1552,12 +1604,13 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:28 GMT + : Fri, 06 Sep 2019 03:15:54 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3f266982-401a-00e3-0c47-4a818f000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: a371bc98-d054-11e9-85ad-001a7dda7113 + x-ms-request-id: d281fb15-f01a-001c-7a61-640194000000 + x-ms-version: '2019-02-02' status: code: 202 message: Accepted @@ -1565,7 +1618,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharedd2b1c6c/utdirdd2b1c6c/filedd2b1c6c - '' - '' @@ -1575,19 +1628,19 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 3fb7c99c-b63a-11e9-9050-2816a845e8c6 + - a37ab59e-d054-11e9-9d8e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:30 GMT + - Fri, 06 Sep 2019 03:15:55 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET - uri: https://storagename.file.core.windows.net/utsharedd2b1c6c/utdirdd2b1c6c/filedd2b1c6c?sharesnapshot=2019-08-03T22:01:29.0000000Z + uri: https://storagename.file.core.windows.net/utsharedd2b1c6c/utdirdd2b1c6c/filedd2b1c6c?sharesnapshot=2019-09-06T03:15:54.0000000Z response: body: string: !!binary | @@ -1624,23 +1677,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:29 GMT + : Fri, 06 Sep 2019 03:15:54 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E231C056B"' + : '"0x8D732788721442C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:29 GMT + : Fri, 06 Sep 2019 03:15:54 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 54958bdf-a01a-00cb-1647-4af630000000 + x-ms-client-request-id: a37ab59e-d054-11e9-9d8e-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:54.0612992Z' + x-ms-file-creation-time: '2019-09-06T03:15:54.0612992Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:54.0612992Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 594592dc-401a-0019-4561-64d34f000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1648,8 +1706,8 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharedd2b1c6c/utdirdd2b1c6c/filedd2b1c6c - - sharesnapshot=2019-08-03T22:01:29.0000000Z + - sharesnapshot=2019-09-06T03:15:54.0000000Z - '' version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_non_parallel_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_non_parallel_async.yaml index f304e8b699d8..49ad096e33dd 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_non_parallel_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_non_parallel_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 40fd7bd2-b63a-11e9-930b-2816a845e8c6 + - a3d79824-d054-11e9-8f84-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:32 GMT + - Fri, 06 Sep 2019 03:15:55 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareed0618a1?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:31 GMT + : Fri, 06 Sep 2019 03:15:54 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E24B979A8"' + : '"0x8D73278880A4C0B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:31 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c79d220d-301a-0009-1647-4a7e8e000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: a3d79824-d054-11e9-8f84-001a7dda7113 + x-ms-request-id: b4a0f445-d01a-00d0-3561-646ea2000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareed0618a1 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4151d128-b63a-11e9-973d-2816a845e8c6 + - a3e04bba-d054-11e9-8ee5-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:33 GMT + - Fri, 06 Sep 2019 03:15:55 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareed0618a1/utdired0618a1?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:31 GMT + : Fri, 06 Sep 2019 03:15:54 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E24D6FE67"' + : '"0x8D73278880E75A9"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:32 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c79d2210-301a-0009-1747-4a7e8e000000 + x-ms-client-request-id: a3e04bba-d054-11e9-8ee5-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:55.6327849Z' + x-ms-file-creation-time: '2019-09-06T03:15:55.6327849Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:55.6327849Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: b4a0f448-d01a-00d0-3661-646ea2000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareed0618a1/utdired0618a1 - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 416ea2c0-b63a-11e9-a569-2816a845e8c6 + - a3e440a4-d054-11e9-9a5e-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:33 GMT + - Fri, 06 Sep 2019 03:15:55 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareed0618a1/utdired0618a1/bytefileed0618a1 response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:32 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E251ACA7C"' + : '"0x8D73278881814F2"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:32 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4c632803-701a-0041-4747-4a4c13000000 + x-ms-client-request-id: a3e440a4-d054-11e9-9a5e-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:55.6958450Z' + x-ms-file-creation-time: '2019-09-06T03:15:55.6958450Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:55.6958450Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 60a7e5ce-b01a-0032-1e61-645383000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareed0618a1/utdired0618a1/bytefileed0618a1 - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 41a0a41c-b63a-11e9-ba66-2816a845e8c6 + - a3ecd3e6-d054-11e9-8fab-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:33 GMT + - Fri, 06 Sep 2019 03:15:55 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : JPcinGjDFPPhOdDxvvGBJg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:32 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2536BC03"' + : '"0x8D73278881CA9E9"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:32 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4c632805-701a-0041-4847-4a4c13000000 + x-ms-client-request-id: a3ecd3e6-d054-11e9-8fab-001a7dda7113 + x-ms-request-id: 60a7e5d0-b01a-0032-1f61-645383000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareed0618a1/utdired0618a1/bytefileed0618a1 - comp=range - '' @@ -1357,19 +1391,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 41c39352-b63a-11e9-996e-2816a845e8c6 + - a3f3b3ba-d054-11e9-977f-001a7dda7113 x-ms-content-length: - '32774' x-ms-date: - - Sat, 03 Aug 2019 22:01:33 GMT + - Fri, 06 Sep 2019 03:15:55 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareed0618a1/utdired0618a1/fileed0618a1 response: @@ -1381,19 +1423,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:32 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E25755706"' + : '"0x8D7327888281E5F"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:33 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: f917c35f-401a-00ca-7a47-4af7cd000000 + x-ms-client-request-id: a3f3b3ba-d054-11e9-977f-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:55.8009439Z' + x-ms-file-creation-time: '2019-09-06T03:15:55.8009439Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:55.8009439Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 1a3ccf69-801a-00e2-1961-646ed5000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1401,7 +1451,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareed0618a1/utdired0618a1/fileed0618a1 - '' - '' @@ -1830,15 +1880,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 420641d4-b63a-11e9-9043-2816a845e8c6 + - a3fcdb4a-d054-11e9-817d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:34 GMT + - Fri, 06 Sep 2019 03:15:55 GMT x-ms-range: - bytes=0-32773 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1855,19 +1905,20 @@ interactions: : rCLuHuBLu/VG+Ewd4UqsXg== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:32 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2594082E"' + : '"0x8D73278882BEFDC"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:33 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: f917c361-401a-00ca-7b47-4af7cd000000 + x-ms-client-request-id: a3fcdb4a-d054-11e9-817d-001a7dda7113 + x-ms-request-id: 1a3ccf6a-801a-00e2-1a61-646ed5000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1875,7 +1926,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareed0618a1/utdired0618a1/fileed0618a1 - comp=range - '' @@ -1885,17 +1936,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 421991ca-b63a-11e9-b54a-2816a845e8c6 + - a400fc06-d054-11e9-9e6d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:34 GMT + - Fri, 06 Sep 2019 03:15:55 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshareed0618a1/utdired0618a1/fileed0618a1 response: @@ -2345,23 +2396,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:32 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2594082E"' + : '"0x8D73278882BEFDC"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:33 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f917c362-401a-00ca-7c47-4af7cd000000 + x-ms-client-request-id: a400fc06-d054-11e9-9e6d-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:55.8009439Z' + x-ms-file-creation-time: '2019-09-06T03:15:55.8009439Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:55.8009439Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 1a3ccf6b-801a-00e2-1b61-646ed5000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2369,7 +2425,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareed0618a1/utdired0618a1/fileed0618a1 - '' - '' @@ -2379,17 +2435,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 42386b02-b63a-11e9-9f94-2816a845e8c6 + - a405709a-d054-11e9-b074-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:34 GMT + - Fri, 06 Sep 2019 03:15:55 GMT x-ms-range: - bytes=32768-32773 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshareed0618a1/utdired0618a1/fileed0618a1 response: @@ -2410,23 +2466,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:33 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2594082E"' + : '"0x8D73278882BEFDC"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:33 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f917c363-401a-00ca-7d47-4af7cd000000 + x-ms-client-request-id: a405709a-d054-11e9-b074-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:55.8009439Z' + x-ms-file-creation-time: '2019-09-06T03:15:55.8009439Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:55.8009439Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 1a3ccf6c-801a-00e2-1c61-646ed5000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -2434,7 +2495,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareed0618a1/utdired0618a1/fileed0618a1 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_small_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_small_async.yaml index 838ec4d16abf..65fa3ce21473 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_small_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_small_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4288a940-b63a-11e9-b36e-2816a845e8c6 + - a416bbae-d054-11e9-9ccb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:35 GMT + - Fri, 06 Sep 2019 03:15:56 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare497f15c3?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:33 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E262628EF"' + : '"0x8D73278884ACC00"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:34 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5f7e53c4-201a-009e-4f47-4a1d47000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: a416bbae-d054-11e9-9ccb-001a7dda7113 + x-ms-request-id: 225ebcba-501a-002a-5f61-648ce4000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare497f15c3 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 42c3317e-b63a-11e9-b7ae-2816a845e8c6 + - a421fe5e-d054-11e9-9ca2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:35 GMT + - Fri, 06 Sep 2019 03:15:56 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare497f15c3/utdir497f15c3?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:34 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E264B1D7B"' + : '"0x8D73278885070A6"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:34 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5f7e53c7-201a-009e-5047-4a1d47000000 + x-ms-client-request-id: a421fe5e-d054-11e9-9ca2-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:56.0651942Z' + x-ms-file-creation-time: '2019-09-06T03:15:56.0651942Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:56.0651942Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 225ebcbd-501a-002a-6061-648ce4000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare497f15c3/utdir497f15c3 - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 42e3181e-b63a-11e9-b812-2816a845e8c6 + - a42a6966-d054-11e9-b437-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:35 GMT + - Fri, 06 Sep 2019 03:15:56 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare497f15c3/utdir497f15c3/bytefile497f15c3 response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:34 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2693300B"' + : '"0x8D73278885FDDAD"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:34 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 9fd38a62-901a-00ae-1547-4a476d000000 + x-ms-client-request-id: a42a6966-d054-11e9-b437-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:56.1662893Z' + x-ms-file-creation-time: '2019-09-06T03:15:56.1662893Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:56.1662893Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 4c398f06-901a-00b3-6061-64f359000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare497f15c3/utdir497f15c3/bytefile497f15c3 - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 431ed224-b63a-11e9-8142-2816a845e8c6 + - a4356a4a-d054-11e9-ae01-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:36 GMT + - Fri, 06 Sep 2019 03:15:56 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : AJOyz2owaLsfpmyZuFp2aQ== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:34 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E26B4EEF3"' + : '"0x8D7327888673274"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:35 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 9fd38a64-901a-00ae-1647-4a476d000000 + x-ms-client-request-id: a4356a4a-d054-11e9-ae01-001a7dda7113 + x-ms-request-id: 4c398f08-901a-00b3-6161-64f359000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare497f15c3/utdir497f15c3/bytefile497f15c3 - comp=range - '' @@ -1357,19 +1391,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 433feb3e-b63a-11e9-bcc8-2816a845e8c6 + - a43f596c-d054-11e9-aea4-001a7dda7113 x-ms-content-length: - '1029' x-ms-date: - - Sat, 03 Aug 2019 22:01:36 GMT + - Fri, 06 Sep 2019 03:15:56 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare497f15c3/utdir497f15c3/file497f15c3 response: @@ -1381,19 +1423,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:34 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E26DF13CC"' + : '"0x8D7327888727FD3"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:35 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 82319447-e01a-000b-3647-4a7c74000000 + x-ms-client-request-id: a43f596c-d054-11e9-aea4-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:56.2884051Z' + x-ms-file-creation-time: '2019-09-06T03:15:56.2884051Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:56.2884051Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 5f3e7055-201a-0020-6061-642853000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1401,7 +1451,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare497f15c3/utdir497f15c3/file497f15c3 - '' - '' @@ -1425,15 +1475,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 437ca052-b63a-11e9-a9fa-2816a845e8c6 + - a44814fa-d054-11e9-9627-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:36 GMT + - Fri, 06 Sep 2019 03:15:56 GMT x-ms-range: - bytes=0-1028 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1450,19 +1500,20 @@ interactions: : +ImSN/yyWJQxRmf+7XlCOA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:34 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2702A7CE"' + : '"0x8D732788875DC0D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:35 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 82319449-e01a-000b-3747-4a7c74000000 + x-ms-client-request-id: a44814fa-d054-11e9-9627-001a7dda7113 + x-ms-request-id: 5f3e7057-201a-0020-6161-642853000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1470,7 +1521,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare497f15c3/utdir497f15c3/file497f15c3 - comp=range - '' @@ -1480,17 +1531,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 439c7228-b63a-11e9-b759-2816a845e8c6 + - a44a39d2-d054-11e9-93c6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:37 GMT + - Fri, 06 Sep 2019 03:15:56 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare497f15c3/utdir497f15c3/file497f15c3 response: @@ -1524,23 +1575,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:34 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2702A7CE"' + : '"0x8D732788875DC0D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:35 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 8231944b-e01a-000b-3847-4a7c74000000 + x-ms-client-request-id: a44a39d2-d054-11e9-93c6-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:56.2884051Z' + x-ms-file-creation-time: '2019-09-06T03:15:56.2884051Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:56.2884051Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 5f3e7058-201a-0020-6261-642853000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1548,7 +1604,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare497f15c3/utdir497f15c3/file497f15c3 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_with_encoding_and_progress_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_with_encoding_and_progress_async.yaml index 1bc59ee25d26..55edc696d843 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_with_encoding_and_progress_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_with_encoding_and_progress_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 43df6394-b63a-11e9-8393-2816a845e8c6 + - a45b2bd2-d054-11e9-b3f7-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:37 GMT + - Fri, 06 Sep 2019 03:15:56 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare70fa1e72?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:36 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E277F1468"' + : '"0x8D7327888911C82"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:36 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 180a3990-401a-002f-5447-4ae53a000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: a45b2bd2-d054-11e9-b3f7-001a7dda7113 + x-ms-request-id: f21585c9-c01a-004a-5d61-64f07b000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare70fa1e72 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 441e129a-b63a-11e9-8525-2816a845e8c6 + - a4676886-d054-11e9-a11d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:37 GMT + - Fri, 06 Sep 2019 03:15:56 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare70fa1e72/utdir70fa1e72?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:36 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E27A2AE70"' + : '"0x8D732788895C7E0"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:36 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 180a3994-401a-002f-5547-4ae53a000000 + x-ms-client-request-id: a4676886-d054-11e9-a11d-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:15:56.5196256Z' + x-ms-file-creation-time: '2019-09-06T03:15:56.5196256Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:15:56.5196256Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: f21585cc-c01a-004a-5e61-64f07b000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare70fa1e72/utdir70fa1e72 - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 443cc236-b63a-11e9-b0a2-2816a845e8c6 + - a46d4ed2-d054-11e9-97af-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:38 GMT + - Fri, 06 Sep 2019 03:15:56 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare70fa1e72/utdir70fa1e72/bytefile70fa1e72 response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:36 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E27ED599E"' + : '"0x8D7327888A1B1A3"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:37 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: b8c98dd1-701a-00e0-5447-4a8288000000 + x-ms-client-request-id: a46d4ed2-d054-11e9-97af-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:56.5976995Z' + x-ms-file-creation-time: '2019-09-06T03:15:56.5976995Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:15:56.5976995Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 59e63fde-e01a-00e4-3661-645d6a000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare70fa1e72/utdir70fa1e72/bytefile70fa1e72 - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 4476afec-b63a-11e9-a2b8-2816a845e8c6 + - a4770840-d054-11e9-acd4-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:38 GMT + - Fri, 06 Sep 2019 03:15:56 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : lZ/A191q3KTuD23q/QxfdA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:36 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2812C2C3"' + : '"0x8D7327888A70A25"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:37 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: b8c98dd3-701a-00e0-5547-4a8288000000 + x-ms-client-request-id: a4770840-d054-11e9-acd4-001a7dda7113 + x-ms-request-id: 59e63fe0-e01a-00e4-3761-645d6a000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare70fa1e72/utdir70fa1e72/bytefile70fa1e72 - comp=range - '' @@ -1357,19 +1391,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 449e9248-b63a-11e9-bab0-2816a845e8c6 + - a47d97dc-d054-11e9-b20d-001a7dda7113 x-ms-content-length: - '36' x-ms-date: - - Sat, 03 Aug 2019 22:01:38 GMT + - Fri, 06 Sep 2019 03:15:56 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare70fa1e72/utdir70fa1e72/file70fa1e72 response: @@ -1381,19 +1423,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:37 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2843C6BD"' + : '"0x8D7327888B05B3A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:37 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: b5b29b81-101a-003c-2f47-4ad0db000000 + x-ms-client-request-id: a47d97dc-d054-11e9-b20d-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:56.6937914Z' + x-ms-file-creation-time: '2019-09-06T03:15:56.6937914Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:56.6937914Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: c24fd450-c01a-00dc-0b61-64f9aa000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1401,7 +1451,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare70fa1e72/utdir70fa1e72/file70fa1e72 - '' - '' @@ -1414,15 +1464,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 44d4b4e8-b63a-11e9-9b3c-2816a845e8c6 + - a4851d08-d054-11e9-a449-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:39 GMT + - Fri, 06 Sep 2019 03:15:56 GMT x-ms-range: - bytes=0-35 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1439,19 +1489,20 @@ interactions: : O7c5HRnUhbM5yD4T1wnm/w== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:37 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E28599CA7"' + : '"0x8D7327888B2CCCE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:37 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: b5b29b83-101a-003c-3047-4ad0db000000 + x-ms-client-request-id: a4851d08-d054-11e9-a449-001a7dda7113 + x-ms-request-id: c24fd452-c01a-00dc-0c61-64f9aa000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1459,7 +1510,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare70fa1e72/utdir70fa1e72/file70fa1e72 - comp=range - '' @@ -1469,17 +1520,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 44deb1b6-b63a-11e9-9880-2816a845e8c6 + - a4871fa4-d054-11e9-8221-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:39 GMT + - Fri, 06 Sep 2019 03:15:56 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare70fa1e72/utdir70fa1e72/file70fa1e72 response: @@ -1501,23 +1552,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:37 GMT + : Fri, 06 Sep 2019 03:15:55 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E28599CA7"' + : '"0x8D7327888B2CCCE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:37 GMT + : Fri, 06 Sep 2019 03:15:56 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: b5b29b84-101a-003c-3147-4ad0db000000 + x-ms-client-request-id: a4871fa4-d054-11e9-8221-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:15:56.6937914Z' + x-ms-file-creation-time: '2019-09-06T03:15:56.6937914Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:15:56.6937914Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: c24fd453-c01a-00dc-0d61-64f9aa000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1525,7 +1581,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare70fa1e72/utdir70fa1e72/file70fa1e72 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_with_encoding_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_with_encoding_async.yaml index 0681654833ae..0eed8ed5a8de 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_with_encoding_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_get_file_to_text_with_encoding_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 451a4162-b63a-11e9-8776-2816a845e8c6 + - a65b5da4-d054-11e9-b3f3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:39 GMT + - Fri, 06 Sep 2019 03:15:59 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare661190c?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:37 GMT + : Fri, 06 Sep 2019 03:16:06 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E28BFD4D9"' + : '"0x8D732788F3C2B09"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:38 GMT + : Fri, 06 Sep 2019 03:16:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 612efd40-601a-00b0-1a47-4a9d80000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: a65b5da4-d054-11e9-b3f3-001a7dda7113 + x-ms-request-id: 86744476-e01a-0086-4161-649f4d000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare661190c - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 45564968-b63a-11e9-9a40-2816a845e8c6 + - ab1e50f6-d054-11e9-a519-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:39 GMT + - Fri, 06 Sep 2019 03:16:07 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare661190c/utdir661190c?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:37 GMT + : Fri, 06 Sep 2019 03:16:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E28DAF226"' + : '"0x8D732788F5F43D1"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:38 GMT + : Fri, 06 Sep 2019 03:16:07 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 612efd43-601a-00b0-1b47-4a9d80000000 + x-ms-client-request-id: ab1e50f6-d054-11e9-a519-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:16:07.9064017Z' + x-ms-file-creation-time: '2019-09-06T03:16:07.9064017Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:16:07.9064017Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 8674448d-e01a-0086-4f61-649f4d000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare661190c/utdir661190c - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 45661002-b63a-11e9-9b0e-2816a845e8c6 + - ab3c6c70-d054-11e9-9bc5-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:40 GMT + - Fri, 06 Sep 2019 03:16:08 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare661190c/utdir661190c/bytefile661190c response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:38 GMT + : Fri, 06 Sep 2019 03:16:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2933D0B6"' + : '"0x8D732788F72A973"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:39 GMT + : Fri, 06 Sep 2019 03:16:08 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5c9208c8-601a-0099-1847-4aebc2000000 + x-ms-client-request-id: ab3c6c70-d054-11e9-9bc5-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:08.0335219Z' + x-ms-file-creation-time: '2019-09-06T03:16:08.0335219Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:16:08.0335219Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 82b5e8e3-401a-0044-0d61-64d9cb000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare661190c/utdir661190c/bytefile661190c - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 45b952e4-b63a-11e9-9009-2816a845e8c6 + - ab480dc0-d054-11e9-ac38-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:40 GMT + - Fri, 06 Sep 2019 03:16:08 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : SIfqCaKUmHEPvh6AqVhX1w== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:38 GMT + : Fri, 06 Sep 2019 03:16:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E294F740A"' + : '"0x8D732788F785021"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:39 GMT + : Fri, 06 Sep 2019 03:16:08 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5c9208ca-601a-0099-1947-4aebc2000000 + x-ms-client-request-id: ab480dc0-d054-11e9-ac38-001a7dda7113 + x-ms-request-id: 82b5e8e6-401a-0044-0f61-64d9cb000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare661190c/utdir661190c/bytefile661190c - comp=range - '' @@ -1357,19 +1391,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 45da1b86-b63a-11e9-b38c-2816a845e8c6 + - ab4f1ab8-d054-11e9-9605-001a7dda7113 x-ms-content-length: - '36' x-ms-date: - - Sat, 03 Aug 2019 22:01:40 GMT + - Fri, 06 Sep 2019 03:16:08 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare661190c/utdir661190c/file661190c response: @@ -1381,19 +1423,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:39 GMT + : Fri, 06 Sep 2019 03:16:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2977EAF9"' + : '"0x8D732788F823D98"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:39 GMT + : Fri, 06 Sep 2019 03:16:08 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 928a7663-301a-0081-5847-4ac657000000 + x-ms-client-request-id: ab4f1ab8-d054-11e9-9605-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:08.1356184Z' + x-ms-file-creation-time: '2019-09-06T03:16:08.1356184Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:16:08.1356184Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 9044b86e-601a-00c5-4461-647911000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1401,7 +1451,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare661190c/utdir661190c/file661190c - '' - '' @@ -1414,15 +1464,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 460ccc64-b63a-11e9-8262-2816a845e8c6 + - ab57323a-d054-11e9-a6b6-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:41 GMT + - Fri, 06 Sep 2019 03:16:08 GMT x-ms-range: - bytes=0-35 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1439,19 +1489,20 @@ interactions: : O7c5HRnUhbM5yD4T1wnm/w== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:39 GMT + : Fri, 06 Sep 2019 03:16:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E29908088"' + : '"0x8D732788F84FD6B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:39 GMT + : Fri, 06 Sep 2019 03:16:08 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 928a7665-301a-0081-5947-4ac657000000 + x-ms-client-request-id: ab57323a-d054-11e9-a6b6-001a7dda7113 + x-ms-request-id: 9044b870-601a-00c5-4561-647911000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1459,7 +1510,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare661190c/utdir661190c/file661190c - comp=range - '' @@ -1469,17 +1520,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4614ef0c-b63a-11e9-8ea5-2816a845e8c6 + - ab59a198-d054-11e9-807e-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:41 GMT + - Fri, 06 Sep 2019 03:16:08 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare661190c/utdir661190c/file661190c response: @@ -1501,23 +1552,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:39 GMT + : Fri, 06 Sep 2019 03:16:07 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E29908088"' + : '"0x8D732788F84FD6B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:39 GMT + : Fri, 06 Sep 2019 03:16:08 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 928a7667-301a-0081-5a47-4ac657000000 + x-ms-client-request-id: ab59a198-d054-11e9-807e-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:08.1356184Z' + x-ms-file-creation-time: '2019-09-06T03:16:08.1356184Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:16:08.1356184Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 9044b871-601a-00c5-4661-647911000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1525,7 +1581,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare661190c/utdir661190c/file661190c - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_bytes_with_zero_byte_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_bytes_with_zero_byte_async.yaml index 9ab859435396..60af6ba4bb35 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_bytes_with_zero_byte_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_bytes_with_zero_byte_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 476031e8-b63a-11e9-97fe-2816a845e8c6 + - abad3978-d054-11e9-bd3a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:43 GMT + - Fri, 06 Sep 2019 03:16:08 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef8131cca?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:41 GMT + : Fri, 06 Sep 2019 03:16:08 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2B11C48B"' + : '"0x8D732788FDF2F4B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:42 GMT + : Fri, 06 Sep 2019 03:16:08 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7d06ae88-801a-00d7-2847-4a2e27000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: abad3978-d054-11e9-bd3a-001a7dda7113 + x-ms-request-id: 91435e81-001a-0037-2961-648158000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef8131cca - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 479d6ba2-b63a-11e9-8d14-2816a845e8c6 + - abcf9652-d054-11e9-b403-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:43 GMT + - Fri, 06 Sep 2019 03:16:08 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef8131cca/utdirf8131cca?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:41 GMT + : Fri, 06 Sep 2019 03:16:08 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2B23ED20"' + : '"0x8D732788FFDF425"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:42 GMT + : Fri, 06 Sep 2019 03:16:08 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7d06ae8b-801a-00d7-2947-4a2e27000000 + x-ms-client-request-id: abcf9652-d054-11e9-b403-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:16:08.9463845Z' + x-ms-file-creation-time: '2019-09-06T03:16:08.9463845Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:16:08.9463845Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 91435e88-001a-0037-2e61-648158000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef8131cca/utdirf8131cca - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 47aeed06-b63a-11e9-89a5-2816a845e8c6 + - abd5ef74-d054-11e9-ba5e-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:43 GMT + - Fri, 06 Sep 2019 03:16:09 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef8131cca/utdirf8131cca/bytefilef8131cca response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:42 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2B66323C"' + : '"0x8D73278900B8C04"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:43 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 0ba18bbc-301a-006f-6047-4accd4000000 + x-ms-client-request-id: abd5ef74-d054-11e9-ba5e-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:09.0354692Z' + x-ms-file-creation-time: '2019-09-06T03:16:09.0354692Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:16:09.0354692Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 8c636ecd-301a-0013-2561-6477f8000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef8131cca/utdirf8131cca/bytefilef8131cca - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 4800ca1a-b63a-11e9-bc58-2816a845e8c6 + - abe08bc0-d054-11e9-9969-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:44 GMT + - Fri, 06 Sep 2019 03:16:09 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : QVMKjLtbqEgGNkNSD3c/Kw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:42 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2B97D28B"' + : '"0x8D7327890110B98"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:43 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 0ba18bbe-301a-006f-6147-4accd4000000 + x-ms-client-request-id: abe08bc0-d054-11e9-9969-001a7dda7113 + x-ms-request-id: 8c636ed0-301a-0013-2761-6477f8000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef8131cca/utdirf8131cca/bytefilef8131cca - comp=range - '' @@ -1357,19 +1391,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4822247a-b63a-11e9-8aaf-2816a845e8c6 + - abe9db74-d054-11e9-911d-001a7dda7113 x-ms-content-length: - '0' x-ms-date: - - Sat, 03 Aug 2019 22:01:44 GMT + - Fri, 06 Sep 2019 03:16:09 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharef8131cca/utdirf8131cca/filef8131cca response: @@ -1381,19 +1423,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:43 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2BC1A935"' + : '"0x8D73278901E5544"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:43 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 12890761-001a-00e4-7a47-4a770a000000 + x-ms-client-request-id: abe9db74-d054-11e9-911d-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:09.1585860Z' + x-ms-file-creation-time: '2019-09-06T03:16:09.1585860Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:16:09.1585860Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 21109323-001a-0008-0f61-6449fb000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1401,7 +1451,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef8131cca/utdirf8131cca/filef8131cca - '' - '' @@ -1411,23 +1461,23 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 48473c14-b63a-11e9-8698-2816a845e8c6 + - abf3a248-d054-11e9-bb3d-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:44 GMT + - Fri, 06 Sep 2019 03:16:09 GMT x-ms-range: - bytes=0-5 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef8131cca/utdirf8131cca/filef8131cca response: body: string: "\uFEFFInvalidRangeThe - range specified is invalid for the current size of the resource.\nRequestId:12890763-001a-00e4-7b47-4a770a000000\nTime:2019-08-03T22:01:43.7062172Z" + range specified is invalid for the current size of the resource.\nRequestId:21109324-001a-0008-1061-6449fb000000\nTime:2019-09-06T03:16:09.1850228Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -1440,16 +1490,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:43 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: abf3a248-d054-11e9-bb3d-001a7dda7113 x-ms-error-code: InvalidRange - x-ms-request-id: 12890763-001a-00e4-7b47-4a770a000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 21109324-001a-0008-1061-6449fb000000 + x-ms-version: '2019-02-02' status: code: 416 message: The range specified is invalid for the current size of the resource. @@ -1457,7 +1505,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef8131cca/utdirf8131cca/filef8131cca - '' - '' @@ -1467,23 +1515,23 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4851fdf6-b63a-11e9-a2ef-2816a845e8c6 + - abf6d452-d054-11e9-939c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:44 GMT + - Fri, 06 Sep 2019 03:16:09 GMT x-ms-range: - bytes=3-5 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharef8131cca/utdirf8131cca/filef8131cca response: body: string: "\uFEFFInvalidRangeThe - range specified is invalid for the current size of the resource.\nRequestId:12890764-001a-00e4-7c47-4a770a000000\nTime:2019-08-03T22:01:43.7702621Z" + range specified is invalid for the current size of the resource.\nRequestId:21109325-001a-0008-1161-6449fb000000\nTime:2019-09-06T03:16:09.2010342Z" headers: ? !!python/object/new:multidict._istr.istr - Content-Length @@ -1496,16 +1544,14 @@ interactions: : application/xml ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:43 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + x-ms-client-request-id: abf6d452-d054-11e9-939c-001a7dda7113 x-ms-error-code: InvalidRange - x-ms-request-id: 12890764-001a-00e4-7c47-4a770a000000 - x-ms-version: '2018-11-09' + x-ms-request-id: 21109325-001a-0008-1161-6449fb000000 + x-ms-version: '2019-02-02' status: code: 416 message: The range specified is invalid for the current size of the resource. @@ -1513,7 +1559,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharef8131cca/utdirf8131cca/filef8131cca - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_path_invalid_range_non_parallel_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_path_invalid_range_non_parallel_async.yaml index 370f0babae20..68d5bbf9cdda 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_path_invalid_range_non_parallel_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_path_invalid_range_non_parallel_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 48ee66b4-b63a-11e9-aeb4-2816a845e8c6 + - ac1a7d8c-d054-11e9-b0e3-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:45 GMT + - Fri, 06 Sep 2019 03:16:09 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare48a0210b?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:44 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2C953B03"' + : '"0x8D73278904CB5DA"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:45 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2487e1c6-b01a-00df-7147-4a3554000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ac1a7d8c-d054-11e9-b0e3-001a7dda7113 + x-ms-request-id: 0148535b-f01a-0041-7561-640b10000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare48a0210b - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 491ea3be-b63a-11e9-b73d-2816a845e8c6 + - ac22bd1c-d054-11e9-8efb-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:46 GMT + - Fri, 06 Sep 2019 03:16:09 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare48a0210b/utdir48a0210b?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:44 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2CA33199"' + : '"0x8D732789050BC12"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:45 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 2487e1ca-b01a-00df-7247-4a3554000000 + x-ms-client-request-id: ac22bd1c-d054-11e9-8efb-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:16:09.4888978Z' + x-ms-file-creation-time: '2019-09-06T03:16:09.4888978Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:16:09.4888978Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 01485360-f01a-0041-7861-640b10000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare48a0210b/utdir48a0210b - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 493f04f0-b63a-11e9-9b5c-2816a845e8c6 + - ac2675e8-d054-11e9-b2cd-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:46 GMT + - Fri, 06 Sep 2019 03:16:09 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare48a0210b/utdir48a0210b/bytefile48a0210b response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:44 GMT + : Fri, 06 Sep 2019 03:16:08 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2CEE2AF1"' + : '"0x8D73278905E05BA"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:45 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 95000e87-301a-00c5-6147-4a1a3b000000 + x-ms-client-request-id: ac2675e8-d054-11e9-b2cd-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:09.5759802Z' + x-ms-file-creation-time: '2019-09-06T03:16:09.5759802Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:16:09.5759802Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 27d85bf0-e01a-005d-1361-645970000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare48a0210b/utdir48a0210b/bytefile48a0210b - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 49735708-b63a-11e9-902b-2816a845e8c6 + - ac32cb4c-d054-11e9-ba42-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:46 GMT + - Fri, 06 Sep 2019 03:16:09 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : VDslmd4PxCb6sl/qFeIHNw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:45 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2D09801B"' + : '"0x8D732789063AC6C"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:45 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 95000e89-301a-00c5-6247-4a1a3b000000 + x-ms-client-request-id: ac32cb4c-d054-11e9-ba42-001a7dda7113 + x-ms-request-id: 27d85bf3-e01a-005d-1561-645970000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare48a0210b/utdir48a0210b/bytefile48a0210b - comp=range - '' @@ -1357,19 +1391,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 49912f34-b63a-11e9-a43f-2816a845e8c6 + - ac39b200-d054-11e9-bab6-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 22:01:47 GMT + - Fri, 06 Sep 2019 03:16:09 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshare48a0210b/utdir48a0210b/file48a0210b response: @@ -1381,19 +1423,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:45 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2D59D19D"' + : '"0x8D73278906CFD79"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:46 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3fae943f-401a-00c1-0d47-4aefb9000000 + x-ms-client-request-id: ac39b200-d054-11e9-bab6-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:09.6740729Z' + x-ms-file-creation-time: '2019-09-06T03:16:09.6740729Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:16:09.6740729Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 9f66b7cd-601a-0021-4e61-64778f000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1401,7 +1451,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare48a0210b/utdir48a0210b/file48a0210b - '' - '' @@ -1431,15 +1481,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 49ded6f0-b63a-11e9-b739-2816a845e8c6 + - ac41ce7e-d054-11e9-afa4-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:47 GMT + - Fri, 06 Sep 2019 03:16:09 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1456,19 +1506,20 @@ interactions: : OTuddbrh+8UM18ydBXSoZw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:45 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2D6285CB"' + : '"0x8D73278906F962A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:46 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3fae9441-401a-00c1-0e47-4aefb9000000 + x-ms-client-request-id: ac41ce7e-d054-11e9-afa4-001a7dda7113 + x-ms-request-id: 9f66b7cf-601a-0021-4f61-64778f000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1476,7 +1527,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare48a0210b/utdir48a0210b/file48a0210b - comp=range - '' @@ -1486,17 +1537,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 49e8b54a-b63a-11e9-856d-2816a845e8c6 + - ac43efe8-d054-11e9-83d1-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:47 GMT + - Fri, 06 Sep 2019 03:16:09 GMT x-ms-range: - bytes=1-32768 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshare48a0210b/utdir48a0210b/file48a0210b response: @@ -1535,23 +1586,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:45 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2D6285CB"' + : '"0x8D73278906F962A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:46 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 3fae9443-401a-00c1-0f47-4aefb9000000 + x-ms-client-request-id: ac43efe8-d054-11e9-83d1-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:09.6740729Z' + x-ms-file-creation-time: '2019-09-06T03:16:09.6740729Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:16:09.6740729Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 9f66b7d0-601a-0021-5061-64778f000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1559,7 +1615,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshare48a0210b/utdir48a0210b/file48a0210b - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_path_non_parallel_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_path_non_parallel_async.yaml index 175a887998a2..51ee5b71fe0d 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_path_non_parallel_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_path_non_parallel_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4a56f5ba-b63a-11e9-9326-2816a845e8c6 + - ac71a2ee-d054-11e9-a126-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:48 GMT + - Fri, 06 Sep 2019 03:16:10 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea0281b59?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:47 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2DFFDA57"' + : '"0x8D7327890A493B9"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:47 GMT + : Fri, 06 Sep 2019 03:16:10 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7f9dc730-a01a-006a-5c47-4a38ab000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ac71a2ee-d054-11e9-a126-001a7dda7113 + x-ms-request-id: d90ecced-801a-00af-4661-64a139000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea0281b59 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4a91e24c-b63a-11e9-ac7b-2816a845e8c6 + - ac7abd00-d054-11e9-ba6a-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:48 GMT + - Fri, 06 Sep 2019 03:16:10 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea0281b59/utdira0281b59?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:47 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2E16DB68"' + : '"0x8D7327890A9C710"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:47 GMT + : Fri, 06 Sep 2019 03:16:10 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7f9dc733-a01a-006a-5d47-4a38ab000000 + x-ms-client-request-id: ac7abd00-d054-11e9-ba6a-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:16:10.0724496Z' + x-ms-file-creation-time: '2019-09-06T03:16:10.0724496Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:16:10.0724496Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: d90eccf0-801a-00af-4761-64a139000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea0281b59/utdira0281b59 - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4a9fb5f8-b63a-11e9-9a01-2816a845e8c6 + - ac8363a8-d054-11e9-98aa-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:48 GMT + - Fri, 06 Sep 2019 03:16:10 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharea0281b59/utdira0281b59/bytefilea0281b59 response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:47 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2E57C0CA"' + : '"0x8D7327890BEB3B4"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:47 GMT + : Fri, 06 Sep 2019 03:16:10 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e88f487d-d01a-002a-1347-4a1145000000 + x-ms-client-request-id: ac8363a8-d054-11e9-98aa-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:10.2095796Z' + x-ms-file-creation-time: '2019-09-06T03:16:10.2095796Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:16:10.2095796Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 4190b794-701a-0070-1f61-64ea03000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea0281b59/utdira0281b59/bytefilea0281b59 - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 4aef0f9e-b63a-11e9-80ca-2816a845e8c6 + - ac937f1a-d054-11e9-bbc5-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:49 GMT + - Fri, 06 Sep 2019 03:16:10 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : L3zUKvn7/PEvtZSiYAeRDQ== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:47 GMT + : Fri, 06 Sep 2019 03:16:09 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2E851AA1"' + : '"0x8D7327890C3BDFD"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:48 GMT + : Fri, 06 Sep 2019 03:16:10 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e88f487f-d01a-002a-1447-4a1145000000 + x-ms-client-request-id: ac937f1a-d054-11e9-bbc5-001a7dda7113 + x-ms-request-id: 4190b796-701a-0070-2061-64ea03000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea0281b59/utdira0281b59/bytefilea0281b59 - comp=range - '' @@ -1359,17 +1393,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4b113576-b63a-11e9-b84c-2816a845e8c6 + - ac9a6f90-d054-11e9-a300-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:49 GMT + - Fri, 06 Sep 2019 03:16:10 GMT x-ms-range: - bytes=1-3 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharea0281b59/utdira0281b59/bytefilea0281b59 response: @@ -1391,23 +1425,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:47 GMT + : Fri, 06 Sep 2019 03:16:10 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2E851AA1"' + : '"0x8D7327890C3BDFD"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:48 GMT + : Fri, 06 Sep 2019 03:16:10 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: d81b3f68-c01a-009f-3647-4a1cba000000 + x-ms-client-request-id: ac9a6f90-d054-11e9-a300-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:10.2095796Z' + x-ms-file-creation-time: '2019-09-06T03:16:10.2095796Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:16:10.2095796Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 7ac69d3f-d01a-001b-5061-646df7000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1415,7 +1454,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharea0281b59/utdira0281b59/bytefilea0281b59 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_path_small_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_path_small_async.yaml index 59fe1a4fcf47..1da23a9a0762 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_path_small_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_ranged_get_file_to_path_small_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4b6fd18c-b63a-11e9-a79b-2816a845e8c6 + - ad81a65e-d054-11e9-aed8-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:50 GMT + - Fri, 06 Sep 2019 03:16:11 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharee98a187b?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:48 GMT + : Fri, 06 Sep 2019 03:16:11 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2F19143A"' + : '"0x8D7327891B4C7BE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:49 GMT + : Fri, 06 Sep 2019 03:16:11 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c38227e6-701a-00eb-0c47-4a9afc000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: ad81a65e-d054-11e9-aed8-001a7dda7113 + x-ms-request-id: 8d1a08cb-401a-009f-0c61-641ff6000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee98a187b - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4baf4654-b63a-11e9-9edb-2816a845e8c6 + - ad8ac6b8-d054-11e9-90b2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:50 GMT + - Fri, 06 Sep 2019 03:16:11 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharee98a187b/utdire98a187b?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:48 GMT + : Fri, 06 Sep 2019 03:16:11 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2F33C9F3"' + : '"0x8D7327891B8E09D"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:49 GMT + : Fri, 06 Sep 2019 03:16:11 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c38227e9-701a-00eb-0d47-4a9afc000000 + x-ms-client-request-id: ad8ac6b8-d054-11e9-90b2-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:16:11.8491293Z' + x-ms-file-creation-time: '2019-09-06T03:16:11.8491293Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:16:11.8491293Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 8d1a08ce-401a-009f-0d61-641ff6000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee98a187b/utdire98a187b - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4bcf5b1a-b63a-11e9-b3fe-2816a845e8c6 + - ad8ebba6-d054-11e9-bb78-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:50 GMT + - Fri, 06 Sep 2019 03:16:11 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utsharee98a187b/utdire98a187b/bytefilee98a187b response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:49 GMT + : Fri, 06 Sep 2019 03:16:11 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2F6EE1E2"' + : '"0x8D7327891C45517"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:49 GMT + : Fri, 06 Sep 2019 03:16:11 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4213a692-601a-0033-2747-4a3d2d000000 + x-ms-client-request-id: ad8ebba6-d054-11e9-bb78-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:11.9242007Z' + x-ms-file-creation-time: '2019-09-06T03:16:11.9242007Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:16:11.9242007Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 38a74bd0-b01a-001d-0861-645e48000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee98a187b/utdire98a187b/bytefilee98a187b - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 4bfb5e08-b63a-11e9-9b96-2816a845e8c6 + - ad98c6e2-d054-11e9-9e90-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:51 GMT + - Fri, 06 Sep 2019 03:16:11 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : lX21A2S5yXnSenuG2DwzAA== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:49 GMT + : Fri, 06 Sep 2019 03:16:11 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2F91B27E"' + : '"0x8D7327891C8C2F5"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:50 GMT + : Fri, 06 Sep 2019 03:16:11 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4213a694-601a-0033-2847-4a3d2d000000 + x-ms-client-request-id: ad98c6e2-d054-11e9-9e90-001a7dda7113 + x-ms-request-id: 38a74bd3-b01a-001d-0a61-645e48000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee98a187b/utdire98a187b/bytefilee98a187b - comp=range - '' @@ -1359,17 +1393,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4c1aea94-b63a-11e9-a853-2816a845e8c6 + - ad9eb636-d054-11e9-a671-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:51 GMT + - Fri, 06 Sep 2019 03:16:12 GMT x-ms-range: - bytes=1-4 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utsharee98a187b/utdire98a187b/bytefilee98a187b response: @@ -1391,23 +1425,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:49 GMT + : Fri, 06 Sep 2019 03:16:11 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E2F91B27E"' + : '"0x8D7327891C8C2F5"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:50 GMT + : Fri, 06 Sep 2019 03:16:11 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 15d69328-e01a-0044-7247-4ab86c000000 + x-ms-client-request-id: ad9eb636-d054-11e9-a671-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:11.9242007Z' + x-ms-file-creation-time: '2019-09-06T03:16:11.9242007Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:16:11.9242007Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 33606422-301a-0061-6a61-6470b7000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1415,7 +1454,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utsharee98a187b/utdire98a187b/bytefilee98a187b - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_unicode_get_file_binary_data_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_unicode_get_file_binary_data_async.yaml index c044d810d31e..b5703ab6e786 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_unicode_get_file_binary_data_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_unicode_get_file_binary_data_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4d4f76fa-b63a-11e9-adbd-2816a845e8c6 + - adf87734-d054-11e9-bde2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:53 GMT + - Fri, 06 Sep 2019 03:16:12 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshared1ae1808?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:51 GMT + : Fri, 06 Sep 2019 03:16:14 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E30F91F2F"' + : '"0x8D7327893B2EB42"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:52 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 36931ac8-a01a-0061-5047-4a20df000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: adf87734-d054-11e9-bde2-001a7dda7113 + x-ms-request-id: 4b2d4401-601a-006c-0c61-64b863000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshared1ae1808 - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4d8f469e-b63a-11e9-b4db-2816a845e8c6 + - af940f7a-d054-11e9-91d0-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:53 GMT + - Fri, 06 Sep 2019 03:16:15 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshared1ae1808/utdird1ae1808?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:51 GMT + : Fri, 06 Sep 2019 03:16:14 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E3113DDAB"' + : '"0x8D7327893DEDE0A"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:52 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 36931acb-a01a-0061-5147-4a20df000000 + x-ms-client-request-id: af940f7a-d054-11e9-91d0-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:16:15.4535434Z' + x-ms-file-creation-time: '2019-09-06T03:16:15.4535434Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:16:15.4535434Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: 4b2d440a-601a-006c-0d61-64b863000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshared1ae1808/utdird1ae1808 - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4d9e53cc-b63a-11e9-931b-2816a845e8c6 + - afb94e00-d054-11e9-afaa-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:53 GMT + - Fri, 06 Sep 2019 03:16:15 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshared1ae1808/utdird1ae1808/bytefiled1ae1808 response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:52 GMT + : Fri, 06 Sep 2019 03:16:14 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E31422203"' + : '"0x8D7327893ECC418"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:52 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8c5a675e-d01a-0021-3947-4a0931000000 + x-ms-client-request-id: afb94e00-d054-11e9-afaa-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:15.5446296Z' + x-ms-file-creation-time: '2019-09-06T03:16:15.5446296Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:16:15.5446296Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 82fd15c7-601a-007c-0961-647d0b000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshared1ae1808/utdird1ae1808/bytefiled1ae1808 - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 4ddd6894-b63a-11e9-8003-2816a845e8c6 + - afc27e12-d054-11e9-a01c-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:54 GMT + - Fri, 06 Sep 2019 03:16:15 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : f9wULULpF0IXPEqkwdWsHw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:53 GMT + : Fri, 06 Sep 2019 03:16:14 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E31734D1C"' + : '"0x8D7327893F2B8F9"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:53 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8c5a6760-d01a-0021-3a47-4a0931000000 + x-ms-client-request-id: afc27e12-d054-11e9-a01c-001a7dda7113 + x-ms-request-id: 82fd15c9-601a-007c-0a61-647d0b000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshared1ae1808/utdird1ae1808/bytefiled1ae1808 - comp=range - '' @@ -1357,19 +1391,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4dfdee42-b63a-11e9-9e9f-2816a845e8c6 + - afc9861a-d054-11e9-86ee-001a7dda7113 x-ms-content-length: - '1024' x-ms-date: - - Sat, 03 Aug 2019 22:01:54 GMT + - Fri, 06 Sep 2019 03:16:15 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshared1ae1808/utdird1ae1808/filed1ae1808 response: @@ -1381,19 +1423,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:53 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E31C83353"' + : '"0x8D7327893FC7F56"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:53 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ca33854a-301a-0046-0d47-4aba96000000 + x-ms-client-request-id: afc9861a-d054-11e9-86ee-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:15.6477270Z' + x-ms-file-creation-time: '2019-09-06T03:16:15.6477270Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:16:15.6477270Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: ddb1030f-101a-003b-7461-641650000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1401,7 +1451,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshared1ae1808/utdird1ae1808/filed1ae1808 - '' - '' @@ -1431,15 +1481,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 4e5a2fd2-b63a-11e9-a64a-2816a845e8c6 + - afd12368-d054-11e9-b179-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:55 GMT + - Fri, 06 Sep 2019 03:16:15 GMT x-ms-range: - bytes=0-1023 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1456,19 +1506,20 @@ interactions: : suqff86oMaSmOyE/QaiFWw== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:53 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E31DFDE4E"' + : '"0x8D7327893FEF0EE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:53 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: ca33854c-301a-0046-0e47-4aba96000000 + x-ms-client-request-id: afd12368-d054-11e9-b179-001a7dda7113 + x-ms-request-id: ddb10311-101a-003b-7561-641650000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1476,7 +1527,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshared1ae1808/utdird1ae1808/filed1ae1808 - comp=range - '' @@ -1486,17 +1537,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4e655ca4-b63a-11e9-9956-2816a845e8c6 + - afd36c0c-d054-11e9-95dc-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:55 GMT + - Fri, 06 Sep 2019 03:16:15 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshared1ae1808/utdird1ae1808/filed1ae1808 response: @@ -1535,23 +1586,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:53 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E31DFDE4E"' + : '"0x8D7327893FEF0EE"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:53 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: ca33854d-301a-0046-0f47-4aba96000000 + x-ms-client-request-id: afd36c0c-d054-11e9-95dc-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:15.6477270Z' + x-ms-file-creation-time: '2019-09-06T03:16:15.6477270Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:16:15.6477270Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: ddb10312-101a-003b-7661-641650000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1559,7 +1615,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshared1ae1808/utdird1ae1808/filed1ae1808 - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_unicode_get_file_unicode_data_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_unicode_get_file_unicode_data_async.yaml index af38da40c4d7..6c8503b7fc64 100644 --- a/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_unicode_get_file_unicode_data_async.yaml +++ b/sdk/storage/azure-storage-file/tests/recordings/test_get_file_async.test_unicode_get_file_unicode_data_async.yaml @@ -3,15 +3,15 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4e9b0ae2-b63a-11e9-8e1f-2816a845e8c6 + - aff35e94-d054-11e9-9f8b-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:55 GMT + - Fri, 06 Sep 2019 03:16:15 GMT x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareea3a186a?restype=share response: @@ -23,18 +23,19 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:53 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E3239E0FB"' + : '"0x8D732789428664B"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:54 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 71186db3-b01a-007e-3847-4afbcf000000 - x-ms-version: '2018-11-09' + x-ms-client-request-id: aff35e94-d054-11e9-9f8b-001a7dda7113 + x-ms-request-id: a48cacc1-901a-0047-0361-6438af000000 + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -42,7 +43,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareea3a186a - restype=share - '' @@ -50,15 +51,23 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4ec45e88-b63a-11e9-9c16-2816a845e8c6 + - affe87be-d054-11e9-b207-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:55 GMT + - Fri, 06 Sep 2019 03:16:16 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - inherit x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareea3a186a/utdirea3a186a?restype=directory response: @@ -70,19 +79,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:53 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E32487730"' + : '"0x8D73278942CC2C5"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:54 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 71186db6-b01a-007e-3947-4afbcf000000 + x-ms-client-request-id: affe87be-d054-11e9-b207-001a7dda7113 + x-ms-file-attributes: Directory + x-ms-file-change-time: '2019-09-06T03:16:15.9640261Z' + x-ms-file-creation-time: '2019-09-06T03:16:15.9640261Z' + x-ms-file-id: '13835128424026341376' + x-ms-file-last-write-time: '2019-09-06T03:16:15.9640261Z' + x-ms-file-parent-id: '0' + x-ms-file-permission-key: 17913408918638655783*10394889115079208622 + x-ms-request-id: a48cacc4-901a-0047-0461-6438af000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -90,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareea3a186a/utdirea3a186a - restype=directory - '' @@ -98,19 +115,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4ed663fa-b63a-11e9-9690-2816a845e8c6 + - b004e07a-d054-11e9-8977-001a7dda7113 x-ms-content-length: - '65541' x-ms-date: - - Sat, 03 Aug 2019 22:01:55 GMT + - Fri, 06 Sep 2019 03:16:16 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareea3a186a/utdirea3a186a/bytefileea3a186a response: @@ -122,19 +147,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:54 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E32845297"' + : '"0x8D732789437E908"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:54 GMT + : Fri, 06 Sep 2019 03:16:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d88553bb-c01a-0017-8047-4aa463000000 + x-ms-client-request-id: b004e07a-d054-11e9-8977-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:16.0370952Z' + x-ms-file-creation-time: '2019-09-06T03:16:16.0370952Z' + x-ms-file-id: '13835093239654252544' + x-ms-file-last-write-time: '2019-09-06T03:16:16.0370952Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: b0473b7f-801a-0029-4f61-646d80000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -142,7 +175,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareea3a186a/utdirea3a186a/bytefileea3a186a - '' - '' @@ -1304,15 +1337,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 4f15cd30-b63a-11e9-8fdd-2816a845e8c6 + - b00cacda-d054-11e9-95e2-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:56 GMT + - Fri, 06 Sep 2019 03:16:16 GMT x-ms-range: - bytes=0-65540 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1329,19 +1362,20 @@ interactions: : FYZlWQTNpjPYpHmuPseQfQ== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:54 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E32ABDEF7"' + : '"0x8D73278943F64E7"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:55 GMT + : Fri, 06 Sep 2019 03:16:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d88553bd-c01a-0017-0147-4aa463000000 + x-ms-client-request-id: b00cacda-d054-11e9-95e2-001a7dda7113 + x-ms-request-id: b0473b81-801a-0029-5061-646d80000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1349,7 +1383,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareea3a186a/utdirea3a186a/bytefileea3a186a - comp=range - '' @@ -1357,19 +1391,27 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4f34bcf8-b63a-11e9-91b3-2816a845e8c6 + - b0160fde-d054-11e9-86ad-001a7dda7113 x-ms-content-length: - '26' x-ms-date: - - Sat, 03 Aug 2019 22:01:56 GMT + - Fri, 06 Sep 2019 03:16:16 GMT + x-ms-file-attributes: + - none + x-ms-file-creation-time: + - now + x-ms-file-last-write-time: + - now + x-ms-file-permission: + - Inherit x-ms-type: - file x-ms-version: - - '2018-11-09' + - '2019-02-02' method: PUT uri: https://storagename.file.core.windows.net/utshareea3a186a/utdirea3a186a/fileea3a186a response: @@ -1381,19 +1423,27 @@ interactions: : '0' ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:54 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E32D36B5B"' + : '"0x8D7327894497978"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:55 GMT + : Fri, 06 Sep 2019 03:16:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 90fa583a-701a-0063-5947-4a2225000000 + x-ms-client-request-id: b0160fde-d054-11e9-86ad-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:16.1522040Z' + x-ms-file-creation-time: '2019-09-06T03:16:16.1522040Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:16:16.1522040Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 90f86bc6-101a-00df-0361-6418ce000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1401,7 +1451,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareea3a186a/utdirea3a186a/fileea3a186a - '' - '' @@ -1413,15 +1463,15 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) x-ms-client-request-id: - - 4f73a7f8-b63a-11e9-bdd6-2816a845e8c6 + - b01e3400-d054-11e9-8c15-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:56 GMT + - Fri, 06 Sep 2019 03:16:16 GMT x-ms-range: - bytes=0-25 x-ms-version: - - '2018-11-09' + - '2019-02-02' x-ms-write: - update method: PUT @@ -1438,19 +1488,20 @@ interactions: : aFkhSeVIRnJoB2MmKjC25w== ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:55 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E32F85F3B"' + : '"0x8D73278944C1229"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:55 GMT + : Fri, 06 Sep 2019 03:16:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 90fa583d-701a-0063-5a47-4a2225000000 + x-ms-client-request-id: b01e3400-d054-11e9-8c15-001a7dda7113 + x-ms-request-id: 90f86bc8-101a-00df-0461-6418ce000000 x-ms-request-server-encrypted: 'true' - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 201 message: Created @@ -1458,7 +1509,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareea3a186a/utdirea3a186a/fileea3a186a - comp=range - '' @@ -1468,17 +1519,17 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-file/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) content-type: - application/xml; charset=utf-8 x-ms-client-request-id: - - 4f7dd152-b63a-11e9-958f-2816a845e8c6 + - b02060ae-d054-11e9-b628-001a7dda7113 x-ms-date: - - Sat, 03 Aug 2019 22:01:56 GMT + - Fri, 06 Sep 2019 03:16:16 GMT x-ms-range: - bytes=0-32767 x-ms-version: - - '2018-11-09' + - '2019-02-02' method: GET uri: https://storagename.file.core.windows.net/utshareea3a186a/utdirea3a186a/fileea3a186a response: @@ -1499,23 +1550,28 @@ interactions: : application/xml; charset=utf-8 ? !!python/object/new:multidict._istr.istr - Date - : Sat, 03 Aug 2019 22:01:55 GMT + : Fri, 06 Sep 2019 03:16:15 GMT ? !!python/object/new:multidict._istr.istr - Etag - : '"0x8D7185E32F85F3B"' + : '"0x8D73278944C1229"' ? !!python/object/new:multidict._istr.istr - Last-Modified - : Sat, 03 Aug 2019 22:01:55 GMT + : Fri, 06 Sep 2019 03:16:16 GMT ? !!python/object/new:multidict._istr.istr - Server : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 90fa583e-701a-0063-5b47-4a2225000000 + x-ms-client-request-id: b02060ae-d054-11e9-b628-001a7dda7113 + x-ms-file-attributes: Archive + x-ms-file-change-time: '2019-09-06T03:16:16.1522040Z' + x-ms-file-creation-time: '2019-09-06T03:16:16.1522040Z' + x-ms-file-id: '13835163608398430208' + x-ms-file-last-write-time: '2019-09-06T03:16:16.1522040Z' + x-ms-file-parent-id: '13835128424026341376' + x-ms-file-permission-key: 4099112195243312672*10394889115079208622 + x-ms-request-id: 90f86bc9-101a-00df-0561-6418ce000000 x-ms-server-encrypted: 'true' x-ms-type: File - x-ms-version: '2018-11-09' + x-ms-version: '2019-02-02' status: code: 206 message: Partial Content @@ -1523,7 +1579,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.file.core.windows.net + - emilydevtest.file.core.windows.net - /utshareea3a186a/utdirea3a186a/fileea3a186a - '' - '' diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_share.test_create_permission_for_share.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_share.test_create_permission_for_share.yaml new file mode 100644 index 000000000000..7857741e1a32 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_share.test_create_permission_for_share.yaml @@ -0,0 +1,178 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - cb1e8410-d2ba-11e9-b40e-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 04:32:12 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/share845511b4?restype=share + response: + body: + string: '' + headers: + Content-Length: + - '0' + Date: + - Mon, 09 Sep 2019 04:32:12 GMT + ETag: + - '"0x8D734DEAF8AE743"' + Last-Modified: + - Mon, 09 Sep 2019 04:32:12 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cb1e8410-d2ba-11e9-b40e-001a7dda7113 + x-ms-request-id: + - 2a027959-401a-00c2-33c7-661572000000 + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: '{"permission": "O:S-1-5-21-2127521184-1604012920-1887927527-21560751G:S-1-5-21-2127521184-1604012920-1887927527-513D:AI(A;;FA;;;SY)(A;;FA;;;BA)(A;;0x1200a9;;;S-1-5-21-397955417-626881126-188441444-3053964)"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '207' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - cb64e834-d2ba-11e9-826b-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 04:32:12 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/share845511b4?restype=share&comp=filepermission + response: + body: + string: '' + headers: + Date: + - Mon, 09 Sep 2019 04:32:12 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + Transfer-Encoding: + - chunked + x-ms-client-request-id: + - cb64e834-d2ba-11e9-826b-001a7dda7113 + x-ms-file-permission-key: + - 4000846001707203423*10394889115079208622 + x-ms-request-id: + - 2a02795c-401a-00c2-34c7-661572000000 + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - cb79300c-d2ba-11e9-b0af-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 04:32:13 GMT + x-ms-file-permission-key: + - 4000846001707203423*10394889115079208622 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/share845511b4?restype=share&comp=filepermission + response: + body: + string: '{"permission":"O:S-1-5-21-2127521184-1604012920-1887927527-21560751G:S-1-5-21-2127521184-1604012920-1887927527-513D:AI(A;;FA;;;SY)(A;;FA;;;BA)(A;;0x1200a9;;;S-1-5-21-397955417-626881126-188441444-3053964)S:NO_ACCESS_CONTROL"}' + headers: + Content-Length: + - '225' + Date: + - Mon, 09 Sep 2019 04:32:14 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: + - cb79300c-d2ba-11e9-b0af-001a7dda7113 + x-ms-request-id: + - 2a02795d-401a-00c2-35c7-661572000000 + x-ms-version: + - '2019-02-02' + status: + code: 200 + message: OK +- request: + body: '{"permission": "O:S-1-5-21-2127521184-1604012920-1887927527-21560751G:S-1-5-21-2127521184-1604012920-1887927527-513D:AI(A;;FA;;;SY)(A;;FA;;;BA)(A;;0x1200a9;;;S-1-5-21-397955417-626881126-188441444-3053964)S:NO_ACCESS_CONTROL"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '226' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - cc791ee8-d2ba-11e9-9d32-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 04:32:14 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/share845511b4?restype=share&comp=filepermission + response: + body: + string: '' + headers: + Date: + - Mon, 09 Sep 2019 04:32:14 GMT + Server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + Transfer-Encoding: + - chunked + x-ms-client-request-id: + - cc791ee8-d2ba-11e9-9d32-001a7dda7113 + x-ms-file-permission-key: + - 4000846001707203423*10394889115079208622 + x-ms-request-id: + - 2a02795f-401a-00c2-36c7-661572000000 + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/recordings/test_share_async.test_create_permission_for_share_async.yaml b/sdk/storage/azure-storage-file/tests/recordings/test_share_async.test_create_permission_for_share_async.yaml new file mode 100644 index 000000000000..df1810c62306 --- /dev/null +++ b/sdk/storage/azure-storage-file/tests/recordings/test_share_async.test_create_permission_for_share_async.yaml @@ -0,0 +1,186 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 89284dde-d2bd-11e9-a1a6-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 04:51:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/share7a0316ae?restype=share + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '0' + ? !!python/object/new:multidict._istr.istr + - Date + : Mon, 09 Sep 2019 04:51:50 GMT + ? !!python/object/new:multidict._istr.istr + - Etag + : '"0x8D734E16D61F552"' + ? !!python/object/new:multidict._istr.istr + - Last-Modified + : Mon, 09 Sep 2019 04:51:50 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 89284dde-d2bd-11e9-a1a6-001a7dda7113 + x-ms-request-id: 0d51a903-001a-0045-75ca-668617000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /share7a0316ae + - restype=share + - '' +- request: + body: '{"permission": "O:S-1-5-21-2127521184-1604012920-1887927527-21560751G:S-1-5-21-2127521184-1604012920-1887927527-513D:AI(A;;FA;;;SY)(A;;FA;;;BA)(A;;0x1200a9;;;S-1-5-21-397955417-626881126-188441444-3053964)"}' + headers: + Content-Length: + - '207' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 89335f7e-d2bd-11e9-be65-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 04:51:50 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/share7a0316ae?restype=share&comp=filepermission + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Date + : Mon, 09 Sep 2019 04:51:50 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Transfer-Encoding + : chunked + x-ms-client-request-id: 89335f7e-d2bd-11e9-be65-001a7dda7113 + x-ms-file-permission-key: 4000846001707203423*10394889115079208622 + x-ms-request-id: 0d51a906-001a-0045-76ca-668617000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /share7a0316ae + - restype=share&comp=filepermission + - '' +- request: + body: null + headers: + Accept: + - application/json + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-client-request-id: + - 893f89d4-d2bd-11e9-863a-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 04:51:50 GMT + x-ms-file-permission-key: + - 4000846001707203423*10394889115079208622 + x-ms-version: + - '2019-02-02' + method: GET + uri: https://storagename.file.core.windows.net/share7a0316ae?restype=share&comp=filepermission + response: + body: + string: '{"permission":"O:S-1-5-21-2127521184-1604012920-1887927527-21560751G:S-1-5-21-2127521184-1604012920-1887927527-513D:AI(A;;FA;;;SY)(A;;FA;;;BA)(A;;0x1200a9;;;S-1-5-21-397955417-626881126-188441444-3053964)S:NO_ACCESS_CONTROL"}' + headers: + ? !!python/object/new:multidict._istr.istr + - Content-Length + : '225' + ? !!python/object/new:multidict._istr.istr + - Date + : Mon, 09 Sep 2019 04:51:52 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-client-request-id: 893f89d4-d2bd-11e9-863a-001a7dda7113 + x-ms-request-id: 0d51a907-001a-0045-77ca-668617000000 + x-ms-version: '2019-02-02' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /share7a0316ae + - restype=share&comp=filepermission + - '' +- request: + body: '{"permission": "O:S-1-5-21-2127521184-1604012920-1887927527-21560751G:S-1-5-21-2127521184-1604012920-1887927527-513D:AI(A;;FA;;;SY)(A;;FA;;;BA)(A;;0x1200a9;;;S-1-5-21-397955417-626881126-188441444-3053964)S:NO_ACCESS_CONTROL"}' + headers: + Content-Length: + - '226' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - azsdk-python-storage-file/12.0.0b2 Python/3.7.3 (Windows-10-10.0.18362-SP0) + x-ms-client-request-id: + - 8a5beaa2-d2bd-11e9-ab30-001a7dda7113 + x-ms-date: + - Mon, 09 Sep 2019 04:51:52 GMT + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://storagename.file.core.windows.net/share7a0316ae?restype=share&comp=filepermission + response: + body: + string: '' + headers: + ? !!python/object/new:multidict._istr.istr + - Date + : Mon, 09 Sep 2019 04:51:52 GMT + ? !!python/object/new:multidict._istr.istr + - Server + : Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + ? !!python/object/new:multidict._istr.istr + - Transfer-Encoding + : chunked + x-ms-client-request-id: 8a5beaa2-d2bd-11e9-ab30-001a7dda7113 + x-ms-file-permission-key: 4000846001707203423*10394889115079208622 + x-ms-request-id: 0d51a909-001a-0045-78ca-668617000000 + x-ms-version: '2019-02-02' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - emilydevtest.file.core.windows.net + - /share7a0316ae + - restype=share&comp=filepermission + - '' +version: 1 diff --git a/sdk/storage/azure-storage-file/tests/test_directory.py b/sdk/storage/azure-storage-file/tests/test_directory.py index 242f61c2559f..c30535e452c9 100644 --- a/sdk/storage/azure-storage-file/tests/test_directory.py +++ b/sdk/storage/azure-storage-file/tests/test_directory.py @@ -6,6 +6,7 @@ # license information. # -------------------------------------------------------------------------- import unittest +from datetime import timedelta from azure.core.exceptions import ResourceNotFoundError, ResourceExistsError @@ -310,6 +311,51 @@ def test_get_set_directory_metadata(self): # Assert self.assertDictEqual(md, metadata) + @record + def test_set_directory_properties_with_empty_smb_properties(self): + # Arrange + share_client = self.fsc.get_share_client(self.share_name) + directory_client = share_client.create_directory('dir1') + directory_properties_on_creation = directory_client.get_directory_properties() + + # Act + directory_client.set_http_headers() + directory_properties = directory_client.get_directory_properties() + + # Assert + # Make sure set empty smb_properties doesn't change smb_properties + self.assertEquals(directory_properties_on_creation.creation_time, + directory_properties.creation_time) + self.assertEquals(directory_properties_on_creation.last_write_time, + directory_properties.last_write_time) + self.assertEquals(directory_properties_on_creation.permission_key, + directory_properties.permission_key) + + @record + def test_set_directory_properties_with_file_permission_key(self): + # Arrange + share_client = self.fsc.get_share_client(self.share_name) + directory_client = share_client.create_directory('dir1') + + directory_properties_on_creation = directory_client.get_directory_properties() + permission_key = directory_properties_on_creation.permission_key + last_write_time = directory_properties_on_creation.last_write_time + creation_time = directory_properties_on_creation.creation_time + + new_last_write_time = last_write_time + timedelta(hours=1) + new_creation_time = creation_time + timedelta(hours=1) + + # Act + directory_client.set_http_headers(file_attributes='None', file_creation_time=new_creation_time, + file_last_write_time=new_last_write_time, + file_permission_key=permission_key) + directory_properties = directory_client.get_directory_properties() + + # Assert + self.assertIsNotNone(directory_properties) + self.assertEquals(directory_properties.creation_time, new_creation_time) + self.assertEquals(directory_properties.last_write_time, new_last_write_time) + @record def test_list_subdirectories_and_files(self): # Arrange diff --git a/sdk/storage/azure-storage-file/tests/test_directory_async.py b/sdk/storage/azure-storage-file/tests/test_directory_async.py index 935c2459df5f..fe6a08cbca84 100644 --- a/sdk/storage/azure-storage-file/tests/test_directory_async.py +++ b/sdk/storage/azure-storage-file/tests/test_directory_async.py @@ -7,6 +7,7 @@ # -------------------------------------------------------------------------- import unittest import asyncio +from datetime import timedelta from azure.core.exceptions import ResourceNotFoundError, ResourceExistsError from azure.core.pipeline.transport import AioHttpTransport @@ -418,6 +419,61 @@ def test_get_set_directory_metadata_async(self): loop = asyncio.get_event_loop() loop.run_until_complete(self._test_get_set_directory_metadata_async()) + async def _test_set_directory_properties_with_empty_smb_properties(self): + # Arrange + await self._setup() + share_client = self.fsc.get_share_client(self.share_name) + directory_client = await share_client.create_directory('dir1') + directory_properties_on_creation = await directory_client.get_directory_properties() + + # Act + await directory_client.set_http_headers() + directory_properties = await directory_client.get_directory_properties() + + # Assert + # Make sure set empty smb_properties doesn't change smb_properties + self.assertEquals(directory_properties_on_creation.creation_time, + directory_properties.creation_time) + self.assertEquals(directory_properties_on_creation.last_write_time, + directory_properties.last_write_time) + self.assertEquals(directory_properties_on_creation.permission_key, + directory_properties.permission_key) + + @record + def test_set_directory_properties_with_empty_smb_properties_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_set_directory_properties_with_empty_smb_properties()) + + async def _test_set_directory_properties_with_file_permission_key(self): + # Arrange + await self._setup() + share_client = self.fsc.get_share_client(self.share_name) + directory_client = await share_client.create_directory('dir1') + + directory_properties_on_creation = await directory_client.get_directory_properties() + permission_key = directory_properties_on_creation.permission_key + last_write_time = directory_properties_on_creation.last_write_time + creation_time = directory_properties_on_creation.creation_time + + new_last_write_time = last_write_time + timedelta(hours=1) + new_creation_time = creation_time + timedelta(hours=1) + + # Act + await directory_client.set_http_headers(file_attributes='None', file_creation_time=new_creation_time, + file_last_write_time=new_last_write_time, + file_permission_key=permission_key) + directory_properties = await directory_client.get_directory_properties() + + # Assert + self.assertIsNotNone(directory_properties) + self.assertEquals(directory_properties.creation_time, new_creation_time) + self.assertEquals(directory_properties.last_write_time, new_last_write_time) + + @record + def test_set_directory_properties_with_file_permission_key_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_set_directory_properties_with_file_permission_key()) + async def _test_list_subdirectories_and_files_async(self): # Arrange await self._setup() diff --git a/sdk/storage/azure-storage-file/tests/test_file.py b/sdk/storage/azure-storage-file/tests/test_file.py index 2d33244d40d0..5c1fc651fa78 100644 --- a/sdk/storage/azure-storage-file/tests/test_file.py +++ b/sdk/storage/azure-storage-file/tests/test_file.py @@ -8,7 +8,6 @@ import base64 import os import unittest -import time from datetime import datetime, timedelta import requests @@ -24,8 +23,8 @@ AccessPolicy, ResourceTypes, AccountPermissions, - StorageErrorCode -) + StorageErrorCode, + NTFSAttributes) from filetestcase import ( FileTestCase, TestMode, @@ -96,13 +95,26 @@ def tearDown(self): def _get_file_reference(self): return self.get_resource_name(TEST_FILE_PREFIX) - def _create_file(self): - file_name = self._get_file_reference() + def _create_file(self, file_name=None): + file_name = self._get_file_reference() if file_name is None else file_name share_client = self.fsc.get_share_client(self.share_name) file_client = share_client.get_file_client(file_name) file_client.upload_file(self.short_byte_data) return file_client + def _create_empty_file(self, file_name=None, file_size=2048): + file_name = self._get_file_reference() if file_name is None else file_name + share_client = self.fsc.get_share_client(self.share_name) + file_client = share_client.get_file_client(file_name) + file_client.create_file(file_size) + return file_client + + def _get_file_client(self): + file_name = self._get_file_reference() + share_client = self.fsc.get_share_client(self.share_name) + file_client = share_client.get_file_client(file_name) + return file_client + def _create_remote_share(self): self.remote_share_name = self.get_resource_name('remoteshare') remote_share = self.fsc2.get_share_client(self.remote_share_name) @@ -220,7 +232,7 @@ def test_create_file(self): credential=self.settings.STORAGE_ACCOUNT_KEY) # Act - resp = file_client.create_file(1024) + resp = file_client.create_file(1024, file_attributes="hidden") # Assert props = file_client.get_file_properties() @@ -249,6 +261,36 @@ def test_create_file_with_metadata(self): self.assertEqual(props.last_modified, resp['last_modified']) self.assertDictEqual(props.metadata, metadata) + def test_create_file_when_file_permission_is_too_long(self): + file_client = self._get_file_client() + permission = str(self.get_random_bytes(8 * 1024 + 1)) + with self.assertRaises(ValueError): + file_client.create_file(1024, file_permission=permission) + + @record + def test_create_file_with_invalid_file_permission(self): + # Arrange + file_name = self._get_file_client() + + with self.assertRaises(HttpResponseError): + file_name.create_file(1024, file_permission="abcde") + + @record + def test_create_file_will_set_all_smb_properties(self): + # Arrange + file_client = self._get_file_client() + + # Act + file_client.create_file(1024) + file_properties = file_client.get_file_properties() + + # Assert + self.assertIsNotNone(file_properties) + self.assertIsNotNone(file_properties.change_time) + self.assertIsNotNone(file_properties.creation_time) + self.assertIsNotNone(file_properties.file_attributes) + self.assertIsNotNone(file_properties.last_write_time) + @record def test_file_exists(self): # Arrange @@ -343,6 +385,40 @@ def test_set_file_properties(self): properties = file_client.get_file_properties() self.assertEqual(properties.content_settings.content_language, content_settings.content_language) self.assertEqual(properties.content_settings.content_disposition, content_settings.content_disposition) + self.assertIsNotNone(properties.last_write_time) + self.assertIsNotNone(properties.creation_time) + self.assertIsNotNone(properties.permission_key) + + @record + def test_set_file_properties_with_file_permission(self): + # Arrange + file_client = self._create_file() + properties_on_creation = file_client.get_file_properties() + + content_settings = ContentSettings( + content_language='spanish', + content_disposition='inline') + + ntfs_attributes = NTFSAttributes(archive=True, temporary=True) + last_write_time = properties_on_creation.last_write_time + timedelta(hours=3) + creation_time = properties_on_creation.creation_time + timedelta(hours=3) + + # Act + file_client.set_http_headers( + content_settings=content_settings, + file_attributes=ntfs_attributes, + file_last_write_time=last_write_time, + file_creation_time=creation_time, + ) + + # Assert + properties = file_client.get_file_properties() + self.assertEquals(properties.content_settings.content_language, content_settings.content_language) + self.assertEquals(properties.content_settings.content_disposition, content_settings.content_disposition) + self.assertEquals(properties.creation_time, creation_time) + self.assertEquals(properties.last_write_time, last_write_time) + self.assertIn("Archive", properties.file_attributes) + self.assertIn("Temporary", properties.file_attributes) @record def test_get_file_properties(self): @@ -510,9 +586,94 @@ def test_update_range_with_md5(self): # Assert + @record + def test_update_range_from_file_url_when_source_file_does_not_have_enough_bytes(self): + # Arrange + source_file_name = 'testfile1' + source_file_client = self._create_file(source_file_name) + + destination_file_name = 'filetoupdate' + destination_file_client = self._create_file(destination_file_name) + + # generate SAS for the source file + sas_token_for_source_file = \ + source_file_client.generate_shared_access_signature() + + source_file_url = source_file_client.url + '?' + sas_token_for_source_file + + # Act + with self.assertRaises(HttpResponseError): + # when the source file has less bytes than 2050, throw exception + destination_file_client.upload_range_from_url(source_file_url, 0, 2049, 0) + + @record + def test_update_range_from_file_url(self): + # Arrange + source_file_name = 'testfile' + source_file_client = self._create_file(file_name=source_file_name) + data = b'abcdefghijklmnop' * 32 + source_file_client.upload_range(data, 0, 511) + + destination_file_name = 'filetoupdate' + destination_file_client = self._create_empty_file(file_name=destination_file_name) + + # generate SAS for the source file + sas_token_for_source_file = \ + source_file_client.generate_shared_access_signature( + FilePermissions.READ, + expiry=datetime.utcnow() + timedelta(hours=1)) + + source_file_url = source_file_client.url + '?' + sas_token_for_source_file + # Act + destination_file_client.upload_range_from_url(source_file_url, 0, 511, 0) + + # Assert + # To make sure the range of the file is actually updated + file_ranges = destination_file_client.get_ranges() + file_content = destination_file_client.download_file(offset=0, length=511).content_as_bytes() + self.assertEquals(1, len(file_ranges)) + self.assertEquals(0, file_ranges[0].get('start')) + self.assertEquals(511, file_ranges[0].get('end')) + self.assertEquals(data, file_content) + + @record + def test_update_big_range_from_file_url(self): + # Arrange + source_file_name = 'testfile1' + end = 1048575 + + source_file_client = self._create_empty_file(file_name=source_file_name, file_size=1024 * 1024) + data = b'abcdefghijklmnop' * 65536 + source_file_client.upload_range(data, 0, end) + + destination_file_name = 'filetoupdate1' + destination_file_client = self._create_empty_file(file_name=destination_file_name, file_size=1024 * 1024) + + # generate SAS for the source file + sas_token_for_source_file = \ + source_file_client.generate_shared_access_signature( + FilePermissions.READ, + expiry=datetime.utcnow() + timedelta(hours=1)) + + source_file_url = source_file_client.url + '?' + sas_token_for_source_file + + # Act + destination_file_client.upload_range_from_url(source_file_url, 0, end, 0) + + # Assert + # To make sure the range of the file is actually updated + file_ranges = destination_file_client.get_ranges() + file_content = destination_file_client.download_file(offset=0, length=end).content_as_bytes() + self.assertEquals(1, len(file_ranges)) + self.assertEquals(0, file_ranges[0].get('start')) + self.assertEquals(end, file_ranges[0].get('end')) + self.assertEquals(data, file_content) + @record def test_clear_range(self): # Arrange + # TODO: update swagger and fix this test + pytest.skip("TODO: fix swagger!") file_client = self._create_file() # Act @@ -801,6 +962,21 @@ def test_file_unicode_data(self): content = file_client.download_file().content_as_bytes() self.assertEqual(content, data) + @record + def test_file_unicode_data_and_file_attributes(self): + # Arrange + file_client = self._get_file_client() + + # Act + data = u'hello world啊齄丂狛狜'.encode('utf-8') + file_client.upload_file(data, file_attributes=NTFSAttributes(temporary=True)) + + # Assert + content = file_client.download_file().content_as_bytes() + properties = file_client.get_file_properties() + self.assertEqual(content, data) + self.assertIn('Temporary', properties.file_attributes) + @record def test_unicode_get_file_binary_data(self): # Arrange @@ -833,7 +1009,8 @@ def test_create_file_from_bytes_with_progress(self): self.get_file_url(), share=self.share_name, file_path=file_name, - credential=self.settings.STORAGE_ACCOUNT_KEY) + credential=self.settings.STORAGE_ACCOUNT_KEY, + max_range_size=4 * 1024) # Act progress = [] @@ -843,7 +1020,10 @@ def callback(response): if current is not None: progress.append((current, total)) - file_client.upload_file(data, max_connections=2, raw_response_hook=callback) + response = file_client.upload_file(data, max_connections=2, raw_response_hook=callback) + assert isinstance(response, dict) + assert 'last_modified' in response + assert 'etag' in response # Assert self.assertFileEqual(file_client, data) @@ -861,10 +1041,14 @@ def test_create_file_from_bytes_with_index(self): self.get_file_url(), share=self.share_name, file_path=file_name, - credential=self.settings.STORAGE_ACCOUNT_KEY) + credential=self.settings.STORAGE_ACCOUNT_KEY, + max_range_size=4 * 1024) # Act - file_client.upload_file(data[index:], max_connections=2) + response = file_client.upload_file(data[index:], max_connections=2) + assert isinstance(response, dict) + assert 'last_modified' in response + assert 'etag' in response # Assert self.assertFileEqual(file_client, data[1024:]) @@ -883,10 +1067,14 @@ def test_create_file_from_bytes_with_index_and_count(self): self.get_file_url(), share=self.share_name, file_path=file_name, - credential=self.settings.STORAGE_ACCOUNT_KEY) + credential=self.settings.STORAGE_ACCOUNT_KEY, + max_range_size=4 * 1024) # Act - file_client.upload_file(data[index:], length=count, max_connections=2) + response = file_client.upload_file(data[index:], length=count, max_connections=2) + assert isinstance(response, dict) + assert 'last_modified' in response + assert 'etag' in response # Assert self.assertFileEqual(file_client, data[index:index + count]) @@ -905,11 +1093,15 @@ def test_create_file_from_path(self): self.get_file_url(), share=self.share_name, file_path=file_name, - credential=self.settings.STORAGE_ACCOUNT_KEY) + credential=self.settings.STORAGE_ACCOUNT_KEY, + max_range_size=4 * 1024) # Act with open(INPUT_FILE_PATH, 'rb') as stream: - file_client.upload_file(stream, max_connections=2) + response = file_client.upload_file(stream, max_connections=2) + assert isinstance(response, dict) + assert 'last_modified' in response + assert 'etag' in response # Assert self.assertFileEqual(file_client, data) @@ -940,7 +1132,10 @@ def callback(response): progress.append((current, total)) with open(INPUT_FILE_PATH, 'rb') as stream: - file_client.upload_file(stream, max_connections=2, raw_response_hook=callback) + response = file_client.upload_file(stream, max_connections=2, raw_response_hook=callback) + assert isinstance(response, dict) + assert 'last_modified' in response + assert 'etag' in response # Assert self.assertFileEqual(file_client, data) @@ -963,12 +1158,16 @@ def test_create_file_from_stream(self): self.get_file_url(), share=self.share_name, file_path=file_name, - credential=self.settings.STORAGE_ACCOUNT_KEY) + credential=self.settings.STORAGE_ACCOUNT_KEY, + max_range_size=4 * 1024) # Act file_size = len(data) with open(INPUT_FILE_PATH, 'rb') as stream: - file_client.upload_file(stream, max_connections=2) + response = file_client.upload_file(stream, max_connections=2) + assert isinstance(response, dict) + assert 'last_modified' in response + assert 'etag' in response # Assert self.assertFileEqual(file_client, data[:file_size]) @@ -987,7 +1186,8 @@ def test_create_file_from_stream_non_seekable(self): self.get_file_url(), share=self.share_name, file_path=file_name, - credential=self.settings.STORAGE_ACCOUNT_KEY) + credential=self.settings.STORAGE_ACCOUNT_KEY, + max_range_size=4 * 1024) # Act file_size = len(data) diff --git a/sdk/storage/azure-storage-file/tests/test_file_async.py b/sdk/storage/azure-storage-file/tests/test_file_async.py index 5a2187b3d33c..4bc047d17a3b 100644 --- a/sdk/storage/azure-storage-file/tests/test_file_async.py +++ b/sdk/storage/azure-storage-file/tests/test_file_async.py @@ -8,7 +8,6 @@ import base64 import os import unittest -import time from datetime import datetime, timedelta import asyncio from azure.core.pipeline.transport import AioHttpTransport @@ -17,6 +16,7 @@ import pytest from azure.core.exceptions import HttpResponseError, ResourceNotFoundError, ResourceExistsError +from azure.storage.file import NTFSAttributes from azure.storage.file.aio import ( FileClient, @@ -56,9 +56,9 @@ async def send(self, request, **config): return response -class StorageFileTestAsync(FileTestCase): +class StorageFileAsyncTest(FileTestCase): def setUp(self): - super(StorageFileTestAsync, self).setUp() + super(StorageFileAsyncTest, self).setUp() url = self.get_file_url() credential = self.get_shared_key_credential() @@ -107,7 +107,7 @@ def tearDown(self): except: pass - return super(StorageFileTestAsync, self).tearDown() + return super(StorageFileAsyncTest, self).tearDown() # --Helpers----------------------------------------------------------------- def _get_file_reference(self): @@ -125,14 +125,29 @@ async def _setup_share(self, remote=False): except: pass - async def _create_file(self): + async def _create_file(self, file_name=None): await self._setup_share() - file_name = self._get_file_reference() + file_name = self._get_file_reference() if file_name is None else file_name share_client = self.fsc.get_share_client(self.share_name) file_client = share_client.get_file_client(file_name) await file_client.upload_file(self.short_byte_data) return file_client + async def _create_empty_file(self, file_name=None, file_size=2048): + await self._setup_share() + file_name = self._get_file_reference() if file_name is None else file_name + share_client = self.fsc.get_share_client(self.share_name) + file_client = share_client.get_file_client(file_name) + await file_client.create_file(file_size) + return file_client + + async def _get_file_client(self): + await self._setup_share() + file_name = self._get_file_reference() + share_client = self.fsc.get_share_client(self.share_name) + file_client = share_client.get_file_client(file_name) + return file_client + async def _create_remote_share(self): self.remote_share_name = self.get_resource_name('remoteshare') remote_share = self.fsc2.get_share_client(self.remote_share_name) @@ -306,6 +321,48 @@ def test_create_file_with_metadata_async(self): loop = asyncio.get_event_loop() loop.run_until_complete(self._test_create_file_with_metadata_async()) + async def _test_create_file_when_file_permission_is_too_long(self): + file_client = await self._get_file_client() + permission = str(self.get_random_bytes(8 * 1024 + 1)) + with self.assertRaises(ValueError): + await file_client.create_file(1024, file_permission=permission) + + def test_create_file_when_file_permission_is_too_long_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_create_file_when_file_permission_is_too_long()) + + async def _test_create_file_with_invalid_file_permission(self): + # Arrange + file_name = await self._get_file_client() + + with self.assertRaises(HttpResponseError): + await file_name.create_file(1024, file_permission="abcde") + + @record + def test_create_file_with_invalid_file_permission_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_create_file_with_invalid_file_permission()) + + async def _test_create_file_will_set_all_smb_properties(self): + # Arrange + file_client = await self._get_file_client() + + # Act + await file_client.create_file(1024) + file_properties = await file_client.get_file_properties() + + # Assert + self.assertIsNotNone(file_properties) + self.assertIsNotNone(file_properties.change_time) + self.assertIsNotNone(file_properties.creation_time) + self.assertIsNotNone(file_properties.file_attributes) + self.assertIsNotNone(file_properties.last_write_time) + + @record + def test_create_file_will_set_all_smb_properties_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_create_file_will_set_all_smb_properties()) + async def _test_file_exists_async(self): # Arrange file_client = await self._create_file() @@ -420,12 +477,50 @@ async def _test_set_file_properties_async(self): properties = await file_client.get_file_properties() self.assertEqual(properties.content_settings.content_language, content_settings.content_language) self.assertEqual(properties.content_settings.content_disposition, content_settings.content_disposition) + self.assertIsNotNone(properties.last_write_time) + self.assertIsNotNone(properties.creation_time) + self.assertIsNotNone(properties.permission_key) @record def test_set_file_properties_async(self): loop = asyncio.get_event_loop() loop.run_until_complete(self._test_set_file_properties_async()) + async def _test_set_file_properties_with_file_permission(self): + # Arrange + file_client = await self._create_file() + properties_on_creation = await file_client.get_file_properties() + + content_settings = ContentSettings( + content_language='spanish', + content_disposition='inline') + + ntfs_attributes = NTFSAttributes(archive=True, temporary=True) + last_write_time = properties_on_creation.last_write_time + timedelta(hours=3) + creation_time = properties_on_creation.creation_time + timedelta(hours=3) + + # Act + await file_client.set_http_headers( + content_settings=content_settings, + file_attributes=ntfs_attributes, + file_last_write_time=last_write_time, + file_creation_time=creation_time, + ) + + # Assert + properties = await file_client.get_file_properties() + self.assertEquals(properties.content_settings.content_language, content_settings.content_language) + self.assertEquals(properties.content_settings.content_disposition, content_settings.content_disposition) + self.assertEquals(properties.creation_time, creation_time) + self.assertEquals(properties.last_write_time, last_write_time) + self.assertIn("Archive", properties.file_attributes) + self.assertIn("Temporary", properties.file_attributes) + + @record + def test_set_file_properties_with_file_permission_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_set_file_properties_with_file_permission()) + async def _test_get_file_properties_async(self): # Arrange file_client = await self._create_file() @@ -636,6 +731,103 @@ def test_update_range_with_md5_async(self): loop = asyncio.get_event_loop() loop.run_until_complete(self._test_update_range_with_md5_async()) + async def _test_update_range_from_file_url_when_source_file_does_not_have_enough_bytes(self): + # Arrange + source_file_name = 'testfile1' + source_file_client = await self._create_file(source_file_name) + + destination_file_name = 'filetoupdate' + destination_file_client = await self._create_file(destination_file_name) + + # generate SAS for the source file + sas_token_for_source_file = \ + source_file_client.generate_shared_access_signature() + + source_file_url = source_file_client.url + '?' + sas_token_for_source_file + + # Act + with self.assertRaises(HttpResponseError): + # when the source file has less bytes than 2050, throw exception + await destination_file_client.upload_range_from_url(source_file_url, 0, 2049, 0) + + @record + def test_update_range_from_file_url_when_source_file_does_not_have_enough_bytes_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_update_range_from_file_url_when_source_file_does_not_have_enough_bytes()) + + async def _test_update_range_from_file_url(self): + # Arrange + source_file_name = 'testfile' + source_file_client = await self._create_file(file_name=source_file_name) + data = b'abcdefghijklmnop' * 32 + await source_file_client.upload_range(data, 0, 511) + + destination_file_name = 'filetoupdate' + destination_file_client = await self._create_empty_file(file_name=destination_file_name) + + # generate SAS for the source file + sas_token_for_source_file = \ + source_file_client.generate_shared_access_signature( + FilePermissions.READ, + expiry=datetime.utcnow() + timedelta(hours=1)) + + source_file_url = source_file_client.url + '?' + sas_token_for_source_file + # Act + await destination_file_client.upload_range_from_url(source_file_url, 0, 511, 0) + + # Assert + # To make sure the range of the file is actually updated + file_ranges = await destination_file_client.get_ranges() + file_content = await destination_file_client.download_file(offset=0, length=511) + file_content = await file_content.content_as_bytes() + self.assertEquals(1, len(file_ranges)) + self.assertEquals(0, file_ranges[0].get('start')) + self.assertEquals(511, file_ranges[0].get('end')) + self.assertEquals(data, file_content) + + @record + def test_update_range_from_file_url_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_update_range_from_file_url()) + + async def _test_update_big_range_from_file_url(self): + # Arrange + source_file_name = 'testfile1' + end = 1048575 + + source_file_client = await self._create_empty_file(file_name=source_file_name, file_size=1024 * 1024) + data = b'abcdefghijklmnop' * 65536 + await source_file_client.upload_range(data, 0, end) + + destination_file_name = 'filetoupdate1' + destination_file_client = await self._create_empty_file(file_name=destination_file_name, file_size=1024 * 1024) + + # generate SAS for the source file + sas_token_for_source_file = \ + source_file_client.generate_shared_access_signature( + FilePermissions.READ, + expiry=datetime.utcnow() + timedelta(hours=1)) + + source_file_url = source_file_client.url + '?' + sas_token_for_source_file + + # Act + await destination_file_client.upload_range_from_url(source_file_url, 0, end, 0) + + # Assert + # To make sure the range of the file is actually updated + file_ranges = await destination_file_client.get_ranges() + file_content = await destination_file_client.download_file(offset=0, length=end) + file_content = await file_content.content_as_bytes() + self.assertEquals(1, len(file_ranges)) + self.assertEquals(0, file_ranges[0].get('start')) + self.assertEquals(end, file_ranges[0].get('end')) + self.assertEquals(data, file_content) + + @record + def test_update_big_range_from_file_url_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_update_big_range_from_file_url()) + async def _test_clear_range_async(self): # Arrange file_client = await self._create_file() @@ -651,6 +843,8 @@ async def _test_clear_range_async(self): @record def test_clear_range_async(self): + # TODO: swagger is weird maybe wrong + pytest.skip("TODO: fix the swagger or code.") loop = asyncio.get_event_loop() loop.run_until_complete(self._test_clear_range_async()) @@ -1005,6 +1199,26 @@ def test_file_unicode_data_async(self): loop = asyncio.get_event_loop() loop.run_until_complete(self._test_file_unicode_data_async()) + async def _test_file_unicode_data_and_file_attributes(self): + # Arrange + file_client = await self._get_file_client() + + # Act + data = u'hello world啊齄丂狛狜'.encode('utf-8') + await file_client.upload_file(data, file_attributes=NTFSAttributes(temporary=True)) + + # Assert + content = await file_client.download_file() + transformed_content = await content.content_as_bytes() + properties = await file_client.get_file_properties() + self.assertEqual(transformed_content, data) + self.assertIn('Temporary', properties.file_attributes) + + @record + def test_file_unicode_data_and_file_attributes_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_file_unicode_data_and_file_attributes()) + async def _test_unicode_get_file_binary_data_async(self): # Arrange base64_data = 'AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==' @@ -1044,7 +1258,8 @@ async def _test_create_file_from_bytes_with_progress_async(self): self.get_file_url(), share=self.share_name, file_path=file_name, - credential=self.settings.STORAGE_ACCOUNT_KEY) + credential=self.settings.STORAGE_ACCOUNT_KEY, + max_range_size=4 * 1024) # Act progress = [] @@ -1078,10 +1293,14 @@ async def _test_create_file_from_bytes_with_index_async(self): self.get_file_url(), share=self.share_name, file_path=file_name, - credential=self.settings.STORAGE_ACCOUNT_KEY) + credential=self.settings.STORAGE_ACCOUNT_KEY, + max_range_size=4 * 1024) # Act - await file_client.upload_file(data[index:], max_connections=2) + response = await file_client.upload_file(data[index:], max_connections=2) + assert isinstance(response, dict) + assert 'last_modified' in response + assert 'etag' in response # Assert await self.assertFileEqual(file_client, data[1024:]) @@ -1106,10 +1325,14 @@ async def _test_create_file_from_bytes_with_index_and_count_async(self): self.get_file_url(), share=self.share_name, file_path=file_name, - credential=self.settings.STORAGE_ACCOUNT_KEY) + credential=self.settings.STORAGE_ACCOUNT_KEY, + max_range_size=4 * 1024) # Act - await file_client.upload_file(data[index:], length=count, max_connections=2) + response = await file_client.upload_file(data[index:], length=count, max_connections=2) + assert isinstance(response, dict) + assert 'last_modified' in response + assert 'etag' in response # Assert await self.assertFileEqual(file_client, data[index:index + count]) @@ -1134,11 +1357,15 @@ async def _test_create_file_from_path_async(self): self.get_file_url(), share=self.share_name, file_path=file_name, - credential=self.settings.STORAGE_ACCOUNT_KEY) + credential=self.settings.STORAGE_ACCOUNT_KEY, + max_range_size=4 * 1024) # Act with open(INPUT_FILE_PATH, 'rb') as stream: - await file_client.upload_file(stream, max_connections=2) + response = await file_client.upload_file(stream, max_connections=2) + assert isinstance(response, dict) + assert 'last_modified' in response + assert 'etag' in response # Assert await self.assertFileEqual(file_client, data) @@ -1175,7 +1402,10 @@ def callback(response): progress.append((current, total)) with open(INPUT_FILE_PATH, 'rb') as stream: - await file_client.upload_file(stream, max_connections=2, raw_response_hook=callback) + response = await file_client.upload_file(stream, max_connections=2, raw_response_hook=callback) + assert isinstance(response, dict) + assert 'last_modified' in response + assert 'etag' in response # Assert await self.assertFileEqual(file_client, data) @@ -1204,12 +1434,16 @@ async def _test_create_file_from_stream_async(self): self.get_file_url(), share=self.share_name, file_path=file_name, - credential=self.settings.STORAGE_ACCOUNT_KEY) + credential=self.settings.STORAGE_ACCOUNT_KEY, + max_range_size=4 * 1024) # Act file_size = len(data) with open(INPUT_FILE_PATH, 'rb') as stream: - await file_client.upload_file(stream, max_connections=2) + response = await file_client.upload_file(stream, max_connections=2) + assert isinstance(response, dict) + assert 'last_modified' in response + assert 'etag' in response # Assert await self.assertFileEqual(file_client, data[:file_size]) @@ -1234,12 +1468,13 @@ async def _test_create_file_from_stream_non_seekable_async(self): self.get_file_url(), share=self.share_name, file_path=file_name, - credential=self.settings.STORAGE_ACCOUNT_KEY) + credential=self.settings.STORAGE_ACCOUNT_KEY, + max_range_size=4 * 1024) # Act file_size = len(data) with open(INPUT_FILE_PATH, 'rb') as stream: - non_seekable_file = StorageFileTestAsync.NonSeekableFile(stream) + non_seekable_file = StorageFileAsyncTest.NonSeekableFile(stream) await file_client.upload_file(non_seekable_file, length=file_size, max_connections=1) # Assert diff --git a/sdk/storage/azure-storage-file/tests/test_share.py b/sdk/storage/azure-storage-file/tests/test_share.py index 6ef9ca246b0c..dd4adf1cb3f3 100644 --- a/sdk/storage/azure-storage-file/tests/test_share.py +++ b/sdk/storage/azure-storage-file/tests/test_share.py @@ -745,6 +745,22 @@ def test_shared_access_share(self): self.assertEqual(data, response.content) self._delete_shares() + @record + def test_create_permission_for_share(self): + user_given_permission = "O:S-1-5-21-2127521184-1604012920-1887927527-21560751G:S-1-5-21-2127521184-" \ + "1604012920-1887927527-513D:AI(A;;FA;;;SY)(A;;FA;;;BA)(A;;0x1200a9;;;" \ + "S-1-5-21-397955417-626881126-188441444-3053964)" + share_client = self._create_share() + permission_key = share_client.create_permission_for_share(user_given_permission) + self.assertIsNotNone(permission_key) + + server_returned_permission = share_client.get_permission_for_share(permission_key) + self.assertIsNotNone(server_returned_permission) + + permission_key2 = share_client.create_permission_for_share(server_returned_permission) + # the permission key obtained from user_given_permission should be the same as the permission key obtained from + # server returned permission + self.assertEquals(permission_key, permission_key2) # ------------------------------------------------------------------------------ if __name__ == '__main__': diff --git a/sdk/storage/azure-storage-file/tests/test_share_async.py b/sdk/storage/azure-storage-file/tests/test_share_async.py index 1569818c5014..7fac8757eb49 100644 --- a/sdk/storage/azure-storage-file/tests/test_share_async.py +++ b/sdk/storage/azure-storage-file/tests/test_share_async.py @@ -894,6 +894,27 @@ def test_shared_access_share_async(self): loop = asyncio.get_event_loop() loop.run_until_complete(self._test_shared_access_share_async()) + async def _test_create_permission_for_share(self): + user_given_permission = "O:S-1-5-21-2127521184-1604012920-1887927527-21560751G:S-1-5-21-2127521184-" \ + "1604012920-1887927527-513D:AI(A;;FA;;;SY)(A;;FA;;;BA)(A;;0x1200a9;;;" \ + "S-1-5-21-397955417-626881126-188441444-3053964)" + share_client = await self._create_share() + permission_key = await share_client.create_permission_for_share(user_given_permission) + self.assertIsNotNone(permission_key) + + server_returned_permission = await share_client.get_permission_for_share(permission_key) + self.assertIsNotNone(server_returned_permission) + + permission_key2 = await share_client.create_permission_for_share(server_returned_permission) + # the permission key obtained from user_given_permission should be the same as the permission key obtained from + # server returned permission + self.assertEquals(permission_key, permission_key2) + + @record + def test_create_permission_for_share_async(self): + loop = asyncio.get_event_loop() + loop.run_until_complete(self._test_create_permission_for_share()) + # ------------------------------------------------------------------------------ if __name__ == '__main__': unittest.main() diff --git a/sdk/storage/azure-storage-queue/HISTORY.md b/sdk/storage/azure-storage-queue/HISTORY.md index 59283003b40e..7db2fdfbb460 100644 --- a/sdk/storage/azure-storage-queue/HISTORY.md +++ b/sdk/storage/azure-storage-queue/HISTORY.md @@ -1,6 +1,17 @@ # Change Log azure-storage-queue +## Version 12.0.0b3: + +**Dependency updates** +- Adopted [azure-core](https://pypi.org/project/azure-core/) 1.0.0b3 + - If you later want to revert to previous versions of azure-storage-queue, or another Azure SDK + library requiring azure-core 1.0.0b1 or azure-core 1.0.0b2, you must explicitly install + the specific version of azure-core as well. For example: + + `pip install azure-core==1.0.0b2 azure-storage-queue==12.0.0b2` + + ## Version 12.0.0b2: **Breaking changes** diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/__init__.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/__init__.py index f3ca950f4944..1ee3b7536cf5 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/__init__.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/__init__.py @@ -1,14 +1,16 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file -from ._configuration import AzureQueueStorageConfiguration from ._azure_queue_storage import AzureQueueStorage -__all__ = ['AzureQueueStorage', 'AzureQueueStorageConfiguration'] +__all__ = ['AzureQueueStorage'] from .version import VERSION diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/_azure_queue_storage.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/_azure_queue_storage.py index 8129624d2c7a..1ede9645d07c 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/_azure_queue_storage.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/_azure_queue_storage.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core import PipelineClient from msrest import Serializer, Deserializer @@ -23,23 +26,23 @@ class AzureQueueStorage(object): :ivar service: Service operations - :vartype service: queue.operations.ServiceOperations + :vartype service: azure.storage.queue.operations.ServiceOperations :ivar queue: Queue operations - :vartype queue: queue.operations.QueueOperations + :vartype queue: azure.storage.queue.operations.QueueOperations :ivar messages: Messages operations - :vartype messages: queue.operations.MessagesOperations + :vartype messages: azure.storage.queue.operations.MessagesOperations :ivar message_id: MessageId operations - :vartype message_id: queue.operations.MessageIdOperations + :vartype message_id: azure.storage.queue.operations.MessageIdOperations :param url: The URL of the service account, queue or message that is the targe of the desired operation. :type url: str """ - def __init__(self, url, config=None, **kwargs): + def __init__(self, url, **kwargs): base_url = '{url}' - self._config = config or AzureQueueStorageConfiguration(url, **kwargs) + self._config = AzureQueueStorageConfiguration(url, **kwargs) self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/_configuration.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/_configuration.py index 78e0f1b2e37a..75443cb798a4 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/_configuration.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/_configuration.py @@ -1,12 +1,15 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file -from azure.core.configuration import Configuration, ConnectionConfiguration +from azure.core.configuration import Configuration from azure.core.pipeline import policies from .version import VERSION @@ -33,19 +36,17 @@ def __init__(self, url, **kwargs): super(AzureQueueStorageConfiguration, self).__init__(**kwargs) self._configure(**kwargs) - self.user_agent_policy.add_user_agent('azurequeuestorage/{}'.format(VERSION)) + self.user_agent_policy.add_user_agent('azsdk-python-azurequeuestorage/{}'.format(VERSION)) self.generate_client_request_id = True - self.accept_language = None self.url = url self.version = "2018-03-28" def _configure(self, **kwargs): - self.connection = ConnectionConfiguration(**kwargs) - self.user_agent_policy = policies.UserAgentPolicy(**kwargs) - self.headers_policy = policies.HeadersPolicy(**kwargs) - self.proxy_policy = policies.ProxyPolicy(**kwargs) - self.logging_policy = policies.NetworkTraceLoggingPolicy(**kwargs) - self.retry_policy = policies.RetryPolicy(**kwargs) - self.custom_hook_policy = policies.CustomHookPolicy(**kwargs) - self.redirect_policy = policies.RedirectPolicy(**kwargs) + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/__init__.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/__init__.py index 6cdb3f3b6528..a6c00c21eb19 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/__init__.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/__init__.py @@ -1,11 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from ._azure_queue_storage_async import AzureQueueStorage -from ._configuration_async import AzureQueueStorageConfiguration -__all__ = ['AzureQueueStorage', 'AzureQueueStorageConfiguration'] +__all__ = ['AzureQueueStorage'] diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/_azure_queue_storage_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/_azure_queue_storage_async.py index 67bc78c251a7..5784a84c9dac 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/_azure_queue_storage_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/_azure_queue_storage_async.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core import AsyncPipelineClient from msrest import Serializer, Deserializer @@ -23,13 +26,13 @@ class AzureQueueStorage(object): :ivar service: Service operations - :vartype service: queue.aio.operations_async.ServiceOperations + :vartype service: azure.storage.queue.aio.operations_async.ServiceOperations :ivar queue: Queue operations - :vartype queue: queue.aio.operations_async.QueueOperations + :vartype queue: azure.storage.queue.aio.operations_async.QueueOperations :ivar messages: Messages operations - :vartype messages: queue.aio.operations_async.MessagesOperations + :vartype messages: azure.storage.queue.aio.operations_async.MessagesOperations :ivar message_id: MessageId operations - :vartype message_id: queue.aio.operations_async.MessageIdOperations + :vartype message_id: azure.storage.queue.aio.operations_async.MessageIdOperations :param url: The URL of the service account, queue or message that is the targe of the desired operation. @@ -37,10 +40,10 @@ class AzureQueueStorage(object): """ def __init__( - self, url, config=None, **kwargs): + self, url, **kwargs): base_url = '{url}' - self._config = config or AzureQueueStorageConfiguration(url, **kwargs) + self._config = AzureQueueStorageConfiguration(url, **kwargs) self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/_configuration_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/_configuration_async.py index 898075e85084..5cbe3a2db1e0 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/_configuration_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/_configuration_async.py @@ -1,12 +1,15 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file -from azure.core.configuration import Configuration, ConnectionConfiguration +from azure.core.configuration import Configuration from azure.core.pipeline import policies from ..version import VERSION @@ -33,7 +36,7 @@ def __init__(self, url, **kwargs): super(AzureQueueStorageConfiguration, self).__init__(**kwargs) self._configure(**kwargs) - self.user_agent_policy.add_user_agent('azurequeuestorage/{}'.format(VERSION)) + self.user_agent_policy.add_user_agent('azsdk-python-azurequeuestorage/{}'.format(VERSION)) self.generate_client_request_id = True self.accept_language = None @@ -41,10 +44,10 @@ def __init__(self, url, **kwargs): self.version = "2018-03-28" def _configure(self, **kwargs): - self.connection = ConnectionConfiguration(**kwargs) - self.user_agent_policy = policies.UserAgentPolicy(**kwargs) - self.headers_policy = policies.HeadersPolicy(**kwargs) - self.proxy_policy = policies.ProxyPolicy(**kwargs) - self.logging_policy = policies.NetworkTraceLoggingPolicy(**kwargs) - self.retry_policy = policies.AsyncRetryPolicy(**kwargs) - self.redirect_policy = policies.AsyncRedirectPolicy(**kwargs) + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/__init__.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/__init__.py index 3f0b116c598d..6d9d66736b9d 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/__init__.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/__init__.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from ._service_operations_async import ServiceOperations from ._queue_operations_async import QueueOperations diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/_message_id_operations_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/_message_id_operations_async.py index dec606a6b13a..1213424f717e 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/_message_id_operations_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/_message_id_operations_async.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -32,7 +35,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._config = config - async def update(self, queue_message, pop_receipt, visibilitytimeout, timeout=None, request_id=None, *, cls=None, **kwargs): + async def update(self, pop_receipt, visibilitytimeout, queue_message=None, timeout=None, request_id=None, *, cls=None, **kwargs): """The Update operation was introduced with version 2011-08-18 of the Queue service API. The Update Message operation updates the visibility timeout of a message. You can also use this operation to update the @@ -40,8 +43,6 @@ async def update(self, queue_message, pop_receipt, visibilitytimeout, timeout=No included in an XML request with UTF-8 encoding, and the encoded message can be up to 64KB in size. - :param queue_message: A Message object which can be stored in a Queue - :type queue_message: ~queue.models.QueueMessage :param pop_receipt: Required. Specifies the valid pop receipt value returned from an earlier call to the Get Messages or Update Message operation. @@ -53,6 +54,8 @@ async def update(self, queue_message, pop_receipt, visibilitytimeout, timeout=No REST protocol versions prior to version 2011-08-18. The visibility timeout of a message can be set to a value later than the expiry time. :type visibilitytimeout: int + :param queue_message: A Message object which can be stored in a Queue + :type queue_message: ~azure.storage.queue.models.QueueMessage :param timeout: The The timeout parameter is expressed in seconds. For more information, see ` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/_messages_operations_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/_messages_operations_async.py index 30f14a557bc4..2d1dd74990ca 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/_messages_operations_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/_messages_operations_async.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -63,9 +66,9 @@ async def dequeue(self, number_of_messages=None, visibilitytimeout=None, timeout :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~queue.models.DequeuedMessageItem] + :rtype: list[~azure.storage.queue.models.DequeuedMessageItem] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -134,7 +137,7 @@ async def clear(self, timeout=None, request_id=None, *, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -174,7 +177,7 @@ async def clear(self, timeout=None, request_id=None, *, cls=None, **kwargs): return cls(response, None, response_headers) clear.metadata = {'url': '/{queueName}/messages'} - async def enqueue(self, queue_message, visibilitytimeout=None, message_time_to_live=None, timeout=None, request_id=None, *, cls=None, **kwargs): + async def enqueue(self, queue_message=None, visibilitytimeout=None, message_time_to_live=None, timeout=None, request_id=None, *, cls=None, **kwargs): """The Enqueue operation adds a new message to the back of the message queue. A visibility timeout can also be specified to make the message invisible until the visibility timeout expires. A message must be in a @@ -183,7 +186,7 @@ async def enqueue(self, queue_message, visibilitytimeout=None, message_time_to_l newer, or 8 KB in size for previous versions. :param queue_message: A Message object which can be stored in a Queue - :type queue_message: ~queue.models.QueueMessage + :type queue_message: ~azure.storage.queue.models.QueueMessage :param visibilitytimeout: Optional. Specifies the new visibility timeout value, in seconds, relative to server time. The default value is 30 seconds. A specified value must be larger than or equal to 1 @@ -210,9 +213,9 @@ async def enqueue(self, queue_message, visibilitytimeout=None, message_time_to_l :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~queue.models.EnqueuedMessage] + :rtype: list[~azure.storage.queue.models.EnqueuedMessage] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -240,7 +243,10 @@ async def enqueue(self, queue_message, visibilitytimeout=None, message_time_to_l header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') # Construct body - body_content = self._serialize.body(queue_message, 'QueueMessage') + if queue_message is not None: + body_content = self._serialize.body(queue_message, 'QueueMessage') + else: + body_content = None # Construct and send request request = self._client.post(url, query_parameters, header_parameters, body_content) @@ -290,9 +296,9 @@ async def peek(self, number_of_messages=None, timeout=None, request_id=None, *, :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~queue.models.PeekedMessageItem] + :rtype: list[~azure.storage.queue.models.PeekedMessageItem] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/_queue_operations_async.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/_queue_operations_async.py index 559e1f3cfe82..76a7ac3a98bd 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/_queue_operations_async.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/aio/operations_async/_queue_operations_async.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -56,7 +59,7 @@ async def create(self, timeout=None, metadata=None, request_id=None, *, cls=None :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -115,7 +118,7 @@ async def delete(self, timeout=None, request_id=None, *, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -173,7 +176,7 @@ async def get_properties(self, timeout=None, request_id=None, *, cls=None, **kwa :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "metadata" @@ -243,7 +246,7 @@ async def set_metadata(self, timeout=None, metadata=None, request_id=None, *, cl :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "metadata" @@ -304,9 +307,9 @@ async def get_access_policy(self, timeout=None, request_id=None, *, cls=None, ** :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~queue.models.SignedIdentifier] + :rtype: list[~azure.storage.queue.models.SignedIdentifier] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "acl" @@ -362,7 +365,7 @@ async def set_access_policy(self, queue_acl=None, timeout=None, request_id=None, Access Signatures. :param queue_acl: the acls for the queue - :type queue_acl: list[~queue.models.SignedIdentifier] + :type queue_acl: list[~azure.storage.queue.models.SignedIdentifier] :param timeout: The The timeout parameter is expressed in seconds. For more information, see ` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "properties" @@ -190,9 +193,9 @@ async def get_statistics(self, timeout=None, request_id=None, *, cls=None, **kwa :param callable cls: A custom type or function that will be passed the direct response :return: StorageServiceStats or the result of cls(response) - :rtype: ~queue.models.StorageServiceStats + :rtype: ~azure.storage.queue.models.StorageServiceStats :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "stats" @@ -270,7 +273,8 @@ async def list_queues_segment(self, prefix=None, marker=None, maxresults=None, i :type maxresults: int :param include: Include this parameter to specify that the queues's metadata be returned as part of the response body. - :type include: list[str or ~queue.models.ListQueuesIncludeType] + :type include: list[str or + ~azure.storage.queue.models.ListQueuesIncludeType] :param timeout: The The timeout parameter is expressed in seconds. For more information, see None: + def __init__(self, *, start: str, expiry: str, permission: str, **kwargs) -> None: super(AccessPolicy, self).__init__(**kwargs) self.start = start self.expiry = expiry @@ -149,7 +152,6 @@ class DequeuedMessageItem(Model): 'dequeue_count': {'key': 'DequeueCount', 'type': 'long', 'xml': {'name': 'DequeueCount'}}, 'message_text': {'key': 'MessageText', 'type': 'str', 'xml': {'name': 'MessageText'}}, } - _xml_map = { 'name': 'QueueMessage' } @@ -203,7 +205,6 @@ class EnqueuedMessage(Model): 'pop_receipt': {'key': 'PopReceipt', 'type': 'str', 'xml': {'name': 'PopReceipt'}}, 'time_next_visible': {'key': 'TimeNextVisible', 'type': 'rfc-1123', 'xml': {'name': 'TimeNextVisible'}}, } - _xml_map = { 'name': 'QueueMessage' } @@ -224,7 +225,7 @@ class GeoReplication(Model): :param status: Required. The status of the secondary location. Possible values include: 'live', 'bootstrap', 'unavailable' - :type status: str or ~queue.models.GeoReplicationStatusType + :type status: str or ~azure.storage.queue.models.GeoReplicationStatusType :param last_sync_time: Required. A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time @@ -264,7 +265,7 @@ class ListQueuesSegmentResponse(Model): :param max_results: Required. :type max_results: int :param queue_items: - :type queue_items: list[~queue.models.QueueItem] + :type queue_items: list[~azure.storage.queue.models.QueueItem] :param next_marker: Required. :type next_marker: str """ @@ -284,6 +285,9 @@ class ListQueuesSegmentResponse(Model): 'queue_items': {'key': 'QueueItems', 'type': '[QueueItem]', 'xml': {'name': 'Queues', 'itemsName': 'Queues', 'wrapped': True}}, 'next_marker': {'key': 'NextMarker', 'type': 'str', 'xml': {'name': 'NextMarker'}}, } + _xml_map = { + 'name': 'EnumerationResults' + } def __init__(self, *, service_endpoint: str, prefix: str, max_results: int, next_marker: str, marker: str=None, queue_items=None, **kwargs) -> None: super(ListQueuesSegmentResponse, self).__init__(**kwargs) @@ -312,7 +316,7 @@ class Logging(Model): logged. :type write: bool :param retention_policy: Required. - :type retention_policy: ~queue.models.RetentionPolicy + :type retention_policy: ~azure.storage.queue.models.RetentionPolicy """ _validation = { @@ -352,11 +356,11 @@ class Metrics(Model): :param enabled: Required. Indicates whether metrics are enabled for the Queue service. :type enabled: bool - :param include_ap_is: Indicates whether metrics should generate summary + :param include_apis: Indicates whether metrics should generate summary statistics for called API operations. - :type include_ap_is: bool + :type include_apis: bool :param retention_policy: - :type retention_policy: ~queue.models.RetentionPolicy + :type retention_policy: ~azure.storage.queue.models.RetentionPolicy """ _validation = { @@ -372,11 +376,11 @@ class Metrics(Model): _xml_map = { } - def __init__(self, *, enabled: bool, version: str=None, include_ap_is: bool=None, retention_policy=None, **kwargs) -> None: + def __init__(self, *, enabled: bool, version: str=None, include_apis: bool=None, retention_policy=None, **kwargs) -> None: super(Metrics, self).__init__(**kwargs) self.version = version self.enabled = enabled - self.include_ap_is = include_ap_is + self.include_apis = include_apis self.retention_policy = retention_policy @@ -416,7 +420,6 @@ class PeekedMessageItem(Model): 'dequeue_count': {'key': 'DequeueCount', 'type': 'long', 'xml': {'name': 'DequeueCount'}}, 'message_text': {'key': 'MessageText', 'type': 'str', 'xml': {'name': 'MessageText'}}, } - _xml_map = { 'name': 'QueueMessage' } @@ -449,6 +452,9 @@ class QueueItem(Model): 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, 'metadata': {'key': 'Metadata', 'type': '{str}', 'xml': {'name': 'Metadata'}}, } + _xml_map = { + 'name': 'Queue' + } def __init__(self, *, name: str, metadata=None, **kwargs) -> None: super(QueueItem, self).__init__(**kwargs) @@ -472,9 +478,7 @@ class QueueMessage(Model): _attribute_map = { 'message_text': {'key': 'MessageText', 'type': 'str', 'xml': {'name': 'MessageText'}}, } - _xml_map = { - 'name': 'QueueMessage' } def __init__(self, *, message_text: str, **kwargs) -> None: @@ -521,13 +525,12 @@ class SignedIdentifier(Model): :param id: Required. a unique id :type id: str - :param access_policy: Required. The access policy - :type access_policy: ~queue.models.AccessPolicy + :param access_policy: The access policy + :type access_policy: ~azure.storage.queue.models.AccessPolicy """ _validation = { 'id': {'required': True}, - 'access_policy': {'required': True}, } _attribute_map = { @@ -537,7 +540,7 @@ class SignedIdentifier(Model): _xml_map = { } - def __init__(self, *, id: str, access_policy, **kwargs) -> None: + def __init__(self, *, id: str, access_policy=None, **kwargs) -> None: super(SignedIdentifier, self).__init__(**kwargs) self.id = id self.access_policy = access_policy @@ -581,15 +584,15 @@ class StorageServiceProperties(Model): """Storage Service Properties. :param logging: Azure Analytics Logging settings - :type logging: ~queue.models.Logging + :type logging: ~azure.storage.queue.models.Logging :param hour_metrics: A summary of request statistics grouped by API in hourly aggregates for queues - :type hour_metrics: ~queue.models.Metrics + :type hour_metrics: ~azure.storage.queue.models.Metrics :param minute_metrics: a summary of request statistics grouped by API in minute aggregates for queues - :type minute_metrics: ~queue.models.Metrics + :type minute_metrics: ~azure.storage.queue.models.Metrics :param cors: The set of CORS rules. - :type cors: list[~queue.models.CorsRule] + :type cors: list[~azure.storage.queue.models.CorsRule] """ _attribute_map = { @@ -614,7 +617,7 @@ class StorageServiceStats(Model): :param geo_replication: Geo-Replication information for the Secondary Storage Service - :type geo_replication: ~queue.models.GeoReplication + :type geo_replication: ~azure.storage.queue.models.GeoReplication """ _attribute_map = { diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/__init__.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/__init__.py index 454a7377fa00..d600f5294c7f 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/__init__.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/__init__.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from ._service_operations import ServiceOperations from ._queue_operations import QueueOperations diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/_message_id_operations.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/_message_id_operations.py index 0de068c5bc5d..8be7a24dbb60 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/_message_id_operations.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/_message_id_operations.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -32,7 +35,7 @@ def __init__(self, client, config, serializer, deserializer): self._config = config - def update(self, queue_message, pop_receipt, visibilitytimeout=None, timeout=None, request_id=None, cls=None, **kwargs): + def update(self, pop_receipt, visibilitytimeout, queue_message=None, timeout=None, request_id=None, cls=None, **kwargs): """The Update operation was introduced with version 2011-08-18 of the Queue service API. The Update Message operation updates the visibility timeout of a message. You can also use this operation to update the @@ -40,8 +43,6 @@ def update(self, queue_message, pop_receipt, visibilitytimeout=None, timeout=Non included in an XML request with UTF-8 encoding, and the encoded message can be up to 64KB in size. - :param queue_message: A Message object which can be stored in a Queue - :type queue_message: ~queue.models.QueueMessage :param pop_receipt: Required. Specifies the valid pop receipt value returned from an earlier call to the Get Messages or Update Message operation. @@ -53,6 +54,8 @@ def update(self, queue_message, pop_receipt, visibilitytimeout=None, timeout=Non REST protocol versions prior to version 2011-08-18. The visibility timeout of a message can be set to a value later than the expiry time. :type visibilitytimeout: int + :param queue_message: A Message object which can be stored in a Queue + :type queue_message: ~azure.storage.queue.models.QueueMessage :param timeout: The The timeout parameter is expressed in seconds. For more information, see ` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/_messages_operations.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/_messages_operations.py index a2c6a2a4632a..ccd00ceaa53a 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/_messages_operations.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/_messages_operations.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -63,9 +66,9 @@ def dequeue(self, number_of_messages=None, visibilitytimeout=None, timeout=None, :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~queue.models.DequeuedMessageItem] + :rtype: list[~azure.storage.queue.models.DequeuedMessageItem] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -134,7 +137,7 @@ def clear(self, timeout=None, request_id=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -174,7 +177,7 @@ def clear(self, timeout=None, request_id=None, cls=None, **kwargs): return cls(response, None, response_headers) clear.metadata = {'url': '/{queueName}/messages'} - def enqueue(self, queue_message, visibilitytimeout=None, message_time_to_live=None, timeout=None, request_id=None, cls=None, **kwargs): + def enqueue(self, queue_message=None, visibilitytimeout=None, message_time_to_live=None, timeout=None, request_id=None, cls=None, **kwargs): """The Enqueue operation adds a new message to the back of the message queue. A visibility timeout can also be specified to make the message invisible until the visibility timeout expires. A message must be in a @@ -183,7 +186,7 @@ def enqueue(self, queue_message, visibilitytimeout=None, message_time_to_live=No newer, or 8 KB in size for previous versions. :param queue_message: A Message object which can be stored in a Queue - :type queue_message: ~queue.models.QueueMessage + :type queue_message: ~azure.storage.queue.models.QueueMessage :param visibilitytimeout: Optional. Specifies the new visibility timeout value, in seconds, relative to server time. The default value is 30 seconds. A specified value must be larger than or equal to 1 @@ -210,9 +213,9 @@ def enqueue(self, queue_message, visibilitytimeout=None, message_time_to_live=No :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~queue.models.EnqueuedMessage] + :rtype: list[~azure.storage.queue.models.EnqueuedMessage] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -240,7 +243,10 @@ def enqueue(self, queue_message, visibilitytimeout=None, message_time_to_live=No header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') # Construct body - body_content = self._serialize.body(queue_message, 'QueueMessage') + if queue_message is not None: + body_content = self._serialize.body(queue_message, 'QueueMessage') + else: + body_content = None # Construct and send request request = self._client.post(url, query_parameters, header_parameters, body_content) @@ -290,9 +296,9 @@ def peek(self, number_of_messages=None, timeout=None, request_id=None, cls=None, :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~queue.models.PeekedMessageItem] + :rtype: list[~azure.storage.queue.models.PeekedMessageItem] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/_queue_operations.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/_queue_operations.py index 228caef49c45..02618d6a1707 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/_queue_operations.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_generated/operations/_queue_operations.py @@ -1,10 +1,13 @@ # coding=utf-8 # -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: skip-file from azure.core.exceptions import map_error @@ -56,7 +59,7 @@ def create(self, timeout=None, metadata=None, request_id=None, cls=None, **kwarg :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -115,7 +118,7 @@ def delete(self, timeout=None, request_id=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) # Construct URL @@ -173,7 +176,7 @@ def get_properties(self, timeout=None, request_id=None, cls=None, **kwargs): :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "metadata" @@ -243,7 +246,7 @@ def set_metadata(self, timeout=None, metadata=None, request_id=None, cls=None, * :return: None or the result of cls(response) :rtype: None :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "metadata" @@ -304,9 +307,9 @@ def get_access_policy(self, timeout=None, request_id=None, cls=None, **kwargs): :param callable cls: A custom type or function that will be passed the direct response :return: list or the result of cls(response) - :rtype: list[~queue.models.SignedIdentifier] + :rtype: list[~azure.storage.queue.models.SignedIdentifier] :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "acl" @@ -362,7 +365,7 @@ def set_access_policy(self, queue_acl=None, timeout=None, request_id=None, cls=N Access Signatures. :param queue_acl: the acls for the queue - :type queue_acl: list[~queue.models.SignedIdentifier] + :type queue_acl: list[~azure.storage.queue.models.SignedIdentifier] :param timeout: The The timeout parameter is expressed in seconds. For more information, see ` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "properties" @@ -190,9 +193,9 @@ def get_statistics(self, timeout=None, request_id=None, cls=None, **kwargs): :param callable cls: A custom type or function that will be passed the direct response :return: StorageServiceStats or the result of cls(response) - :rtype: ~queue.models.StorageServiceStats + :rtype: ~azure.storage.queue.models.StorageServiceStats :raises: - :class:`StorageErrorException` + :class:`StorageErrorException` """ error_map = kwargs.pop('error_map', None) comp = "stats" @@ -270,7 +273,8 @@ def list_queues_segment(self, prefix=None, marker=None, maxresults=None, include :type maxresults: int :param include: Include this parameter to specify that the queues's metadata be returned as part of the response body. - :type include: list[str or ~queue.models.ListQueuesIncludeType] + :type include: list[str or + ~azure.storage.queue.models.ListQueuesIncludeType] :param timeout: The The timeout parameter is expressed in seconds. For more information, see AsyncItemPaged: + ): # type: (...) -> AsyncItemPaged """Returns a generator to list the queues under the specified account. The generator will lazily follow the continuation tokens returned by diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/queue_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/queue_client.py index 71df413b9af0..d1fc7766aaf6 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/queue_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/queue_client.py @@ -18,7 +18,6 @@ from azure.core.paging import ItemPaged from azure.core.tracing.decorator import distributed_trace -from ._shared.shared_access_signature import QueueSharedAccessSignature from ._shared.base_client import StorageAccountHostsMixin, parse_connection_str, parse_query from ._shared.request_handlers import add_metadata_headers, serialize_iso from ._shared.response_handlers import ( @@ -31,6 +30,7 @@ from ._generated.models import StorageErrorException, SignedIdentifier from ._generated.models import QueueMessage as GenQueueMessage +from ._shared_access_signature import QueueSharedAccessSignature from .models import QueueMessage, AccessPolicy, MessagesPaged if TYPE_CHECKING: @@ -107,7 +107,7 @@ def __init__( except AttributeError: self.queue_name = queue or unquote(path_queue) self._query_str, credential = self._format_query_string(sas_token, credential) - super(QueueClient, self).__init__(parsed_url, 'queue', credential, **kwargs) + super(QueueClient, self).__init__(parsed_url, service='queue', credential=credential, **kwargs) self._config.message_encode_policy = kwargs.get('message_encode_policy') or TextXMLEncodePolicy() self._config.message_decode_policy = kwargs.get('message_decode_policy') or TextXMLDecodePolicy() @@ -168,7 +168,7 @@ def generate_shared_access_signature( policy_id=None, # type: Optional[str] ip=None, # type: Optional[str] protocol=None # type: Optional[str] - ): + ): # type: (...) -> str """Generates a shared access signature for the queue. Use the returned signature with the credential parameter of any Queue Service. @@ -490,9 +490,9 @@ def enqueue_message( # type: ignore :caption: Enqueue messages. """ self._config.message_encode_policy.configure( - self.require_encryption, - self.key_encryption_key, - self.key_resolver_function) + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + resolver=self.key_resolver_function) content = self._config.message_encode_policy(content) new_message = GenQueueMessage(message_text=content) @@ -554,9 +554,9 @@ def receive_messages(self, messages_per_page=None, visibility_timeout=None, time :caption: Receive messages from the queue. """ self._config.message_decode_policy.configure( - self.require_encryption, - self.key_encryption_key, - self.key_resolver_function) + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + resolver=self.key_resolver_function) try: command = functools.partial( self._client.messages.dequeue, @@ -703,9 +703,9 @@ def peek_messages(self, max_messages=None, timeout=None, **kwargs): # type: igno if max_messages and not 1 <= max_messages <= 32: raise ValueError("Number of messages to peek should be between 1 and 32") self._config.message_decode_policy.configure( - self.require_encryption, - self.key_encryption_key, - self.key_resolver_function) + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + resolver=self.key_resolver_function) try: messages = self._client.messages.peek( number_of_messages=max_messages, diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/queue_service_client.py b/sdk/storage/azure-storage-queue/azure/storage/queue/queue_service_client.py index 58cd13d57b94..9da5bc06ada8 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/queue_service_client.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/queue_service_client.py @@ -108,7 +108,7 @@ def __init__( if not sas_token and not credential: raise ValueError("You need to provide either a SAS token or an account key to authenticate.") self._query_str, credential = self._format_query_string(sas_token, credential) - super(QueueServiceClient, self).__init__(parsed_url, 'queue', credential, **kwargs) + super(QueueServiceClient, self).__init__(parsed_url, service='queue', credential=credential, **kwargs) self._client = AzureQueueStorage(self.url, pipeline=self._pipeline) def _format_url(self, hostname): @@ -122,7 +122,7 @@ def from_connection_string( cls, conn_str, # type: str credential=None, # type: Optional[Any] **kwargs # type: Any - ): + ): # type: (...) -> QueueServiceClient """Create QueueServiceClient from a Connection String. :param str conn_str: @@ -154,7 +154,7 @@ def generate_shared_access_signature( start=None, # type: Optional[Union[datetime, str]] ip=None, # type: Optional[str] protocol=None # type: Optional[str] - ): + ): # type: (...) -> str """Generates a shared access signature for the queue service. Use the returned signature with the credential parameter of any Queue Service. @@ -196,7 +196,14 @@ def generate_shared_access_signature( sas = SharedAccessSignature(self.credential.account_name, self.credential.account_key) return sas.generate_account( - Services.QUEUE, resource_types, permission, expiry, start=start, ip=ip, protocol=protocol) # type: ignore + services=Services.QUEUE, + resource_types=resource_types, + permission=permission, + expiry=expiry, + start=start, + ip=ip, + protocol=protocol + ) # type: ignore @distributed_trace def get_service_stats(self, timeout=None, **kwargs): # type: ignore diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/version.py b/sdk/storage/azure-storage-queue/azure/storage/queue/version.py index 5853dad9df60..6048fcd17c9c 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/version.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/version.py @@ -9,4 +9,4 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "12.0.0b2" +VERSION = "12.0.0b3" diff --git a/sdk/storage/azure-storage-queue/conftest.py b/sdk/storage/azure-storage-queue/conftest.py index b58a76e3f974..b5a1a455a808 100644 --- a/sdk/storage/azure-storage-queue/conftest.py +++ b/sdk/storage/azure-storage-queue/conftest.py @@ -7,11 +7,8 @@ # -------------------------------------------------------------------------- import sys -import pytest -import platform - # Ignore async tests for Python < 3.5 collect_ignore_glob = [] -if sys.version_info < (3, 5) or platform.python_implementation() == 'PyPy': +if sys.version_info < (3, 5): collect_ignore_glob.append("tests/*_async.py") diff --git a/sdk/storage/azure-storage-queue/setup.py b/sdk/storage/azure-storage-queue/setup.py index 85086f8f0260..3f9d14ebe1e8 100644 --- a/sdk/storage/azure-storage-queue/setup.py +++ b/sdk/storage/azure-storage-queue/setup.py @@ -79,7 +79,7 @@ 'tests.common' ]), install_requires=[ - "azure-core<2.0.0,>=1.0.0b2", + "azure-core<2.0.0,>=1.0.0b3", "msrest>=0.5.0", "cryptography>=2.1.4" ], diff --git a/sdk/storage/azure-storage-queue/swagger/README.md b/sdk/storage/azure-storage-queue/swagger/README.md new file mode 100644 index 000000000000..392b20b68a0e --- /dev/null +++ b/sdk/storage/azure-storage-queue/swagger/README.md @@ -0,0 +1,69 @@ +# Azure Queue Storage for Python + +> see https://aka.ms/autorest + +### Setup +```ps +cd C:\work +git clone --recursive https://github.com/Azure/autorest.python.git +cd autorest.python +git checkout azure-core +npm install +``` + +### Generation +```ps +cd +autorest --use=C:/work/autorest.python --version=2.0.4280 +``` + +### Settings +``` yaml +input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/storage-dataplane-preview/specification/storage/data-plane/Microsoft.QueueStorage/preview/2018-03-28/queue.json +output-folder: ../azure/storage/queue/_generated +namespace: azure.storage.queue +no-namespace-folders: true +license-header: MICROSOFT_MIT_NO_VERSION +enable-xml: true +vanilla: true +clear-output-folder: true +python: true +``` + +### Remove x-ms-pageable +Currently breaking the latest version of autorest.python +``` yaml +directive: +- from: swagger-document + where: $["x-ms-paths"]..get + transform: > + if ($["x-ms-pageable"]) { delete $["x-ms-pageable"]; } +``` + +### Use strings for dates when python doesn't have enough precision +``` yaml +directive: +- from: swagger-document + where: $.definitions.AccessPolicy.properties + transform: > + $.Start.format = "str"; + $.Expiry.format = "str"; +``` + +### SignedIdentifier shouldn't require an AccessPolicy, only ID +``` yaml +directive: +- from: swagger-document + where: $.definitions.SignedIdentifier + transform: > + $.required = [ "Id" ]; +``` + +### QueueMessage is required for enqueue, but not for update +``` yaml +directive: +- from: swagger-document + where: $.parameters.QueueMessage + transform: > + $.required = false; +``` diff --git a/sdk/storage/azure-storage-queue/swagger/queue.json b/sdk/storage/azure-storage-queue/swagger/queue.json deleted file mode 100644 index 35feb8a083b6..000000000000 --- a/sdk/storage/azure-storage-queue/swagger/queue.json +++ /dev/null @@ -1,1856 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Queue Storage", - "version": "2018-03-28", - "x-ms-code-generation-settings": { - "header": "MIT", - "strictSpecAdherence": false - } - }, - "x-ms-parameterized-host": { - "hostTemplate": "{url}", - "useSchemePrefix": false, - "positionInOperation": "first", - "parameters": [ - { - "$ref": "#/parameters/Url" - } - ] - }, - "securityDefinitions": { - "queue_shared_key": { - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - }, - "schemes": [ - "https" - ], - "consumes": [ - "application/xml" - ], - "produces": [ - "application/xml" - ], - "paths": {}, - "x-ms-paths": { - "/?restype=service&comp=properties": { - "put": { - "tags": [ - "service" - ], - "operationId": "Service_SetProperties", - "description": "Sets properties for a storage account's Queue service endpoint, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules", - "parameters": [ - { - "$ref": "#/parameters/StorageServiceProperties" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "202": { - "description": "Success (Accepted)", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "get": { - "tags": [ - "service" - ], - "operationId": "Service_GetProperties", - "description": "gets the properties of a storage account's Queue service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - } - }, - "schema": { - "$ref": "#/definitions/StorageServiceProperties" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "service" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "properties" - ] - } - ] - }, - "/?restype=service&comp=stats": { - "get": { - "tags": [ - "service" - ], - "operationId": "Service_GetStatistics", - "description": "Retrieves statistics related to replication for the Queue service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the storage account.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/StorageServiceStats" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "service" - ] - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "stats" - ] - } - ] - }, - "/?comp=list": { - "get": { - "tags": [ - "service" - ], - "operationId": "Service_ListQueuesSegment", - "description": "The List Queues Segment operation returns a list of the queues under the specified account", - "parameters": [ - { - "$ref": "#/parameters/Prefix" - }, - { - "$ref": "#/parameters/Marker" - }, - { - "$ref": "#/parameters/MaxResults" - }, - { - "$ref": "#/parameters/ListQueuesInclude" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/ListQueuesSegmentResponse" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "NextMarker" - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "list" - ] - } - ] - }, - "/{queueName}": { - "put": { - "tags": [ - "service" - ], - "operationId": "Queue_Create", - "description": "creates a new queue under the given account.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "Success, queue created.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "204": { - "description": "Success, queue created.", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "delete": { - "tags": [ - "queue" - ], - "operationId": "Queue_Delete", - "description": "operation permanently deletes the specified queue", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "204": { - "description": "No Content", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [] - }, - "/{queueName}?comp=metadata": { - "get": { - "tags": [ - "queue" - ], - "operationId": "Queue_GetProperties", - "description": "Retrieves user-defined metadata and queue properties on the specified queue. Metadata is associated with the queue as name-values pairs.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-meta": { - "type": "string", - "x-ms-client-name": "Metadata", - "x-ms-header-collection-prefix": "x-ms-meta-" - }, - "x-ms-approximate-messages-count": { - "type": "integer", - "x-ms-client-name": "ApproximateMessagesCount", - "description": "The approximate number of messages in the queue. This number is not lower than the actual number of messages in the queue, but could be higher." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "put": { - "tags": [ - "queue" - ], - "operationId": "Queue_SetMetadata", - "description": "sets user-defined metadata on the specified queue. Metadata is associated with the queue as name-value pairs.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/Metadata" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "204": { - "description": "No Content", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "metadata" - ] - } - ] - }, - "/{queueName}?comp=acl": { - "get": { - "tags": [ - "queue" - ], - "operationId": "Queue_GetAccessPolicy", - "description": "returns details about any stored access policies specified on the queue that may be used with Shared Access Signatures.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/SignedIdentifiers" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "put": { - "tags": [ - "queue" - ], - "operationId": "Queue_SetAccessPolicy", - "description": "sets stored access policies for the queue that may be used with Shared Access Signatures", - "parameters": [ - { - "$ref": "#/parameters/QueueAcl" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "204": { - "description": "No Content", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "acl" - ] - } - ] - }, - "/{queueName}/messages": { - "get": { - "tags": [ - "message" - ], - "operationId": "Messages_Dequeue", - "description": "The Dequeue operation retrieves one or more messages from the front of the queue.", - "parameters": [ - { - "$ref": "#/parameters/NumOfMessages" - }, - { - "$ref": "#/parameters/VisibilityTimeout" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/DequeuedMessagesList" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "delete": { - "tags": [ - "message" - ], - "operationId": "Messages_Clear", - "description": "The Clear operation deletes all messages from the specified queue.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "204": { - "description": "No Content", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [] - }, - "/{queueName}/messages?visibilitytimeout={visibilityTimeout}&messagettl={messageTimeToLive}": { - "post": { - "tags": [ - "message" - ], - "operationId": "Messages_Enqueue", - "description": "The Enqueue operation adds a new message to the back of the message queue. A visibility timeout can also be specified to make the message invisible until the visibility timeout expires. A message must be in a format that can be included in an XML request with UTF-8 encoding. The encoded message can be up to 64 KB in size for versions 2011-08-18 and newer, or 8 KB in size for previous versions.", - "parameters": [ - { - "$ref": "#/parameters/QueueMessage" - }, - { - "$ref": "#/parameters/VisibilityTimeout" - }, - { - "$ref": "#/parameters/MessageTTL" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "201": { - "description": "Created", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/EnqueuedMessageList" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [] - }, - "/{queueName}/messages?peekonly=true": { - "get": { - "tags": [ - "message" - ], - "operationId": "Messages_Peek", - "description": "The Peek operation retrieves one or more messages from the front of the queue, but does not alter the visibility of the message.", - "parameters": [ - { - "$ref": "#/parameters/NumOfMessages" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "OK", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/PeekedMessagesList" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [ - { - "name": "peekonly", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "true" - ] - } - ] - }, - "/{queueName}/messages/{messageid}?popreceipt={popReceipt}&visibilitytimeout={visibilityTimeout}": { - "put": { - "tags": [ - "messageId" - ], - "operationId": "MessageId_Update", - "description": "The Update operation was introduced with version 2011-08-18 of the Queue service API. The Update Message operation updates the visibility timeout of a message. You can also use this operation to update the contents of a message. A message must be in a format that can be included in an XML request with UTF-8 encoding, and the encoded message can be up to 64KB in size.", - "parameters": [ - { - "$ref": "#/parameters/QueueMessage" - }, - { - "$ref": "#/parameters/PopReceipt" - }, - { - "$ref": "#/parameters/VisibilityTimeoutRequired" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "204": { - "description": "No Content", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-popreceipt": { - "x-ms-client-name": "PopReceipt", - "type": "string", - "description": "The pop receipt of the queue message." - }, - "x-ms-time-next-visible": { - "x-ms-client-name": "TimeNextVisible", - "type": "string", - "format": "date-time-rfc1123", - "description": "A UTC date/time value that represents when the message will be visible on the queue." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [] - }, - "/{queueName}/messages/{messageid}?popreceipt={popReceipt}": { - "delete": { - "tags": [ - "messageId" - ], - "operationId": "MessageId_Delete", - "description": "The Delete operation deletes the specified message.", - "parameters": [ - { - "$ref": "#/parameters/PopReceipt" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "204": { - "description": "No Content", - "headers": { - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "parameters": [] - } - }, - "definitions": { - "AccessPolicy": { - "type": "object", - "required": [ - "Start", - "Expiry", - "Permission" - ], - "description": "An Access policy", - "properties": { - "Start": { - "description": "the date-time the policy is active", - "type": "string", - "format": "date-time" - }, - "Expiry": { - "description": "the date-time the policy expires", - "type": "string", - "format": "date-time" - }, - "Permission": { - "description": "the permissions for the acl policy", - "type": "string" - } - } - }, - "ListQueuesSegmentResponse": { - "xml": { - "name": "EnumerationResults" - }, - "description": "The object returned when calling List Queues on a Queue Service.", - "type": "object", - "required": [ - "ServiceEndpoint", - "Prefix", - "MaxResults", - "NextMarker" - ], - "properties": { - "ServiceEndpoint": { - "type": "string", - "xml": { - "attribute": true - } - }, - "Prefix": { - "type": "string" - }, - "Marker": { - "type": "string" - }, - "MaxResults": { - "type": "integer" - }, - "QueueItems": { - "xml": { - "wrapped": true, - "name": "Queues" - }, - "type": "array", - "items": { - "$ref": "#/definitions/QueueItem" - } - }, - "NextMarker": { - "type": "string" - } - } - }, - "CorsRule": { - "description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain", - "type": "object", - "required": [ - "AllowedOrigins", - "AllowedMethods", - "AllowedHeaders", - "ExposedHeaders", - "MaxAgeInSeconds" - ], - "properties": { - "AllowedOrigins": { - "description": "The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.", - "type": "string" - }, - "AllowedMethods": { - "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)", - "type": "string" - }, - "AllowedHeaders": { - "description": "the request headers that the origin domain may specify on the CORS request.", - "type": "string" - }, - "ExposedHeaders": { - "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer", - "type": "string" - }, - "MaxAgeInSeconds": { - "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", - "type": "integer", - "minimum": 0 - } - } - }, - "ErrorCode": { - "description": "Error codes returned by the service", - "type": "string", - "enum": [ - "AccountAlreadyExists", - "AccountBeingCreated", - "AccountIsDisabled", - "AuthenticationFailed", - "AuthorizationFailure", - "ConditionHeadersNotSupported", - "ConditionNotMet", - "EmptyMetadataKey", - "InsufficientAccountPermissions", - "InternalError", - "InvalidAuthenticationInfo", - "InvalidHeaderValue", - "InvalidHttpVerb", - "InvalidInput", - "InvalidMd5", - "InvalidMetadata", - "InvalidQueryParameterValue", - "InvalidRange", - "InvalidResourceName", - "InvalidUri", - "InvalidXmlDocument", - "InvalidXmlNodeValue", - "Md5Mismatch", - "MetadataTooLarge", - "MissingContentLengthHeader", - "MissingRequiredQueryParameter", - "MissingRequiredHeader", - "MissingRequiredXmlNode", - "MultipleConditionHeadersNotSupported", - "OperationTimedOut", - "OutOfRangeInput", - "OutOfRangeQueryParameterValue", - "RequestBodyTooLarge", - "ResourceTypeMismatch", - "RequestUrlFailedToParse", - "ResourceAlreadyExists", - "ResourceNotFound", - "ServerBusy", - "UnsupportedHeader", - "UnsupportedXmlNode", - "UnsupportedQueryParameter", - "UnsupportedHttpVerb", - "InvalidMarker", - "MessageNotFound", - "MessageTooLarge", - "PopReceiptMismatch", - "QueueAlreadyExists", - "QueueBeingDeleted", - "QueueDisabled", - "QueueNotEmpty", - "QueueNotFound" - ], - "x-ms-enum": { - "name": "StorageErrorCode", - "modelAsString": true - } - }, - "GeoReplication": { - "type": "object", - "required": [ - "Status", - "LastSyncTime" - ], - "properties": { - "Status": { - "description": "The status of the secondary location", - "type": "string", - "enum": [ - "live", - "bootstrap", - "unavailable" - ], - "x-ms-enum": { - "name": "GeoReplicationStatusType", - "modelAsString": true - } - }, - "LastSyncTime": { - "description": "A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time may or may not be available for reads.", - "type": "string", - "format": "date-time-rfc1123" - } - } - }, - "Logging": { - "description": "Azure Analytics Logging settings.", - "type": "object", - "required": [ - "Version", - "Delete", - "Read", - "Write", - "RetentionPolicy" - ], - "properties": { - "Version": { - "description": "The version of Storage Analytics to configure.", - "type": "string" - }, - "Delete": { - "description": "Indicates whether all delete requests should be logged.", - "type": "boolean" - }, - "Read": { - "description": "Indicates whether all read requests should be logged.", - "type": "boolean" - }, - "Write": { - "description": "Indicates whether all write requests should be logged.", - "type": "boolean" - }, - "RetentionPolicy": { - "$ref": "#/definitions/RetentionPolicy" - } - } - }, - "Metadata": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "StorageError": { - "type": "object", - "properties": { - "Message": { - "type": "string" - } - } - }, - "Metrics": { - "description": "", - "required": [ - "Enabled" - ], - "properties": { - "Version": { - "description": "The version of Storage Analytics to configure.", - "type": "string" - }, - "Enabled": { - "description": "Indicates whether metrics are enabled for the Queue service.", - "type": "boolean" - }, - "IncludeAPIs": { - "description": "Indicates whether metrics should generate summary statistics for called API operations.", - "type": "boolean" - }, - "RetentionPolicy": { - "$ref": "#/definitions/RetentionPolicy" - } - } - }, - "QueueItem": { - "description": "An Azure Storage Queue.", - "type": "object", - "required": [ - "Name" - ], - "properties": { - "Name": { - "type": "string", - "description": "The name of the Queue." - }, - "Metadata": { - "$ref": "#/definitions/Metadata" - } - }, - "xml": { - "name": "Queue" - } - }, - "QueueMessage": { - "description": "A Message object which can be stored in a Queue", - "type": "object", - "required": [ - "MessageText" - ], - "properties": { - "MessageText": { - "type": "string", - "description": "The content of the message" - } - } - }, - "DequeuedMessageItem": { - "description": "The object returned in the QueueMessageList array when calling Get Messages on a Queue.", - "type": "object", - "required": [ - "MessageId", - "InsertionTime", - "ExpirationTime", - "PopReceipt", - "TimeNextVisible", - "DequeueCount", - "MessageText" - ], - "properties": { - "MessageId": { - "type": "string", - "description": "The Id of the Message." - }, - "InsertionTime": { - "type": "string", - "format": "date-time-rfc1123", - "description": "The time the Message was inserted into the Queue." - }, - "ExpirationTime": { - "type": "string", - "format": "date-time-rfc1123", - "description": "The time that the Message will expire and be automatically deleted." - }, - "PopReceipt": { - "type": "string", - "description": "This value is required to delete the Message. If deletion fails using this popreceipt then the message has been dequeued by another client." - }, - "TimeNextVisible": { - "type": "string", - "format": "date-time-rfc1123", - "description": "The time that the message will again become visible in the Queue." - }, - "DequeueCount": { - "type": "integer", - "format": "int64", - "description": "The number of times the message has been dequeued." - }, - "MessageText": { - "type": "string", - "description": "The content of the Message." - } - }, - "xml": { - "wrapped": true, - "name": "QueueMessage" - } - }, - "PeekedMessageItem": { - "description": "The object returned in the QueueMessageList array when calling Peek Messages on a Queue", - "type": "object", - "required": [ - "MessageId", - "InsertionTime", - "ExpirationTime", - "DequeueCount", - "MessageText" - ], - "properties": { - "MessageId": { - "type": "string", - "description": "The Id of the Message." - }, - "InsertionTime": { - "type": "string", - "format": "date-time-rfc1123", - "description": "The time the Message was inserted into the Queue." - }, - "ExpirationTime": { - "type": "string", - "format": "date-time-rfc1123", - "description": "The time that the Message will expire and be automatically deleted." - }, - "DequeueCount": { - "type": "integer", - "format": "int64", - "description": "The number of times the message has been dequeued." - }, - "MessageText": { - "type": "string", - "description": "The content of the Message." - } - }, - "xml": { - "wrapped": true, - "name": "QueueMessage" - } - }, - "EnqueuedMessage": { - "description": "The object returned in the QueueMessageList array when calling Put Message on a Queue", - "type": "object", - "required": [ - "MessageId", - "InsertionTime", - "ExpirationTime", - "PopReceipt", - "TimeNextVisible" - ], - "properties": { - "MessageId": { - "type": "string", - "description": "The Id of the Message." - }, - "InsertionTime": { - "type": "string", - "format": "date-time-rfc1123", - "description": "The time the Message was inserted into the Queue." - }, - "ExpirationTime": { - "type": "string", - "format": "date-time-rfc1123", - "description": "The time that the Message will expire and be automatically deleted." - }, - "PopReceipt": { - "type": "string", - "description": "This value is required to delete the Message. If deletion fails using this popreceipt then the message has been dequeued by another client." - }, - "TimeNextVisible": { - "type": "string", - "format": "date-time-rfc1123", - "description": "The time that the message will again become visible in the Queue." - } - }, - "xml": { - "wrapped": true, - "name": "QueueMessage" - } - }, - "DequeuedMessagesList": { - "description": "The object returned when calling Get Messages on a Queue", - "type": "array", - "items": { - "$ref": "#/definitions/DequeuedMessageItem", - "xml": { - "name": "QueueMessage" - } - }, - "xml": { - "wrapped": true, - "name": "QueueMessagesList" - } - }, - "PeekedMessagesList": { - "description": "The object returned when calling Peek Messages on a Queue", - "type": "array", - "items": { - "$ref": "#/definitions/PeekedMessageItem", - "xml": { - "name": "QueueMessage" - } - }, - "xml": { - "wrapped": true, - "name": "QueueMessagesList" - } - }, - "EnqueuedMessageList": { - "description": "The object returned when calling Put Message on a Queue", - "type": "array", - "items": { - "$ref": "#/definitions/EnqueuedMessage", - "xml": { - "name": "QueueMessage" - } - }, - "xml": { - "wrapped": true, - "name": "QueueMessagesList" - } - }, - "RetentionPolicy": { - "description": "the retention policy", - "type": "object", - "required": [ - "Enabled" - ], - "properties": { - "Enabled": { - "description": "Indicates whether a retention policy is enabled for the storage service", - "type": "boolean" - }, - "Days": { - "description": "Indicates the number of days that metrics or logging or soft-deleted data should be retained. All data older than this value will be deleted", - "type": "integer", - "minimum": 1 - } - } - }, - "SignedIdentifier": { - "description": "signed identifier", - "type": "object", - "required": [ - "Id", - "AccessPolicy" - ], - "properties": { - "Id": { - "type": "string", - "description": "a unique id" - }, - "AccessPolicy": { - "description": "The access policy", - "$ref": "#/definitions/AccessPolicy" - } - } - }, - "SignedIdentifiers": { - "description": "a collection of signed identifiers", - "type": "array", - "items": { - "$ref": "#/definitions/SignedIdentifier", - "xml": { - "name": "SignedIdentifier" - } - }, - "xml": { - "wrapped": true, - "name": "SignedIdentifiers" - } - }, - "StorageServiceProperties": { - "description": "Storage Service Properties.", - "type": "object", - "properties": { - "Logging": { - "description": "Azure Analytics Logging settings", - "$ref": "#/definitions/Logging" - }, - "HourMetrics": { - "description": "A summary of request statistics grouped by API in hourly aggregates for queues", - "$ref": "#/definitions/Metrics" - }, - "MinuteMetrics": { - "description": "a summary of request statistics grouped by API in minute aggregates for queues", - "$ref": "#/definitions/Metrics" - }, - "Cors": { - "description": "The set of CORS rules.", - "type": "array", - "items": { - "$ref": "#/definitions/CorsRule", - "xml": { - "name": "CorsRule" - } - }, - "xml": { - "wrapped": true - } - } - } - }, - "StorageServiceStats": { - "description": "Stats for the storage service.", - "type": "object", - "properties": { - "GeoReplication": { - "description": "Geo-Replication information for the Secondary Storage Service", - "$ref": "#/definitions/GeoReplication" - } - } - } - }, - "parameters": { - "Url": { - "name": "url", - "description": "The URL of the service account, queue or message that is the targe of the desired operation.", - "required": true, - "type": "string", - "in": "path", - "x-ms-skip-url-encoding": true - }, - "ApiVersionParameter": { - "name": "x-ms-version", - "x-ms-client-name": "version", - "in": "header", - "required": true, - "type": "string", - "description": "Specifies the version of the operation to use for this request.", - "enum": [ - "2018-03-28" - ] - }, - "Body": { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "format": "file" - }, - "x-ms-parameter-location": "method", - "description": "Initial data" - }, - "QueueAcl": { - "name": "queueAcl", - "in": "body", - "schema": { - "$ref": "#/definitions/SignedIdentifiers" - }, - "x-ms-parameter-location": "method", - "description": "the acls for the queue" - }, - "ClientRequestId": { - "name": "x-ms-client-request-id", - "x-ms-client-name": "requestId", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." - }, - "ContentLength": { - "name": "Content-Length", - "in": "header", - "required": true, - "type": "integer", - "format": "int64", - "x-ms-parameter-location": "method", - "description": "The length of the request." - }, - "ListQueuesInclude": { - "name": "include", - "in": "query", - "required": false, - "type": "array", - "collectionFormat": "csv", - "items": { - "type": "string", - "enum": [ - "metadata" - ], - "x-ms-enum": { - "name": "ListQueuesIncludeType", - "modelAsString": false - } - }, - "x-ms-parameter-location": "method", - "description": "Include this parameter to specify that the queues's metadata be returned as part of the response body." - }, - "Marker": { - "name": "marker", - "in": "query", - "required": false, - "type": "string", - "description": "A string value that identifies the portion of the list of queues to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all queues remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.", - "x-ms-parameter-location": "method" - }, - "MaxResults": { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "x-ms-parameter-location": "method", - "description": "Specifies the maximum number of queues to return. If the request does not specify maxresults, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remainder of the results. For this reason, it is possible that the service will return fewer results than specified by maxresults, or than the default of 5000." - }, - "MessageId": { - "name": "messageid", - "in": "path", - "required": true, - "type": "string", - "x-ms-parameter-location": "method", - "description": "The container name." - }, - "MessageTTL": { - "name": "messagettl", - "x-ms-client-name": "MessageTimeToLive", - "in": "query", - "required": false, - "type": "integer", - "minimum": -1, - "x-ms-parameter-location": "method", - "description": "Optional. Specifies the time-to-live interval for the message, in seconds. Prior to version 2017-07-29, the maximum time-to-live allowed is 7 days. For version 2017-07-29 or later, the maximum time-to-live can be any positive number, as well as -1 indicating that the message does not expire. If this parameter is omitted, the default time-to-live is 7 days." - }, - "Metadata": { - "name": "x-ms-meta", - "x-ms-client-name": "metadata", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "description": "Optional. Include this parameter to specify that the queue's metadata be returned as part of the response body. Note that metadata requested with this parameter must be stored in accordance with the naming restrictions imposed by the 2009-09-19 version of the Queue service. Beginning with this version, all metadata names must adhere to the naming conventions for C# identifiers.", - "x-ms-header-collection-prefix": "x-ms-meta-" - }, - "NumOfMessages": { - "name": "numofmessages", - "x-ms-client-name": "numberOfMessages", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "x-ms-parameter-location": "method", - "description": "Optional. A nonzero integer value that specifies the number of messages to retrieve from the queue, up to a maximum of 32. If fewer are visible, the visible messages are returned. By default, a single message is retrieved from the queue with this operation." - }, - "PopReceipt": { - "name": "popreceipt", - "x-ms-client-name": "popReceipt", - "in": "query", - "required": true, - "x-ms-parameter-location": "method", - "description": "Required. Specifies the valid pop receipt value returned from an earlier call to the Get Messages or Update Message operation.", - "type": "string" - }, - "Prefix": { - "name": "prefix", - "in": "query", - "required": false, - "type": "string", - "description": "Filters the results to return only queues whose name begins with the specified prefix.", - "x-ms-parameter-location": "method" - }, - "QueueMessage": { - "name": "QueueMessage", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/QueueMessage" - }, - "x-ms-parameter-location": "method", - "description": "A Message object which can be stored in a Queue" - }, - "QueueName": { - "name": "queueName", - "in": "path", - "required": true, - "type": "string", - "x-ms-parameter-location": "method", - "description": "The queue name." - }, - "StorageServiceProperties": { - "name": "StorageServiceProperties", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/StorageServiceProperties" - }, - "x-ms-parameter-location": "method", - "description": "The StorageService properties." - }, - "Timeout": { - "name": "timeout", - "in": "query", - "required": false, - "type": "integer", - "minimum": 0, - "x-ms-parameter-location": "method", - "description": "The The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Queue Service Operations." - }, - "VisibilityTimeout": { - "name": "visibilitytimeout", - "in": "query", - "required": false, - "type": "integer", - "minimum": 0, - "maximum": 604800, - "x-ms-parameter-location": "method", - "description": "Optional. Specifies the new visibility timeout value, in seconds, relative to server time. The default value is 30 seconds. A specified value must be larger than or equal to 1 second, and cannot be larger than 7 days, or larger than 2 hours on REST protocol versions prior to version 2011-08-18. The visibility timeout of a message can be set to a value later than the expiry time." - }, - "VisibilityTimeoutRequired": { - "name": "visibilitytimeout", - "in": "query", - "required": true, - "type": "integer", - "minimum": 0, - "maximum": 604800, - "x-ms-parameter-location": "method", - "description": "Optional. Specifies the new visibility timeout value, in seconds, relative to server time. The default value is 30 seconds. A specified value must be larger than or equal to 1 second, and cannot be larger than 7 days, or larger than 2 hours on REST protocol versions prior to version 2011-08-18. The visibility timeout of a message can be set to a value later than the expiry time." - } - } -} \ No newline at end of file diff --git a/sdk/storage/azure-storage-queue/tests/asyncqueuetestcase.py b/sdk/storage/azure-storage-queue/tests/asyncqueuetestcase.py new file mode 100644 index 000000000000..14bee9a5834b --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/asyncqueuetestcase.py @@ -0,0 +1,25 @@ +# coding: utf-8 +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import asyncio +import functools +from queuetestcase import QueueTestCase + +LOGGING_FORMAT = '%(asctime)s %(name)-20s %(levelname)-5s %(message)s' + +class AsyncQueueTestCase(QueueTestCase): + @staticmethod + def await_prepared_test(test_fn): + """Synchronous wrapper for async test methods. Used to avoid making changes + upstream to AbstractPreparer (which doesn't await the functions it wraps) + """ + + @functools.wraps(test_fn) + def run(test_class_instance, *args, **kwargs): + loop = asyncio.get_event_loop() + return loop.run_until_complete(test_fn(test_class_instance, **kwargs)) + + return run diff --git a/sdk/storage/azure-storage-queue/tests/queue_settings_fake.py b/sdk/storage/azure-storage-queue/tests/queue_settings_fake.py deleted file mode 100644 index 9fbb88f04fa4..000000000000 --- a/sdk/storage/azure-storage-queue/tests/queue_settings_fake.py +++ /dev/null @@ -1,56 +0,0 @@ -# ------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -------------------------------------------------------------------------- - -# NOTE: these keys are fake, but valid base-64 data, they were generated using: -# base64.b64encode(os.urandom(64)) - -import os - -STORAGE_ACCOUNT_NAME = os.getenv('STORAGE_ACCOUNT_NAME', "storagename") -STORAGE_ACCOUNT_KEY = os.getenv('STORAGE_ACCOUNT_KEY', "NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==") -BLOB_STORAGE_ACCOUNT_NAME = os.getenv('BLOB_STORAGE_ACCOUNT_NAME', "blobstoragename") -BLOB_STORAGE_ACCOUNT_KEY = os.getenv('BLOB_STORAGE_ACCOUNT_KEY', "NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==") -REMOTE_STORAGE_ACCOUNT_NAME = os.getenv('REMOTE_STORAGE_ACCOUNT_NAME', "storagename") -REMOTE_STORAGE_ACCOUNT_KEY = os.getenv('REMOTE_STORAGE_ACCOUNT_KEY', "NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==") -PREMIUM_STORAGE_ACCOUNT_NAME = os.getenv('PREMIUM_STORAGE_ACCOUNT_NAME', "premiumstoragename") -PREMIUM_STORAGE_ACCOUNT_KEY = os.getenv('PREMIUM_STORAGE_ACCOUNT_KEY', "NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==") -OAUTH_STORAGE_ACCOUNT_NAME = os.getenv('OAUTH_STORAGE_ACCOUNT_NAME', "oauthstoragename") -OAUTH_STORAGE_ACCOUNT_KEY = os.getenv('OAUTH_STORAGE_ACCOUNT_KEY', "XBB/YoZ41bDFBW1VcgCBNYmA1PDlc3NvQQaCk2rb/JtBoMBlekznQwAzDJHvZO1gJmCh8CUT12Gv3aCkWaDeGA==") - -# Configurations related to Active Directory, which is used to obtain a token credential -ACTIVE_DIRECTORY_APPLICATION_ID = os.getenv('ACTIVE_DIRECTORY_APPLICATION_ID', "68390a19-a897-236b-b453-488abf67b4fc") -ACTIVE_DIRECTORY_APPLICATION_SECRET = os.getenv('ACTIVE_DIRECTORY_APPLICATION_SECRET', "3Ujhg7pzkOeE7flc6Z187ugf5/cJnszGPjAiXmcwhaY=") -ACTIVE_DIRECTORY_TENANT_ID = os.getenv('ACTIVE_DIRECTORY_TENANT_ID', "32f988bf-54f1-15af-36ab-2d7cd364db47") - -# Use instead of STORAGE_ACCOUNT_NAME and STORAGE_ACCOUNT_KEY if custom settings are needed -CONNECTION_STRING = os.getenv('CONNECTION_STRING', "DefaultEndpointsProtocol=https;AccountName=storagename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net") -BLOB_CONNECTION_STRING = os.getenv('BLOB_CONNECTION_STRING', "DefaultEndpointsProtocol=https;AccountName=blobstoragename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net") -PREMIUM_CONNECTION_STRING = os.getenv('PREMIUM_CONNECTION_STRING', "DefaultEndpointsProtocol=https;AccountName=premiumstoragename;AccountKey=NzhL3hKZbJBuJ2484dPTR+xF30kYaWSSCbs2BzLgVVI1woqeST/1IgqaLm6QAOTxtGvxctSNbIR/1hW8yH+bJg==;EndpointSuffix=core.windows.net") -# Use 'https' or 'http' protocol for sending requests, 'https' highly recommended -PROTOCOL = os.getenv('PROTOCOL', "https") - -# Set to true to target the development storage emulator -IS_EMULATED = False - -# Set to true if server side file encryption is enabled -IS_SERVER_SIDE_FILE_ENCRYPTION_ENABLED = True - -# Decide which test mode to run against. Possible options: -# - Playback: run against stored recordings -# - Record: run tests against live storage and update recordings -# - RunLiveNoRecord: run tests against live storage without altering recordings -TEST_MODE = os.getenv('TEST_MODE', 'Playback') - -# Set to true to enable logging for the tests -# logging is not enabled by default because it pollutes the CI logs -ENABLE_LOGGING = False - -# Set up proxy support -USE_PROXY = False -PROXY_HOST = "192.168.15.116" -PROXY_PORT = "8118" -PROXY_USER = "" -PROXY_PASSWORD = "" diff --git a/sdk/storage/azure-storage-queue/tests/queuetestcase.py b/sdk/storage/azure-storage-queue/tests/queuetestcase.py index 2d7d57370988..20c8f9e6545d 100644 --- a/sdk/storage/azure-storage-queue/tests/queuetestcase.py +++ b/sdk/storage/azure-storage-queue/tests/queuetestcase.py @@ -5,12 +5,13 @@ # license information. # -------------------------------------------------------------------------- from __future__ import division +import pytest from contextlib import contextmanager import copy import inspect import os import os.path -import time + from unittest import SkipTest import adal @@ -22,7 +23,8 @@ import sys import random import logging - +import time +from devtools_testutils import AzureMgmtTestCase try: from cStringIO import StringIO # Python 2 except ImportError: @@ -30,35 +32,9 @@ from azure.core.credentials import AccessToken -import queue_settings_fake as fake_settings -try: - import settings_real as settings -except ImportError: - settings = None - LOGGING_FORMAT = '%(asctime)s %(name)-20s %(levelname)-5s %(message)s' - -class TestMode(object): - none = 'None'.lower() # this will be for unit test, no need for any recordings - playback = 'Playback'.lower() # run against stored recordings - record = 'Record'.lower() # run tests against live storage and update recordings - run_live_no_record = 'RunLiveNoRecord'.lower() # run tests against live storage without altering recordings - - @staticmethod - def is_playback(mode): - return mode == TestMode.playback - - @staticmethod - def need_recording_file(mode): - return mode == TestMode.playback or mode == TestMode.record - - @staticmethod - def need_real_credentials(mode): - return mode == TestMode.run_live_no_record or mode == TestMode.record - - class FakeTokenCredential(object): """Protocol for classes able to provide OAuth tokens. :param str scopes: Lets you specify the type of access needed. @@ -69,38 +45,12 @@ def __init__(self): def get_token(self, *args): return self.token - -class QueueTestCase(unittest.TestCase): - - def setUp(self): - self.working_folder = os.path.dirname(__file__) - - self.settings = settings - self.fake_settings = fake_settings - - if settings is None: - self.test_mode = os.getenv('TEST_MODE') or TestMode.playback - else: - self.test_mode = self.settings.TEST_MODE.lower() or TestMode.playback - - if self.test_mode == TestMode.playback or (self.settings is None and self.test_mode.lower() == TestMode.run_live_no_record): - self.settings = self.fake_settings - - # example of qualified test name: - # test_mgmt_network.test_public_ip_addresses - _, filename = os.path.split(inspect.getsourcefile(type(self))) - name, _ = os.path.splitext(filename) - self.qualified_test_name = '{0}.{1}'.format( - name, - self._testMethodName, - ) - - self.logger = logging.getLogger('azure.storage') - # enable logging if desired - self.configure_logging() - - def configure_logging(self): - self.enable_logging() if self.settings.ENABLE_LOGGING else self.disable_logging() +class QueueTestCase(AzureMgmtTestCase): + def connection_string(self, account, key): + return "DefaultEndpointsProtocol=https;AccountName=" + account.name + ";AccountKey=" + str(key) + ";EndpointSuffix=core.windows.net" + + def _account_url (self, name): + return 'https://{}.queue.core.windows.net'.format(name) def enable_logging(self): handler = logging.StreamHandler() @@ -119,26 +69,8 @@ def sleep(self, seconds): if not self.is_playback(): time.sleep(seconds) - def is_playback(self): - return self.test_mode == TestMode.playback - - def get_resource_name(self, prefix=''): - # Append a suffix to the name, based on the fully qualified test name - # We use a checksum of the test name so that each test gets different - # resource names, but each test will get the same name on repeat runs, - # which is needed for playback. - # Most resource names have a length limit, so we use a crc32 - if self.test_mode.lower() == TestMode.run_live_no_record.lower(): - return prefix + str(uuid.uuid4()).replace('-', '') - else: - checksum = zlib.adler32(self.qualified_test_name.encode()) & 0xffffffff - name = '{}{}'.format(prefix, hex(checksum)[2:]) - if name.endswith('L'): - name = name[:-1] - return name - def get_random_bytes(self, size): - if self.test_mode.lower() == TestMode.run_live_no_record.lower(): + if self.is_live: rand = random.Random() else: checksum = zlib.adler32(self.qualified_test_name.encode()) & 0xffffffff @@ -171,116 +103,7 @@ def _set_test_proxy(service, settings): settings.PROXY_PASSWORD, ) - def _get_shared_key_credential(self): - return { - "account_name": self.settings.STORAGE_ACCOUNT_NAME, - "account_key": self.settings.STORAGE_ACCOUNT_KEY - } - - def _get_premium_shared_key_credential(self): - return { - "account_name": self.settings.PREMIUM_STORAGE_ACCOUNT_NAME, - "account_key": self.settings.PREMIUM_STORAGE_ACCOUNT_KEY - } - - def _get_remote_shared_key_credential(self): - return { - "account_name": self.settings.REMOTE_STORAGE_ACCOUNT_NAME, - "account_key": self.settings.REMOTE_STORAGE_ACCOUNT_KEY - } - - def _get_account_url(self): - return "{}://{}.blob.core.windows.net".format( - self.settings.PROTOCOL, - self.settings.STORAGE_ACCOUNT_NAME - ) - - def _get_queue_url(self): - return "{}://{}.queue.core.windows.net".format( - self.settings.PROTOCOL, - self.settings.STORAGE_ACCOUNT_NAME - ) - - def _get_oauth_queue_url(self): - return "{}://{}.queue.core.windows.net".format( - self.settings.PROTOCOL, - self.settings.OAUTH_STORAGE_ACCOUNT_NAME - ) - - def _get_premium_account_url(self): - return "{}://{}.blob.core.windows.net".format( - self.settings.PROTOCOL, - self.settings.PREMIUM_STORAGE_ACCOUNT_NAME - ) - - def _get_remote_account_url(self): - return "{}://{}.blob.core.windows.net".format( - self.settings.PROTOCOL, - self.settings.REMOTE_STORAGE_ACCOUNT_NAME - ) - - def _create_storage_service(self, service_class, settings): - if settings.CONNECTION_STRING: - service = service_class(connection_string=settings.CONNECTION_STRING) - elif settings.IS_EMULATED: - service = service_class(is_emulated=True) - else: - service = service_class( - settings.STORAGE_ACCOUNT_NAME, - settings.STORAGE_ACCOUNT_KEY, - protocol=settings.PROTOCOL, - ) - self._set_test_proxy(service, settings) - return service - - # for blob storage account - def _create_storage_service_for_blob_storage_account(self, service_class, settings): - if hasattr(settings, 'BLOB_CONNECTION_STRING') and settings.BLOB_CONNECTION_STRING != "": - service = service_class(connection_string=settings.BLOB_CONNECTION_STRING) - elif settings.IS_EMULATED: - service = service_class(is_emulated=True) - elif hasattr(settings, 'BLOB_STORAGE_ACCOUNT_NAME') and settings.BLOB_STORAGE_ACCOUNT_NAME != "": - service = service_class( - settings.BLOB_STORAGE_ACCOUNT_NAME, - settings.BLOB_STORAGE_ACCOUNT_KEY, - protocol=settings.PROTOCOL, - ) - else: - raise SkipTest('BLOB_CONNECTION_STRING or BLOB_STORAGE_ACCOUNT_NAME must be populated to run this test') - - self._set_test_proxy(service, settings) - return service - - def _create_premium_storage_service(self, service_class, settings): - if hasattr(settings, 'PREMIUM_CONNECTION_STRING') and settings.PREMIUM_CONNECTION_STRING != "": - service = service_class(connection_string=settings.PREMIUM_CONNECTION_STRING) - elif settings.IS_EMULATED: - service = service_class(is_emulated=True) - elif hasattr(settings, 'PREMIUM_STORAGE_ACCOUNT_NAME') and settings.PREMIUM_STORAGE_ACCOUNT_NAME != "": - service = service_class( - settings.PREMIUM_STORAGE_ACCOUNT_NAME, - settings.PREMIUM_STORAGE_ACCOUNT_KEY, - protocol=settings.PROTOCOL, - ) - else: - raise SkipTest('PREMIUM_CONNECTION_STRING or PREMIUM_STORAGE_ACCOUNT_NAME must be populated to run this test') - - self._set_test_proxy(service, settings) - return service - - def _create_remote_storage_service(self, service_class, settings): - if settings.REMOTE_STORAGE_ACCOUNT_NAME and settings.REMOTE_STORAGE_ACCOUNT_KEY: - service = service_class( - settings.REMOTE_STORAGE_ACCOUNT_NAME, - settings.REMOTE_STORAGE_ACCOUNT_KEY, - protocol=settings.PROTOCOL, - ) - else: - print("REMOTE_STORAGE_ACCOUNT_NAME and REMOTE_STORAGE_ACCOUNT_KEY not set in test settings file.") - self._set_test_proxy(service, settings) - return service - - def assertNamedItemInContainer(self, container, item_name, msg=None): + def assert_named_item_in_container(self, container, item_name, msg=None): def _is_string(obj): if sys.version_info >= (3,): return isinstance(obj, str) @@ -298,104 +121,14 @@ def _is_string(obj): standardMsg = '{0} not found in {1}'.format( repr(item_name), [str(c) for c in container]) - self.fail(self._formatMessage(msg, standardMsg)) + pytest.fail(self._formatMessage(msg, standardMsg)) - def assertNamedItemNotInContainer(self, container, item_name, msg=None): + def assert_named_item_not_in_container(self, container, item_name, msg=None): for item in container: if item.name == item_name: standardMsg = '{0} unexpectedly found in {1}'.format( repr(item_name), repr(container)) - self.fail(self._formatMessage(msg, standardMsg)) - - def recording(self): - if TestMode.need_recording_file(self.test_mode): - cassette_name = '{0}.yaml'.format(self.qualified_test_name) - - my_vcr = vcr.VCR( - before_record_request = self._scrub_sensitive_request_info, - before_record_response = self._scrub_sensitive_response_info, - record_mode = 'none' if TestMode.is_playback(self.test_mode) else 'all' - ) - - self.assertIsNotNone(self.working_folder) - return my_vcr.use_cassette( - os.path.join(self.working_folder, 'recordings', cassette_name), - filter_headers=['authorization'], - ) - else: - @contextmanager - def _nop_context_manager(): - yield - return _nop_context_manager() - - def _scrub_sensitive_request_info(self, request): - if not TestMode.is_playback(self.test_mode): - request.uri = self._scrub(request.uri) - if request.body is not None: - request.body = self._scrub(request.body) - return request - - def _scrub_sensitive_response_info(self, response): - if not TestMode.is_playback(self.test_mode): - # We need to make a copy because vcr doesn't make one for us. - # Without this, changing the contents of the dicts would change - # the contents returned to the caller - not just the contents - # getting saved to disk. That would be a problem with headers - # such as 'location', often used in the request uri of a - # subsequent service call. - response = copy.deepcopy(response) - headers = response.get('headers') - if headers: - def internal_scrub(key, val): - if key.lower() == 'retry-after': - return '0' - return self._scrub(val) - - for name, val in headers.items(): - if isinstance(val, list): - for i, e in enumerate(val): - val[i] = internal_scrub(name, e) - else: - headers[name] = internal_scrub(name, val) - - body = response.get('body') - if body: - body_str = body.get('string') - if body_str: - response['body']['string'] = self._scrub(body_str) - - return response - - def _scrub(self, val): - old_to_new_dict = { - self.settings.STORAGE_ACCOUNT_NAME: self.fake_settings.STORAGE_ACCOUNT_NAME, - self.settings.STORAGE_ACCOUNT_KEY: self.fake_settings.STORAGE_ACCOUNT_KEY, - self.settings.OAUTH_STORAGE_ACCOUNT_NAME: self.fake_settings.OAUTH_STORAGE_ACCOUNT_NAME, - self.settings.OAUTH_STORAGE_ACCOUNT_KEY: self.fake_settings.OAUTH_STORAGE_ACCOUNT_KEY, - self.settings.BLOB_STORAGE_ACCOUNT_NAME: self.fake_settings.BLOB_STORAGE_ACCOUNT_NAME, - self.settings.BLOB_STORAGE_ACCOUNT_KEY: self.fake_settings.BLOB_STORAGE_ACCOUNT_KEY, - self.settings.REMOTE_STORAGE_ACCOUNT_KEY: self.fake_settings.REMOTE_STORAGE_ACCOUNT_KEY, - self.settings.REMOTE_STORAGE_ACCOUNT_NAME: self.fake_settings.REMOTE_STORAGE_ACCOUNT_NAME, - self.settings.PREMIUM_STORAGE_ACCOUNT_NAME: self.fake_settings.PREMIUM_STORAGE_ACCOUNT_NAME, - self.settings.PREMIUM_STORAGE_ACCOUNT_KEY: self.fake_settings.PREMIUM_STORAGE_ACCOUNT_KEY, - self.settings.ACTIVE_DIRECTORY_APPLICATION_ID: self.fake_settings.ACTIVE_DIRECTORY_APPLICATION_ID, - self.settings.ACTIVE_DIRECTORY_APPLICATION_SECRET: self.fake_settings.ACTIVE_DIRECTORY_APPLICATION_SECRET, - self.settings.ACTIVE_DIRECTORY_TENANT_ID: self.fake_settings.ACTIVE_DIRECTORY_TENANT_ID, - } - replacements = list(old_to_new_dict.keys()) - - # if we have 'val1' and 'val10', we want 'val10' to be replaced first - replacements.sort(reverse=True) - - for old_value in replacements: - if old_value: - new_value = old_to_new_dict[old_value] - if old_value != new_value: - if isinstance(val, bytes): - val = val.replace(old_value.encode(), new_value.encode()) - else: - val = val.replace(old_value, new_value) - return val + pytest.fail(self._formatMessage(msg, standardMsg)) def assert_upload_progress(self, size, max_chunk_size, progress, unknown_size=False): '''Validates that the progress chunks align with our chunking procedure.''' @@ -438,22 +171,6 @@ def generate_oauth_token(self): def generate_fake_token(self): return FakeTokenCredential() -def record(test): - def recording_test(self): - with self.recording(): - test(self) - recording_test.__name__ = test.__name__ - return recording_test - - -def not_for_emulator(test): - def skip_test_if_targeting_emulator(self): - if self.settings.IS_EMULATED: - return - else: - test(self) - return skip_test_if_targeting_emulator - class RetryCounter(object): def __init__(self): diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_account_sas.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_account_sas.yaml new file mode 100644 index 000000000000..78d0219d19e0 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_account_sas.yaml @@ -0,0 +1,119 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:52:03 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage9c250b25.queue.core.windows.net/pythonqueue9c250b25 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:52:02 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:52:04 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage9c250b25.queue.core.windows.net/pythonqueue9c250b25/messages + response: + body: + string: "\uFEFFb4d0220c-ce49-4953-86fd-871e34eb269fFri, + 06 Sep 2019 21:52:02 GMTFri, 13 Sep 2019 21:52:02 + GMTAgAAAAMAAAAAAAAAZasDUf1k1QE=Fri, + 06 Sep 2019 21:52:02 GMT" + headers: + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:52:02 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:52:04 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage9c250b25.queue.core.windows.net/pythonqueue9c250b25/messages?peekonly=true&st=2019-09-06T21%3A47%3A04Z&se=2019-09-06T22%3A52%3A04Z&sp=r&sv=2018-03-28&ss=q&srt=o&sig=SpqwtmOiwSKHBHaK2lrd5QSOc3KluM8DYlG2iZn6YE0%3D + response: + body: + string: "\uFEFFb4d0220c-ce49-4953-86fd-871e34eb269fFri, + 06 Sep 2019 21:52:02 GMTFri, 13 Sep 2019 21:52:02 + GMT0message1" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:52:02 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_clear_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_clear_messages.yaml index 711fdc799530..feb8d49200c5 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_clear_messages.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_clear_messages.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6d5b69ca-b575-11e9-a8f9-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:36 GMT + - Fri, 06 Sep 2019 21:52:13 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuebf740c50 + uri: https://pyacrstoragebf740c50.queue.core.windows.net/pythonqueuebf740c50 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:36 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:15 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 8e58b2d9-3003-00e7-3f82-49740d000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6d942c12-b575-11e9-b713-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:36 GMT + - Fri, 06 Sep 2019 21:52:17 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuebf740c50/messages + uri: https://pyacrstoragebf740c50.queue.core.windows.net/pythonqueuebf740c50/messages response: body: - string: "\uFEFF3270abb6-b0bf-4afb-a47b-ab1ada25fd1cFri, - 02 Aug 2019 22:32:36 GMTFri, 09 Aug 2019 22:32:36 - GMTAgAAAAMAAAAAAAAAfOMuL4JJ1QE=Fri, - 02 Aug 2019 22:32:36 GMT" + string: "\uFEFFe6a6ef7b-ec10-4aee-8863-31e277620972Fri, + 06 Sep 2019 21:52:16 GMTFri, 13 Sep 2019 21:52:16 + GMTAgAAAAMAAAAAAAAAUL0SWf1k1QE=Fri, + 06 Sep 2019 21:52:16 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:36 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:15 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 8e58b2e7-3003-00e7-4a82-49740d000000 x-ms-version: - '2018-03-28' status: @@ -102,32 +94,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6da474a4-b575-11e9-b652-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:36 GMT + - Fri, 06 Sep 2019 21:52:17 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuebf740c50/messages + uri: https://pyacrstoragebf740c50.queue.core.windows.net/pythonqueuebf740c50/messages response: body: - string: "\uFEFF8351d85b-ac89-4b7b-a944-b7e00afb9d52Fri, - 02 Aug 2019 22:32:36 GMTFri, 09 Aug 2019 22:32:36 - GMTAgAAAAMAAAAAAAAA4cQ+L4JJ1QE=Fri, - 02 Aug 2019 22:32:36 GMT" + string: "\uFEFF96af8af2-0c86-4650-9269-6a0e7075a602Fri, + 06 Sep 2019 21:52:16 GMTFri, 13 Sep 2019 21:52:16 + GMTAgAAAAMAAAAAAAAAYeEoWf1k1QE=Fri, + 06 Sep 2019 21:52:16 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:36 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:15 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 8e58b2ff-3003-00e7-5e82-49740d000000 x-ms-version: - '2018-03-28' status: @@ -149,32 +137,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6dafb788-b575-11e9-9a03-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:36 GMT + - Fri, 06 Sep 2019 21:52:17 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuebf740c50/messages + uri: https://pyacrstoragebf740c50.queue.core.windows.net/pythonqueuebf740c50/messages response: body: - string: "\uFEFFd7e37e97-2bb9-4882-8170-1f5c079cc261Fri, - 02 Aug 2019 22:32:36 GMTFri, 09 Aug 2019 22:32:36 - GMTAgAAAAMAAAAAAAAAeOpJL4JJ1QE=Fri, - 02 Aug 2019 22:32:36 GMT" + string: "\uFEFF207e6f2a-d2bd-4cb0-bae8-1d5a91141a1dFri, + 06 Sep 2019 21:52:16 GMTFri, 13 Sep 2019 21:52:16 + GMTAgAAAAMAAAAAAAAAfUMzWf1k1QE=Fri, + 06 Sep 2019 21:52:16 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:36 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:15 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 8e58b30f-3003-00e7-6d82-49740d000000 x-ms-version: - '2018-03-28' status: @@ -196,32 +180,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6de1dd30-b575-11e9-98ba-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:37 GMT + - Fri, 06 Sep 2019 21:52:17 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuebf740c50/messages + uri: https://pyacrstoragebf740c50.queue.core.windows.net/pythonqueuebf740c50/messages response: body: - string: "\uFEFFc81db6b6-f51b-4704-8e17-f3d60485e090Fri, - 02 Aug 2019 22:32:36 GMTFri, 09 Aug 2019 22:32:36 - GMTAgAAAAMAAAAAAAAAAdl7L4JJ1QE=Fri, - 02 Aug 2019 22:32:36 GMT" + string: "\uFEFFea874162-da45-4b88-aaae-75adee26667eFri, + 06 Sep 2019 21:52:16 GMTFri, 13 Sep 2019 21:52:16 + GMTAgAAAAMAAAAAAAAAoqU9Wf1k1QE=Fri, + 06 Sep 2019 21:52:16 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:36 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:16 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 8e58b345-3003-00e7-1a82-49740d000000 x-ms-version: - '2018-03-28' status: @@ -239,29 +219,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6decd226-b575-11e9-b8ec-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:37 GMT + - Fri, 06 Sep 2019 21:52:18 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/pythonqueuebf740c50/messages + uri: https://pyacrstoragebf740c50.queue.core.windows.net/pythonqueuebf740c50/messages response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:37 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:16 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 8e58b354-3003-00e7-2682-49740d000000 x-ms-version: - '2018-03-28' status: @@ -277,36 +253,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6e0b68d8-b575-11e9-aa53-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:37 GMT + - Fri, 06 Sep 2019 21:52:18 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuebf740c50/messages?peekonly=true + uri: https://pyacrstoragebf740c50.queue.core.windows.net/pythonqueuebf740c50/messages?peekonly=true response: body: string: "\uFEFF" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:37 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:16 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 8e58b382-3003-00e7-4e82-49740d000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue.yaml index a1c13d953a96..db256a48ad76 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6e3cde5c-b575-11e9-ba38-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:37 GMT + - Fri, 06 Sep 2019 21:51:57 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuea7af0b8a + uri: https://pyacrstoragea7af0b8a.queue.core.windows.net/pythonqueuea7af0b8a response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:36 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:55 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 91d6280c-9003-00a5-0382-495f19000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue_fail_on_exist.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue_fail_on_exist.yaml index 32bb25b59187..c0720d4e1dd2 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue_fail_on_exist.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue_fail_on_exist.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6e9bdc2c-b575-11e9-a501-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:38 GMT + - Fri, 06 Sep 2019 21:52:03 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue736a114d + uri: https://pyacrstorage736a114d.queue.core.windows.net/pythonqueue736a114d response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:37 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:01 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 3e6b9667-e003-0022-6f82-490a36000000 x-ms-version: - '2018-03-28' status: @@ -51,29 +47,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6ec84e90-b575-11e9-bf76-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:38 GMT + - Fri, 06 Sep 2019 21:52:03 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue736a114d + uri: https://pyacrstorage736a114d.queue.core.windows.net/pythonqueue736a114d response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:37 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:01 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 3e6b9671-e003-0022-7782-490a36000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue_fail_on_exist_different_metadata.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue_fail_on_exist_different_metadata.yaml index 87ebd07546f1..6d9a86edc704 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue_fail_on_exist_different_metadata.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue_fail_on_exist_different_metadata.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6ef756b8-b575-11e9-9657-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:38 GMT + - Fri, 06 Sep 2019 21:51:57 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue9101903 + uri: https://pyacrstorage9101903.queue.core.windows.net/pythonqueue9101903 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:38 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:56 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 9a04da0e-a003-0007-5982-499285000000 x-ms-version: - '2018-03-28' status: @@ -51,13 +47,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6f243ede-b575-11e9-b692-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:39 GMT + - Fri, 06 Sep 2019 21:51:58 GMT x-ms-meta: - '{''val'': ''value''}' x-ms-meta-val: @@ -65,24 +59,22 @@ interactions: x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue9101903 + uri: https://pyacrstorage9101903.queue.core.windows.net/pythonqueue9101903 response: body: string: "\uFEFFQueueAlreadyExistsThe - specified queue already exists.\nRequestId:9a04da22-a003-0007-6582-499285000000\nTime:2019-08-02T22:32:38.9658771Z" + specified queue already exists.\nRequestId:89891175-c003-007e-39fd-64aeac000000\nTime:2019-09-06T21:51:56.7590787Z" headers: - Content-Length: + content-length: - '222' - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:38 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:56 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: - QueueAlreadyExists - x-ms-request-id: - - 9a04da22-a003-0007-6582-499285000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue_with_options.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue_with_options.yaml index d21a810f3d79..bf8f1df0e01e 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue_with_options.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_create_queue_with_options.yaml @@ -11,13 +11,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6f55e2be-b575-11e9-bc95-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:39 GMT + - Fri, 06 Sep 2019 21:52:04 GMT x-ms-meta: - '{''val1'': ''test'', ''val2'': ''blah''}' x-ms-meta-val1: @@ -27,19 +25,17 @@ interactions: x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue63ff1110 + uri: https://pyacrstorage63ff1110.queue.core.windows.net/pythonqueue63ff1110 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:38 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:02 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 0e63a336-c003-0053-7082-49780f000000 x-ms-version: - '2018-03-28' status: @@ -55,39 +51,33 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6f81432c-b575-11e9-94da-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:39 GMT + - Fri, 06 Sep 2019 21:52:05 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue63ff1110?comp=metadata + uri: https://pyacrstorage63ff1110.queue.core.windows.net/pythonqueue63ff1110?comp=metadata response: body: string: '' headers: - Cache-Control: + cache-control: - no-cache - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:38 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:02 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin x-ms-approximate-messages-count: - '0' x-ms-meta-val1: - test x-ms-meta-val2: - blah - x-ms-request-id: - - 0e63a37d-c003-0053-3382-49780f000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_delete_existing_queue_fail_not_exist.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_delete_existing_queue_fail_not_exist.yaml index 5b2d946d35c8..9571dcf826f8 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_delete_existing_queue_fail_not_exist.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_delete_existing_queue_fail_not_exist.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6fb0a814-b575-11e9-b5a2-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:40 GMT + - Fri, 06 Sep 2019 21:51:57 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue38c6158a + uri: https://pyacrstorage38c6158a.queue.core.windows.net/pythonqueue38c6158a response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:39 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:55 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d5ece90d-0003-00a0-5182-49ab66000000 x-ms-version: - '2018-03-28' status: @@ -51,29 +47,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6fdddaf6-b575-11e9-8e7d-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:40 GMT + - Fri, 06 Sep 2019 21:51:58 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/pythonqueue38c6158a + uri: https://pyacrstorage38c6158a.queue.core.windows.net/pythonqueue38c6158a response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:39 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:56 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d5ece920-0003-00a0-6282-49ab66000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_delete_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_delete_message.yaml index 130c2ef3bfdc..f365d38a6a26 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_delete_message.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_delete_message.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 700e6ac2-b575-11e9-94d5-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:40 GMT + - Fri, 06 Sep 2019 21:51:57 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuebf910c49 + uri: https://pyacrstoragebf910c49.queue.core.windows.net/pythonqueuebf910c49 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:39 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 6fa0d299-5003-00b8-1b82-4986f3000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 703beb40-b575-11e9-81a8-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:41 GMT + - Fri, 06 Sep 2019 21:52:00 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuebf910c49/messages + uri: https://pyacrstoragebf910c49.queue.core.windows.net/pythonqueuebf910c49/messages response: body: - string: "\uFEFF1d17567e-77a1-49de-8668-c39e11d95017Fri, - 02 Aug 2019 22:32:40 GMTFri, 09 Aug 2019 22:32:40 - GMTAgAAAAMAAAAAAAAAm3jVMYJJ1QE=Fri, - 02 Aug 2019 22:32:40 GMT" + string: "\uFEFF5b1e78e1-6cb7-494d-85c9-ce919c4e3c39Fri, + 06 Sep 2019 21:51:58 GMTFri, 13 Sep 2019 21:51:58 + GMTAgAAAAMAAAAAAAAA0DS+Tv1k1QE=Fri, + 06 Sep 2019 21:51:58 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:39 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 6fa0d2b3-5003-00b8-2f82-4986f3000000 x-ms-version: - '2018-03-28' status: @@ -102,32 +94,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7046b958-b575-11e9-ac33-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:41 GMT + - Fri, 06 Sep 2019 21:52:00 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuebf910c49/messages + uri: https://pyacrstoragebf910c49.queue.core.windows.net/pythonqueuebf910c49/messages response: body: - string: "\uFEFFfbbd7559-f231-4a90-95a7-d8b7a9a4768fFri, - 02 Aug 2019 22:32:40 GMTFri, 09 Aug 2019 22:32:40 - GMTAgAAAAMAAAAAAAAAvojhMYJJ1QE=Fri, - 02 Aug 2019 22:32:40 GMT" + string: "\uFEFF83f88cc5-372f-4a1c-85e0-c96db16aa748Fri, + 06 Sep 2019 21:51:58 GMTFri, 13 Sep 2019 21:51:58 + GMTAgAAAAMAAAAAAAAAqK7QTv1k1QE=Fri, + 06 Sep 2019 21:51:58 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:39 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 6fa0d2cb-5003-00b8-4382-4986f3000000 x-ms-version: - '2018-03-28' status: @@ -149,32 +137,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7052980a-b575-11e9-acd5-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:41 GMT + - Fri, 06 Sep 2019 21:52:00 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuebf910c49/messages + uri: https://pyacrstoragebf910c49.queue.core.windows.net/pythonqueuebf910c49/messages response: body: - string: "\uFEFF342bb4ac-1b55-4f3f-8eb8-683be933835eFri, - 02 Aug 2019 22:32:40 GMTFri, 09 Aug 2019 22:32:40 - GMTAgAAAAMAAAAAAAAAP4fsMYJJ1QE=Fri, - 02 Aug 2019 22:32:40 GMT" + string: "\uFEFF2e5836bc-2c41-41b3-be9b-e8df0cbfa4d6Fri, + 06 Sep 2019 21:51:59 GMTFri, 13 Sep 2019 21:51:59 + GMTAgAAAAMAAAAAAAAA9+HeTv1k1QE=Fri, + 06 Sep 2019 21:51:59 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:40 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 6fa0d2eb-5003-00b8-6282-4986f3000000 x-ms-version: - '2018-03-28' status: @@ -196,32 +180,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 706aca74-b575-11e9-9228-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:41 GMT + - Fri, 06 Sep 2019 21:52:00 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuebf910c49/messages + uri: https://pyacrstoragebf910c49.queue.core.windows.net/pythonqueuebf910c49/messages response: body: - string: "\uFEFF11c95c1c-884e-4ccd-85f1-022b8d414924Fri, - 02 Aug 2019 22:32:41 GMTFri, 09 Aug 2019 22:32:41 - GMTAgAAAAMAAAAAAAAAzhwFMoJJ1QE=Fri, - 02 Aug 2019 22:32:41 GMT" + string: "\uFEFFec0a12b3-48ad-4d07-b808-e446c7b49dcbFri, + 06 Sep 2019 21:51:59 GMTFri, 13 Sep 2019 21:51:59 + GMTAgAAAAMAAAAAAAAAl9zrTv1k1QE=Fri, + 06 Sep 2019 21:51:59 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:40 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 6fa0d311-5003-00b8-0782-4986f3000000 x-ms-version: - '2018-03-28' status: @@ -237,38 +217,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 70765b40-b575-11e9-bddf-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:41 GMT + - Fri, 06 Sep 2019 21:52:00 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuebf910c49/messages + uri: https://pyacrstoragebf910c49.queue.core.windows.net/pythonqueuebf910c49/messages response: body: - string: "\uFEFF1d17567e-77a1-49de-8668-c39e11d95017Fri, - 02 Aug 2019 22:32:40 GMTFri, 09 Aug 2019 22:32:40 - GMTAgAAAAMAAAAAAAAAqlryQ4JJ1QE=Fri, - 02 Aug 2019 22:33:11 GMT1message1" + string: "\uFEFF5b1e78e1-6cb7-494d-85c9-ce919c4e3c39Fri, + 06 Sep 2019 21:51:58 GMTFri, 13 Sep 2019 21:51:58 + GMTAgAAAAMAAAAAAAAAvwjYYP1k1QE=Fri, + 06 Sep 2019 21:52:29 GMT1message1" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:40 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 6fa0d328-5003-00b8-1d82-4986f3000000 x-ms-version: - '2018-03-28' status: @@ -286,29 +260,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 70821308-b575-11e9-b3bd-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:41 GMT + - Fri, 06 Sep 2019 21:52:00 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/pythonqueuebf910c49/messages/1d17567e-77a1-49de-8668-c39e11d95017?popreceipt=AgAAAAMAAAAAAAAAqlryQ4JJ1QE%3D + uri: https://pyacrstoragebf910c49.queue.core.windows.net/pythonqueuebf910c49/messages/5b1e78e1-6cb7-494d-85c9-ce919c4e3c39?popreceipt=AgAAAAMAAAAAAAAAvwjYYP1k1QE%3D response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:40 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 6fa0d349-5003-00b8-3c82-4986f3000000 x-ms-version: - '2018-03-28' status: @@ -324,44 +294,38 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 708d7ce8-b575-11e9-ab11-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:41 GMT + - Fri, 06 Sep 2019 21:52:00 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuebf910c49/messages?numofmessages=32 + uri: https://pyacrstoragebf910c49.queue.core.windows.net/pythonqueuebf910c49/messages?numofmessages=32 response: body: - string: "\uFEFFfbbd7559-f231-4a90-95a7-d8b7a9a4768fFri, - 02 Aug 2019 22:32:40 GMTFri, 09 Aug 2019 22:32:40 - GMTAgAAAAMAAAAAAAAAj94JRIJJ1QE=Fri, - 02 Aug 2019 22:33:11 GMT1message2342bb4ac-1b55-4f3f-8eb8-683be933835eFri, - 02 Aug 2019 22:32:40 GMTFri, 09 Aug 2019 22:32:40 - GMTAgAAAAMAAAAAAAAAj94JRIJJ1QE=Fri, - 02 Aug 2019 22:33:11 GMT1message311c95c1c-884e-4ccd-85f1-022b8d414924Fri, - 02 Aug 2019 22:32:41 GMTFri, 09 Aug 2019 22:32:41 - GMTAgAAAAMAAAAAAAAAj94JRIJJ1QE=Fri, - 02 Aug 2019 22:33:11 GMT1message4" + string: "\uFEFF83f88cc5-372f-4a1c-85e0-c96db16aa748Fri, + 06 Sep 2019 21:51:58 GMTFri, 13 Sep 2019 21:51:58 + GMTAgAAAAMAAAAAAAAAEcnuYP1k1QE=Fri, + 06 Sep 2019 21:52:29 GMT1message22e5836bc-2c41-41b3-be9b-e8df0cbfa4d6Fri, + 06 Sep 2019 21:51:59 GMTFri, 13 Sep 2019 21:51:59 + GMTAgAAAAMAAAAAAAAAEcnuYP1k1QE=Fri, + 06 Sep 2019 21:52:29 GMT1message3ec0a12b3-48ad-4d07-b808-e446c7b49dcbFri, + 06 Sep 2019 21:51:59 GMTFri, 13 Sep 2019 21:51:59 + GMTAgAAAAMAAAAAAAAAEcnuYP1k1QE=Fri, + 06 Sep 2019 21:52:29 GMT1message4" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:40 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 6fa0d35a-5003-00b8-4d82-4986f3000000 x-ms-version: - '2018-03-28' status: @@ -377,36 +341,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7099d09a-b575-11e9-a71d-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:41 GMT + - Fri, 06 Sep 2019 21:52:00 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuebf910c49/messages?numofmessages=32 + uri: https://pyacrstoragebf910c49.queue.core.windows.net/pythonqueuebf910c49/messages?numofmessages=32 response: body: string: "\uFEFF" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:40 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 6fa0d37d-5003-00b8-7082-4986f3000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_delete_non_existing_queue.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_delete_non_existing_queue.yaml index 8486c697bf53..8e1af2122d54 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_delete_non_existing_queue.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_delete_non_existing_queue.yaml @@ -11,34 +11,30 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 70d52324-b575-11e9-878e-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:42 GMT + - Fri, 06 Sep 2019 21:52:03 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/pythonqueue637410fd + uri: https://pyacrstorage637410fd.queue.core.windows.net/pythonqueue637410fd response: body: string: "\uFEFFQueueNotFoundThe - specified queue does not exist.\nRequestId:74e2e9d8-d003-00cf-7782-4903b2000000\nTime:2019-08-02T22:32:42.0078750Z" + specified queue does not exist.\nRequestId:be149ee3-1003-006b-73fd-64db61000000\nTime:2019-09-06T21:52:02.2150641Z" headers: - Content-Length: + content-length: - '217' - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:41 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:01 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: - QueueNotFound - x-ms-request-id: - - 74e2e9d8-d003-00cf-7782-4903b2000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages.yaml index a588c28d9f98..56bb21f81a72 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7124adf8-b575-11e9-8973-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:42 GMT + - Fri, 06 Sep 2019 21:51:57 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuea7c20b89 + uri: https://pyacrstoragea7c20b89.queue.core.windows.net/pythonqueuea7c20b89 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:42 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:56 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 4efe77c3-c003-00b6-4482-496af8000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7151f886-b575-11e9-a644-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:42 GMT + - Fri, 06 Sep 2019 21:51:58 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuea7c20b89/messages + uri: https://pyacrstoragea7c20b89.queue.core.windows.net/pythonqueuea7c20b89/messages response: body: - string: "\uFEFF2168a4a0-1919-4044-bf63-cc76f0287c98Fri, - 02 Aug 2019 22:32:42 GMTFri, 09 Aug 2019 22:32:42 - GMTAgAAAAMAAAAAAAAA6g7tMoJJ1QE=Fri, - 02 Aug 2019 22:32:42 GMT" + string: "\uFEFF3750189f-f481-4e22-a88c-afc3dff0f20cFri, + 06 Sep 2019 21:51:56 GMTFri, 13 Sep 2019 21:51:56 + GMTAgAAAAMAAAAAAAAAr7x2Tf1k1QE=Fri, + 06 Sep 2019 21:51:56 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:42 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:56 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 4efe77ec-c003-00b6-6682-496af8000000 x-ms-version: - '2018-03-28' status: @@ -102,32 +94,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 715e28dc-b575-11e9-990c-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:42 GMT + - Fri, 06 Sep 2019 21:51:58 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuea7c20b89/messages + uri: https://pyacrstoragea7c20b89.queue.core.windows.net/pythonqueuea7c20b89/messages response: body: - string: "\uFEFFb542402a-96e4-4a58-99a5-bd8197b01d03Fri, - 02 Aug 2019 22:32:42 GMTFri, 09 Aug 2019 22:32:42 - GMTAgAAAAMAAAAAAAAAPL/3MoJJ1QE=Fri, - 02 Aug 2019 22:32:42 GMT" + string: "\uFEFFa48b2010-f20c-4077-9c7f-50fc085ea258Fri, + 06 Sep 2019 21:51:56 GMTFri, 13 Sep 2019 21:51:56 + GMTAgAAAAMAAAAAAAAACEKDTf1k1QE=Fri, + 06 Sep 2019 21:51:56 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:42 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:56 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 4efe7810-c003-00b6-0682-496af8000000 x-ms-version: - '2018-03-28' status: @@ -149,32 +137,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 716943c8-b575-11e9-971d-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:43 GMT + - Fri, 06 Sep 2019 21:51:58 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuea7c20b89/messages + uri: https://pyacrstoragea7c20b89.queue.core.windows.net/pythonqueuea7c20b89/messages response: body: - string: "\uFEFFd41d75ce-7f00-4715-a72a-cc025d04131dFri, - 02 Aug 2019 22:32:42 GMTFri, 09 Aug 2019 22:32:42 - GMTAgAAAAMAAAAAAAAAcfYDM4JJ1QE=Fri, - 02 Aug 2019 22:32:42 GMT" + string: "\uFEFF67b1f59e-e101-4be3-88e0-19a48ca82153Fri, + 06 Sep 2019 21:51:56 GMTFri, 13 Sep 2019 21:51:56 + GMTAgAAAAMAAAAAAAAAW/KNTf1k1QE=Fri, + 06 Sep 2019 21:51:56 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:42 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:56 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 4efe7825-c003-00b6-1982-496af8000000 x-ms-version: - '2018-03-28' status: @@ -196,32 +180,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 71754968-b575-11e9-9ec9-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:43 GMT + - Fri, 06 Sep 2019 21:51:58 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuea7c20b89/messages + uri: https://pyacrstoragea7c20b89.queue.core.windows.net/pythonqueuea7c20b89/messages response: body: - string: "\uFEFF21ea7452-4b68-40a1-a8e9-b6782fa99234Fri, - 02 Aug 2019 22:32:42 GMTFri, 09 Aug 2019 22:32:42 - GMTAgAAAAMAAAAAAAAAiwYQM4JJ1QE=Fri, - 02 Aug 2019 22:32:42 GMT" + string: "\uFEFFc7be68f0-935b-4ba0-95fb-16a9ae3166cfFri, + 06 Sep 2019 21:51:56 GMTFri, 13 Sep 2019 21:51:56 + GMTAgAAAAMAAAAAAAAAwMmYTf1k1QE=Fri, + 06 Sep 2019 21:51:56 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:42 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:56 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 4efe7849-c003-00b6-3982-496af8000000 x-ms-version: - '2018-03-28' status: @@ -237,38 +217,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 71812a94-b575-11e9-9bad-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:43 GMT + - Fri, 06 Sep 2019 21:51:58 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuea7c20b89/messages + uri: https://pyacrstoragea7c20b89.queue.core.windows.net/pythonqueuea7c20b89/messages response: body: - string: "\uFEFF2168a4a0-1919-4044-bf63-cc76f0287c98Fri, - 02 Aug 2019 22:32:42 GMTFri, 09 Aug 2019 22:32:42 - GMTAgAAAAMAAAAAAAAAqbn9RIJJ1QE=Fri, - 02 Aug 2019 22:33:12 GMT1message1" + string: "\uFEFF3750189f-f481-4e22-a88c-afc3dff0f20cFri, + 06 Sep 2019 21:51:56 GMTFri, 13 Sep 2019 21:51:56 + GMTAgAAAAMAAAAAAAAAxqeEX/1k1QE=Fri, + 06 Sep 2019 21:52:26 GMT1message1" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:42 GMT - Server: + date: + - Fri, 06 Sep 2019 21:51:56 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 4efe785f-c003-00b6-4e82-496af8000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_options.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_options.yaml index a78b2b54245b..66af089bf4ce 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_options.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_messages_with_options.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 71b34f8c-b575-11e9-9c01-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:43 GMT + - Fri, 06 Sep 2019 21:52:33 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue6405110f + uri: https://pyacrstorage6405110f.queue.core.windows.net/pythonqueue6405110f response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:42 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:37 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2cf7582d-d003-0008-7c82-497f73000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 71df5352-b575-11e9-89a5-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:43 GMT + - Fri, 06 Sep 2019 21:52:39 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue6405110f/messages + uri: https://pyacrstorage6405110f.queue.core.windows.net/pythonqueue6405110f/messages response: body: - string: "\uFEFF5440e8f2-ce97-44bb-be07-460df79e0ac4Fri, - 02 Aug 2019 22:32:43 GMTFri, 09 Aug 2019 22:32:43 - GMTAgAAAAMAAAAAAAAA2Il5M4JJ1QE=Fri, - 02 Aug 2019 22:32:43 GMT" + string: "\uFEFF2682357a-b54b-4945-b5f9-524dbbd7500cFri, + 06 Sep 2019 21:52:37 GMTFri, 13 Sep 2019 21:52:37 + GMTAgAAAAMAAAAAAAAAZHIaZv1k1QE=Fri, + 06 Sep 2019 21:52:37 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:42 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:37 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 2cf7583b-d003-0008-0882-497f73000000 x-ms-version: - '2018-03-28' status: @@ -102,32 +94,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 71eb7ec0-b575-11e9-9706-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:43 GMT + - Fri, 06 Sep 2019 21:52:39 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue6405110f/messages + uri: https://pyacrstorage6405110f.queue.core.windows.net/pythonqueue6405110f/messages response: body: - string: "\uFEFF60e91a31-b949-423d-adf0-bcd122fdae13Fri, - 02 Aug 2019 22:32:43 GMTFri, 09 Aug 2019 22:32:43 - GMTAgAAAAMAAAAAAAAAPA+GM4JJ1QE=Fri, - 02 Aug 2019 22:32:43 GMT" + string: "\uFEFFb0835a95-e465-4911-8408-e156ecbd0c16Fri, + 06 Sep 2019 21:52:38 GMTFri, 13 Sep 2019 21:52:38 + GMTAgAAAAMAAAAAAAAA3cIjZv1k1QE=Fri, + 06 Sep 2019 21:52:38 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:42 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:37 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 2cf7584f-d003-0008-1882-497f73000000 x-ms-version: - '2018-03-28' status: @@ -149,32 +137,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 71f70f92-b575-11e9-aeb1-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:43 GMT + - Fri, 06 Sep 2019 21:52:39 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue6405110f/messages + uri: https://pyacrstorage6405110f.queue.core.windows.net/pythonqueue6405110f/messages response: body: - string: "\uFEFF8c8ee557-e083-4cb5-bbb9-35cffa0dd7c2Fri, - 02 Aug 2019 22:32:43 GMTFri, 09 Aug 2019 22:32:43 - GMTAgAAAAMAAAAAAAAA2DSRM4JJ1QE=Fri, - 02 Aug 2019 22:32:43 GMT" + string: "\uFEFF74c5b7d8-70e1-4d22-8887-0fe7445eedd3Fri, + 06 Sep 2019 21:52:38 GMTFri, 13 Sep 2019 21:52:38 + GMTAgAAAAMAAAAAAAAApIgtZv1k1QE=Fri, + 06 Sep 2019 21:52:38 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:42 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:37 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 2cf75860-d003-0008-2782-497f73000000 x-ms-version: - '2018-03-28' status: @@ -196,32 +180,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 72022b8a-b575-11e9-8658-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:44 GMT + - Fri, 06 Sep 2019 21:52:39 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue6405110f/messages + uri: https://pyacrstorage6405110f.queue.core.windows.net/pythonqueue6405110f/messages response: body: - string: "\uFEFFc65798ce-04fb-4ae6-b1b5-0620c980925cFri, - 02 Aug 2019 22:32:43 GMTFri, 09 Aug 2019 22:32:43 - GMTAgAAAAMAAAAAAAAAtc+cM4JJ1QE=Fri, - 02 Aug 2019 22:32:43 GMT" + string: "\uFEFF27c2cc4c-b515-483d-9cf9-f229a62c5952Fri, + 06 Sep 2019 21:52:38 GMTFri, 13 Sep 2019 21:52:38 + GMTAgAAAAMAAAAAAAAAsMM3Zv1k1QE=Fri, + 06 Sep 2019 21:52:38 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:43 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:37 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 2cf75869-d003-0008-2f82-497f73000000 x-ms-version: - '2018-03-28' status: @@ -237,47 +217,41 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 720de352-b575-11e9-93e0-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:44 GMT + - Fri, 06 Sep 2019 21:52:39 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue6405110f/messages?numofmessages=4&visibilitytimeout=20 + uri: https://pyacrstorage6405110f.queue.core.windows.net/pythonqueue6405110f/messages?numofmessages=4&visibilitytimeout=20 response: body: - string: "\uFEFF5440e8f2-ce97-44bb-be07-460df79e0ac4Fri, - 02 Aug 2019 22:32:43 GMTFri, 09 Aug 2019 22:32:43 - GMTAgAAAAMAAAAAAAAAdwWUP4JJ1QE=Fri, - 02 Aug 2019 22:33:03 GMT1message160e91a31-b949-423d-adf0-bcd122fdae13Fri, - 02 Aug 2019 22:32:43 GMTFri, 09 Aug 2019 22:32:43 - GMTAgAAAAMAAAAAAAAAdwWUP4JJ1QE=Fri, - 02 Aug 2019 22:33:03 GMT1message28c8ee557-e083-4cb5-bbb9-35cffa0dd7c2Fri, - 02 Aug 2019 22:32:43 GMTFri, 09 Aug 2019 22:32:43 - GMTAgAAAAMAAAAAAAAAdwWUP4JJ1QE=Fri, - 02 Aug 2019 22:33:03 GMT1message3c65798ce-04fb-4ae6-b1b5-0620c980925cFri, - 02 Aug 2019 22:32:43 GMTFri, 09 Aug 2019 22:32:43 - GMTAgAAAAMAAAAAAAAAdwWUP4JJ1QE=Fri, - 02 Aug 2019 22:33:03 GMT1message4" + string: "\uFEFF2682357a-b54b-4945-b5f9-524dbbd7500cFri, + 06 Sep 2019 21:52:37 GMTFri, 13 Sep 2019 21:52:37 + GMTAgAAAAMAAAAAAAAA0+ctcv1k1QE=Fri, + 06 Sep 2019 21:52:58 GMT1message1b0835a95-e465-4911-8408-e156ecbd0c16Fri, + 06 Sep 2019 21:52:38 GMTFri, 13 Sep 2019 21:52:38 + GMTAgAAAAMAAAAAAAAA0+ctcv1k1QE=Fri, + 06 Sep 2019 21:52:58 GMT1message274c5b7d8-70e1-4d22-8887-0fe7445eedd3Fri, + 06 Sep 2019 21:52:38 GMTFri, 13 Sep 2019 21:52:38 + GMTAgAAAAMAAAAAAAAA0+ctcv1k1QE=Fri, + 06 Sep 2019 21:52:58 GMT1message327c2cc4c-b515-483d-9cf9-f229a62c5952Fri, + 06 Sep 2019 21:52:38 GMTFri, 13 Sep 2019 21:52:38 + GMTAgAAAAMAAAAAAAAA0+ctcv1k1QE=Fri, + 06 Sep 2019 21:52:58 GMT1message4" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:43 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:37 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 2cf75877-d003-0008-3d82-497f73000000 x-ms-version: - '2018-03-28' status: @@ -293,36 +267,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 72199b1e-b575-11e9-af02-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:44 GMT + - Fri, 06 Sep 2019 21:52:39 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue6405110f/messages?numofmessages=4&visibilitytimeout=20 + uri: https://pyacrstorage6405110f.queue.core.windows.net/pythonqueue6405110f/messages?numofmessages=4&visibilitytimeout=20 response: body: string: "\uFEFF" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:43 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:38 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 2cf75885-d003-0008-4a82-497f73000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_acl.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_acl.yaml index 19a11b97f70d..5f21bf0d99a2 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_acl.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_acl.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 724c9624-b575-11e9-8cbe-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:44 GMT + - Fri, 06 Sep 2019 21:52:41 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueueb3cd0be5 + uri: https://pyacrstorageb3cd0be5.queue.core.windows.net/pythonqueueb3cd0be5 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:44 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:39 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - c720b569-b003-007e-7682-49fbcf000000 x-ms-version: - '2018-03-28' status: @@ -49,36 +45,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7277f680-b575-11e9-a6c6-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:44 GMT + - Fri, 06 Sep 2019 21:52:41 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueueb3cd0be5?comp=acl + uri: https://pyacrstorageb3cd0be5.queue.core.windows.net/pythonqueueb3cd0be5?comp=acl response: body: string: "\uFEFF" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:44 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:40 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - c720b574-b003-007e-7f82-49fbcf000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_acl_iter.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_acl_iter.yaml index 9ec6b548d1e9..5cd1afc20132 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_acl_iter.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_acl_iter.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 72a7ea06-b575-11e9-a679-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:45 GMT + - Fri, 06 Sep 2019 21:52:21 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuef55d0df8 + uri: https://pyacrstoragef55d0df8.queue.core.windows.net/pythonqueuef55d0df8 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:44 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:19 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - f0b48ef2-c003-003e-0882-49d221000000 x-ms-version: - '2018-03-28' status: @@ -49,36 +45,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 72d1cef8-b575-11e9-bc50-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:45 GMT + - Fri, 06 Sep 2019 21:52:21 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuef55d0df8?comp=acl + uri: https://pyacrstoragef55d0df8.queue.core.windows.net/pythonqueuef55d0df8?comp=acl response: body: string: "\uFEFF" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:44 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:19 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - f0b48ef8-c003-003e-0c82-49d221000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_acl_with_non_existing_queue.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_acl_with_non_existing_queue.yaml index e720dad78eb8..2b3712c9e522 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_acl_with_non_existing_queue.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_acl_with_non_existing_queue.yaml @@ -9,36 +9,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7301c538-b575-11e9-8ee2-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:45 GMT + - Fri, 06 Sep 2019 21:52:28 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue4ef515f8?comp=acl + uri: https://pyacrstorage4ef515f8.queue.core.windows.net/pythonqueue4ef515f8?comp=acl response: body: string: "\uFEFFQueueNotFoundThe - specified queue does not exist.\nRequestId:e081ebb0-4003-00ca-5782-49f7cd000000\nTime:2019-08-02T22:32:45.6594074Z" + specified queue does not exist.\nRequestId:c4622307-1003-0054-13fd-64bf4b000000\nTime:2019-09-06T21:52:27.4277755Z" headers: - Content-Length: + content-length: - '217' - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:45 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:26 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin x-ms-error-code: - QueueNotFound - x-ms-request-id: - - e081ebb0-4003-00ca-5782-49f7cd000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_metadata_message_count.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_metadata_message_count.yaml index bd22daaf805e..cd5a753fed58 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_metadata_message_count.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_get_queue_metadata_message_count.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7354bd8c-b575-11e9-8fbd-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:46 GMT + - Fri, 06 Sep 2019 21:52:21 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuee42613c2 + uri: https://pyacrstoragee42613c2.queue.core.windows.net/pythonqueuee42613c2 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:45 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:20 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - a5826edc-2003-00bc-7982-497371000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 73820418-b575-11e9-ab1e-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:46 GMT + - Fri, 06 Sep 2019 21:52:22 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuee42613c2/messages + uri: https://pyacrstoragee42613c2.queue.core.windows.net/pythonqueuee42613c2/messages response: body: - string: "\uFEFF3e101fac-0087-485b-b494-92a0dadb24e2Fri, - 02 Aug 2019 22:32:46 GMTFri, 09 Aug 2019 22:32:46 - GMTAgAAAAMAAAAAAAAAYRQcNYJJ1QE=Fri, - 02 Aug 2019 22:32:46 GMT" + string: "\uFEFF0e1ac416-3971-4963-a186-04b422da6d06Fri, + 06 Sep 2019 21:52:21 GMTFri, 13 Sep 2019 21:52:21 + GMTAgAAAAMAAAAAAAAA8zgPXP1k1QE=Fri, + 06 Sep 2019 21:52:21 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:45 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:20 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - a5826ef7-2003-00bc-0f82-497371000000 x-ms-version: - '2018-03-28' status: @@ -96,35 +88,29 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 738d2008-b575-11e9-acad-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:46 GMT + - Fri, 06 Sep 2019 21:52:22 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuee42613c2?comp=metadata + uri: https://pyacrstoragee42613c2.queue.core.windows.net/pythonqueuee42613c2?comp=metadata response: body: string: '' headers: - Cache-Control: + cache-control: - no-cache - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:46 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:20 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin x-ms-approximate-messages-count: - '1' - x-ms-request-id: - - a5826f24-2003-00bc-3782-497371000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_list_queues.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_list_queues.yaml index 6a116a8b7836..1e08ace6a44a 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_list_queues.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_list_queues.yaml @@ -1,4 +1,40 @@ interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:52:28 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage9d350b45.queue.core.windows.net/pythonqueue9d350b45 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:52:26 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created - request: body: null headers: @@ -9,37 +45,31 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 73bd1000-b575-11e9-a3bd-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:46 GMT + - Fri, 06 Sep 2019 21:52:28 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?comp=list + uri: https://pyacrstorage9d350b45.queue.core.windows.net/?comp=list response: body: string: "\uFEFFcont079e53b6285d462b80b03b642545c8cecont189cce925f2b4bb486c0723a407941cacont270f85ade4ef4fc085727f90367b3c18cont2a13557b64914cf39299097cc1b22ed4cont3b59e2e7def04258824d6de7c802b056cont483db24a585b4602a62ba5f57c045093cont69af6d7f103c4d7b9b08abca4a760fd0cont7783e8311e224b03a658d6a35281a381cont86a3e2a1523443e392221f578ee21793contc9644de2738c476d9b80652d722a2d93conte753f547f8954cdaaaef56fcedb753ddconte7e0b2cd8aec4e828aa9f14afbda798bcontea4add581ae746f69ed0f72f8842631eencryptionqueue0097120ed98c4ab897ab5b43e078ff6aencryptionqueue016f931800f2406d9f25b54df61e5565encryptionqueue02730e3442564930bf34778fbd48d093encryptionqueue0372ba6784084ba58e90d56221a93e0fencryptionqueue042c5d6cead5458da955da1c5d79af86encryptionqueue042d7ab9f40d4b25bca7ad3ccaa64904encryptionqueue084d041c53a54e9084c5dbc97919de94encryptionqueue08cd92e2ea324d648d27bd90e0a2033dencryptionqueue08d8c139169447468949bdbf635a844fencryptionqueue0a8af1a82ec845149071171889f54ba6encryptionqueue0b0c49d937714cf3aeef9c2cdb3912eaencryptionqueue0b77d1f773dd4d7694dfb5f0e5a492b1encryptionqueue0c38d2a5f8ac4f1890705f2c6afe101eencryptionqueue0c54480c9ca6490b9b572e1cb10df446encryptionqueue0e7203c6d1f34819a46a88cae17dca38encryptionqueue0f6e2077abba4ed29cdef11318405f95encryptionqueue100cefda5d8f49528deec587851311b5encryptionqueue104f00a86dfc4c7dbe572c094b2661c0encryptionqueue1090ce1d93f04f6d85e3d4b688ee1e98encryptionqueue12a82a4271fa411581d74ef5ccc48950encryptionqueue16d5e20f58064a4fbde1e59bf717b443encryptionqueue17c36c0abbce4861bf03e9a481b1c12bencryptionqueue1a0f06c3e1c24961b9cac3e5102d55fbencryptionqueue1af22c2e37424f0cb3f4328677f8857eencryptionqueue1b6e45f94e4e4dceb8e5facda49c1d52encryptionqueue1ca72fd152ce4f3e81a4f226b027ab76encryptionqueue1cfb9275c8694e35998e66fca7da24e6encryptionqueue1d2ffe8663cc4b97a36b6e23ce20c6efencryptionqueue1d30b3d8d40649309819810c62b41d78encryptionqueue21938f5cb8a8471f880a2075d70ae1d6encryptionqueue229bd430a4b44bd4aa772f986066559eencryptionqueue26a95595ab264b2898ada5abefb52595encryptionqueue2799a0470dd1437880dc54cf06025377encryptionqueue2900a41e28544c0b86725dd598d95955encryptionqueue2972c516b21e4cd0aabed862f09a47ebencryptionqueue2b1811238dc44cf080f481d8ec68a826encryptionqueue2c58bc2059e94665a2c8afa7407529c9encryptionqueue2dc4bc6cb5a4428499603704eeda993aencryptionqueue2f2d395b74ba4a838473462fcf6f6922encryptionqueue2f714247d5f047c09be8fdafaef6d5c4encryptionqueue2fcef7344a1246809d02b60f1d039261encryptionqueue30e90209e20640ac999c43b8b2d748d6encryptionqueue31920fdafa5b4888972b21ba4e328f1aencryptionqueue3277eb25021146799ff603bd9b3df5b9encryptionqueue346f6f38ac8e4e30ac47844dde558a73encryptionqueue348bfecf0dad46129ecd1707e272709bencryptionqueue34a75cdb25be480e8ac1a31442fd0146encryptionqueue34d386b0ac8444ff92be5970946fd493encryptionqueue366bb78e99ad47ffb77bd270c98f4041encryptionqueue39be41c1f6d3427a822684954cc3db93encryptionqueue3aa5c50ec3b8461ab0a40bee207eb6eeencryptionqueue3b8773119ca24a99880df6bb9c20de0aencryptionqueue3f1145e9a9be423cab5c73b9bd74fe13encryptionqueue40a3e078eda0432dacf8e81f6a058cb8encryptionqueue40a6c172b6b04b8c8e0aa654644bc24cencryptionqueue42a1307c137342bcbd575329d3baf985encryptionqueue42cc363cd2de4df4a51293c82c968494encryptionqueue42e090d9a38f4a4ab6676f3c83c4ce45encryptionqueue43a3cde167144fd8b6e766675c734f6bencryptionqueue43a531e62b634ab4bd70d400bb964317encryptionqueue43bfd7d10982430180bc4a50acc410eaencryptionqueue453b36a7a786488fad7b1f3c1b0d32ffencryptionqueue45dd63ebfba14885931881d7f304c5d8encryptionqueue4b7a63dfa33440768b92d4abe1f6af1fencryptionqueue4c7d4b04f8eb4c90b1dfa3ee5a1fc1c4encryptionqueue4d6b09b0ec434352b977c2e002471506encryptionqueue4ddfb8074fe3410fb000c5f16db13366encryptionqueue4e81724d05be43ac9a06c96930783b62encryptionqueue4f553e48c0cb4ebdbaf53c15d18d0053encryptionqueue501c68c596a247e5a76644e4144587e6encryptionqueue54143dc3ff8843e895ab324e9ff11abbencryptionqueue54485b16c40b4d759bf2c05c8f0a9f67encryptionqueue54779029395a4303af2970d4f9b47e5fencryptionqueue548ac7ba391d40079564aada806782f7encryptionqueue55a1dd25f17f44e99b19827dc46e44fdencryptionqueue55f6d39108404ccbbd21a7a0d922b697encryptionqueue563fd46354b34941b4e953fb0a61da4eencryptionqueue56a3936979574c39be62b5cc5589eb18encryptionqueue575354c26ea843d0850bc55d9e161572encryptionqueue578c7843b1ed4b5093f8b62224aca5c0encryptionqueue57a8960985eb4126b0c1dc1e58992203encryptionqueue58b8dc677a8649da8e8fd31f6d8bd615encryptionqueue5a1d5296c33f499c9d78da514015ac82encryptionqueue5d14f941f9974c1785f46c6f50f7c26cencryptionqueue5d4407051116441c831e8ffd56e6bc50encryptionqueue5ef21f46760b48399ebb7698ca5837fcencryptionqueue5efe7a4d22114c4da80264ac29ead426encryptionqueue6277ea8364e043a6b08deabde442c615encryptionqueue62a53f41aab443f98a072b0d5006fec6encryptionqueue62c0040941e0456d85d859a25a497166encryptionqueue632fd9e53b73412baa17f9061d1cec69encryptionqueue647092dc70bf4cf2b1f24e9ae92cf81fencryptionqueue64bf1697566d48a090b3fbd976a41d13encryptionqueue6840112ff5e8468fbd5b5110910f601dencryptionqueue6ae6bed50bfd48419782bc922d072f5fencryptionqueue6c2b326005104aa1b50bafccbb1a27feencryptionqueue6f2e68232fc040468b036ee14d35b743encryptionqueue6fb8e1ec7e3d4c3e8d973b8c9a7eca32encryptionqueue729fc126bba44466a8a8792164cd9cc5encryptionqueue731453c45d4145e38233d2bc57ec42beencryptionqueue7387f096a56e4b08bfc28fd1b4f1ca9fencryptionqueue73db9ba0d6bc4050ad28ca2826252907encryptionqueue73ea459f720f4779a1aa44684ad4d439encryptionqueue74c27cd56f9b4a54896f3e66f1aba084encryptionqueue75576ffa60e5499484da7e9f8552a28bencryptionqueue7844c5ebb35c4ff5a8a908925ff5b2f6encryptionqueue7a15c02234084348921858a79cf2fb59encryptionqueue7a2fe30b64604ae98117a034072eb6b9encryptionqueue7afea18bed6443f48980e1fe6ab26438encryptionqueue7b094497db4d48f39d6831657db9d700encryptionqueue7b639b8c9fc64d3388d1500bd409abfbencryptionqueue7bb89a64ec5b43ffb98404ee0856fc7eencryptionqueue7c287c2c8b224b90a9b8375b6669f3b1encryptionqueue7eb3f2cccffb449983783b523a54793cencryptionqueue7f52074e87874337855a6a933dd8a9e7encryptionqueue7fa13c40ab884ef49867a67217d3ff44encryptionqueue8113b375e1c04b2488befb80af533364encryptionqueue8282ee8638434433824cfbf6aabd2c1cencryptionqueue84472b92e9b24bc690807909700c046fencryptionqueue84f1a9817f284294b48fec16feb9877eencryptionqueue852991c0af6c4bff98cba25147726206encryptionqueue871b5a2c8cdf449bb9dc1243dc50b83aencryptionqueue890c3286f4a044b5a4db736fd0c74651encryptionqueue8b7230e176e843f382fecf591253f779encryptionqueue8b8a258efc034a7f872045f4c420f84bencryptionqueue8c454d5bdad7473db6b4b974670c6cbeencryptionqueue8ed7dafb9e09414d893170fe3f62f97dencryptionqueue8fa5f7e78d1545df800daa008c8ec4ffencryptionqueue95e33914f60a4b049c6bef1ee383d65eencryptionqueue96124da0010144738bec152eec784ebdencryptionqueue96dded44f2f344789188fa9c3964de11encryptionqueue9719f6cf580242068b12c7e8b660f022encryptionqueue9833cb53913148b2a001452df7582b3cencryptionqueue98ec4d4d4e2240f3a61274ad08ac0bc0encryptionqueue98f22c625f624b72a2f92659b48cd169encryptionqueue991b053961254971b4dd975189f751dbencryptionqueue99b084996b774a7d8d5e28876bc02c2eencryptionqueue9d95735ce2d847e98a95054d9cf3d313encryptionqueue9ddfc660cc324bebba0293710024e72eencryptionqueue9e05eaccf8444710be29e3a123358061encryptionqueue9e1f2ca3d71e4279828ba714f41415d8encryptionqueue9eb22b8388a14b0fad71f195ffc3100aencryptionqueuea094fc7fe61e4757b149cbebb0bd78d0encryptionqueuea09c4705b53c4f58b0393abafdf5a200encryptionqueuea0bcae312ea34c6fa305d62ae8aac550encryptionqueuea1efeef131a145cc8521feabebfcfc5bencryptionqueuea322f5ccc502444ca7063606871b1590encryptionqueuea350c1ca20784ecb9c5bcf131c1a9c8bencryptionqueuea4b2767e118d432f8fad88f19c4561a6encryptionqueuea535995a95e640769918c1e870ebb233encryptionqueuea5c8ec3bec41410385ac6c27271877cbencryptionqueuea8c69b03c1664680b578ba4bf578b208encryptionqueuea900b51280574a0e9b3fe2f6b6cb5222encryptionqueueac79ea38948c4572928c2e1a73d137beencryptionqueueacd7302e730d4824b9e71aa395c6dc93encryptionqueueae725e81989d4b5fa791556de4e7655bencryptionqueueaf127f4aaf7c47af9333f63dd4b0c6a9encryptionqueueaf3e95f0366f4d0fb9b9fbac2fe72c79encryptionqueueafed3761a4f74e22a5f31ce45b786c07encryptionqueueb0131a1971d64828983c8040a13c61e5encryptionqueueb1a90dcee0d149de813ab8dac0b236fcencryptionqueueb1c948cb612c4a858ac7e75eab66fb3bencryptionqueueb3fbcc426aba4a05b8ecdb338cae3ab9encryptionqueueb6094ca059f347439868857ea12535d6encryptionqueueb673014fa4e54f0ba1551c1001a1df42encryptionqueueb6d3a61656854bf5833a8a90a4b905a9encryptionqueueb76ae911f3ff4ec5b27123497942d493encryptionqueueb8ef3a21b53f49af892c74d42ba18b96encryptionqueuebb05e068dd5949bb8e55b9e7755ed4efencryptionqueuebb41a275766e4b60bb2007d8d675ec92encryptionqueuebc2c62bec21f471eb3fae42dfa3e642eencryptionqueuebc30f43cd68346578a3e42d46fd7ec38encryptionqueuebcf4e16d0c954ca2b2cc3780279b57f4encryptionqueuebed6a6c2cc9c46cfa50c10f3183d1a1aencryptionqueuec14f669e1654453f86bd0c076a0cd9feencryptionqueuec16c0d23cedd454892b3c4f76d495908encryptionqueuec16f1bbaa7fc48ceb567bd7b11a2556fencryptionqueuec177ffe3df4c48dbbc749dc4e0973684encryptionqueuec31afa3541c445f4bb777ead59ae790bencryptionqueuec38fe03cedbb411e94b9203b197fb0c6encryptionqueuec3b13da7a37f409e9714a6a4117ec756encryptionqueuec61f6c834ea64f438c5202b974946cf9encryptionqueuec79b3108f23f49e6906d2f760ce2b54eencryptionqueuec89774bd3f5b466e9dceeea90e8e8724encryptionqueuecaebaea357f54a949825a45352ab4a99encryptionqueuecbd50b5188d94b7aa68da1a1ce7ef372encryptionqueued01e401e62144ec8ab904c9a6e3e71bfencryptionqueued1b78feae009454cbac9702948a1e6a1encryptionqueued1e8f34c11964890ac894b6fd8577db7encryptionqueued2d525d0470f4191b1ab3a8ba2909177encryptionqueued4d4d67cfc0448a7a777e886b5d0b3f5encryptionqueued4f0a9fe06ae491f9168838be1f4975aencryptionqueued55aa01a250347ea91d52a5d88b911efencryptionqueued750cbf61ebf434c9601fac592093d06encryptionqueued7fa2d24892f4216837e55d4348c10e6encryptionqueued8dc2f213287470f8761f21dc317cfdaencryptionqueued8fc9376492440a784f3d50a9227822bencryptionqueueda95cb66582c466b90bfb9b337234d8fencryptionqueuedb45a696e5964d93b4cd220fff72e535encryptionqueuedcb9b45ad7e64230aec0ed559481a1eaencryptionqueuedcf328abf4054712ba2ef7c19007c84cencryptionqueuede8196867c49429eaa5460e30b8fffacencryptionqueuedf4de28a5a8f438aad90b9034fb48c6aencryptionqueuee0ddb3fcdbfe4594a3729791b111d642encryptionqueuee0f4d87aaef4424eb900dde7f974c64bencryptionqueuee1c280ce4c7145298c5fbf8126c9b6a8encryptionqueuee1efbf8b5799422aa9996f900071fefbencryptionqueuee5221cea2aaa4043a1f26787a0d82493encryptionqueuee567e008b8034065998e4f31939942b0encryptionqueuee65728e461f14fa795e166269676f1f6encryptionqueuee8c0b76f283545c9be204243a30c706fencryptionqueuee964e4aeae1c4a31ae7dde9e305776cdencryptionqueueeb07e5dbfec649c6a847a094ee810d0eencryptionqueueefea9653fb3141359a3fe65b1deae766encryptionqueuef043e433128a4d289090e16147a9c9e2encryptionqueuef28c24397a584cd8b2cca06eacb4830bencryptionqueuef2921ccedcc842f9a6933898ba54073bencryptionqueuef3312476ff414a4a979a927c8da3b725encryptionqueuef34eeefaa5c14c099bd637bc90fb4ad8encryptionqueuef48cb3e76e204aa9a4480a0f1536a85fencryptionqueuef4afbca3e6394e5c974697bc266516bfencryptionqueuef515fa24ca324570bfc3e75d35edc03eencryptionqueuef586189ff3904f28b26d148c7bb4f90fencryptionqueuefa3b2fdc6f574577963017409efd78e6encryptionqueuefaebb1a83cfc43aebf659f32f2b84e56encryptionqueuefb70345a0b9c4b49b54a4f45f2114b9dencryptionqueuefc17a14f8453407785b99620e28e3dc5encryptionqueuefc900076b063415881f903a569feb4c7encryptionqueuefceeacd2e39f491d9c3fc6bdc04389ccencryptionqueuefd764c95527b4b31a22d608f44e9dbc2encryptionqueueff2895bbc9ba4233ab8c7f2a975393ecencryptionqueueff4e986084c5414fa31c14574dc3cc32encryptionqueueff9f27649b6c462cb05e58b864daa7ebencryptionqueueffda7de0ba364f759c1acbac6454f0d9mytestqueue0219fc1ade71450e92b057fd4d4ab7dcmytestqueue02251eadc2864c7bb5f90049062e99b6mytestqueue0339d719b4f145f5a73ba4eaf82b701cmytestqueue06a5302794394219b0f8a2e79bdb1277mytestqueue0849bdb669764fef9016346990c5da40mytestqueue090d43ab0ca644bab2704b663c370d4dmytestqueue094a0e0a97c647f6b115f7fb3350b28emytestqueue096b3d69dd1a415783e361a016b7171emytestqueue09ec318d047a4f649a5bd82d04991922mytestqueue0a44935b057f40fbbba55600ba1488a5mytestqueue0ae5d7edcfd1423b9bf0b7dd28ae0800mytestqueue0d020ce740154cf8bac50f921730cc6dmytestqueue0d53794f763e46af99a48fddebc3181emytestqueue0efc481803a74a27aced4582e4421f52mytestqueue1024fe31a16a47718921d8ee34f80309mytestqueue10737ee4c08c4acaa3f6daf2458872admytestqueue11eaf3f7b5294f5f973a88b02947134cmytestqueue11ebd8d7cf2b460ba5b5cae9cd8e8c1cmytestqueue129e13914f8a474ba9a722e8e7242dcdmytestqueue131627186d43423b973c451c81e3f82dmytestqueue1361a4c512d84131a9da185a7c004598mytestqueue138682ef9eca41129fd2a1ffad2a5ac6mytestqueue13e19fefb06d4c1b84e38b7baaaa7a2fmytestqueue169cf5534c7d4b96babdf8b59df3cd08mytestqueue17ba6472dc9f4429992e44516b5ce91dmytestqueue195d82bfbfc048599977f3cc2c25553bmytestqueue19af118ef75246dabb54335dfbb69db4mytestqueue1cb3a67a039d42eb9332956de0b78f42mytestqueue1d835889720844e5a14d97d7321d03f9mytestqueue1e78a61f11ca49d4a8a1cb4b52703342mytestqueue20bd5e1c8e1248cbacd4fcd79fbb884cmytestqueue20eaa0d617d748df8711d2f114dd769dmytestqueue2156b0495b7244aea5ddb077441b0f50mytestqueue2190160110db4163af59724b048f802cmytestqueue220465900d0a422dbfd9d5cb58499336mytestqueue2358d205c86e41b7a3218c413267d7efmytestqueue241d1495mytestqueue24b864c4dd8647b7bd63145fc35f4e54mytestqueue2763152f95934cfea34f2cf2b11acf25mytestqueue27e2f02665cd4207b75f1ab53cd55e0amytestqueue2877c5fa3cb54e4e9bb24de2d49ccfd7mytestqueue28df46199e054f15bdd3d87da84e6a2bmytestqueue28ff9eecf8cd4fbb83822e34ac3f99f0mytestqueue2c520166bf0646469dba2f30677fd8d2mytestqueue2c6fdace4a064ee3be9430f412945336mytestqueue2ca89fe6da48420dbec6e8a8817506b8mytestqueue2db5240979114e55a33d6e857cb58a99mytestqueue2e59c98dff6548a799123db4647b8061mytestqueue2ff15b302b284d3d87c26c48fbba0abcmytestqueue30e90f7ba8074d5794508eb630309d21mytestqueue318bf87352434096b6b1d65ad1387814mytestqueue32027843131140839df79a7a573bf638mytestqueue325802c3978942aa9170214c2de3bc63mytestqueue339d8bf8b99d43338c93c334994614e7mytestqueue33dd7f487c454796aed8eb5adbb3e683mytestqueue340b044b833d41ba96b65fecde9d9332mytestqueue34bf34f9e779420e9ffb3d95423cecddmytestqueue388b5c237158440086358774bda7b5d6mytestqueue38a4269fcc4740159f9dc30d6c98c583mytestqueue393b14f7mytestqueue396a127f476b467ca91c640d3cedb2aamytestqueue39b1e7d68fcc4b76b2f1ebd0b43dd980mytestqueue3a34b2a9126c475e8f0de1c3092e9bb0mytestqueue3a9d911dd0384e2688e4051ba50fa5demytestqueue3cf14dd84ed441a2b80b4d1e38145389mytestqueue3cfead3f95fb4f2a9903f77a1fab1e40mytestqueue3d23097d0df64000ac8368a753b37323mytestqueue3f1c857852744a34a8d1f379069e97c0mytestqueue3f63c50a207a48b797b64dd7c93175fbmytestqueue4061b011dd8d4c03a2f058976eba6809mytestqueue40d98ea70e1d472bbe03ee42d02d9343mytestqueue42332e736e09463db66e341be1a37b80mytestqueue42ceec4da33b47019af8fac1a4f4bd9bmytestqueue42d5713a7ff34229838ddb4c0a3089eamytestqueue436a8c91544c4700a03c44778a225f88mytestqueue441eab189ab6405c8d02bdb58bbf81f9mytestqueue453d1525mytestqueue4644887fc41d48eba076b552355afce7mytestqueue48257081a6534dc082763d081172aef5mytestqueue49935eaea39a42d99c2af13c2b554eadmytestqueue4a06296afa2641a988b3f1f713ab59d8mytestqueue4a4b06eadaca4b66920ecb15a72237aemytestqueue4bfab7b6db924e65afcceb07e3132e4emytestqueue4da3ba550b77418fa88bb240e6f55b43mytestqueue4e4859f39d7b4a7793374854eb9a23c8mytestqueue4e7b4012dca849e6bdd0bf7515bcc4e0mytestqueue5047fa41d2e84dcb84f094abb5646617mytestqueue50868d41427b446083ef108713e9da6cmytestqueue509615f0mytestqueue52aab2e1ffcb4468ae0e6fcd44b9ca74mytestqueue52c687986c3f49ebacad92814683cc53mytestqueue5367c4aeb1224dcea8570a0f496aee9dmytestqueue54fdb4232e90452c8f2bcde2e86a666cmytestqueue56023bca72c04a6f9021822e617692a1mytestqueue56bbfe8e7b5a43f29c424aa791f1a3c6mytestqueue5892f8983784411abb16402797c8f9c6mytestqueue5894e150241d4036afd116e019cfaa05mytestqueue5a7f7b831b50412796f4cec5b225de60mytestqueue5afaebce92fd438d8955a57aebea95fdmytestqueue5b149d9025cb4ba586c8d423a21f1d44mytestqueue5cc3f3af56ff4ddfbe2509cd46667f9dmytestqueue5d582e575bd9425cad0a068ee180c787mytestqueue61523c5d0b334277a325328ea3b9ba5bmytestqueue6160042bd21043d48a8b1e1ec5d766b0mytestqueue621a15593a554621aee9cc3e5544dfa6mytestqueue6486f7835eb64320a55410d4fea432efmytestqueue658ad421d040451188df576396d4d023mytestqueue659e455dbd7d4d8080ad8a57684894cfmytestqueue68e4262d91354cf8828d9c6622e151admytestqueue6911f73c444a46b7b94fa7c9c221a49fmytestqueue6943c97dbdb349668459771f77902a7cmytestqueue695261e39ff140b799ef6a38fa5014eemytestqueue696d0ceac73f4acdadf9b367853d4cfcmytestqueue6996d04ef45d4106ae09d654cbfd8427mytestqueue6ac45d9688a14a9c82af3da4d3050e3bmytestqueue6efd2c4ccaa440068a44295bdf6af700mytestqueue6f20e40e84d049b989999bd812eaa572mytestqueue70a86c66d369445a8d4150786c0924dfmytestqueue7112bc23f05d436581a442ff5a30a502mytestqueue71cffa274eb8467499f1d3929e0b547amytestqueue72eee81ce3304a85abae0da8da2fb971mytestqueue73809c04b0814c349f3d376acac21936mytestqueue73bf52bde9ad435fb8f25637f9e02a78mytestqueue74eabba1cee848d289770085b26ad0aemytestqueue7505d731b63d442194eabebca60f4489mytestqueue75b91164mytestqueue7797991834d04896a95ef93936c7c681mytestqueue781ddf284f8a4d03823ee7645057f71bmytestqueue78518a7bf157468aa1dee8b37f1e922dmytestqueue7a0bf1563a2b4188bfe4b546a4e03342mytestqueue7a28be41abdb4d769d53b1dece8f73e3mytestqueue7af12e3c329848378893b4b8e3ef4c7amytestqueue7b66f96b9f014a82bad470b8f71caf92mytestqueue7bb43c39f35d431e9ba1c8b122cf9777mytestqueue7c6abfdf443f467090ae8a014be8aa4emytestqueue7d879d082cfa4a8782d6fb4a3ab53038mytestqueue805920c754b041cf8deceff58400fa53mytestqueue83dd9b0186b14fa08141840eae687171mytestqueue85130c472a0b488889663ea8606040e2mytestqueue854d653eff6546f69142cf06af2649b4mytestqueue8559061c61334fa1bb959aecd0da4426mytestqueue858269125a914dcf91187fb153c26892mytestqueue85b8f0e97f5a4cce9b355fbb147c3de7mytestqueue860a1baf5fae486097187b20bc6e7055mytestqueue87d479080c3542c7b8e5a219c3d8db39mytestqueue881db4a38e544258a279c191099a25famytestqueue8841abf9ce4c49edb7185b3f6c1163a7mytestqueue8a876832ac724331953179440a394cfamytestqueue8d30e5ff24594786832c4296abbfd864mytestqueue8d987988c256454e9f68da6e67fff14dmytestqueue8df112ada19b4f3d9234ff22e5c43ce0mytestqueue8ee22ba4e8ac45edbec3325bef58ee43mytestqueue8fb3a010f99b451382dab5b4857657admytestqueue91da76f73ae6480886ef23892623854dmytestqueue93f9e039f73146698134101582558319mytestqueue958fd288fb81413d9544c24b001f1456mytestqueue960ac977f1ac4e60abc38e7c430baa4emytestqueue963c7230424b4c7ca2e6d23a159ca7edmytestqueue96fdfe8c6b134c5384b58c17301f77fcmytestqueue982f67ad01c34da3b0d74c7d0f3dfe55mytestqueue987c3f3e22964e53813fd9cb9ce96a11mytestqueue9aa0c8da777d4cc5903a09493e4686e1mytestqueue9bba16da71034cda969b5445dce6530bmytestqueue9bc49840cfca4e40878d36a28a9e7fbamytestqueue9c323778dc43455bb754412c649043afmytestqueue9ce26d4316bd422a834d9a337dc0a026mytestqueue9e9dfa2473c2401ca2054ce6a3f4614cmytestqueue9fa9d06ac8bd4c588bb2ab3de000eed5mytestqueuea1fe7aa90c8146ecb8a5d945c2252474mytestqueuea225bbfbaead4263ab35865326c742bcmytestqueuea6383e3c9c5344edbf1307b0c12a14f3mytestqueuea7a6653b1b424ddda0a741ea5b1ac88dmytestqueuea81c6600c1b84e41bbd60fd27ce5b417mytestqueuea8de147b194d4bfcb5b59a5f5ca084ddmytestqueuea971fe7d1a344b0b98056bce3afaff5bmytestqueuea9741dcbab624d088e36d224439eb695mytestqueuea9c1bd5618e34125b8a9f689d4a707fbmytestqueuea9e1b0fde8be4118880a510fbe1e589amytestqueueaa1449a0259443b2a44d6ac888d60f6dmytestqueueaa5806c6272d4417a225492239b5ace3mytestqueueaa66e82f3dec46e8839d7715a1d2a043mytestqueueaa760426206d4008bbd94b5af569abe5mytestqueueaafbbec0805c4ca38f01bd01160ec301mytestqueueab101218mytestqueueacf3758b63284ca587aea8a6dd8c540cmytestqueuead335566dfa74d24b7e769693e15f70bmytestqueuead5904d8b8414594aafb6e16c6b90ae1mytestqueueade2d95c2adb42d39897c79a2d2bd732mytestqueueae24b769c11c42f49aa92dd543ef8370mytestqueueae85786599ac40f4bbfc49f589437619mytestqueueb0a78d5a40c64109bbb04f9e75ee6198mytestqueueb21ab3fae3944321834f8d1d3c14eb86mytestqueueb3a17249fb3d4d808f3f11e675a48db6mytestqueueb889933f2d514a01aa066ee6f8527f48mytestqueueb8af4c65c68d40dfb8a43be7f1306736mytestqueueb8e27a5377c746a89684599593c48fc9mytestqueueb8f387b3e88142d994f1b67cc4c3b8f5mytestqueueb8f7c7c0b5334dd28a372483fe34cf85mytestqueuebdb1127amytestqueuebf21883bfba340208905b9e8dca3dbbdmytestqueuebffa233e092b4a9e9addaa8410c2f8e2mytestqueuec02cfaf02cbd4abd9db6056b646b4c2amytestqueuec33012f32b444434a7ae346d695c016dmytestqueuec378f3be6b6a492296d3b7adc9fa124bmytestqueuec3ae673fec224ae08b33380edc2d3017mytestqueuec61106943fef46c58625ead6852f6544mytestqueuec6a88153e5204900abb7cc5db2263871mytestqueuec70725799b784adb8ccbeaca719182b5mytestqueuecad9edd8b29944c2851e2510a965609fmytestqueuecae52f66c12b40a58766acbe2ff6a039mytestqueuecae6805767fe4b51b3de75dc3a87b6a1mytestqueuecaf53e13012d41b48f81ade204f940bfmytestqueuecafbb33045ae477cb30e960324edacf2mytestqueuecc379b71e4674723ac1bd2e873b316f2mytestqueued02f34d52044423e968dd4b55078d55cmytestqueued22317a2mytestqueued30f9eeec88b4c2e80901b6710f09487mytestqueued3b0dc497b92494fa360d4254cb1a55dmytestqueued410fb6be6c344c3b88b95dc07c09f32mytestqueued6a3405cdf904b19a1481eba7c8573bcmytestqueued6ee555754ed433c84ef925b76ac81c2mytestqueued84b35b6f1f24d42afd45ade5d1dd374mytestqueued87e54ff46704900ab5b8091d0e0e584mytestqueueda3bab307514458990f7e8680f8cc1c4mytestqueuedbc04470f1534b76a39606f82a0a9eb9mytestqueuedbe56167f9ca4c2b8a56776f55e30679mytestqueuedd7c186dmytestqueuee0cbc45e20ab4930ae9cbcf71bb0ebb1mytestqueuee1e1248a89854ded8e15dc43c98ca3ffmytestqueuee1eb8770bfc14ea68e1ecf5998510802mytestqueuee2298173ac224ab6931c525d61033dd8mytestqueuee2731e6215af45eeaf7a7d0853223a62mytestqueuee4be0725f15c4bdcacd70e3f386bd278mytestqueuee502ace649084b42b7e438a4852a2d04mytestqueuee69b8c007ac249c28a139e4c2bf422afmytestqueuee6e7007681db4f38bd54b1bef2dc561fmytestqueuee74013e1mytestqueuee7d1522da1024b62ad98758788f8bb60mytestqueuee8521fdb8dba408887e0c5c5a0a71963mytestqueuee87b6d1aacf54490b97ade827772735emytestqueuee9258d0f6a424dacb443807783c770abmytestqueueea01d18298ce4695bdb9f46a923010d4mytestqueueebe246cf030c4889997884bbf9b751ccmytestqueuef0a9a0a2ad674a91af11a7134ea213d3mytestqueuef17d47f32eee45fdaa8403951b52cbcfmytestqueuef1fc77e7e7a64e12a523ff7c226bc098mytestqueuef25e76f608ca41d19f77b300f17cbe79mytestqueuef2eab9ef80fd4906a050ca1b12bf0c81mytestqueuef4c4a9ec99df4d3ab2f1381daac21050mytestqueuef4d662f2458048819862b9dc2b99e0f8mytestqueuef4e3d4b58b5244d69e414898b9c19522mytestqueuef55043a7cdc140da84d260d6d21d5b96mytestqueuef597e9b04e6940178368ea7067a0d127mytestqueuef5e8a16e00954635bf0d4bc28e9758e9mytestqueuef6a421d877e542a493bd7319e7cf704bmytestqueuef6f2fa1d36b947e4879469f23b1d48d2mytestqueuef7218773c2504e3f91d4b52abdeedf60mytestqueuef7e117b62c1f400f8e6ec44c05ab17bdmytestqueuefc681a690e364421aee2604578788433mytestqueuefcb9b981bd2240bc982c63ca4aabe3a9mytestqueuefe70fb5cd21a4fb095adb75b56c541c9pythonqueue9d350b45" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:46 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:26 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 44fce19e-9003-00c8-3082-49f537000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_list_queues_with_metadata.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_list_queues_with_metadata.yaml index 8ee844bd45f7..435f2bb8ac94 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_list_queues_with_metadata.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_list_queues_with_metadata.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 74106be2-b575-11e9-9a86-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:47 GMT + - Fri, 06 Sep 2019 21:52:38 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue665a1100 + uri: https://pyacrstorage665a1100.queue.core.windows.net/pythonqueue665a1100 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:47 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:44 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 1b286c0e-e003-004f-5782-49a018000000 x-ms-version: - '2018-03-28' status: @@ -51,13 +47,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 743d3994-b575-11e9-a354-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:47 GMT + - Fri, 06 Sep 2019 21:52:47 GMT x-ms-meta-val1: - test x-ms-meta-val2: @@ -65,19 +59,17 @@ interactions: x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue665a1100?comp=metadata + uri: https://pyacrstorage665a1100.queue.core.windows.net/pythonqueue665a1100?comp=metadata response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:47 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:45 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 1b286c1c-e003-004f-6182-49a018000000 x-ms-version: - '2018-03-28' status: @@ -93,37 +85,31 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 746d2948-b575-11e9-82eb-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:48 GMT + - Fri, 06 Sep 2019 21:52:48 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?prefix=pythonqueue665a1100&maxresults=1&include=metadata&comp=list + uri: https://pyacrstorage665a1100.queue.core.windows.net/?prefix=pythonqueue665a1100&maxresults=1&include=metadata&comp=list response: body: string: "\uFEFFpythonqueue665a11001pythonqueue665a1100testblahpythonqueue665a11001pythonqueue665a1100testblah" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:47 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:45 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 1b286c35-e003-004f-7782-49a018000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_list_queues_with_options.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_list_queues_with_options.yaml index 7f110b877751..e6c69743eba3 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_list_queues_with_options.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_list_queues_with_options.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 749d4192-b575-11e9-8bc3-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:48 GMT + - Fri, 06 Sep 2019 22:03:02 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/listqueue0560410cb + uri: https://pyacrstorage560410cb.queue.core.windows.net/listqueue0560410cb response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:47 GMT - Server: + date: + - Fri, 06 Sep 2019 22:03:00 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 46024894-2003-003f-2682-49d3dc000000 x-ms-version: - '2018-03-28' status: @@ -51,29 +47,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 74cbaa66-b575-11e9-8fe1-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:48 GMT + - Fri, 06 Sep 2019 22:03:02 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/listqueue1560410cb + uri: https://pyacrstorage560410cb.queue.core.windows.net/listqueue1560410cb response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:47 GMT - Server: + date: + - Fri, 06 Sep 2019 22:03:00 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 460248a4-2003-003f-3482-49d3dc000000 x-ms-version: - '2018-03-28' status: @@ -91,29 +83,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 74d90eb8-b575-11e9-a724-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:48 GMT + - Fri, 06 Sep 2019 22:03:02 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/listqueue2560410cb + uri: https://pyacrstorage560410cb.queue.core.windows.net/listqueue2560410cb response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:47 GMT - Server: + date: + - Fri, 06 Sep 2019 22:03:00 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 460248b1-2003-003f-4082-49d3dc000000 x-ms-version: - '2018-03-28' status: @@ -131,29 +119,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 74e5fe2e-b575-11e9-bedc-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:48 GMT + - Fri, 06 Sep 2019 22:03:03 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/listqueue3560410cb + uri: https://pyacrstorage560410cb.queue.core.windows.net/listqueue3560410cb response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:47 GMT - Server: + date: + - Fri, 06 Sep 2019 22:03:00 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 460248c0-2003-003f-4e82-49d3dc000000 x-ms-version: - '2018-03-28' status: @@ -169,36 +153,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 74f2edac-b575-11e9-838d-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:48 GMT + - Fri, 06 Sep 2019 22:03:03 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?prefix=listqueue&maxresults=3&comp=list + uri: https://pyacrstorage560410cb.queue.core.windows.net/?prefix=listqueue&maxresults=3&comp=list response: body: string: "\uFEFFlistqueue3listqueue0560410cblistqueue1560410cblistqueue2560410cb/storagename/listqueue3560410cb" + ServiceEndpoint=\"https://pyacrstorage560410cb.queue.core.windows.net/\">listqueue3listqueue0560410cblistqueue1560410cblistqueue2560410cb/pyacrstorage560410cb/listqueue3560410cb" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:47 GMT - Server: + date: + - Fri, 06 Sep 2019 22:03:00 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 460248d2-2003-003f-5e82-49d3dc000000 x-ms-version: - '2018-03-28' status: @@ -214,37 +192,31 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 74fe308a-b575-11e9-8f42-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:49 GMT + - Fri, 06 Sep 2019 22:03:03 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?prefix=listqueue&marker=%2Fstoragename%2Flistqueue3560410cb&include=metadata&comp=list + uri: https://pyacrstorage560410cb.queue.core.windows.net/?prefix=listqueue&marker=%2Fpyacrstorage560410cb%2Flistqueue3560410cb&include=metadata&comp=list response: body: string: "\uFEFFlistqueue/storagename/listqueue3560410cblistqueue3560410cblistqueue/pyacrstorage560410cb/listqueue3560410cblistqueue3560410cb" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:47 GMT - Server: + date: + - Fri, 06 Sep 2019 22:03:00 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 460248e0-2003-003f-6c82-49d3dc000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_peek_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_peek_messages.yaml index dd4b356639fc..1ec21db79aef 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_peek_messages.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_peek_messages.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 754278b6-b575-11e9-a7b3-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:49 GMT + - Fri, 06 Sep 2019 21:52:26 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueueb3920bee + uri: https://pyacrstorageb3920bee.queue.core.windows.net/pythonqueueb3920bee response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:49 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:24 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 408beb5d-9003-0040-7782-494dee000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 756e909c-b575-11e9-a228-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:49 GMT + - Fri, 06 Sep 2019 21:52:26 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueueb3920bee/messages + uri: https://pyacrstorageb3920bee.queue.core.windows.net/pythonqueueb3920bee/messages response: body: - string: "\uFEFF51eb9e85-3fbf-4d36-b5c8-0bbffecb794dFri, - 02 Aug 2019 22:32:49 GMTFri, 09 Aug 2019 22:32:49 - GMTAgAAAAMAAAAAAAAAD5gJN4JJ1QE=Fri, - 02 Aug 2019 22:32:49 GMT" + string: "\uFEFF4f9a739e-5364-41b5-962b-3067316c41aeFri, + 06 Sep 2019 21:52:25 GMTFri, 13 Sep 2019 21:52:25 + GMTAgAAAAMAAAAAAAAAeBmkXv1k1QE=Fri, + 06 Sep 2019 21:52:25 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:49 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:25 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 408beb71-9003-0040-0682-494dee000000 x-ms-version: - '2018-03-28' status: @@ -102,32 +94,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 757abd4c-b575-11e9-ab4b-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:49 GMT + - Fri, 06 Sep 2019 21:52:27 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueueb3920bee/messages + uri: https://pyacrstorageb3920bee.queue.core.windows.net/pythonqueueb3920bee/messages response: body: - string: "\uFEFFa4197ee4-70f8-4eb0-8840-bb0bf8e5da87Fri, - 02 Aug 2019 22:32:49 GMTFri, 09 Aug 2019 22:32:49 - GMTAgAAAAMAAAAAAAAABFoVN4JJ1QE=Fri, - 02 Aug 2019 22:32:49 GMT" + string: "\uFEFF5efed3da-41ce-4dd2-8605-fe4ee07df00fFri, + 06 Sep 2019 21:52:25 GMTFri, 13 Sep 2019 21:52:25 + GMTAgAAAAMAAAAAAAAAWImxXv1k1QE=Fri, + 06 Sep 2019 21:52:25 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:49 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:25 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 408beb95-9003-0040-2782-494dee000000 x-ms-version: - '2018-03-28' status: @@ -149,32 +137,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 75867514-b575-11e9-a40e-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:49 GMT + - Fri, 06 Sep 2019 21:52:27 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueueb3920bee/messages + uri: https://pyacrstorageb3920bee.queue.core.windows.net/pythonqueueb3920bee/messages response: body: - string: "\uFEFFc1b96f91-bfd0-4741-8577-5c21829b6bc3Fri, - 02 Aug 2019 22:32:49 GMTFri, 09 Aug 2019 22:32:49 - GMTAgAAAAMAAAAAAAAAxc0gN4JJ1QE=Fri, - 02 Aug 2019 22:32:49 GMT" + string: "\uFEFF4ade21f2-60f8-414b-8b6a-950da5fdca7bFri, + 06 Sep 2019 21:52:25 GMTFri, 13 Sep 2019 21:52:25 + GMTAgAAAAMAAAAAAAAAXMS7Xv1k1QE=Fri, + 06 Sep 2019 21:52:25 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:49 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:25 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 408bebaa-9003-0040-3a82-494dee000000 x-ms-version: - '2018-03-28' status: @@ -196,32 +180,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7591def6-b575-11e9-9012-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:49 GMT + - Fri, 06 Sep 2019 21:52:27 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueueb3920bee/messages + uri: https://pyacrstorageb3920bee.queue.core.windows.net/pythonqueueb3920bee/messages response: body: - string: "\uFEFFa266c9ef-270f-46b1-8146-903908a35d82Fri, - 02 Aug 2019 22:32:49 GMTFri, 09 Aug 2019 22:32:49 - GMTAgAAAAMAAAAAAAAA590sN4JJ1QE=Fri, - 02 Aug 2019 22:32:49 GMT" + string: "\uFEFFed0f346f-9769-4f47-90f0-789ecd09de09Fri, + 06 Sep 2019 21:52:25 GMTFri, 13 Sep 2019 21:52:25 + GMTAgAAAAMAAAAAAAAAxXDIXv1k1QE=Fri, + 06 Sep 2019 21:52:25 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:49 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:25 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 408bebcc-9003-0040-5a82-494dee000000 x-ms-version: - '2018-03-28' status: @@ -237,37 +217,31 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 759de4a4-b575-11e9-81c1-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:50 GMT + - Fri, 06 Sep 2019 21:52:27 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueueb3920bee/messages?peekonly=true + uri: https://pyacrstorageb3920bee.queue.core.windows.net/pythonqueueb3920bee/messages?peekonly=true response: body: - string: "\uFEFF51eb9e85-3fbf-4d36-b5c8-0bbffecb794dFri, - 02 Aug 2019 22:32:49 GMTFri, 09 Aug 2019 22:32:49 + string: "\uFEFF4f9a739e-5364-41b5-962b-3067316c41aeFri, + 06 Sep 2019 21:52:25 GMTFri, 13 Sep 2019 21:52:25 GMT0message1" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:49 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:25 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 408bebe3-9003-0040-6f82-494dee000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_peek_messages_with_options.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_peek_messages_with_options.yaml index cbda2fbcebd1..a644c84b077c 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_peek_messages_with_options.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_peek_messages_with_options.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 75cff5e6-b575-11e9-85cd-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:50 GMT + - Fri, 06 Sep 2019 21:52:21 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue74f61174 + uri: https://pyacrstorage74f61174.queue.core.windows.net/pythonqueue74f61174 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:50 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:19 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 951db291-b003-009b-3482-49e938000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 75fd02c6-b575-11e9-9414-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:50 GMT + - Fri, 06 Sep 2019 21:52:22 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue74f61174/messages + uri: https://pyacrstorage74f61174.queue.core.windows.net/pythonqueue74f61174/messages response: body: - string: "\uFEFFe1e656fd-c246-45ec-8e63-f8c9196b304bFri, - 02 Aug 2019 22:32:50 GMTFri, 09 Aug 2019 22:32:50 - GMTAgAAAAMAAAAAAAAAJMGXN4JJ1QE=Fri, - 02 Aug 2019 22:32:50 GMT" + string: "\uFEFFb0f5311d-8f39-4d31-8566-124429c61526Fri, + 06 Sep 2019 21:52:20 GMTFri, 13 Sep 2019 21:52:20 + GMTAgAAAAMAAAAAAAAAElPBW/1k1QE=Fri, + 06 Sep 2019 21:52:20 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:50 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:19 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 951db2a7-b003-009b-4882-49e938000000 x-ms-version: - '2018-03-28' status: @@ -102,32 +94,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7608d722-b575-11e9-b12f-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:50 GMT + - Fri, 06 Sep 2019 21:52:22 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue74f61174/messages + uri: https://pyacrstorage74f61174.queue.core.windows.net/pythonqueue74f61174/messages response: body: - string: "\uFEFFa3c823c5-0ea7-42f6-95da-ed8d1ff914a4Fri, - 02 Aug 2019 22:32:50 GMTFri, 09 Aug 2019 22:32:50 - GMTAgAAAAMAAAAAAAAA5jSjN4JJ1QE=Fri, - 02 Aug 2019 22:32:50 GMT" + string: "\uFEFF6dc38b7f-ea9b-4c59-b8e0-6d933c162736Fri, + 06 Sep 2019 21:52:20 GMTFri, 13 Sep 2019 21:52:20 + GMTAgAAAAMAAAAAAAAAXLHNW/1k1QE=Fri, + 06 Sep 2019 21:52:20 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:50 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:20 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 951db2bb-b003-009b-5c82-49e938000000 x-ms-version: - '2018-03-28' status: @@ -149,32 +137,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7614679e-b575-11e9-80c0-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:50 GMT + - Fri, 06 Sep 2019 21:52:22 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue74f61174/messages + uri: https://pyacrstorage74f61174.queue.core.windows.net/pythonqueue74f61174/messages response: body: - string: "\uFEFFf2a69613-eef2-4ae8-ba75-32b65833a2a8Fri, - 02 Aug 2019 22:32:50 GMTFri, 09 Aug 2019 22:32:50 - GMTAgAAAAMAAAAAAAAA9R2vN4JJ1QE=Fri, - 02 Aug 2019 22:32:50 GMT" + string: "\uFEFF9f5d05fe-bace-4804-be52-ecdb42407de4Fri, + 06 Sep 2019 21:52:20 GMTFri, 13 Sep 2019 21:52:20 + GMTAgAAAAMAAAAAAAAAc2/bW/1k1QE=Fri, + 06 Sep 2019 21:52:20 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:50 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:20 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 951db2c4-b003-009b-6282-49e938000000 x-ms-version: - '2018-03-28' status: @@ -196,32 +180,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 76204592-b575-11e9-946a-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:50 GMT + - Fri, 06 Sep 2019 21:52:22 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue74f61174/messages + uri: https://pyacrstorage74f61174.queue.core.windows.net/pythonqueue74f61174/messages response: body: - string: "\uFEFF874bf977-0d67-4497-a5d7-0bcd0460b62fFri, - 02 Aug 2019 22:32:50 GMTFri, 09 Aug 2019 22:32:50 - GMTAgAAAAMAAAAAAAAAoGq6N4JJ1QE=Fri, - 02 Aug 2019 22:32:50 GMT" + string: "\uFEFFe9fbce80-dd2b-4d51-b757-c2dc70ba87cdFri, + 06 Sep 2019 21:52:20 GMTFri, 13 Sep 2019 21:52:20 + GMTAgAAAAMAAAAAAAAAzgjyW/1k1QE=Fri, + 06 Sep 2019 21:52:20 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:50 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:20 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 951db2d3-b003-009b-6e82-49e938000000 x-ms-version: - '2018-03-28' status: @@ -237,43 +217,37 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 762b8876-b575-11e9-be2a-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:50 GMT + - Fri, 06 Sep 2019 21:52:22 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue74f61174/messages?numofmessages=4&peekonly=true + uri: https://pyacrstorage74f61174.queue.core.windows.net/pythonqueue74f61174/messages?numofmessages=4&peekonly=true response: body: - string: "\uFEFFe1e656fd-c246-45ec-8e63-f8c9196b304bFri, - 02 Aug 2019 22:32:50 GMTFri, 09 Aug 2019 22:32:50 - GMT0message1a3c823c5-0ea7-42f6-95da-ed8d1ff914a4Fri, - 02 Aug 2019 22:32:50 GMTFri, 09 Aug 2019 22:32:50 - GMT0message2f2a69613-eef2-4ae8-ba75-32b65833a2a8Fri, - 02 Aug 2019 22:32:50 GMTFri, 09 Aug 2019 22:32:50 - GMT0message3874bf977-0d67-4497-a5d7-0bcd0460b62fFri, - 02 Aug 2019 22:32:50 GMTFri, 09 Aug 2019 22:32:50 + string: "\uFEFFb0f5311d-8f39-4d31-8566-124429c61526Fri, + 06 Sep 2019 21:52:20 GMTFri, 13 Sep 2019 21:52:20 + GMT0message16dc38b7f-ea9b-4c59-b8e0-6d933c162736Fri, + 06 Sep 2019 21:52:20 GMTFri, 13 Sep 2019 21:52:20 + GMT0message29f5d05fe-bace-4804-be52-ecdb42407de4Fri, + 06 Sep 2019 21:52:20 GMTFri, 13 Sep 2019 21:52:20 + GMT0message3e9fbce80-dd2b-4d51-b757-c2dc70ba87cdFri, + 06 Sep 2019 21:52:20 GMTFri, 13 Sep 2019 21:52:20 GMT0message4" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:50 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:20 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 951db2dd-b003-009b-7782-49e938000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_put_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_put_message.yaml index 936ea1880d45..37d99c815cbb 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_put_message.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_put_message.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 765cfde6-b575-11e9-b793-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:51 GMT + - Fri, 06 Sep 2019 21:53:03 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue9d3c0b2f + uri: https://pyacrstorage9d3c0b2f.queue.core.windows.net/pythonqueue9d3c0b2f response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:51 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:02 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 87fa4f7b-b003-0090-2982-49f14c000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7689bff0-b575-11e9-acc0-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:51 GMT + - Fri, 06 Sep 2019 21:53:04 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue9d3c0b2f/messages + uri: https://pyacrstorage9d3c0b2f.queue.core.windows.net/pythonqueue9d3c0b2f/messages response: body: - string: "\uFEFF83cae29a-a05e-458d-8fe7-04f2930f5859Fri, - 02 Aug 2019 22:32:51 GMTFri, 09 Aug 2019 22:32:51 - GMTAgAAAAMAAAAAAAAAOzwkOIJJ1QE=Fri, - 02 Aug 2019 22:32:51 GMT" + string: "\uFEFF4e60f37e-aa52-4f19-823b-70c1150a1212Fri, + 06 Sep 2019 21:53:02 GMTFri, 13 Sep 2019 21:53:02 + GMTAgAAAAMAAAAAAAAAvcb9dP1k1QE=Fri, + 06 Sep 2019 21:53:02 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:51 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:02 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 87fa4f8c-b003-0090-3882-49f14c000000 x-ms-version: - '2018-03-28' status: @@ -102,32 +94,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 769502dc-b575-11e9-acfd-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:51 GMT + - Fri, 06 Sep 2019 21:53:04 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue9d3c0b2f/messages + uri: https://pyacrstorage9d3c0b2f.queue.core.windows.net/pythonqueue9d3c0b2f/messages response: body: - string: "\uFEFF54add2d6-9d58-46f0-965c-462026e286bdFri, - 02 Aug 2019 22:32:51 GMTFri, 09 Aug 2019 22:32:51 - GMTAgAAAAMAAAAAAAAAAbAvOIJJ1QE=Fri, - 02 Aug 2019 22:32:51 GMT" + string: "\uFEFF6d1d49a2-673f-4e4e-ac63-0dde518af7b0Fri, + 06 Sep 2019 21:53:03 GMTFri, 13 Sep 2019 21:53:03 + GMTAgAAAAMAAAAAAAAABncIdf1k1QE=Fri, + 06 Sep 2019 21:53:03 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:51 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:02 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 87fa4f9d-b003-0090-4782-49f14c000000 x-ms-version: - '2018-03-28' status: @@ -149,32 +137,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 76a0cf88-b575-11e9-a8d1-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:51 GMT + - Fri, 06 Sep 2019 21:53:04 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue9d3c0b2f/messages + uri: https://pyacrstorage9d3c0b2f.queue.core.windows.net/pythonqueue9d3c0b2f/messages response: body: - string: "\uFEFF5449686f-5ab9-4af4-8646-f652cbc3c13aFri, - 02 Aug 2019 22:32:51 GMTFri, 09 Aug 2019 22:32:51 - GMTAgAAAAMAAAAAAAAAq/w6OIJJ1QE=Fri, - 02 Aug 2019 22:32:51 GMT" + string: "\uFEFF7f9e7674-a5ea-480f-9f8d-eec608c84ca9Fri, + 06 Sep 2019 21:53:03 GMTFri, 13 Sep 2019 21:53:03 + GMTAgAAAAMAAAAAAAAAPrUvdf1k1QE=Fri, + 06 Sep 2019 21:53:03 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:51 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:02 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 87fa4fad-b003-0090-5682-49f14c000000 x-ms-version: - '2018-03-28' status: @@ -196,32 +180,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 76ac1274-b575-11e9-a065-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:51 GMT + - Fri, 06 Sep 2019 21:53:04 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue9d3c0b2f/messages + uri: https://pyacrstorage9d3c0b2f.queue.core.windows.net/pythonqueue9d3c0b2f/messages response: body: - string: "\uFEFF0d2c9d3d-2943-4543-8d19-d8ed87b1d9fdFri, - 02 Aug 2019 22:32:51 GMTFri, 09 Aug 2019 22:32:51 - GMTAgAAAAMAAAAAAAAARyJGOIJJ1QE=Fri, - 02 Aug 2019 22:32:51 GMT" + string: "\uFEFFef17b342-7a88-44e9-b060-75ffb83f5f65Fri, + 06 Sep 2019 21:53:03 GMTFri, 13 Sep 2019 21:53:03 + GMTAgAAAAMAAAAAAAAAM8k5df1k1QE=Fri, + 06 Sep 2019 21:53:03 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:51 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:03 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 87fa4fba-b003-0090-6182-49f14c000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_put_message_infinite_time_to_live.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_put_message_infinite_time_to_live.yaml index 3a8e6c2c4b44..e391c5de6ae2 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_put_message_infinite_time_to_live.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_put_message_infinite_time_to_live.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 76da7ee4-b575-11e9-87eb-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:52 GMT + - Fri, 06 Sep 2019 21:53:11 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuefb421443 + uri: https://pyacrstoragefb421443.queue.core.windows.net/pythonqueuefb421443 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:51 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 3e5f456b-3003-00c5-6082-491a3b000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 77073dca-b575-11e9-ab42-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:52 GMT + - Fri, 06 Sep 2019 21:53:11 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuefb421443/messages?messagettl=-1 + uri: https://pyacrstoragefb421443.queue.core.windows.net/pythonqueuefb421443/messages?messagettl=-1 response: body: - string: "\uFEFF25c98139-ad66-4d04-a723-9868e0903a1bFri, - 02 Aug 2019 22:32:52 GMTFri, 31 Dec 9999 23:59:59 - GMTAgAAAAMAAAAAAAAAeMChOIJJ1QE=Fri, - 02 Aug 2019 22:32:52 GMT" + string: "\uFEFF7a26c5f3-25e0-454e-81f8-c1d17917ec6eFri, + 06 Sep 2019 21:53:09 GMTFri, 31 Dec 9999 23:59:59 + GMTAgAAAAMAAAAAAAAA9m4kef1k1QE=Fri, + 06 Sep 2019 21:53:09 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:51 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 3e5f4582-3003-00c5-7482-491a3b000000 x-ms-version: - '2018-03-28' status: @@ -96,37 +88,31 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7712f5c0-b575-11e9-8c2f-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:52 GMT + - Fri, 06 Sep 2019 21:53:11 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuefb421443/messages?peekonly=true + uri: https://pyacrstoragefb421443.queue.core.windows.net/pythonqueuefb421443/messages?peekonly=true response: body: - string: "\uFEFF25c98139-ad66-4d04-a723-9868e0903a1bFri, - 02 Aug 2019 22:32:52 GMTFri, 31 Dec 9999 23:59:59 + string: "\uFEFF7a26c5f3-25e0-454e-81f8-c1d17917ec6eFri, + 06 Sep 2019 21:53:09 GMTFri, 31 Dec 9999 23:59:59 GMT0message1" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:51 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 3e5f4596-3003-00c5-0882-491a3b000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_put_message_large_time_to_live.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_put_message_large_time_to_live.yaml index 0690f75eaa22..134cc3d2f4ef 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_put_message_large_time_to_live.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_put_message_large_time_to_live.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 77431070-b575-11e9-a5b3-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:52 GMT + - Fri, 06 Sep 2019 21:52:44 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuebef712f8 + uri: https://pyacrstoragebef712f8.queue.core.windows.net/pythonqueuebef712f8 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:52 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:45 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ae23b570-b003-0075-4782-49e3bb000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7770b714-b575-11e9-9130-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:53 GMT + - Fri, 06 Sep 2019 21:52:47 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuebef712f8/messages?messagettl=1073741824 + uri: https://pyacrstoragebef712f8.queue.core.windows.net/pythonqueuebef712f8/messages?messagettl=1073741824 response: body: - string: "\uFEFFee999eef-2970-40b3-aee0-142488c20988Fri, - 02 Aug 2019 22:32:52 GMTMon, 11 Aug 2053 12:09:56 - GMTAgAAAAMAAAAAAAAAIbkLOYJJ1QE=Fri, - 02 Aug 2019 22:32:52 GMT" + string: "\uFEFFb399cd1e-6580-43f0-b130-e3a897e5aef0Fri, + 06 Sep 2019 21:52:45 GMTMon, 15 Sep 2053 11:29:49 + GMTAgAAAAMAAAAAAAAAk0Guav1k1QE=Fri, + 06 Sep 2019 21:52:45 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:52 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:45 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - ae23b578-b003-0075-4c82-49e3bb000000 x-ms-version: - '2018-03-28' status: @@ -96,37 +88,31 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 777cbcca-b575-11e9-a80f-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:53 GMT + - Fri, 06 Sep 2019 21:52:47 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuebef712f8/messages?peekonly=true + uri: https://pyacrstoragebef712f8.queue.core.windows.net/pythonqueuebef712f8/messages?peekonly=true response: body: - string: "\uFEFFee999eef-2970-40b3-aee0-142488c20988Fri, - 02 Aug 2019 22:32:52 GMTMon, 11 Aug 2053 12:09:56 + string: "\uFEFFb399cd1e-6580-43f0-b130-e3a897e5aef0Fri, + 06 Sep 2019 21:52:45 GMTMon, 15 Sep 2053 11:29:49 GMT0message1" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:52 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:45 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - ae23b57b-b003-0075-4e82-49e3bb000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_queue_exists.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_queue_exists.yaml index dfa747637c67..0585e7432ed7 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_queue_exists.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_queue_exists.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 77acfc12-b575-11e9-a369-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:53 GMT + - Fri, 06 Sep 2019 21:52:51 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuea8d70bb6 + uri: https://pyacrstoragea8d70bb6.queue.core.windows.net/pythonqueuea8d70bb6 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:53 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:50 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 52e561eb-8003-0054-5082-498e8a000000 x-ms-version: - '2018-03-28' status: @@ -49,35 +45,29 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 77d79edc-b575-11e9-9573-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:53 GMT + - Fri, 06 Sep 2019 21:52:52 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuea8d70bb6?comp=metadata + uri: https://pyacrstoragea8d70bb6.queue.core.windows.net/pythonqueuea8d70bb6?comp=metadata response: body: string: '' headers: - Cache-Control: + cache-control: - no-cache - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:53 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:50 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin x-ms-approximate-messages-count: - '0' - x-ms-request-id: - - 52e56205-8003-0054-6782-498e8a000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_queue_not_exists.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_queue_not_exists.yaml index 46bf1038f9c2..2b34135da3d3 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_queue_not_exists.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_queue_not_exists.yaml @@ -9,36 +9,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 780b5cac-b575-11e9-a072-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:54 GMT + - Fri, 06 Sep 2019 21:52:45 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/missingdb9b0d66?comp=metadata + uri: https://pyacrstoragedb9b0d66.queue.core.windows.net/missingdb9b0d66?comp=metadata response: body: string: "\uFEFFQueueNotFoundThe - specified queue does not exist.\nRequestId:93af492f-7003-002c-0882-49e63d000000\nTime:2019-08-02T22:32:54.1247645Z" + specified queue does not exist.\nRequestId:d5f9f1b0-2003-001c-2dfd-64d21d000000\nTime:2019-09-06T21:52:43.9267269Z" headers: - Content-Length: + content-length: - '217' - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:54 GMT - Server: + date: + - Fri, 06 Sep 2019 21:52:43 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin x-ms-error-code: - QueueNotFound - x-ms-request-id: - - 93af492f-7003-002c-0882-49e63d000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_add.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_add.yaml new file mode 100644 index 000000000000..eaa3ecfa356f --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_add.yaml @@ -0,0 +1,122 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:52:52 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage72410961.queue.core.windows.net/pythonqueue72410961 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:52:49 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: ' + + addedmessage' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '107' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:52:52 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage72410961.queue.core.windows.net/pythonqueue72410961/messages?se=2019-09-06T22%3A52%3A52Z&sp=a&sv=2018-03-28&sig=2CrDXvXda6UBDJvQGh/A8NmqTUhRTwwBBoFvB/Fzto4%3D + response: + body: + string: "\uFEFFf2536afb-868a-4edc-9ba3-2a16af161a89Fri, + 06 Sep 2019 21:52:51 GMTFri, 13 Sep 2019 21:52:51 + GMTAgAAAAMAAAAAAAAA+uf0bf1k1QE=Fri, + 06 Sep 2019 21:52:51 GMT" + headers: + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:52:50 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:52:52 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage72410961.queue.core.windows.net/pythonqueue72410961/messages + response: + body: + string: "\uFEFFf2536afb-868a-4edc-9ba3-2a16af161a89Fri, + 06 Sep 2019 21:52:51 GMTFri, 13 Sep 2019 21:52:51 + GMTAgAAAAMAAAAAAAAA6Uzif/1k1QE=Fri, + 06 Sep 2019 21:53:21 GMT1addedmessage" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:52:50 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_process.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_process.yaml new file mode 100644 index 000000000000..1a6ef83ad0a8 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_process.yaml @@ -0,0 +1,120 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:53:11 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage9ccd0b37.queue.core.windows.net/pythonqueue9ccd0b37 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:53:09 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:53:11 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage9ccd0b37.queue.core.windows.net/pythonqueue9ccd0b37/messages + response: + body: + string: "\uFEFF7d514162-af5f-4400-a514-3653753b05a9Fri, + 06 Sep 2019 21:53:10 GMTFri, 13 Sep 2019 21:53:10 + GMTAgAAAAMAAAAAAAAAVVBNef1k1QE=Fri, + 06 Sep 2019 21:53:10 GMT" + headers: + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:53:09 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:53:11 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage9ccd0b37.queue.core.windows.net/pythonqueue9ccd0b37/messages?se=2019-09-06T22%3A53%3A11Z&sp=p&sv=2018-03-28&sig=DzW7T7VwaLyclJPAApkXjqJ46wCB3hxfLLYeKlGVlRM%3D + response: + body: + string: "\uFEFF7d514162-af5f-4400-a514-3653753b05a9Fri, + 06 Sep 2019 21:53:10 GMTFri, 13 Sep 2019 21:53:10 + GMTAgAAAAMAAAAAAAAAFHhai/1k1QE=Fri, + 06 Sep 2019 21:53:40 GMT1message1" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:53:09 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_read.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_read.yaml new file mode 100644 index 000000000000..9c343d0bfb46 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_read.yaml @@ -0,0 +1,119 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:52:46 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage7c4709d4.queue.core.windows.net/pythonqueue7c4709d4 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:52:44 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:52:46 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage7c4709d4.queue.core.windows.net/pythonqueue7c4709d4/messages + response: + body: + string: "\uFEFF683640e7-8b22-406a-b76c-b28862673cc3Fri, + 06 Sep 2019 21:52:45 GMTFri, 13 Sep 2019 21:52:45 + GMTAgAAAAMAAAAAAAAAGchtav1k1QE=Fri, + 06 Sep 2019 21:52:45 GMT" + headers: + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:52:44 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:52:46 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage7c4709d4.queue.core.windows.net/pythonqueue7c4709d4/messages?peekonly=true&st=2019-09-06T21%3A47%3A46Z&se=2019-09-06T22%3A52%3A46Z&sp=r&sv=2018-03-28&sig=%2B1etzruU8FBV0TYh1N4Jkd9/WhvB%2Bp6c5SvUhtYzf5o%3D + response: + body: + string: "\uFEFF683640e7-8b22-406a-b76c-b28862673cc3Fri, + 06 Sep 2019 21:52:45 GMTFri, 13 Sep 2019 21:52:45 + GMT0message1" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:52:45 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_signed_identifier.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_signed_identifier.yaml new file mode 100644 index 000000000000..fbeffd1979d8 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_signed_identifier.yaml @@ -0,0 +1,157 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:52:50 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage21d30f34.queue.core.windows.net/pythonqueue21d30f34 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:52:48 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: ' + + testid2019-09-06T20:52:50Z2019-09-06T22:52:50Zr' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '257' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:52:50 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage21d30f34.queue.core.windows.net/pythonqueue21d30f34?comp=acl + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:52:49 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 204 + message: No Content +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:52:50 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage21d30f34.queue.core.windows.net/pythonqueue21d30f34/messages + response: + body: + string: "\uFEFFe3a35d54-cd3b-4f04-a67c-193dbcbb23daFri, + 06 Sep 2019 21:52:49 GMTFri, 13 Sep 2019 21:52:49 + GMTAgAAAAMAAAAAAAAAFIX4bP1k1QE=Fri, + 06 Sep 2019 21:52:49 GMT" + headers: + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:52:49 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:52:51 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage21d30f34.queue.core.windows.net/pythonqueue21d30f34/messages?peekonly=true&sv=2018-03-28&si=testid&sig=BzVt1jfeaGUdMKfPkOWFYgkHDg01SOSqBlV2WqWMmWI%3D + response: + body: + string: "\uFEFFe3a35d54-cd3b-4f04-a67c-193dbcbb23daFri, + 06 Sep 2019 21:52:49 GMTFri, 13 Sep 2019 21:52:49 + GMT0message1" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:52:49 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_update.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_update.yaml new file mode 100644 index 000000000000..abf6496b2449 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_sas_update.yaml @@ -0,0 +1,205 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:52:58 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage91880abb.queue.core.windows.net/pythonqueue91880abb + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:52:56 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:52:58 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage91880abb.queue.core.windows.net/pythonqueue91880abb/messages + response: + body: + string: "\uFEFFdd641426-0630-4563-9d4b-50988a895932Fri, + 06 Sep 2019 21:52:57 GMTFri, 13 Sep 2019 21:52:57 + GMTAgAAAAMAAAAAAAAAwhd0cf1k1QE=Fri, + 06 Sep 2019 21:52:57 GMT" + headers: + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:52:56 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:52:58 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage91880abb.queue.core.windows.net/pythonqueue91880abb/messages + response: + body: + string: "\uFEFFdd641426-0630-4563-9d4b-50988a895932Fri, + 06 Sep 2019 21:52:57 GMTFri, 13 Sep 2019 21:52:57 + GMTAgAAAAMAAAAAAAAAnqdfg/1k1QE=Fri, + 06 Sep 2019 21:53:27 GMT1message1" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:52:56 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +- request: + body: ' + + updatedmessage1' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '110' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:52:58 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage91880abb.queue.core.windows.net/pythonqueue91880abb/messages/dd641426-0630-4563-9d4b-50988a895932?popreceipt=AgAAAAMAAAAAAAAAnqdfg%2F1k1QE%3D&visibilitytimeout=0&se=2019-09-06T22%3A52%3A58Z&sp=u&sv=2018-03-28&sig=WZEziX48T%2B4uhThz7azj/tTWeJVN6IcDvU2n%2BY7TuqM%3D + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:52:57 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: + - AwAAAAMAAAAAAAAASVikcf1k1QEBAAAA + x-ms-time-next-visible: + - Fri, 06 Sep 2019 21:52:57 GMT + x-ms-version: + - '2018-03-28' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:52:58 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage91880abb.queue.core.windows.net/pythonqueue91880abb/messages + response: + body: + string: "\uFEFFdd641426-0630-4563-9d4b-50988a895932Fri, + 06 Sep 2019 21:52:57 GMTFri, 13 Sep 2019 21:52:57 + GMTAgAAAAMAAAAAAAAAKuiPg/1k1QE=Fri, + 06 Sep 2019 21:53:27 GMT2updatedmessage1" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:52:56 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl.yaml index 5d4e01bcb4fd..3f40e608b47f 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 78531c8a-b575-11e9-a175-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:54 GMT + - Fri, 06 Sep 2019 21:53:27 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueueb4690bf1 + uri: https://pyacrstorageb4690bf1.queue.core.windows.net/pythonqueueb4690bf1 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:54 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:25 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ee7eed11-c003-00d0-2782-49d8a2000000 x-ms-version: - '2018-03-28' status: @@ -53,27 +49,23 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 78804dfa-b575-11e9-b5e2-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:54 GMT + - Fri, 06 Sep 2019 21:53:28 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueueb4690bf1?comp=acl + uri: https://pyacrstorageb4690bf1.queue.core.windows.net/pythonqueueb4690bf1?comp=acl response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:54 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:25 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ee7eed24-c003-00d0-3782-49d8a2000000 x-ms-version: - '2018-03-28' status: @@ -89,36 +81,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 788e4e24-b575-11e9-9d88-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:54 GMT + - Fri, 06 Sep 2019 21:53:28 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueueb4690bf1?comp=acl + uri: https://pyacrstorageb4690bf1.queue.core.windows.net/pythonqueueb4690bf1?comp=acl response: body: string: "\uFEFF" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:54 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:25 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - ee7eed32-c003-00d0-4582-49d8a2000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_too_many_ids.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_too_many_ids.yaml index 9479573bf818..aa109826bfa9 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_too_many_ids.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_too_many_ids.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 78c0c1e2-b575-11e9-b25e-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:55 GMT + - Fri, 06 Sep 2019 21:53:36 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue755c1155 + uri: https://pyacrstorage755c1155.queue.core.windows.net/pythonqueue755c1155 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:54 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:35 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d24b5c65-9003-00c3-6d82-49ed43000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_empty_signed_identifier.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_empty_signed_identifier.yaml index 8b3d93420dfa..ed5ff1086dd9 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_empty_signed_identifier.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_empty_signed_identifier.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7918e33a-b575-11e9-abba-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:55 GMT + - Fri, 06 Sep 2019 21:53:10 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuec3a217f5 + uri: https://pyacrstoragec3a217f5.queue.core.windows.net/pythonqueuec3a217f5 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:55 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:08 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2cf75e3f-d003-0008-0882-497f73000000 x-ms-version: - '2018-03-28' status: @@ -55,27 +51,23 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7944a294-b575-11e9-8a9d-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:56 GMT + - Fri, 06 Sep 2019 21:53:10 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuec3a217f5?comp=acl + uri: https://pyacrstoragec3a217f5.queue.core.windows.net/pythonqueuec3a217f5?comp=acl response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:55 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:08 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2cf75e53-d003-0008-1782-497f73000000 x-ms-version: - '2018-03-28' status: @@ -91,35 +83,29 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7953b48a-b575-11e9-81d0-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:56 GMT + - Fri, 06 Sep 2019 21:53:10 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuec3a217f5?comp=acl + uri: https://pyacrstoragec3a217f5.queue.core.windows.net/pythonqueuec3a217f5?comp=acl response: body: string: "\uFEFFempty" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:55 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:08 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 2cf75e65-d003-0008-1e82-497f73000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_empty_signed_identifiers.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_empty_signed_identifiers.yaml index bc76c4256c0b..cfbc591e58ef 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_empty_signed_identifiers.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_empty_signed_identifiers.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7984bf94-b575-11e9-a2bb-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:56 GMT + - Fri, 06 Sep 2019 21:53:14 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuedc0a1868 + uri: https://pyacrstoragedc0a1868.queue.core.windows.net/pythonqueuedc0a1868 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:56 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:12 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - b85dfc6e-8003-0032-5b82-493cd0000000 x-ms-version: - '2018-03-28' status: @@ -53,27 +49,23 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 79b12130-b575-11e9-9db3-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:56 GMT + - Fri, 06 Sep 2019 21:53:15 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuedc0a1868?comp=acl + uri: https://pyacrstoragedc0a1868.queue.core.windows.net/pythonqueuedc0a1868?comp=acl response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:56 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:13 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - b85dfc81-8003-0032-6a82-493cd0000000 x-ms-version: - '2018-03-28' status: @@ -89,36 +81,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 79beac74-b575-11e9-9303-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:56 GMT + - Fri, 06 Sep 2019 21:53:15 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuedc0a1868?comp=acl + uri: https://pyacrstoragedc0a1868.queue.core.windows.net/pythonqueuedc0a1868?comp=acl response: body: string: "\uFEFF" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:56 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:13 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - b85dfc93-8003-0032-7882-493cd0000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_non_existing_queue.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_non_existing_queue.yaml index f99084d5809a..c7de3823a010 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_non_existing_queue.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_non_existing_queue.yaml @@ -13,32 +13,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 79f94366-b575-11e9-941d-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:57 GMT + - Fri, 06 Sep 2019 21:53:07 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue50b11604?comp=acl + uri: https://pyacrstorage50b11604.queue.core.windows.net/pythonqueue50b11604?comp=acl response: body: string: "\uFEFFQueueNotFoundThe - specified queue does not exist.\nRequestId:a5d24019-b003-0018-3182-494995000000\nTime:2019-08-02T22:32:57.3472669Z" + specified queue does not exist.\nRequestId:6aa3ff26-e003-010a-60fd-640a1d000000\nTime:2019-09-06T21:53:06.3439073Z" headers: - Content-Length: + content-length: - '217' - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:56 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:06 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: - QueueNotFound - x-ms-request-id: - - a5d24019-b003-0018-3182-494995000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_signed_identifiers.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_signed_identifiers.yaml index 588224f24d9a..7cec1a3cae99 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_signed_identifiers.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_acl_with_signed_identifiers.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7a47f0dc-b575-11e9-bab2-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:57 GMT + - Fri, 06 Sep 2019 21:53:15 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue4ea015da + uri: https://pyacrstorage4ea015da.queue.core.windows.net/pythonqueue4ea015da response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:57 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:13 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 680cb65e-8003-00ba-6682-498409000000 x-ms-version: - '2018-03-28' status: @@ -42,7 +38,7 @@ interactions: - request: body: ' - testid2019-08-02T22:27:58Z2019-08-02T23:32:58Zr' + testid2019-09-06T21:48:16Z2019-09-06T22:53:16Zr' headers: Accept: - '*/*' @@ -55,27 +51,23 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7a78561c-b575-11e9-ae68-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:32:58 GMT + - Fri, 06 Sep 2019 21:53:16 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue4ea015da?comp=acl + uri: https://pyacrstorage4ea015da.queue.core.windows.net/pythonqueue4ea015da?comp=acl response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:57 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:13 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 680cb664-8003-00ba-6a82-498409000000 x-ms-version: - '2018-03-28' status: @@ -91,35 +83,29 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7a8cba80-b575-11e9-8385-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:58 GMT + - Fri, 06 Sep 2019 21:53:16 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue4ea015da?comp=acl + uri: https://pyacrstorage4ea015da.queue.core.windows.net/pythonqueue4ea015da?comp=acl response: body: - string: "\uFEFFtestid2019-08-02T22:27:58.0000000Z2019-08-02T23:32:58.0000000Zr" + string: "\uFEFFtestid2019-09-06T21:48:16.0000000Z2019-09-06T22:53:16.0000000Zr" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:57 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:14 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 680cb670-8003-00ba-7482-498409000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_metadata.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_metadata.yaml index 86ed0be54b2b..7d233b93ea28 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_metadata.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_set_queue_metadata.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7ac0b2b4-b575-11e9-a56a-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:58 GMT + - Fri, 06 Sep 2019 21:53:36 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuef69d0e02 + uri: https://pyacrstoragef69d0e02.queue.core.windows.net/pythonqueuef69d0e02 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:58 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:34 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - f0b496d1-c003-003e-1b82-49d221000000 x-ms-version: - '2018-03-28' status: @@ -51,13 +47,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7af6f3c0-b575-11e9-be32-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:59 GMT + - Fri, 06 Sep 2019 21:53:37 GMT x-ms-meta-hello: - world x-ms-meta-number: @@ -65,19 +59,17 @@ interactions: x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuef69d0e02?comp=metadata + uri: https://pyacrstoragef69d0e02.queue.core.windows.net/pythonqueuef69d0e02?comp=metadata response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:58 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:34 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - f0b496e2-c003-003e-2982-49d221000000 x-ms-version: - '2018-03-28' status: @@ -93,39 +85,33 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7b02d3e8-b575-11e9-8c80-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:59 GMT + - Fri, 06 Sep 2019 21:53:37 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuef69d0e02?comp=metadata + uri: https://pyacrstoragef69d0e02.queue.core.windows.net/pythonqueuef69d0e02?comp=metadata response: body: string: '' headers: - Cache-Control: + cache-control: - no-cache - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:32:58 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:35 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin x-ms-approximate-messages-count: - '0' x-ms-meta-hello: - world x-ms-meta-number: - '43' - x-ms-request-id: - - f0b496f3-c003-003e-3482-49d221000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_token_credential.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_token_credential.yaml new file mode 100644 index 000000000000..252794f93729 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_token_credential.yaml @@ -0,0 +1,114 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:53:08 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorageda680d2d.queue.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:53:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:53:10 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorageda680d2d.queue.core.windows.net/?comp=list + response: + body: + string: "\uFEFFInvalidAuthenticationInfoAuthentication + information is not given in the correct format. Check the value of Authorization + header.\nRequestId:4410dc78-5003-003a-20fd-6449a9000000\nTime:2019-09-06T21:53:08.8364420Z" + headers: + content-length: + - '297' + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:53:08 GMT + server: + - Microsoft-HTTPAPI/2.0 + x-ms-error-code: + - InvalidAuthenticationInfo + status: + code: 400 + message: Authentication information is not given in the correct format. Check + the value of Authorization header. +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:53:10 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorageda680d2d.queue.core.windows.net/?comp=list + response: + body: + string: "\uFEFF" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:53:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_unicode_create_queue_unicode_name.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_unicode_create_queue_unicode_name.yaml index 1fb3a9c2fef8..4ee8935eefd0 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_unicode_create_queue_unicode_name.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_unicode_create_queue_unicode_name.yaml @@ -11,34 +11,30 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7b3c5a26-b575-11e9-b9b1-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:32:59 GMT + - Fri, 06 Sep 2019 21:53:13 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C + uri: https://pyacrstoragef86b1416.queue.core.windows.net/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C response: body: string: "\uFEFFInvalidResourceNameThe - specifed resource name contains invalid characters.\nRequestId:3d44cf1d-1003-0073-4b82-4914c3000000\nTime:2019-08-02T22:32:59.4737874Z" + specifed resource name contains invalid characters.\nRequestId:bc6afec8-7003-006c-3bfd-645a7c000000\nTime:2019-09-06T21:53:12.7426667Z" headers: - Content-Length: + content-length: - '243' - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:32:58 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:12 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: - InvalidResourceName - x-ms-request-id: - - 3d44cf1d-1003-0073-4b82-4914c3000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_unicode_get_messages_unicode_data.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_unicode_get_messages_unicode_data.yaml deleted file mode 100644 index c184b844c857..000000000000 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_unicode_get_messages_unicode_data.yaml +++ /dev/null @@ -1,134 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7b73980a-b575-11e9-a666-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:32:59 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuef853140e - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Fri, 02 Aug 2019 22:32:58 GMT - Server: - - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 9a64c186-0003-0082-0382-49c550000000 - x-ms-version: - - '2018-03-28' - status: - code: 201 - message: Created -- request: - body: "\nmessage1\u3688" - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '106' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7b9f4398-b575-11e9-abc0-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:33:00 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuef853140e/messages - response: - body: - string: "\uFEFFd7889b60-5962-4de3-a0ee-0b7f3a7ecea0Fri, - 02 Aug 2019 22:32:59 GMTFri, 09 Aug 2019 22:32:59 - GMTAgAAAAMAAAAAAAAAQw45PYJJ1QE=Fri, - 02 Aug 2019 22:32:59 GMT" - headers: - Content-Type: - - application/xml - Date: - - Fri, 02 Aug 2019 22:32:58 GMT - Server: - - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - x-ms-request-id: - - 9a64c1a7-0003-0082-2182-49c550000000 - x-ms-version: - - '2018-03-28' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7baa119c-b575-11e9-afe4-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:33:00 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuef853140e/messages - response: - body: - string: "\uFEFFd7889b60-5962-4de3-a0ee-0b7f3a7ecea0Fri, - 02 Aug 2019 22:32:59 GMTFri, 09 Aug 2019 22:32:59 - GMTAgAAAAMAAAAAAAAAACUmT4JJ1QE=Fri, - 02 Aug 2019 22:33:29 GMT1message1\u3688" - headers: - Cache-Control: - - no-cache - Content-Type: - - application/xml - Date: - - Fri, 02 Aug 2019 22:32:59 GMT - Server: - - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-request-id: - - 9a64c1c0-0003-0082-3a82-49c550000000 - x-ms-version: - - '2018-03-28' - status: - code: 200 - message: OK -version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_unicode_update_message_unicode_data.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_unicode_update_message_unicode_data.yaml deleted file mode 100644 index 8e8b00b26e03..000000000000 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_unicode_update_message_unicode_data.yaml +++ /dev/null @@ -1,227 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7bdd926c-b575-11e9-99ff-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:33:00 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue223e14de - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Fri, 02 Aug 2019 22:32:59 GMT - Server: - - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - e6acb660-3003-0081-4682-49c657000000 - x-ms-version: - - '2018-03-28' - status: - code: 201 - message: Created -- request: - body: ' - - message1' - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '103' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7c0bb26e-b575-11e9-9fc8-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:33:00 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue223e14de/messages - response: - body: - string: "\uFEFF0fb3a797-8dd7-43cf-933a-72c04806a603Fri, - 02 Aug 2019 22:33:00 GMTFri, 09 Aug 2019 22:33:00 - GMTAgAAAAMAAAAAAAAAnMKnPYJJ1QE=Fri, - 02 Aug 2019 22:33:00 GMT" - headers: - Content-Type: - - application/xml - Date: - - Fri, 02 Aug 2019 22:32:59 GMT - Server: - - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - x-ms-request-id: - - e6acb66f-3003-0081-5282-49c657000000 - x-ms-version: - - '2018-03-28' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7c18eec6-b575-11e9-9989-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:33:00 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue223e14de/messages - response: - body: - string: "\uFEFF0fb3a797-8dd7-43cf-933a-72c04806a603Fri, - 02 Aug 2019 22:33:00 GMTFri, 09 Aug 2019 22:33:00 - GMTAgAAAAMAAAAAAAAAp06VT4JJ1QE=Fri, - 02 Aug 2019 22:33:30 GMT1message1" - headers: - Cache-Control: - - no-cache - Content-Type: - - application/xml - Date: - - Fri, 02 Aug 2019 22:32:59 GMT - Server: - - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-request-id: - - e6acb676-3003-0081-5882-49c657000000 - x-ms-version: - - '2018-03-28' - status: - code: 200 - message: OK -- request: - body: "\n\u554A\u9F44\u4E02\u72DB\u72DC" - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '110' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7c251c82-b575-11e9-816e-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:33:01 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue223e14de/messages/0fb3a797-8dd7-43cf-933a-72c04806a603?popreceipt=AgAAAAMAAAAAAAAAp06VT4JJ1QE%3D&visibilitytimeout=0 - response: - body: - string: '' - headers: - Content-Length: - - '0' - Date: - - Fri, 02 Aug 2019 22:33:00 GMT - Server: - - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-popreceipt: - - AwAAAAMAAAAAAAAANeXIPYJJ1QEBAAAA - x-ms-request-id: - - e6acb682-3003-0081-6282-49c657000000 - x-ms-time-next-visible: - - Fri, 02 Aug 2019 22:33:00 GMT - x-ms-version: - - '2018-03-28' - status: - code: 204 - message: No Content -- request: - body: null - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7c3a1bb4-b575-11e9-ac99-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:33:01 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue223e14de/messages - response: - body: - string: "\uFEFF0fb3a797-8dd7-43cf-933a-72c04806a603Fri, - 02 Aug 2019 22:33:00 GMTFri, 09 Aug 2019 22:33:00 - GMTAgAAAAMAAAAAAAAALkq2T4JJ1QE=Fri, - 02 Aug 2019 22:33:30 GMT2\u554A\u9F44\u4E02\u72DB\u72DC" - headers: - Cache-Control: - - no-cache - Content-Type: - - application/xml - Date: - - Fri, 02 Aug 2019 22:33:00 GMT - Server: - - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: - - chunked - Vary: - - Origin - x-ms-request-id: - - e6acb68f-3003-0081-6e82-49c657000000 - x-ms-version: - - '2018-03-28' - status: - code: 200 - message: OK -version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_update_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_update_message.yaml index ba7a3da70a34..a610e521b45e 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_update_message.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_update_message.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7c6db392-b575-11e9-9a53-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:01 GMT + - Fri, 06 Sep 2019 21:53:59 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuec0820c59 + uri: https://pyacrstoragec0820c59.queue.core.windows.net/pythonqueuec0820c59 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:00 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:57 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 94f1e433-1003-009d-0c82-491e40000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7c9c5dca-b575-11e9-898f-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:01 GMT + - Fri, 06 Sep 2019 21:54:00 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuec0820c59/messages + uri: https://pyacrstoragec0820c59.queue.core.windows.net/pythonqueuec0820c59/messages response: body: - string: "\uFEFF053ac208-bec3-46eb-a85f-fe1bfbd5d3e5Fri, - 02 Aug 2019 22:33:01 GMTFri, 09 Aug 2019 22:33:01 - GMTAgAAAAMAAAAAAAAAV/02PoJJ1QE=Fri, - 02 Aug 2019 22:33:01 GMT" + string: "\uFEFF1f7a2d32-40e4-47f4-9cc0-b8e6983ee19eFri, + 06 Sep 2019 21:53:58 GMTFri, 13 Sep 2019 21:53:58 + GMTAgAAAAMAAAAAAAAAAg07lv1k1QE=Fri, + 06 Sep 2019 21:53:58 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:00 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:57 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 94f1e437-1003-009d-0d82-491e40000000 x-ms-version: - '2018-03-28' status: @@ -96,38 +88,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7ca816c2-b575-11e9-8d1f-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:01 GMT + - Fri, 06 Sep 2019 21:54:00 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuec0820c59/messages + uri: https://pyacrstoragec0820c59.queue.core.windows.net/pythonqueuec0820c59/messages response: body: - string: "\uFEFF053ac208-bec3-46eb-a85f-fe1bfbd5d3e5Fri, - 02 Aug 2019 22:33:01 GMTFri, 09 Aug 2019 22:33:01 - GMTAgAAAAMAAAAAAAAANDskUIJJ1QE=Fri, - 02 Aug 2019 22:33:31 GMT1message1" + string: "\uFEFF1f7a2d32-40e4-47f4-9cc0-b8e6983ee19eFri, + 06 Sep 2019 21:53:58 GMTFri, 13 Sep 2019 21:53:58 + GMTAgAAAAMAAAAAAAAA0sAoqP1k1QE=Fri, + 06 Sep 2019 21:54:28 GMT1message1" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:01 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 94f1e439-1003-009d-0f82-491e40000000 x-ms-version: - '2018-03-28' status: @@ -147,31 +133,27 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7cb3f5ee-b575-11e9-8040-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:01 GMT + - Fri, 06 Sep 2019 21:54:00 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuec0820c59/messages/053ac208-bec3-46eb-a85f-fe1bfbd5d3e5?popreceipt=AgAAAAMAAAAAAAAANDskUIJJ1QE%3D&visibilitytimeout=0 + uri: https://pyacrstoragec0820c59.queue.core.windows.net/pythonqueuec0820c59/messages/1f7a2d32-40e4-47f4-9cc0-b8e6983ee19e?popreceipt=AgAAAAMAAAAAAAAA0sAoqP1k1QE%3D&visibilitytimeout=0 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:01 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-popreceipt: - - AwAAAAMAAAAAAAAAas9OPoJJ1QEBAAAA - x-ms-request-id: - - 94f1e43f-1003-009d-1282-491e40000000 + - AwAAAAMAAAAAAAAAgeBSlv1k1QEBAAAA x-ms-time-next-visible: - - Fri, 02 Aug 2019 22:33:01 GMT + - Fri, 06 Sep 2019 21:53:58 GMT x-ms-version: - '2018-03-28' status: @@ -187,38 +169,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7cc01568-b575-11e9-abad-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:02 GMT + - Fri, 06 Sep 2019 21:54:00 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuec0820c59/messages + uri: https://pyacrstoragec0820c59.queue.core.windows.net/pythonqueuec0820c59/messages response: body: - string: "\uFEFF053ac208-bec3-46eb-a85f-fe1bfbd5d3e5Fri, - 02 Aug 2019 22:33:01 GMTFri, 09 Aug 2019 22:33:01 - GMTAgAAAAMAAAAAAAAAdVs8UIJJ1QE=Fri, - 02 Aug 2019 22:33:31 GMT2message1" + string: "\uFEFF1f7a2d32-40e4-47f4-9cc0-b8e6983ee19eFri, + 06 Sep 2019 21:53:58 GMTFri, 13 Sep 2019 21:53:58 + GMTAgAAAAMAAAAAAAAA4H5BqP1k1QE=Fri, + 06 Sep 2019 21:54:28 GMT2message1" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:01 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 94f1e441-1003-009d-1482-491e40000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_update_message_content.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_update_message_content.yaml index 3682855986f2..a1ff03bff0aa 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_update_message_content.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue.test_update_message_content.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7d00afbe-b575-11e9-8056-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:02 GMT + - Fri, 06 Sep 2019 21:53:34 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue32150fb3 + uri: https://pyacrstorage32150fb3.queue.core.windows.net/pythonqueue32150fb3 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:01 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:33 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 5c876548-f003-00d3-7182-49dba5000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7d2d1686-b575-11e9-8bea-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:02 GMT + - Fri, 06 Sep 2019 21:53:35 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue32150fb3/messages + uri: https://pyacrstorage32150fb3.queue.core.windows.net/pythonqueue32150fb3/messages response: body: - string: "\uFEFFb15ffa63-b577-4c6b-9f1c-b3d08f2a2946Fri, - 02 Aug 2019 22:33:02 GMTFri, 09 Aug 2019 22:33:02 - GMTAgAAAAMAAAAAAAAAOzTIPoJJ1QE=Fri, - 02 Aug 2019 22:33:02 GMT" + string: "\uFEFF366fffd6-234f-447b-b135-4204d47cc28bFri, + 06 Sep 2019 21:53:33 GMTFri, 13 Sep 2019 21:53:33 + GMTAgAAAAMAAAAAAAAA/RA7h/1k1QE=Fri, + 06 Sep 2019 21:53:33 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:01 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:33 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 5c87654d-f003-00d3-7382-49dba5000000 x-ms-version: - '2018-03-28' status: @@ -96,38 +88,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7d396240-b575-11e9-987a-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:02 GMT + - Fri, 06 Sep 2019 21:53:35 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue32150fb3/messages + uri: https://pyacrstorage32150fb3.queue.core.windows.net/pythonqueue32150fb3/messages response: body: - string: "\uFEFFb15ffa63-b577-4c6b-9f1c-b3d08f2a2946Fri, - 02 Aug 2019 22:33:02 GMTFri, 09 Aug 2019 22:33:02 - GMTAgAAAAMAAAAAAAAApK60UIJJ1QE=Fri, - 02 Aug 2019 22:33:32 GMT1message1" + string: "\uFEFF366fffd6-234f-447b-b135-4204d47cc28bFri, + 06 Sep 2019 21:53:33 GMTFri, 13 Sep 2019 21:53:33 + GMTAgAAAAMAAAAAAAAA68cmmf1k1QE=Fri, + 06 Sep 2019 21:54:03 GMT1message1" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:01 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:33 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 5c876551-f003-00d3-7582-49dba5000000 x-ms-version: - '2018-03-28' status: @@ -149,31 +135,27 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7d454162-b575-11e9-8ae9-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:02 GMT + - Fri, 06 Sep 2019 21:53:35 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue32150fb3/messages/b15ffa63-b577-4c6b-9f1c-b3d08f2a2946?popreceipt=AgAAAAMAAAAAAAAApK60UIJJ1QE%3D&visibilitytimeout=0 + uri: https://pyacrstorage32150fb3.queue.core.windows.net/pythonqueue32150fb3/messages/366fffd6-234f-447b-b135-4204d47cc28b?popreceipt=AgAAAAMAAAAAAAAA68cmmf1k1QE%3D&visibilitytimeout=0 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:01 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:33 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-popreceipt: - - AwAAAAMAAAAAAAAANzvjPoJJ1QEBAAAA - x-ms-request-id: - - 5c876558-f003-00d3-7c82-49dba5000000 + - AwAAAAMAAAAAAAAA3kVxh/1k1QEBAAAA x-ms-time-next-visible: - - Fri, 02 Aug 2019 22:33:02 GMT + - Fri, 06 Sep 2019 21:53:33 GMT x-ms-version: - '2018-03-28' status: @@ -189,39 +171,33 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7d54ef3a-b575-11e9-a8b8-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:03 GMT + - Fri, 06 Sep 2019 21:53:35 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue32150fb3/messages + uri: https://pyacrstorage32150fb3.queue.core.windows.net/pythonqueue32150fb3/messages response: body: - string: "\uFEFFb15ffa63-b577-4c6b-9f1c-b3d08f2a2946Fri, - 02 Aug 2019 22:33:02 GMTFri, 09 Aug 2019 22:33:02 - GMTAgAAAAMAAAAAAAAA+FvVUIJJ1QE=Fri, - 02 Aug 2019 22:33:32 GMT2new + string: "\uFEFF366fffd6-234f-447b-b135-4204d47cc28bFri, + 06 Sep 2019 21:53:33 GMTFri, 13 Sep 2019 21:53:33 + GMTAgAAAAMAAAAAAAAAozuYmf1k1QE=Fri, + 06 Sep 2019 21:54:04 GMT2new text" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:01 GMT - Server: + date: + - Fri, 06 Sep 2019 21:53:34 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 5c87655e-f003-00d3-8082-49dba5000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_account_sas.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_account_sas.yaml new file mode 100644 index 000000000000..4fe8f57a2aa1 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_account_sas.yaml @@ -0,0 +1,112 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:53:39 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragee8a50da2.queue.core.windows.net/pythonqueuee8a50da2 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:53:37 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee8a50da2.queue.core.windows.net + - /pythonqueuee8a50da2 + - '' + - '' +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:53:39 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstoragee8a50da2.queue.core.windows.net/pythonqueuee8a50da2/messages + response: + body: + string: "\uFEFFfe3f5187-bf2b-4aac-9a72-0aba99faaa04Fri, + 06 Sep 2019 21:53:38 GMTFri, 13 Sep 2019 21:53:38 + GMTAgAAAAMAAAAAAAAAnlnxif1k1QE=Fri, + 06 Sep 2019 21:53:38 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:37 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee8a50da2.queue.core.windows.net + - /pythonqueuee8a50da2/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:53:39 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragee8a50da2.queue.core.windows.net/pythonqueuee8a50da2/messages?peekonly=true&st=2019-09-06T21:48:39Z&se=2019-09-06T22:53:39Z&sp=r&sv=2018-03-28&ss=q&srt=o&sig=y8ZamgWfnbV2cUmmOOoFvuy51HcnBXg4Ad%2Bl3u2VrFE%3D + response: + body: + string: "\uFEFFfe3f5187-bf2b-4aac-9a72-0aba99faaa04Fri, + 06 Sep 2019 21:53:38 GMTFri, 13 Sep 2019 21:53:38 + GMT0message1" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:37 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee8a50da2.queue.core.windows.net + - /pythonqueuee8a50da2/messages + - peekonly=true&st=2019-09-06T21:48:39Z&se=2019-09-06T22:53:39Z&sp=r&sv=2018-03-28&ss=q&srt=o&sig=y8ZamgWfnbV2cUmmOOoFvuy51HcnBXg4Ad%2Bl3u2VrFE%3D + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_clear_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_clear_messages.yaml index 7eceb35ba38e..731cb60743ca 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_clear_messages.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_clear_messages.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7d9a7ac6-b575-11e9-aeb1-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:03 GMT + - Fri, 06 Sep 2019 21:53:37 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue137a0ecd + uri: https://pyacrstorage137a0ecd.queue.core.windows.net/pythonqueue137a0ecd response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:03 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: de53932f-b003-00d4-3a82-492d20000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:53:36 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage137a0ecd.queue.core.windows.net - /pythonqueue137a0ecd - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7de5d06e-b575-11e9-8c6a-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:03 GMT + - Fri, 06 Sep 2019 21:53:38 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue137a0ecd/messages + uri: https://pyacrstorage137a0ecd.queue.core.windows.net/pythonqueue137a0ecd/messages response: body: - string: "\uFEFFf10be48f-8f09-4576-bb14-1605cdae2fc8Fri, - 02 Aug 2019 22:33:03 GMTFri, 09 Aug 2019 22:33:03 - GMTAgAAAAMAAAAAAAAAoGZ6P4JJ1QE=Fri, - 02 Aug 2019 22:33:03 GMT" + string: "\uFEFF2b7aac29-369c-445c-9639-8bb394bdc573Fri, + 06 Sep 2019 21:53:36 GMTFri, 13 Sep 2019 21:53:36 + GMTAgAAAAMAAAAAAAAAphENif1k1QE=Fri, + 06 Sep 2019 21:53:36 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:03 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: de53937c-b003-00d4-7f82-492d20000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:36 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage137a0ecd.queue.core.windows.net - /pythonqueue137a0ecd/messages - '' - '' @@ -105,35 +85,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7decd16c-b575-11e9-82ff-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:03 GMT + - Fri, 06 Sep 2019 21:53:38 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue137a0ecd/messages + uri: https://pyacrstorage137a0ecd.queue.core.windows.net/pythonqueue137a0ecd/messages response: body: - string: "\uFEFFed3edec9-5fbb-4133-adf0-6706f523ccf1Fri, - 02 Aug 2019 22:33:03 GMTFri, 09 Aug 2019 22:33:03 - GMTAgAAAAMAAAAAAAAAKQmCP4JJ1QE=Fri, - 02 Aug 2019 22:33:03 GMT" + string: "\uFEFF7cfce98e-7bf5-4faf-9bf4-4ead81c3b1d0Fri, + 06 Sep 2019 21:53:36 GMTFri, 13 Sep 2019 21:53:36 + GMTAgAAAAMAAAAAAAAAnhsSif1k1QE=Fri, + 06 Sep 2019 21:53:36 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:03 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: de539385-b003-00d4-0782-492d20000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:36 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -142,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage137a0ecd.queue.core.windows.net - /pythonqueue137a0ecd/messages - '' - '' @@ -158,35 +127,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7df382c6-b575-11e9-829b-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:04 GMT + - Fri, 06 Sep 2019 21:53:38 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue137a0ecd/messages + uri: https://pyacrstorage137a0ecd.queue.core.windows.net/pythonqueue137a0ecd/messages response: body: - string: "\uFEFF753222e4-0b21-4421-b381-1097ab54a89eFri, - 02 Aug 2019 22:33:03 GMTFri, 09 Aug 2019 22:33:03 - GMTAgAAAAMAAAAAAAAAB5qIP4JJ1QE=Fri, - 02 Aug 2019 22:33:03 GMT" + string: "\uFEFF380075c4-0533-4968-a7e5-c8d54964b525Fri, + 06 Sep 2019 21:53:36 GMTFri, 13 Sep 2019 21:53:36 + GMTAgAAAAMAAAAAAAAAGM85if1k1QE=Fri, + 06 Sep 2019 21:53:36 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:03 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: de539391-b003-00d4-1282-492d20000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:36 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -195,7 +153,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage137a0ecd.queue.core.windows.net - /pythonqueue137a0ecd/messages - '' - '' @@ -211,35 +169,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7dfa34e8-b575-11e9-8810-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:04 GMT + - Fri, 06 Sep 2019 21:53:38 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue137a0ecd/messages + uri: https://pyacrstorage137a0ecd.queue.core.windows.net/pythonqueue137a0ecd/messages response: body: - string: "\uFEFF74137590-f92c-4256-9a42-67d0dfe991a5Fri, - 02 Aug 2019 22:33:03 GMTFri, 09 Aug 2019 22:33:03 - GMTAgAAAAMAAAAAAAAA0gOPP4JJ1QE=Fri, - 02 Aug 2019 22:33:03 GMT" + string: "\uFEFF55af9db0-9234-4c2d-a3d7-b237ea1ff0e2Fri, + 06 Sep 2019 21:53:36 GMTFri, 13 Sep 2019 21:53:36 + GMTAgAAAAMAAAAAAAAAKgA/if1k1QE=Fri, + 06 Sep 2019 21:53:36 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:03 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: de5393a1-b003-00d4-2082-492d20000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:36 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -248,7 +195,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage137a0ecd.queue.core.windows.net - /pythonqueue137a0ecd/messages - '' - '' @@ -256,31 +203,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7e002434-b575-11e9-a44e-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:04 GMT + - Fri, 06 Sep 2019 21:53:38 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/pythonqueue137a0ecd/messages + uri: https://pyacrstorage137a0ecd.queue.core.windows.net/pythonqueue137a0ecd/messages response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:03 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: de5393a9-b003-00d4-2882-492d20000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:53:36 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -289,7 +227,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage137a0ecd.queue.core.windows.net - /pythonqueue137a0ecd/messages - '' - '' @@ -299,41 +237,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7e0a0880-b575-11e9-912b-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:04 GMT + - Fri, 06 Sep 2019 21:53:38 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue137a0ecd/messages?peekonly=true + uri: https://pyacrstorage137a0ecd.queue.core.windows.net/pythonqueue137a0ecd/messages?peekonly=true response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:03 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: de5393b8-b003-00d4-3682-492d20000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:36 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -342,7 +264,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage137a0ecd.queue.core.windows.net - /pythonqueue137a0ecd/messages - peekonly=true - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue.yaml index 386603e61ae0..b934078325f8 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7e2804ee-b575-11e9-8de3-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:04 GMT + - Fri, 06 Sep 2019 21:53:38 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuef6ac0e07 + uri: https://pyacrstoragef6ac0e07.queue.core.windows.net/pythonqueuef6ac0e07 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:03 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 680639f7-3003-00a3-4c82-49a861000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:53:37 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragef6ac0e07.queue.core.windows.net - /pythonqueuef6ac0e07 - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue_fail_on_exist.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue_fail_on_exist.yaml index 48de709bc8f7..715a5ff29191 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue_fail_on_exist.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue_fail_on_exist.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7e53640c-b575-11e9-bc89-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:04 GMT + - Fri, 06 Sep 2019 21:54:01 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuee53d13ca + uri: https://pyacrstoragee53d13ca.queue.core.windows.net/pythonqueuee53d13ca response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 95fd7b10-0003-000a-3482-497d89000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:00 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee53d13ca.queue.core.windows.net - /pythonqueuee53d13ca - '' - '' @@ -44,31 +35,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7e6bbc2e-b575-11e9-9c93-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:04 GMT + - Fri, 06 Sep 2019 21:54:01 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuee53d13ca + uri: https://pyacrstoragee53d13ca.queue.core.windows.net/pythonqueuee53d13ca response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 95fd7b15-0003-000a-3682-497d89000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:00 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -77,7 +59,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee53d13ca.queue.core.windows.net - /pythonqueuee53d13ca - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue_fail_on_exist_different_metadata.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue_fail_on_exist_different_metadata.yaml index 3bd569b96476..7e3bf6a1832c 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue_fail_on_exist_different_metadata.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue_fail_on_exist_different_metadata.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7e854dfa-b575-11e9-bedb-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:04 GMT + - Fri, 06 Sep 2019 21:53:34 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueueaa2a1b80 + uri: https://pyacrstorageaa2a1b80.queue.core.windows.net/pythonqueueaa2a1b80 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e15a5bda-3003-0020-5782-4908cc000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:53:32 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorageaa2a1b80.queue.core.windows.net - /pythonqueueaa2a1b80 - '' - '' @@ -44,13 +35,11 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7e9e694a-b575-11e9-8d63-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:05 GMT + - Fri, 06 Sep 2019 21:53:34 GMT x-ms-meta: - '{''val'': ''value''}' x-ms-meta-val: @@ -58,26 +47,17 @@ interactions: x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueueaa2a1b80 + uri: https://pyacrstorageaa2a1b80.queue.core.windows.net/pythonqueueaa2a1b80 response: body: string: "\uFEFFQueueAlreadyExistsThe - specified queue already exists.\nRequestId:e15a5be2-3003-0020-5d82-4908cc000000\nTime:2019-08-02T22:33:04.9001946Z" + specified queue already exists.\nRequestId:a003197e-9003-003e-7afd-643016000000\nTime:2019-09-06T21:53:33.2240770Z" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '222' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + content-length: '222' + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:32 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: QueueAlreadyExists - x-ms-request-id: e15a5be2-3003-0020-5d82-4908cc000000 x-ms-version: '2018-03-28' status: code: 409 @@ -86,7 +66,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorageaa2a1b80.queue.core.windows.net - /pythonqueueaa2a1b80 - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue_with_options.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue_with_options.yaml index b24e69e44b51..e2334fd7fd02 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue_with_options.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_create_queue_with_options.yaml @@ -3,13 +3,11 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7eba7eb4-b575-11e9-afe4-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:05 GMT + - Fri, 06 Sep 2019 21:53:49 GMT x-ms-meta: - '{''val1'': ''test'', ''val2'': ''blah''}' x-ms-meta-val1: @@ -19,21 +17,14 @@ interactions: x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueued355138d + uri: https://pyacrstoraged355138d.queue.core.windows.net/pythonqueued355138d response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: a58280ec-2003-00bc-5c82-497371000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:53:48 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -42,7 +33,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged355138d.queue.core.windows.net - /pythonqueued355138d - '' - '' @@ -50,40 +41,26 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7ed374e6-b575-11e9-88f2-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:05 GMT + - Fri, 06 Sep 2019 21:53:50 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueued355138d?comp=metadata + uri: https://pyacrstoraged355138d.queue.core.windows.net/pythonqueued355138d?comp=metadata response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + cache-control: no-cache + content-length: '0' + date: Fri, 06 Sep 2019 21:53:48 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-approximate-messages-count: '0' x-ms-meta-val1: test x-ms-meta-val2: blah - x-ms-request-id: a58280f8-2003-00bc-6582-497371000000 x-ms-version: '2018-03-28' status: code: 200 @@ -92,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged355138d.queue.core.windows.net - /pythonqueued355138d - comp=metadata - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_delete_existing_queue_fail_not_exist.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_delete_existing_queue_fail_not_exist.yaml index 1609a714f37b..a21b74170dc0 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_delete_existing_queue_fail_not_exist.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_delete_existing_queue_fail_not_exist.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7eec1a48-b575-11e9-a26c-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:05 GMT + - Fri, 06 Sep 2019 21:53:45 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuec37b1807 + uri: https://pyacrstoragec37b1807.queue.core.windows.net/pythonqueuec37b1807 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: dbe0adb5-5003-0012-4c82-49501c000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:53:43 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragec37b1807.queue.core.windows.net - /pythonqueuec37b1807 - '' - '' @@ -44,31 +35,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7f036386-b575-11e9-816c-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:05 GMT + - Fri, 06 Sep 2019 21:53:46 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/pythonqueuec37b1807 + uri: https://pyacrstoragec37b1807.queue.core.windows.net/pythonqueuec37b1807 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: dbe0adbd-5003-0012-5182-49501c000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:53:43 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -77,7 +59,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragec37b1807.queue.core.windows.net - /pythonqueuec37b1807 - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_delete_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_delete_message.yaml index 05a1bf4d28f1..656352e73951 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_delete_message.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_delete_message.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7f1bbeb6-b575-11e9-9514-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:05 GMT + - Fri, 06 Sep 2019 21:54:19 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6 + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 6dc1e058-9003-0004-7e82-499182000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage13970ec6.queue.core.windows.net - /pythonqueue13970ec6 - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7f3de9e4-b575-11e9-af77-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages response: body: - string: "\uFEFFd9d2aac6-c876-4b29-a0ce-64982e0c8ef1Fri, - 02 Aug 2019 22:33:05 GMTFri, 09 Aug 2019 22:33:05 - GMTAgAAAAMAAAAAAAAA9pPSQIJJ1QE=Fri, - 02 Aug 2019 22:33:05 GMT" + string: "\uFEFF876186e5-c350-4392-939d-70f493ec4b05Fri, + 06 Sep 2019 21:54:18 GMTFri, 13 Sep 2019 21:54:18 + GMTAgAAAAMAAAAAAAAApWcgov1k1QE=Fri, + 06 Sep 2019 21:54:18 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 6dc1e05e-9003-0004-0282-499182000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage13970ec6.queue.core.windows.net - /pythonqueue13970ec6/messages - '' - '' @@ -105,35 +85,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7f43d82c-b575-11e9-9a91-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages response: body: - string: "\uFEFFf741ca0d-5c33-47db-bed5-55d691867c3cFri, - 02 Aug 2019 22:33:05 GMTFri, 09 Aug 2019 22:33:05 - GMTAgAAAAMAAAAAAAAAfIjYQIJJ1QE=Fri, - 02 Aug 2019 22:33:05 GMT" + string: "\uFEFFdbe37ef7-0c5d-4d6e-8723-62f1f3c11e05Fri, + 06 Sep 2019 21:54:18 GMTFri, 13 Sep 2019 21:54:18 + GMTAgAAAAMAAAAAAAAAYfwkov1k1QE=Fri, + 06 Sep 2019 21:54:18 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 6dc1e062-9003-0004-0582-499182000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -142,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage13970ec6.queue.core.windows.net - /pythonqueue13970ec6/messages - '' - '' @@ -158,35 +127,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7f49a080-b575-11e9-b042-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages response: body: - string: "\uFEFF2d74422a-354d-494f-955e-cf5edb4dc112Fri, - 02 Aug 2019 22:33:06 GMTFri, 09 Aug 2019 22:33:06 - GMTAgAAAAMAAAAAAAAA5lXeQIJJ1QE=Fri, - 02 Aug 2019 22:33:06 GMT" + string: "\uFEFF6ae72c33-5f71-45d6-8792-2258a6968480Fri, + 06 Sep 2019 21:54:18 GMTFri, 13 Sep 2019 21:54:18 + GMTAgAAAAMAAAAAAAAA3kIpov1k1QE=Fri, + 06 Sep 2019 21:54:18 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 6dc1e065-9003-0004-0782-499182000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -195,7 +153,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage13970ec6.queue.core.windows.net - /pythonqueue13970ec6/messages - '' - '' @@ -211,35 +169,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7f4f8f5c-b575-11e9-ab6e-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages response: body: - string: "\uFEFFa18929ee-742a-47b1-a91a-e1da6ceb9869Fri, - 02 Aug 2019 22:33:06 GMTFri, 09 Aug 2019 22:33:06 - GMTAgAAAAMAAAAAAAAAQvzjQIJJ1QE=Fri, - 02 Aug 2019 22:33:06 GMT" + string: "\uFEFFcb9e1ad4-9607-44ef-9a90-066290052ac6Fri, + 06 Sep 2019 21:54:18 GMTFri, 13 Sep 2019 21:54:18 + GMTAgAAAAMAAAAAAAAAf7Atov1k1QE=Fri, + 06 Sep 2019 21:54:18 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 6dc1e068-9003-0004-0a82-499182000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -248,7 +195,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage13970ec6.queue.core.windows.net - /pythonqueue13970ec6/messages - '' - '' @@ -258,43 +205,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7f5509f6-b575-11e9-9017-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages response: body: - string: "\uFEFFd9d2aac6-c876-4b29-a0ce-64982e0c8ef1Fri, - 02 Aug 2019 22:33:05 GMTFri, 09 Aug 2019 22:33:05 - GMTAgAAAAMAAAAAAAAAgh7LUoJJ1QE=Fri, - 02 Aug 2019 22:33:36 GMT1message1" + string: "\uFEFF876186e5-c350-4392-939d-70f493ec4b05Fri, + 06 Sep 2019 21:54:18 GMTFri, 13 Sep 2019 21:54:18 + GMTAgAAAAMAAAAAAAAATg8UtP1k1QE=Fri, + 06 Sep 2019 21:54:48 GMT1message1" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 6dc1e069-9003-0004-0b82-499182000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -303,7 +234,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage13970ec6.queue.core.windows.net - /pythonqueue13970ec6/messages - '' - '' @@ -311,31 +242,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7f5b9650-b575-11e9-9b39-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages/d9d2aac6-c876-4b29-a0ce-64982e0c8ef1?popreceipt=AgAAAAMAAAAAAAAAgh7LUoJJ1QE%3D + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages/876186e5-c350-4392-939d-70f493ec4b05?popreceipt=AgAAAAMAAAAAAAAATg8UtP1k1QE%3D response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 6dc1e06b-9003-0004-0d82-499182000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -344,9 +266,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net - - /pythonqueue13970ec6/messages/d9d2aac6-c876-4b29-a0ce-64982e0c8ef1 - - popreceipt=AgAAAAMAAAAAAAAAgh7LUoJJ1QE%3D + - pyacrstorage13970ec6.queue.core.windows.net + - /pythonqueue13970ec6/messages/876186e5-c350-4392-939d-70f493ec4b05 + - popreceipt=AgAAAAMAAAAAAAAATg8UtP1k1QE%3D - '' - request: body: null @@ -354,43 +276,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7f615e18-b575-11e9-92c8-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages response: body: - string: "\uFEFFf741ca0d-5c33-47db-bed5-55d691867c3cFri, - 02 Aug 2019 22:33:05 GMTFri, 09 Aug 2019 22:33:05 - GMTAgAAAAMAAAAAAAAA5qPXUoJJ1QE=Fri, - 02 Aug 2019 22:33:36 GMT1message2" + string: "\uFEFFdbe37ef7-0c5d-4d6e-8723-62f1f3c11e05Fri, + 06 Sep 2019 21:54:18 GMTFri, 13 Sep 2019 21:54:18 + GMTAgAAAAMAAAAAAAAA3oYdtP1k1QE=Fri, + 06 Sep 2019 21:54:48 GMT1message2" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 6dc1e06f-9003-0004-1182-499182000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -399,7 +305,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage13970ec6.queue.core.windows.net - /pythonqueue13970ec6/messages - '' - '' @@ -407,31 +313,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7f67c39c-b575-11e9-a8b0-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages/f741ca0d-5c33-47db-bed5-55d691867c3c?popreceipt=AgAAAAMAAAAAAAAA5qPXUoJJ1QE%3D + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages/dbe37ef7-0c5d-4d6e-8723-62f1f3c11e05?popreceipt=AgAAAAMAAAAAAAAA3oYdtP1k1QE%3D response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 6dc1e072-9003-0004-1382-499182000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -440,9 +337,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net - - /pythonqueue13970ec6/messages/f741ca0d-5c33-47db-bed5-55d691867c3c - - popreceipt=AgAAAAMAAAAAAAAA5qPXUoJJ1QE%3D + - pyacrstorage13970ec6.queue.core.windows.net + - /pythonqueue13970ec6/messages/dbe37ef7-0c5d-4d6e-8723-62f1f3c11e05 + - popreceipt=AgAAAAMAAAAAAAAA3oYdtP1k1QE%3D - '' - request: body: null @@ -450,43 +347,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7f6ec3ca-b575-11e9-94bb-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages response: body: - string: "\uFEFF2d74422a-354d-494f-955e-cf5edb4dc112Fri, - 02 Aug 2019 22:33:06 GMTFri, 09 Aug 2019 22:33:06 - GMTAgAAAAMAAAAAAAAABmLlUoJJ1QE=Fri, - 02 Aug 2019 22:33:36 GMT1message3" + string: "\uFEFF6ae72c33-5f71-45d6-8792-2258a6968480Fri, + 06 Sep 2019 21:54:18 GMTFri, 13 Sep 2019 21:54:18 + GMTAgAAAAMAAAAAAAAAb/4mtP1k1QE=Fri, + 06 Sep 2019 21:54:48 GMT1message3" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 6dc1e074-9003-0004-1582-499182000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -495,7 +376,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage13970ec6.queue.core.windows.net - /pythonqueue13970ec6/messages - '' - '' @@ -503,31 +384,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7f7b16a8-b575-11e9-97cf-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages/2d74422a-354d-494f-955e-cf5edb4dc112?popreceipt=AgAAAAMAAAAAAAAABmLlUoJJ1QE%3D + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages/6ae72c33-5f71-45d6-8792-2258a6968480?popreceipt=AgAAAAMAAAAAAAAAb/4mtP1k1QE%3D response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 6dc1e076-9003-0004-1782-499182000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -536,9 +408,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net - - /pythonqueue13970ec6/messages/2d74422a-354d-494f-955e-cf5edb4dc112 - - popreceipt=AgAAAAMAAAAAAAAABmLlUoJJ1QE%3D + - pyacrstorage13970ec6.queue.core.windows.net + - /pythonqueue13970ec6/messages/6ae72c33-5f71-45d6-8792-2258a6968480 + - popreceipt=AgAAAAMAAAAAAAAAb/4mtP1k1QE%3D - '' - request: body: null @@ -546,43 +418,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7f8104d8-b575-11e9-85d9-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages response: body: - string: "\uFEFFa18929ee-742a-47b1-a91a-e1da6ceb9869Fri, - 02 Aug 2019 22:33:06 GMTFri, 09 Aug 2019 22:33:06 - GMTAgAAAAMAAAAAAAAAfBj3UoJJ1QE=Fri, - 02 Aug 2019 22:33:36 GMT1message4" + string: "\uFEFFcb9e1ad4-9607-44ef-9a90-066290052ac6Fri, + 06 Sep 2019 21:54:18 GMTFri, 13 Sep 2019 21:54:18 + GMTAgAAAAMAAAAAAAAAY8AytP1k1QE=Fri, + 06 Sep 2019 21:54:49 GMT1message4" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 6dc1e078-9003-0004-1982-499182000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -591,7 +447,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage13970ec6.queue.core.windows.net - /pythonqueue13970ec6/messages - '' - '' @@ -599,31 +455,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7f86a64a-b575-11e9-bad7-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages/a18929ee-742a-47b1-a91a-e1da6ceb9869?popreceipt=AgAAAAMAAAAAAAAAfBj3UoJJ1QE%3D + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages/cb9e1ad4-9607-44ef-9a90-066290052ac6?popreceipt=AgAAAAMAAAAAAAAAY8AytP1k1QE%3D response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 6dc1e07a-9003-0004-1b82-499182000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -632,9 +479,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net - - /pythonqueue13970ec6/messages/a18929ee-742a-47b1-a91a-e1da6ceb9869 - - popreceipt=AgAAAAMAAAAAAAAAfBj3UoJJ1QE%3D + - pyacrstorage13970ec6.queue.core.windows.net + - /pythonqueue13970ec6/messages/cb9e1ad4-9607-44ef-9a90-066290052ac6 + - popreceipt=AgAAAAMAAAAAAAAAY8AytP1k1QE%3D - '' - request: body: null @@ -642,41 +489,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7f8c6eb6-b575-11e9-a023-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 6dc1e07b-9003-0004-1c82-499182000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -685,7 +516,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage13970ec6.queue.core.windows.net - /pythonqueue13970ec6/messages - '' - '' @@ -695,41 +526,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7f91c3b4-b575-11e9-8c44-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:20 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue13970ec6/messages + uri: https://pyacrstorage13970ec6.queue.core.windows.net/pythonqueue13970ec6/messages response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 6dc1e07e-9003-0004-1f82-499182000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:18 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -738,7 +553,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage13970ec6.queue.core.windows.net - /pythonqueue13970ec6/messages - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_delete_non_existing_queue.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_delete_non_existing_queue.yaml index e0af5d21b6be..264f6fc295d0 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_delete_non_existing_queue.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_delete_non_existing_queue.yaml @@ -3,36 +3,25 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7fb3b1f4-b575-11e9-ad23-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:06 GMT + - Fri, 06 Sep 2019 21:54:29 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/pythonqueued2ca137a + uri: https://pyacrstoraged2ca137a.queue.core.windows.net/pythonqueued2ca137a response: body: string: "\uFEFFQueueNotFoundThe - specified queue does not exist.\nRequestId:7bf4f0f0-c003-0035-0a82-49ca55000000\nTime:2019-08-02T22:33:06.8342064Z" + specified queue does not exist.\nRequestId:842aadd3-3003-00ec-22fd-64a0b2000000\nTime:2019-09-06T21:54:28.0434544Z" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '217' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + content-length: '217' + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:27 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: QueueNotFound - x-ms-request-id: 7bf4f0f0-c003-0035-0a82-49ca55000000 x-ms-version: '2018-03-28' status: code: 404 @@ -41,7 +30,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged2ca137a.queue.core.windows.net - /pythonqueued2ca137a - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages.yaml index cbafa68b0657..4e26a838c202 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 7fdfe7a2-b575-11e9-bbda-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:07 GMT + - Fri, 06 Sep 2019 21:53:59 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuef6bf0e06 + uri: https://pyacrstoragef6bf0e06.queue.core.windows.net/pythonqueuef6bf0e06 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d95d096b-9003-004b-3482-49559a000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:53:58 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragef6bf0e06.queue.core.windows.net - /pythonqueuef6bf0e06 - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7ff84bee-b575-11e9-8119-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:07 GMT + - Fri, 06 Sep 2019 21:54:00 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuef6bf0e06/messages + uri: https://pyacrstoragef6bf0e06.queue.core.windows.net/pythonqueuef6bf0e06/messages response: body: - string: "\uFEFF250d2e5f-820a-4fe9-b2de-cb9de0a83097Fri, - 02 Aug 2019 22:33:07 GMTFri, 09 Aug 2019 22:33:07 - GMTAgAAAAMAAAAAAAAAgXqNQYJJ1QE=Fri, - 02 Aug 2019 22:33:07 GMT" + string: "\uFEFF9208b20a-27bb-45f5-839e-7532f5f7796bFri, + 06 Sep 2019 21:53:58 GMTFri, 13 Sep 2019 21:53:58 + GMTAgAAAAMAAAAAAAAAPo0xlv1k1QE=Fri, + 06 Sep 2019 21:53:58 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: d95d0970-9003-004b-3782-49559a000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:58 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragef6bf0e06.queue.core.windows.net - /pythonqueuef6bf0e06/messages - '' - '' @@ -105,35 +85,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 7ffea5c6-b575-11e9-9eda-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:07 GMT + - Fri, 06 Sep 2019 21:54:00 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuef6bf0e06/messages + uri: https://pyacrstoragef6bf0e06.queue.core.windows.net/pythonqueuef6bf0e06/messages response: body: - string: "\uFEFFd46b594e-3fef-428f-a43e-3a2152b28e2aFri, - 02 Aug 2019 22:33:07 GMTFri, 09 Aug 2019 22:33:07 - GMTAgAAAAMAAAAAAAAAG5aTQYJJ1QE=Fri, - 02 Aug 2019 22:33:07 GMT" + string: "\uFEFF2abb0e23-0a8a-420b-80d1-de83a975609aFri, + 06 Sep 2019 21:53:58 GMTFri, 13 Sep 2019 21:53:58 + GMTAgAAAAMAAAAAAAAA6ys7lv1k1QE=Fri, + 06 Sep 2019 21:53:58 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: d95d0975-9003-004b-3b82-49559a000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:58 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -142,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragef6bf0e06.queue.core.windows.net - /pythonqueuef6bf0e06/messages - '' - '' @@ -158,35 +127,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 800557f6-b575-11e9-9ec9-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:07 GMT + - Fri, 06 Sep 2019 21:54:00 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuef6bf0e06/messages + uri: https://pyacrstoragef6bf0e06.queue.core.windows.net/pythonqueuef6bf0e06/messages response: body: - string: "\uFEFF7500dbd7-a7be-4968-98f3-f9bf2d132250Fri, - 02 Aug 2019 22:33:07 GMTFri, 09 Aug 2019 22:33:07 - GMTAgAAAAMAAAAAAAAAztiZQYJJ1QE=Fri, - 02 Aug 2019 22:33:07 GMT" + string: "\uFEFF1f86fd47-57b0-4e1c-b373-ae1575e93c64Fri, + 06 Sep 2019 21:53:58 GMTFri, 13 Sep 2019 21:53:58 + GMTAgAAAAMAAAAAAAAAOtJAlv1k1QE=Fri, + 06 Sep 2019 21:53:58 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: d95d097b-9003-004b-4082-49559a000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:58 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -195,7 +153,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragef6bf0e06.queue.core.windows.net - /pythonqueuef6bf0e06/messages - '' - '' @@ -211,35 +169,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 800af95a-b575-11e9-af6e-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:07 GMT + - Fri, 06 Sep 2019 21:54:00 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuef6bf0e06/messages + uri: https://pyacrstoragef6bf0e06.queue.core.windows.net/pythonqueuef6bf0e06/messages response: body: - string: "\uFEFFaac66b8e-2223-4405-97b2-cb3a2807ef8dFri, - 02 Aug 2019 22:33:07 GMTFri, 09 Aug 2019 22:33:07 - GMTAgAAAAMAAAAAAAAAVM2fQYJJ1QE=Fri, - 02 Aug 2019 22:33:07 GMT" + string: "\uFEFF32411fa1-e6fd-4749-938e-79250a4ce6c3Fri, + 06 Sep 2019 21:53:58 GMTFri, 13 Sep 2019 21:53:58 + GMTAgAAAAMAAAAAAAAAcVtLlv1k1QE=Fri, + 06 Sep 2019 21:53:58 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: d95d097d-9003-004b-4282-49559a000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:58 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -248,7 +195,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragef6bf0e06.queue.core.windows.net - /pythonqueuef6bf0e06/messages - '' - '' @@ -258,43 +205,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8010e8cc-b575-11e9-89a8-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:07 GMT + - Fri, 06 Sep 2019 21:54:00 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuef6bf0e06/messages + uri: https://pyacrstoragef6bf0e06.queue.core.windows.net/pythonqueuef6bf0e06/messages response: body: - string: "\uFEFF250d2e5f-820a-4fe9-b2de-cb9de0a83097Fri, - 02 Aug 2019 22:33:07 GMTFri, 09 Aug 2019 22:33:07 - GMTAgAAAAMAAAAAAAAAqxaHU4JJ1QE=Fri, - 02 Aug 2019 22:33:37 GMT1message1" + string: "\uFEFF9208b20a-27bb-45f5-839e-7532f5f7796bFri, + 06 Sep 2019 21:53:58 GMTFri, 13 Sep 2019 21:53:58 + GMTAgAAAAMAAAAAAAAAklYyqP1k1QE=Fri, + 06 Sep 2019 21:54:28 GMT1message1" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: d95d0986-9003-004b-4a82-49559a000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:58 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -303,7 +234,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragef6bf0e06.queue.core.windows.net - /pythonqueuef6bf0e06/messages - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_options.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_options.yaml index 8c5d5dce746e..499f453a12f7 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_options.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_messages_with_options.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 802b637a-b575-11e9-a544-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:07 GMT + - Fri, 06 Sep 2019 21:54:03 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueued35b138c + uri: https://pyacrstoraged35b138c.queue.core.windows.net/pythonqueued35b138c response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: b68d2070-1003-00bf-4582-497076000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:01 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged35b138c.queue.core.windows.net - /pythonqueued35b138c - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 804347ee-b575-11e9-9755-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:07 GMT + - Fri, 06 Sep 2019 21:54:04 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueued35b138c/messages + uri: https://pyacrstoraged35b138c.queue.core.windows.net/pythonqueued35b138c/messages response: body: - string: "\uFEFF30243225-054e-4d09-adbb-cb9cebb6391bFri, - 02 Aug 2019 22:33:07 GMTFri, 09 Aug 2019 22:33:07 - GMTAgAAAAMAAAAAAAAApyXYQYJJ1QE=Fri, - 02 Aug 2019 22:33:07 GMT" + string: "\uFEFF370b77ff-6efa-40d4-ba55-eb64a1f54814Fri, + 06 Sep 2019 21:54:02 GMTFri, 13 Sep 2019 21:54:02 + GMTAgAAAAMAAAAAAAAAM6aTmP1k1QE=Fri, + 06 Sep 2019 21:54:02 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: b68d2079-1003-00bf-4c82-497076000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:02 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged35b138c.queue.core.windows.net - /pythonqueued35b138c/messages - '' - '' @@ -105,35 +85,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 80493752-b575-11e9-883f-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:07 GMT + - Fri, 06 Sep 2019 21:54:04 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueued35b138c/messages + uri: https://pyacrstoraged35b138c.queue.core.windows.net/pythonqueued35b138c/messages response: body: - string: "\uFEFFbd9a0be9-01ce-464a-981c-a27e013c6d58Fri, - 02 Aug 2019 22:33:07 GMTFri, 09 Aug 2019 22:33:07 - GMTAgAAAAMAAAAAAAAAGvPdQYJJ1QE=Fri, - 02 Aug 2019 22:33:07 GMT" + string: "\uFEFF8d4c77c0-2d40-4994-a8de-0bfb8bd370c3Fri, + 06 Sep 2019 21:54:02 GMTFri, 13 Sep 2019 21:54:02 + GMTAgAAAAMAAAAAAAAA+zqYmP1k1QE=Fri, + 06 Sep 2019 21:54:02 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: b68d207f-1003-00bf-5282-497076000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:02 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -142,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged35b138c.queue.core.windows.net - /pythonqueued35b138c/messages - '' - '' @@ -158,35 +127,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 804f26ae-b575-11e9-acd0-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:07 GMT + - Fri, 06 Sep 2019 21:54:04 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueued35b138c/messages + uri: https://pyacrstoraged35b138c.queue.core.windows.net/pythonqueued35b138c/messages response: body: - string: "\uFEFF0c4eaf33-d13a-4d2c-a513-f9bccaac8f2cFri, - 02 Aug 2019 22:33:07 GMTFri, 09 Aug 2019 22:33:07 - GMTAgAAAAMAAAAAAAAAbpnjQYJJ1QE=Fri, - 02 Aug 2019 22:33:07 GMT" + string: "\uFEFF6b2e7fcd-3a8d-4689-92c7-2a14260f8ca2Fri, + 06 Sep 2019 21:54:02 GMTFri, 13 Sep 2019 21:54:02 + GMTAgAAAAMAAAAAAAAAjqicmP1k1QE=Fri, + 06 Sep 2019 21:54:02 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: b68d2088-1003-00bf-5982-497076000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:02 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -195,7 +153,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged35b138c.queue.core.windows.net - /pythonqueued35b138c/messages - '' - '' @@ -211,35 +169,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8054d038-b575-11e9-bac5-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:08 GMT + - Fri, 06 Sep 2019 21:54:04 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueued35b138c/messages + uri: https://pyacrstoraged35b138c.queue.core.windows.net/pythonqueued35b138c/messages response: body: - string: "\uFEFF144343c8-1a43-4f82-8022-2aa4202a634aFri, - 02 Aug 2019 22:33:07 GMTFri, 09 Aug 2019 22:33:07 - GMTAgAAAAMAAAAAAAAA3WbpQYJJ1QE=Fri, - 02 Aug 2019 22:33:07 GMT" + string: "\uFEFFd72118a9-e085-40c1-8e0f-773dc3d17166Fri, + 06 Sep 2019 21:54:02 GMTFri, 13 Sep 2019 21:54:02 + GMTAgAAAAMAAAAAAAAAGu+gmP1k1QE=Fri, + 06 Sep 2019 21:54:02 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: b68d208f-1003-00bf-6082-497076000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:02 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -248,7 +195,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged35b138c.queue.core.windows.net - /pythonqueued35b138c/messages - '' - '' @@ -258,52 +205,36 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 805a9898-b575-11e9-a2aa-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:08 GMT + - Fri, 06 Sep 2019 21:54:04 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueued35b138c/messages?numofmessages=4&visibilitytimeout=20 + uri: https://pyacrstoraged35b138c.queue.core.windows.net/pythonqueued35b138c/messages?numofmessages=4&visibilitytimeout=20 response: body: - string: "\uFEFF30243225-054e-4d09-adbb-cb9cebb6391bFri, - 02 Aug 2019 22:33:07 GMTFri, 09 Aug 2019 22:33:07 - GMTAgAAAAMAAAAAAAAAN8/aTYJJ1QE=Fri, - 02 Aug 2019 22:33:27 GMT1message1bd9a0be9-01ce-464a-981c-a27e013c6d58Fri, - 02 Aug 2019 22:33:07 GMTFri, 09 Aug 2019 22:33:07 - GMTAgAAAAMAAAAAAAAAN8/aTYJJ1QE=Fri, - 02 Aug 2019 22:33:27 GMT1message20c4eaf33-d13a-4d2c-a513-f9bccaac8f2cFri, - 02 Aug 2019 22:33:07 GMTFri, 09 Aug 2019 22:33:07 - GMTAgAAAAMAAAAAAAAAN8/aTYJJ1QE=Fri, - 02 Aug 2019 22:33:27 GMT1message3144343c8-1a43-4f82-8022-2aa4202a634aFri, - 02 Aug 2019 22:33:07 GMTFri, 09 Aug 2019 22:33:07 - GMTAgAAAAMAAAAAAAAAN8/aTYJJ1QE=Fri, - 02 Aug 2019 22:33:27 GMT1message4" + string: "\uFEFF370b77ff-6efa-40d4-ba55-eb64a1f54814Fri, + 06 Sep 2019 21:54:02 GMTFri, 13 Sep 2019 21:54:02 + GMTAgAAAAMAAAAAAAAAth6RpP1k1QE=Fri, + 06 Sep 2019 21:54:22 GMT1message18d4c77c0-2d40-4994-a8de-0bfb8bd370c3Fri, + 06 Sep 2019 21:54:02 GMTFri, 13 Sep 2019 21:54:02 + GMTAgAAAAMAAAAAAAAAth6RpP1k1QE=Fri, + 06 Sep 2019 21:54:22 GMT1message26b2e7fcd-3a8d-4689-92c7-2a14260f8ca2Fri, + 06 Sep 2019 21:54:02 GMTFri, 13 Sep 2019 21:54:02 + GMTAgAAAAMAAAAAAAAAth6RpP1k1QE=Fri, + 06 Sep 2019 21:54:22 GMT1message3d72118a9-e085-40c1-8e0f-773dc3d17166Fri, + 06 Sep 2019 21:54:02 GMTFri, 13 Sep 2019 21:54:02 + GMTAgAAAAMAAAAAAAAAth6RpP1k1QE=Fri, + 06 Sep 2019 21:54:22 GMT1message4" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: b68d20a1-1003-00bf-7082-497076000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:02 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -312,7 +243,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged35b138c.queue.core.windows.net - /pythonqueued35b138c/messages - numofmessages=4&visibilitytimeout=20 - '' @@ -322,41 +253,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8060b028-b575-11e9-840a-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:08 GMT + - Fri, 06 Sep 2019 21:54:04 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueued35b138c/messages?numofmessages=4&visibilitytimeout=20 + uri: https://pyacrstoraged35b138c.queue.core.windows.net/pythonqueued35b138c/messages?numofmessages=4&visibilitytimeout=20 response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: b68d20a8-1003-00bf-7782-497076000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:02 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -365,7 +280,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged35b138c.queue.core.windows.net - /pythonqueued35b138c/messages - numofmessages=4&visibilitytimeout=20 - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_acl.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_acl.yaml index 0a6ede4ac072..05b66d1aea4f 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_acl.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_acl.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 807c13cc-b575-11e9-b3ea-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:08 GMT + - Fri, 06 Sep 2019 21:54:09 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue5560e62 + uri: https://pyacrstorage5560e62.queue.core.windows.net/pythonqueue5560e62 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 3781a41d-0003-0089-2c82-49dd24000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:08 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage5560e62.queue.core.windows.net - /pythonqueue5560e62 - '' - '' @@ -46,41 +37,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8093aa62-b575-11e9-8f64-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:08 GMT + - Fri, 06 Sep 2019 21:54:09 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue5560e62?comp=acl + uri: https://pyacrstorage5560e62.queue.core.windows.net/pythonqueue5560e62?comp=acl response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 3781a42a-0003-0089-3682-49dd24000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:08 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -89,7 +64,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage5560e62.queue.core.windows.net - /pythonqueue5560e62 - comp=acl - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_acl_iter.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_acl_iter.yaml index 210b30fa7158..1257fedb385f 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_acl_iter.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_acl_iter.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 80ab4268-b575-11e9-9b6f-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:08 GMT + - Fri, 06 Sep 2019 21:54:09 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue53571075 + uri: https://pyacrstorage53571075.queue.core.windows.net/pythonqueue53571075 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: e081f867-4003-00ca-0e82-49f7cd000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:08 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage53571075.queue.core.windows.net - /pythonqueue53571075 - '' - '' @@ -46,41 +37,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 80c28a40-b575-11e9-93e4-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:08 GMT + - Fri, 06 Sep 2019 21:54:10 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue53571075?comp=acl + uri: https://pyacrstorage53571075.queue.core.windows.net/pythonqueue53571075?comp=acl response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: e081f870-4003-00ca-1482-49f7cd000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:08 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -89,7 +64,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage53571075.queue.core.windows.net - /pythonqueue53571075 - comp=acl - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_acl_with_non_existing_queue.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_acl_with_non_existing_queue.yaml index 41315d8bc8b5..1e81b5bd3bb9 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_acl_with_non_existing_queue.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_acl_with_non_existing_queue.yaml @@ -5,39 +5,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 80e2ec1a-b575-11e9-94ec-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:08 GMT + - Fri, 06 Sep 2019 21:54:35 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuedc271875?comp=acl + uri: https://pyacrstoragedc271875.queue.core.windows.net/pythonqueuedc271875?comp=acl response: body: string: "\uFEFFQueueNotFoundThe - specified queue does not exist.\nRequestId:ed1ed9a5-7003-0027-7682-49fe49000000\nTime:2019-08-02T22:33:08.8196190Z" + specified queue does not exist.\nRequestId:5b51bcc3-0003-00c3-5efd-64dc82000000\nTime:2019-09-06T21:54:33.6924767Z" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '217' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + content-length: '217' + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:33 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: QueueNotFound - x-ms-request-id: ed1ed9a5-7003-0027-7682-49fe49000000 x-ms-version: '2018-03-28' status: code: 404 @@ -46,7 +32,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragedc271875.queue.core.windows.net - /pythonqueuedc271875 - comp=acl - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_metadata_message_count.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_metadata_message_count.yaml index 9dac249117d5..6593cf24f3eb 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_metadata_message_count.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_get_queue_metadata_message_count.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8110b96e-b575-11e9-9d0e-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:09 GMT + - Fri, 06 Sep 2019 21:53:57 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue64f6163f + uri: https://pyacrstorage64f6163f.queue.core.windows.net/pythonqueue64f6163f response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: cadabcfa-4003-0085-5982-4933d5000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:53:56 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage64f6163f.queue.core.windows.net - /pythonqueue64f6163f - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8127b552-b575-11e9-9270-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:09 GMT + - Fri, 06 Sep 2019 21:53:58 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue64f6163f/messages + uri: https://pyacrstorage64f6163f.queue.core.windows.net/pythonqueue64f6163f/messages response: body: - string: "\uFEFFf5609c14-594f-4ecc-baa6-fb9788d3534dFri, - 02 Aug 2019 22:33:09 GMTFri, 09 Aug 2019 22:33:09 - GMTAgAAAAMAAAAAAAAAlUa8QoJJ1QE=Fri, - 02 Aug 2019 22:33:09 GMT" + string: "\uFEFFc23b78e3-4ef3-48fa-b76e-bacc313e1db0Fri, + 06 Sep 2019 21:53:56 GMTFri, 13 Sep 2019 21:53:56 + GMTAgAAAAMAAAAAAAAA3wcIlf1k1QE=Fri, + 06 Sep 2019 21:53:56 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: cadabd02-4003-0085-5c82-4933d5000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:53:56 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage64f6163f.queue.core.windows.net - /pythonqueue64f6163f/messages - '' - '' @@ -97,38 +77,24 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 812d56c8-b575-11e9-bda0-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:09 GMT + - Fri, 06 Sep 2019 21:53:58 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue64f6163f?comp=metadata + uri: https://pyacrstorage64f6163f.queue.core.windows.net/pythonqueue64f6163f?comp=metadata response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + cache-control: no-cache + content-length: '0' + date: Fri, 06 Sep 2019 21:53:56 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-approximate-messages-count: '1' - x-ms-request-id: cadabd07-4003-0085-6082-4933d5000000 x-ms-version: '2018-03-28' status: code: 200 @@ -137,7 +103,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage64f6163f.queue.core.windows.net - /pythonqueue64f6163f - comp=metadata - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues.yaml index 71e84946b32b..483cded21ea0 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues.yaml @@ -1,46 +1,62 @@ interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:54:13 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragee9b50dc2.queue.core.windows.net/pythonqueuee9b50dc2 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:54:11 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee9b50dc2.queue.core.windows.net + - /pythonqueuee9b50dc2 + - '' + - '' - request: body: null headers: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8146d618-b575-11e9-b37c-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:09 GMT + - Fri, 06 Sep 2019 21:54:13 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?comp=list + uri: https://pyacrstoragee9b50dc2.queue.core.windows.net/?comp=list response: body: string: "\uFEFFcont079e53b6285d462b80b03b642545c8cecont189cce925f2b4bb486c0723a407941cacont270f85ade4ef4fc085727f90367b3c18cont2a13557b64914cf39299097cc1b22ed4cont3b59e2e7def04258824d6de7c802b056cont483db24a585b4602a62ba5f57c045093cont69af6d7f103c4d7b9b08abca4a760fd0cont7783e8311e224b03a658d6a35281a381cont86a3e2a1523443e392221f578ee21793contc9644de2738c476d9b80652d722a2d93conte753f547f8954cdaaaef56fcedb753ddconte7e0b2cd8aec4e828aa9f14afbda798bcontea4add581ae746f69ed0f72f8842631eencryptionqueue0097120ed98c4ab897ab5b43e078ff6aencryptionqueue016f931800f2406d9f25b54df61e5565encryptionqueue02730e3442564930bf34778fbd48d093encryptionqueue0372ba6784084ba58e90d56221a93e0fencryptionqueue042c5d6cead5458da955da1c5d79af86encryptionqueue042d7ab9f40d4b25bca7ad3ccaa64904encryptionqueue084d041c53a54e9084c5dbc97919de94encryptionqueue08cd92e2ea324d648d27bd90e0a2033dencryptionqueue08d8c139169447468949bdbf635a844fencryptionqueue0a8af1a82ec845149071171889f54ba6encryptionqueue0b0c49d937714cf3aeef9c2cdb3912eaencryptionqueue0b77d1f773dd4d7694dfb5f0e5a492b1encryptionqueue0c38d2a5f8ac4f1890705f2c6afe101eencryptionqueue0c54480c9ca6490b9b572e1cb10df446encryptionqueue0e7203c6d1f34819a46a88cae17dca38encryptionqueue0f6e2077abba4ed29cdef11318405f95encryptionqueue100cefda5d8f49528deec587851311b5encryptionqueue104f00a86dfc4c7dbe572c094b2661c0encryptionqueue1090ce1d93f04f6d85e3d4b688ee1e98encryptionqueue12a82a4271fa411581d74ef5ccc48950encryptionqueue16d5e20f58064a4fbde1e59bf717b443encryptionqueue17c36c0abbce4861bf03e9a481b1c12bencryptionqueue1a0f06c3e1c24961b9cac3e5102d55fbencryptionqueue1af22c2e37424f0cb3f4328677f8857eencryptionqueue1b6e45f94e4e4dceb8e5facda49c1d52encryptionqueue1ca72fd152ce4f3e81a4f226b027ab76encryptionqueue1cfb9275c8694e35998e66fca7da24e6encryptionqueue1d2ffe8663cc4b97a36b6e23ce20c6efencryptionqueue1d30b3d8d40649309819810c62b41d78encryptionqueue21938f5cb8a8471f880a2075d70ae1d6encryptionqueue229bd430a4b44bd4aa772f986066559eencryptionqueue26a95595ab264b2898ada5abefb52595encryptionqueue2799a0470dd1437880dc54cf06025377encryptionqueue2900a41e28544c0b86725dd598d95955encryptionqueue2972c516b21e4cd0aabed862f09a47ebencryptionqueue2b1811238dc44cf080f481d8ec68a826encryptionqueue2c58bc2059e94665a2c8afa7407529c9encryptionqueue2dc4bc6cb5a4428499603704eeda993aencryptionqueue2f2d395b74ba4a838473462fcf6f6922encryptionqueue2f714247d5f047c09be8fdafaef6d5c4encryptionqueue2fcef7344a1246809d02b60f1d039261encryptionqueue30e90209e20640ac999c43b8b2d748d6encryptionqueue31920fdafa5b4888972b21ba4e328f1aencryptionqueue3277eb25021146799ff603bd9b3df5b9encryptionqueue346f6f38ac8e4e30ac47844dde558a73encryptionqueue348bfecf0dad46129ecd1707e272709bencryptionqueue34a75cdb25be480e8ac1a31442fd0146encryptionqueue34d386b0ac8444ff92be5970946fd493encryptionqueue366bb78e99ad47ffb77bd270c98f4041encryptionqueue39be41c1f6d3427a822684954cc3db93encryptionqueue3aa5c50ec3b8461ab0a40bee207eb6eeencryptionqueue3b8773119ca24a99880df6bb9c20de0aencryptionqueue3f1145e9a9be423cab5c73b9bd74fe13encryptionqueue40a3e078eda0432dacf8e81f6a058cb8encryptionqueue40a6c172b6b04b8c8e0aa654644bc24cencryptionqueue42a1307c137342bcbd575329d3baf985encryptionqueue42cc363cd2de4df4a51293c82c968494encryptionqueue42e090d9a38f4a4ab6676f3c83c4ce45encryptionqueue43a3cde167144fd8b6e766675c734f6bencryptionqueue43a531e62b634ab4bd70d400bb964317encryptionqueue43bfd7d10982430180bc4a50acc410eaencryptionqueue453b36a7a786488fad7b1f3c1b0d32ffencryptionqueue45dd63ebfba14885931881d7f304c5d8encryptionqueue4b7a63dfa33440768b92d4abe1f6af1fencryptionqueue4c7d4b04f8eb4c90b1dfa3ee5a1fc1c4encryptionqueue4d6b09b0ec434352b977c2e002471506encryptionqueue4ddfb8074fe3410fb000c5f16db13366encryptionqueue4e81724d05be43ac9a06c96930783b62encryptionqueue4f553e48c0cb4ebdbaf53c15d18d0053encryptionqueue501c68c596a247e5a76644e4144587e6encryptionqueue54143dc3ff8843e895ab324e9ff11abbencryptionqueue54485b16c40b4d759bf2c05c8f0a9f67encryptionqueue54779029395a4303af2970d4f9b47e5fencryptionqueue548ac7ba391d40079564aada806782f7encryptionqueue55a1dd25f17f44e99b19827dc46e44fdencryptionqueue55f6d39108404ccbbd21a7a0d922b697encryptionqueue563fd46354b34941b4e953fb0a61da4eencryptionqueue56a3936979574c39be62b5cc5589eb18encryptionqueue575354c26ea843d0850bc55d9e161572encryptionqueue578c7843b1ed4b5093f8b62224aca5c0encryptionqueue57a8960985eb4126b0c1dc1e58992203encryptionqueue58b8dc677a8649da8e8fd31f6d8bd615encryptionqueue5a1d5296c33f499c9d78da514015ac82encryptionqueue5d14f941f9974c1785f46c6f50f7c26cencryptionqueue5d4407051116441c831e8ffd56e6bc50encryptionqueue5ef21f46760b48399ebb7698ca5837fcencryptionqueue5efe7a4d22114c4da80264ac29ead426encryptionqueue6277ea8364e043a6b08deabde442c615encryptionqueue62a53f41aab443f98a072b0d5006fec6encryptionqueue62c0040941e0456d85d859a25a497166encryptionqueue632fd9e53b73412baa17f9061d1cec69encryptionqueue647092dc70bf4cf2b1f24e9ae92cf81fencryptionqueue64bf1697566d48a090b3fbd976a41d13encryptionqueue6840112ff5e8468fbd5b5110910f601dencryptionqueue6ae6bed50bfd48419782bc922d072f5fencryptionqueue6c2b326005104aa1b50bafccbb1a27feencryptionqueue6f2e68232fc040468b036ee14d35b743encryptionqueue6fb8e1ec7e3d4c3e8d973b8c9a7eca32encryptionqueue729fc126bba44466a8a8792164cd9cc5encryptionqueue731453c45d4145e38233d2bc57ec42beencryptionqueue7387f096a56e4b08bfc28fd1b4f1ca9fencryptionqueue73db9ba0d6bc4050ad28ca2826252907encryptionqueue73ea459f720f4779a1aa44684ad4d439encryptionqueue74c27cd56f9b4a54896f3e66f1aba084encryptionqueue75576ffa60e5499484da7e9f8552a28bencryptionqueue7844c5ebb35c4ff5a8a908925ff5b2f6encryptionqueue7a15c02234084348921858a79cf2fb59encryptionqueue7a2fe30b64604ae98117a034072eb6b9encryptionqueue7afea18bed6443f48980e1fe6ab26438encryptionqueue7b094497db4d48f39d6831657db9d700encryptionqueue7b639b8c9fc64d3388d1500bd409abfbencryptionqueue7bb89a64ec5b43ffb98404ee0856fc7eencryptionqueue7c287c2c8b224b90a9b8375b6669f3b1encryptionqueue7eb3f2cccffb449983783b523a54793cencryptionqueue7f52074e87874337855a6a933dd8a9e7encryptionqueue7fa13c40ab884ef49867a67217d3ff44encryptionqueue8113b375e1c04b2488befb80af533364encryptionqueue8282ee8638434433824cfbf6aabd2c1cencryptionqueue84472b92e9b24bc690807909700c046fencryptionqueue84f1a9817f284294b48fec16feb9877eencryptionqueue852991c0af6c4bff98cba25147726206encryptionqueue871b5a2c8cdf449bb9dc1243dc50b83aencryptionqueue890c3286f4a044b5a4db736fd0c74651encryptionqueue8b7230e176e843f382fecf591253f779encryptionqueue8b8a258efc034a7f872045f4c420f84bencryptionqueue8c454d5bdad7473db6b4b974670c6cbeencryptionqueue8ed7dafb9e09414d893170fe3f62f97dencryptionqueue8fa5f7e78d1545df800daa008c8ec4ffencryptionqueue95e33914f60a4b049c6bef1ee383d65eencryptionqueue96124da0010144738bec152eec784ebdencryptionqueue96dded44f2f344789188fa9c3964de11encryptionqueue9719f6cf580242068b12c7e8b660f022encryptionqueue9833cb53913148b2a001452df7582b3cencryptionqueue98ec4d4d4e2240f3a61274ad08ac0bc0encryptionqueue98f22c625f624b72a2f92659b48cd169encryptionqueue991b053961254971b4dd975189f751dbencryptionqueue99b084996b774a7d8d5e28876bc02c2eencryptionqueue9d95735ce2d847e98a95054d9cf3d313encryptionqueue9ddfc660cc324bebba0293710024e72eencryptionqueue9e05eaccf8444710be29e3a123358061encryptionqueue9e1f2ca3d71e4279828ba714f41415d8encryptionqueue9eb22b8388a14b0fad71f195ffc3100aencryptionqueuea094fc7fe61e4757b149cbebb0bd78d0encryptionqueuea09c4705b53c4f58b0393abafdf5a200encryptionqueuea0bcae312ea34c6fa305d62ae8aac550encryptionqueuea1efeef131a145cc8521feabebfcfc5bencryptionqueuea322f5ccc502444ca7063606871b1590encryptionqueuea350c1ca20784ecb9c5bcf131c1a9c8bencryptionqueuea4b2767e118d432f8fad88f19c4561a6encryptionqueuea535995a95e640769918c1e870ebb233encryptionqueuea5c8ec3bec41410385ac6c27271877cbencryptionqueuea8c69b03c1664680b578ba4bf578b208encryptionqueuea900b51280574a0e9b3fe2f6b6cb5222encryptionqueueac79ea38948c4572928c2e1a73d137beencryptionqueueacd7302e730d4824b9e71aa395c6dc93encryptionqueueae725e81989d4b5fa791556de4e7655bencryptionqueueaf127f4aaf7c47af9333f63dd4b0c6a9encryptionqueueaf3e95f0366f4d0fb9b9fbac2fe72c79encryptionqueueafed3761a4f74e22a5f31ce45b786c07encryptionqueueb0131a1971d64828983c8040a13c61e5encryptionqueueb1a90dcee0d149de813ab8dac0b236fcencryptionqueueb1c948cb612c4a858ac7e75eab66fb3bencryptionqueueb3fbcc426aba4a05b8ecdb338cae3ab9encryptionqueueb6094ca059f347439868857ea12535d6encryptionqueueb673014fa4e54f0ba1551c1001a1df42encryptionqueueb6d3a61656854bf5833a8a90a4b905a9encryptionqueueb76ae911f3ff4ec5b27123497942d493encryptionqueueb8ef3a21b53f49af892c74d42ba18b96encryptionqueuebb05e068dd5949bb8e55b9e7755ed4efencryptionqueuebb41a275766e4b60bb2007d8d675ec92encryptionqueuebc2c62bec21f471eb3fae42dfa3e642eencryptionqueuebc30f43cd68346578a3e42d46fd7ec38encryptionqueuebcf4e16d0c954ca2b2cc3780279b57f4encryptionqueuebed6a6c2cc9c46cfa50c10f3183d1a1aencryptionqueuec14f669e1654453f86bd0c076a0cd9feencryptionqueuec16c0d23cedd454892b3c4f76d495908encryptionqueuec16f1bbaa7fc48ceb567bd7b11a2556fencryptionqueuec177ffe3df4c48dbbc749dc4e0973684encryptionqueuec31afa3541c445f4bb777ead59ae790bencryptionqueuec38fe03cedbb411e94b9203b197fb0c6encryptionqueuec3b13da7a37f409e9714a6a4117ec756encryptionqueuec61f6c834ea64f438c5202b974946cf9encryptionqueuec79b3108f23f49e6906d2f760ce2b54eencryptionqueuec89774bd3f5b466e9dceeea90e8e8724encryptionqueuecaebaea357f54a949825a45352ab4a99encryptionqueuecbd50b5188d94b7aa68da1a1ce7ef372encryptionqueued01e401e62144ec8ab904c9a6e3e71bfencryptionqueued1b78feae009454cbac9702948a1e6a1encryptionqueued1e8f34c11964890ac894b6fd8577db7encryptionqueued2d525d0470f4191b1ab3a8ba2909177encryptionqueued4d4d67cfc0448a7a777e886b5d0b3f5encryptionqueued4f0a9fe06ae491f9168838be1f4975aencryptionqueued55aa01a250347ea91d52a5d88b911efencryptionqueued750cbf61ebf434c9601fac592093d06encryptionqueued7fa2d24892f4216837e55d4348c10e6encryptionqueued8dc2f213287470f8761f21dc317cfdaencryptionqueued8fc9376492440a784f3d50a9227822bencryptionqueueda95cb66582c466b90bfb9b337234d8fencryptionqueuedb45a696e5964d93b4cd220fff72e535encryptionqueuedcb9b45ad7e64230aec0ed559481a1eaencryptionqueuedcf328abf4054712ba2ef7c19007c84cencryptionqueuede8196867c49429eaa5460e30b8fffacencryptionqueuedf4de28a5a8f438aad90b9034fb48c6aencryptionqueuee0ddb3fcdbfe4594a3729791b111d642encryptionqueuee0f4d87aaef4424eb900dde7f974c64bencryptionqueuee1c280ce4c7145298c5fbf8126c9b6a8encryptionqueuee1efbf8b5799422aa9996f900071fefbencryptionqueuee5221cea2aaa4043a1f26787a0d82493encryptionqueuee567e008b8034065998e4f31939942b0encryptionqueuee65728e461f14fa795e166269676f1f6encryptionqueuee8c0b76f283545c9be204243a30c706fencryptionqueuee964e4aeae1c4a31ae7dde9e305776cdencryptionqueueeb07e5dbfec649c6a847a094ee810d0eencryptionqueueefea9653fb3141359a3fe65b1deae766encryptionqueuef043e433128a4d289090e16147a9c9e2encryptionqueuef28c24397a584cd8b2cca06eacb4830bencryptionqueuef2921ccedcc842f9a6933898ba54073bencryptionqueuef3312476ff414a4a979a927c8da3b725encryptionqueuef34eeefaa5c14c099bd637bc90fb4ad8encryptionqueuef48cb3e76e204aa9a4480a0f1536a85fencryptionqueuef4afbca3e6394e5c974697bc266516bfencryptionqueuef515fa24ca324570bfc3e75d35edc03eencryptionqueuef586189ff3904f28b26d148c7bb4f90fencryptionqueuefa3b2fdc6f574577963017409efd78e6encryptionqueuefaebb1a83cfc43aebf659f32f2b84e56encryptionqueuefb70345a0b9c4b49b54a4f45f2114b9dencryptionqueuefc17a14f8453407785b99620e28e3dc5encryptionqueuefc900076b063415881f903a569feb4c7encryptionqueuefceeacd2e39f491d9c3fc6bdc04389ccencryptionqueuefd764c95527b4b31a22d608f44e9dbc2encryptionqueueff2895bbc9ba4233ab8c7f2a975393ecencryptionqueueff4e986084c5414fa31c14574dc3cc32encryptionqueueff9f27649b6c462cb05e58b864daa7ebencryptionqueueffda7de0ba364f759c1acbac6454f0d9mytestqueue0219fc1ade71450e92b057fd4d4ab7dcmytestqueue02251eadc2864c7bb5f90049062e99b6mytestqueue0339d719b4f145f5a73ba4eaf82b701cmytestqueue06a5302794394219b0f8a2e79bdb1277mytestqueue0849bdb669764fef9016346990c5da40mytestqueue090d43ab0ca644bab2704b663c370d4dmytestqueue094a0e0a97c647f6b115f7fb3350b28emytestqueue096b3d69dd1a415783e361a016b7171emytestqueue09ec318d047a4f649a5bd82d04991922mytestqueue0a44935b057f40fbbba55600ba1488a5mytestqueue0ae5d7edcfd1423b9bf0b7dd28ae0800mytestqueue0d020ce740154cf8bac50f921730cc6dmytestqueue0d53794f763e46af99a48fddebc3181emytestqueue0efc481803a74a27aced4582e4421f52mytestqueue1024fe31a16a47718921d8ee34f80309mytestqueue10737ee4c08c4acaa3f6daf2458872admytestqueue11eaf3f7b5294f5f973a88b02947134cmytestqueue11ebd8d7cf2b460ba5b5cae9cd8e8c1cmytestqueue129e13914f8a474ba9a722e8e7242dcdmytestqueue131627186d43423b973c451c81e3f82dmytestqueue1361a4c512d84131a9da185a7c004598mytestqueue138682ef9eca41129fd2a1ffad2a5ac6mytestqueue13e19fefb06d4c1b84e38b7baaaa7a2fmytestqueue169cf5534c7d4b96babdf8b59df3cd08mytestqueue17ba6472dc9f4429992e44516b5ce91dmytestqueue195d82bfbfc048599977f3cc2c25553bmytestqueue19af118ef75246dabb54335dfbb69db4mytestqueue1cb3a67a039d42eb9332956de0b78f42mytestqueue1d835889720844e5a14d97d7321d03f9mytestqueue1e78a61f11ca49d4a8a1cb4b52703342mytestqueue20bd5e1c8e1248cbacd4fcd79fbb884cmytestqueue20eaa0d617d748df8711d2f114dd769dmytestqueue2156b0495b7244aea5ddb077441b0f50mytestqueue2190160110db4163af59724b048f802cmytestqueue220465900d0a422dbfd9d5cb58499336mytestqueue2358d205c86e41b7a3218c413267d7efmytestqueue241d1495mytestqueue24b864c4dd8647b7bd63145fc35f4e54mytestqueue2763152f95934cfea34f2cf2b11acf25mytestqueue27e2f02665cd4207b75f1ab53cd55e0amytestqueue2877c5fa3cb54e4e9bb24de2d49ccfd7mytestqueue28df46199e054f15bdd3d87da84e6a2bmytestqueue28ff9eecf8cd4fbb83822e34ac3f99f0mytestqueue2c520166bf0646469dba2f30677fd8d2mytestqueue2c6fdace4a064ee3be9430f412945336mytestqueue2ca89fe6da48420dbec6e8a8817506b8mytestqueue2db5240979114e55a33d6e857cb58a99mytestqueue2e59c98dff6548a799123db4647b8061mytestqueue2ff15b302b284d3d87c26c48fbba0abcmytestqueue30e90f7ba8074d5794508eb630309d21mytestqueue318bf87352434096b6b1d65ad1387814mytestqueue32027843131140839df79a7a573bf638mytestqueue325802c3978942aa9170214c2de3bc63mytestqueue339d8bf8b99d43338c93c334994614e7mytestqueue33dd7f487c454796aed8eb5adbb3e683mytestqueue340b044b833d41ba96b65fecde9d9332mytestqueue34bf34f9e779420e9ffb3d95423cecddmytestqueue388b5c237158440086358774bda7b5d6mytestqueue38a4269fcc4740159f9dc30d6c98c583mytestqueue393b14f7mytestqueue396a127f476b467ca91c640d3cedb2aamytestqueue39b1e7d68fcc4b76b2f1ebd0b43dd980mytestqueue3a34b2a9126c475e8f0de1c3092e9bb0mytestqueue3a9d911dd0384e2688e4051ba50fa5demytestqueue3cf14dd84ed441a2b80b4d1e38145389mytestqueue3cfead3f95fb4f2a9903f77a1fab1e40mytestqueue3d23097d0df64000ac8368a753b37323mytestqueue3f1c857852744a34a8d1f379069e97c0mytestqueue3f63c50a207a48b797b64dd7c93175fbmytestqueue4061b011dd8d4c03a2f058976eba6809mytestqueue40d98ea70e1d472bbe03ee42d02d9343mytestqueue42332e736e09463db66e341be1a37b80mytestqueue42ceec4da33b47019af8fac1a4f4bd9bmytestqueue42d5713a7ff34229838ddb4c0a3089eamytestqueue436a8c91544c4700a03c44778a225f88mytestqueue441eab189ab6405c8d02bdb58bbf81f9mytestqueue453d1525mytestqueue4644887fc41d48eba076b552355afce7mytestqueue48257081a6534dc082763d081172aef5mytestqueue49935eaea39a42d99c2af13c2b554eadmytestqueue4a06296afa2641a988b3f1f713ab59d8mytestqueue4a4b06eadaca4b66920ecb15a72237aemytestqueue4bfab7b6db924e65afcceb07e3132e4emytestqueue4da3ba550b77418fa88bb240e6f55b43mytestqueue4e4859f39d7b4a7793374854eb9a23c8mytestqueue4e7b4012dca849e6bdd0bf7515bcc4e0mytestqueue5047fa41d2e84dcb84f094abb5646617mytestqueue50868d41427b446083ef108713e9da6cmytestqueue509615f0mytestqueue52aab2e1ffcb4468ae0e6fcd44b9ca74mytestqueue52c687986c3f49ebacad92814683cc53mytestqueue5367c4aeb1224dcea8570a0f496aee9dmytestqueue54fdb4232e90452c8f2bcde2e86a666cmytestqueue56023bca72c04a6f9021822e617692a1mytestqueue56bbfe8e7b5a43f29c424aa791f1a3c6mytestqueue5892f8983784411abb16402797c8f9c6mytestqueue5894e150241d4036afd116e019cfaa05mytestqueue5a7f7b831b50412796f4cec5b225de60mytestqueue5afaebce92fd438d8955a57aebea95fdmytestqueue5b149d9025cb4ba586c8d423a21f1d44mytestqueue5cc3f3af56ff4ddfbe2509cd46667f9dmytestqueue5d582e575bd9425cad0a068ee180c787mytestqueue61523c5d0b334277a325328ea3b9ba5bmytestqueue6160042bd21043d48a8b1e1ec5d766b0mytestqueue621a15593a554621aee9cc3e5544dfa6mytestqueue6486f7835eb64320a55410d4fea432efmytestqueue658ad421d040451188df576396d4d023mytestqueue659e455dbd7d4d8080ad8a57684894cfmytestqueue68e4262d91354cf8828d9c6622e151admytestqueue6911f73c444a46b7b94fa7c9c221a49fmytestqueue6943c97dbdb349668459771f77902a7cmytestqueue695261e39ff140b799ef6a38fa5014eemytestqueue696d0ceac73f4acdadf9b367853d4cfcmytestqueue6996d04ef45d4106ae09d654cbfd8427mytestqueue6ac45d9688a14a9c82af3da4d3050e3bmytestqueue6efd2c4ccaa440068a44295bdf6af700mytestqueue6f20e40e84d049b989999bd812eaa572mytestqueue70a86c66d369445a8d4150786c0924dfmytestqueue7112bc23f05d436581a442ff5a30a502mytestqueue71cffa274eb8467499f1d3929e0b547amytestqueue72eee81ce3304a85abae0da8da2fb971mytestqueue73809c04b0814c349f3d376acac21936mytestqueue73bf52bde9ad435fb8f25637f9e02a78mytestqueue74eabba1cee848d289770085b26ad0aemytestqueue7505d731b63d442194eabebca60f4489mytestqueue75b91164mytestqueue7797991834d04896a95ef93936c7c681mytestqueue781ddf284f8a4d03823ee7645057f71bmytestqueue78518a7bf157468aa1dee8b37f1e922dmytestqueue7a0bf1563a2b4188bfe4b546a4e03342mytestqueue7a28be41abdb4d769d53b1dece8f73e3mytestqueue7af12e3c329848378893b4b8e3ef4c7amytestqueue7b66f96b9f014a82bad470b8f71caf92mytestqueue7bb43c39f35d431e9ba1c8b122cf9777mytestqueue7c6abfdf443f467090ae8a014be8aa4emytestqueue7d879d082cfa4a8782d6fb4a3ab53038mytestqueue805920c754b041cf8deceff58400fa53mytestqueue83dd9b0186b14fa08141840eae687171mytestqueue85130c472a0b488889663ea8606040e2mytestqueue854d653eff6546f69142cf06af2649b4mytestqueue8559061c61334fa1bb959aecd0da4426mytestqueue858269125a914dcf91187fb153c26892mytestqueue85b8f0e97f5a4cce9b355fbb147c3de7mytestqueue860a1baf5fae486097187b20bc6e7055mytestqueue87d479080c3542c7b8e5a219c3d8db39mytestqueue881db4a38e544258a279c191099a25famytestqueue8841abf9ce4c49edb7185b3f6c1163a7mytestqueue8a876832ac724331953179440a394cfamytestqueue8d30e5ff24594786832c4296abbfd864mytestqueue8d987988c256454e9f68da6e67fff14dmytestqueue8df112ada19b4f3d9234ff22e5c43ce0mytestqueue8ee22ba4e8ac45edbec3325bef58ee43mytestqueue8fb3a010f99b451382dab5b4857657admytestqueue91da76f73ae6480886ef23892623854dmytestqueue93f9e039f73146698134101582558319mytestqueue958fd288fb81413d9544c24b001f1456mytestqueue960ac977f1ac4e60abc38e7c430baa4emytestqueue963c7230424b4c7ca2e6d23a159ca7edmytestqueue96fdfe8c6b134c5384b58c17301f77fcmytestqueue982f67ad01c34da3b0d74c7d0f3dfe55mytestqueue987c3f3e22964e53813fd9cb9ce96a11mytestqueue9aa0c8da777d4cc5903a09493e4686e1mytestqueue9bba16da71034cda969b5445dce6530bmytestqueue9bc49840cfca4e40878d36a28a9e7fbamytestqueue9c323778dc43455bb754412c649043afmytestqueue9ce26d4316bd422a834d9a337dc0a026mytestqueue9e9dfa2473c2401ca2054ce6a3f4614cmytestqueue9fa9d06ac8bd4c588bb2ab3de000eed5mytestqueuea1fe7aa90c8146ecb8a5d945c2252474mytestqueuea225bbfbaead4263ab35865326c742bcmytestqueuea6383e3c9c5344edbf1307b0c12a14f3mytestqueuea7a6653b1b424ddda0a741ea5b1ac88dmytestqueuea81c6600c1b84e41bbd60fd27ce5b417mytestqueuea8de147b194d4bfcb5b59a5f5ca084ddmytestqueuea971fe7d1a344b0b98056bce3afaff5bmytestqueuea9741dcbab624d088e36d224439eb695mytestqueuea9c1bd5618e34125b8a9f689d4a707fbmytestqueuea9e1b0fde8be4118880a510fbe1e589amytestqueueaa1449a0259443b2a44d6ac888d60f6dmytestqueueaa5806c6272d4417a225492239b5ace3mytestqueueaa66e82f3dec46e8839d7715a1d2a043mytestqueueaa760426206d4008bbd94b5af569abe5mytestqueueaafbbec0805c4ca38f01bd01160ec301mytestqueueab101218mytestqueueacf3758b63284ca587aea8a6dd8c540cmytestqueuead335566dfa74d24b7e769693e15f70bmytestqueuead5904d8b8414594aafb6e16c6b90ae1mytestqueueade2d95c2adb42d39897c79a2d2bd732mytestqueueae24b769c11c42f49aa92dd543ef8370mytestqueueae85786599ac40f4bbfc49f589437619mytestqueueb0a78d5a40c64109bbb04f9e75ee6198mytestqueueb21ab3fae3944321834f8d1d3c14eb86mytestqueueb3a17249fb3d4d808f3f11e675a48db6mytestqueueb889933f2d514a01aa066ee6f8527f48mytestqueueb8af4c65c68d40dfb8a43be7f1306736mytestqueueb8e27a5377c746a89684599593c48fc9mytestqueueb8f387b3e88142d994f1b67cc4c3b8f5mytestqueueb8f7c7c0b5334dd28a372483fe34cf85mytestqueuebdb1127amytestqueuebf21883bfba340208905b9e8dca3dbbdmytestqueuebffa233e092b4a9e9addaa8410c2f8e2mytestqueuec02cfaf02cbd4abd9db6056b646b4c2amytestqueuec33012f32b444434a7ae346d695c016dmytestqueuec378f3be6b6a492296d3b7adc9fa124bmytestqueuec3ae673fec224ae08b33380edc2d3017mytestqueuec61106943fef46c58625ead6852f6544mytestqueuec6a88153e5204900abb7cc5db2263871mytestqueuec70725799b784adb8ccbeaca719182b5mytestqueuecad9edd8b29944c2851e2510a965609fmytestqueuecae52f66c12b40a58766acbe2ff6a039mytestqueuecae6805767fe4b51b3de75dc3a87b6a1mytestqueuecaf53e13012d41b48f81ade204f940bfmytestqueuecafbb33045ae477cb30e960324edacf2mytestqueuecc379b71e4674723ac1bd2e873b316f2mytestqueued02f34d52044423e968dd4b55078d55cmytestqueued22317a2mytestqueued30f9eeec88b4c2e80901b6710f09487mytestqueued3b0dc497b92494fa360d4254cb1a55dmytestqueued410fb6be6c344c3b88b95dc07c09f32mytestqueued6a3405cdf904b19a1481eba7c8573bcmytestqueued6ee555754ed433c84ef925b76ac81c2mytestqueued84b35b6f1f24d42afd45ade5d1dd374mytestqueued87e54ff46704900ab5b8091d0e0e584mytestqueueda3bab307514458990f7e8680f8cc1c4mytestqueuedbc04470f1534b76a39606f82a0a9eb9mytestqueuedbe56167f9ca4c2b8a56776f55e30679mytestqueuedd7c186dmytestqueuee0cbc45e20ab4930ae9cbcf71bb0ebb1mytestqueuee1e1248a89854ded8e15dc43c98ca3ffmytestqueuee1eb8770bfc14ea68e1ecf5998510802mytestqueuee2298173ac224ab6931c525d61033dd8mytestqueuee2731e6215af45eeaf7a7d0853223a62mytestqueuee4be0725f15c4bdcacd70e3f386bd278mytestqueuee502ace649084b42b7e438a4852a2d04mytestqueuee69b8c007ac249c28a139e4c2bf422afmytestqueuee6e7007681db4f38bd54b1bef2dc561fmytestqueuee74013e1mytestqueuee7d1522da1024b62ad98758788f8bb60mytestqueuee8521fdb8dba408887e0c5c5a0a71963mytestqueuee87b6d1aacf54490b97ade827772735emytestqueuee9258d0f6a424dacb443807783c770abmytestqueueea01d18298ce4695bdb9f46a923010d4mytestqueueebe246cf030c4889997884bbf9b751ccmytestqueuef0a9a0a2ad674a91af11a7134ea213d3mytestqueuef17d47f32eee45fdaa8403951b52cbcfmytestqueuef1fc77e7e7a64e12a523ff7c226bc098mytestqueuef25e76f608ca41d19f77b300f17cbe79mytestqueuef2eab9ef80fd4906a050ca1b12bf0c81mytestqueuef4c4a9ec99df4d3ab2f1381daac21050mytestqueuef4d662f2458048819862b9dc2b99e0f8mytestqueuef4e3d4b58b5244d69e414898b9c19522mytestqueuef55043a7cdc140da84d260d6d21d5b96mytestqueuef597e9b04e6940178368ea7067a0d127mytestqueuef5e8a16e00954635bf0d4bc28e9758e9mytestqueuef6a421d877e542a493bd7319e7cf704bmytestqueuef6f2fa1d36b947e4879469f23b1d48d2mytestqueuef7218773c2504e3f91d4b52abdeedf60mytestqueuef7e117b62c1f400f8e6ec44c05ab17bdmytestqueuefc681a690e364421aee2604578788433mytestqueuefcb9b981bd2240bc982c63ca4aabe3a9mytestqueuefe70fb5cd21a4fb095adb75b56c541c9pythonqueuee9b50dc2" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f7217565-3003-006f-1c82-49ccd4000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:11 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -49,7 +65,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee9b50dc2.queue.core.windows.net - / - comp=list - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues_with_metadata.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues_with_metadata.yaml index 92624bc86b79..8eeb0adaea06 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues_with_metadata.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues_with_metadata.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 81841924-b575-11e9-a215-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:10 GMT + - Fri, 06 Sep 2019 21:54:09 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueued5b0137d + uri: https://pyacrstoraged5b0137d.queue.core.windows.net/pythonqueued5b0137d response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 9a04eec5-a003-0007-0882-499285000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:08 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged5b0137d.queue.core.windows.net - /pythonqueued5b0137d - '' - '' @@ -44,13 +35,11 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 819d15a8-b575-11e9-a34c-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:10 GMT + - Fri, 06 Sep 2019 21:54:09 GMT x-ms-meta-val1: - test x-ms-meta-val2: @@ -58,21 +47,14 @@ interactions: x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueued5b0137d?comp=metadata + uri: https://pyacrstoraged5b0137d.queue.core.windows.net/pythonqueued5b0137d?comp=metadata response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 9a04eecd-a003-0007-0e82-499285000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:08 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -81,7 +63,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged5b0137d.queue.core.windows.net - /pythonqueued5b0137d - comp=metadata - '' @@ -91,42 +73,26 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 81a415c2-b575-11e9-bf99-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:10 GMT + - Fri, 06 Sep 2019 21:54:09 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?prefix=pythonqueued5b0137d&maxresults=1&include=metadata&comp=list + uri: https://pyacrstoraged5b0137d.queue.core.windows.net/?prefix=pythonqueued5b0137d&maxresults=1&include=metadata&comp=list response: body: string: "\uFEFFpythonqueued5b0137d1pythonqueued5b0137dtestblahpythonqueued5b0137d1pythonqueued5b0137dtestblah" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 9a04eed5-a003-0007-1382-499285000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:08 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -135,7 +101,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged5b0137d.queue.core.windows.net - / - prefix=pythonqueued5b0137d&maxresults=1&include=metadata&comp=list - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues_with_options.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues_with_options.yaml new file mode 100644 index 000000000000..eace14a66422 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues_with_options.yaml @@ -0,0 +1,205 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:03:25 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragec2dd1348.queue.core.windows.net/listqueue0c2dd1348 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:03:23 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragec2dd1348.queue.core.windows.net + - /listqueue0c2dd1348 + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:03:25 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragec2dd1348.queue.core.windows.net/listqueue1c2dd1348 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:03:23 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragec2dd1348.queue.core.windows.net + - /listqueue1c2dd1348 + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:03:25 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragec2dd1348.queue.core.windows.net/listqueue2c2dd1348 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:03:23 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragec2dd1348.queue.core.windows.net + - /listqueue2c2dd1348 + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:03:25 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragec2dd1348.queue.core.windows.net/listqueue3c2dd1348 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:03:23 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragec2dd1348.queue.core.windows.net + - /listqueue3c2dd1348 + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:03:25 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragec2dd1348.queue.core.windows.net/?prefix=listqueue&maxresults=3&comp=list + response: + body: + string: "\uFEFFlistqueue3listqueue0c2dd1348listqueue1c2dd1348listqueue2c2dd1348/pyacrstoragec2dd1348/listqueue3c2dd1348" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:03:23 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragec2dd1348.queue.core.windows.net + - / + - prefix=listqueue&maxresults=3&comp=list + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:03:25 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragec2dd1348.queue.core.windows.net/?prefix=listqueue&marker=/pyacrstoragec2dd1348/listqueue3c2dd1348&include=metadata&comp=list + response: + body: + string: "\uFEFFlistqueue/pyacrstoragec2dd1348/listqueue3c2dd1348listqueue3c2dd1348" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:03:23 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragec2dd1348.queue.core.windows.net + - / + - prefix=listqueue&marker=/pyacrstoragec2dd1348/listqueue3c2dd1348&include=metadata&comp=list + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues_with_options_async.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues_with_options_async.yaml deleted file mode 100644 index 21e59a643de7..000000000000 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_list_queues_with_options_async.yaml +++ /dev/null @@ -1,273 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 81bce22c-b575-11e9-9ec1-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:33:10 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/listqueue03f3115c5 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: a64cc980-0003-0028-4682-4913bf000000 - x-ms-version: '2018-03-28' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /listqueue03f3115c5 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 81d65128-b575-11e9-8209-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:33:10 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/listqueue13f3115c5 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: a64cc98a-0003-0028-4e82-4913bf000000 - x-ms-version: '2018-03-28' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /listqueue13f3115c5 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 81de87d2-b575-11e9-89b1-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:33:10 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/listqueue23f3115c5 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: a64cc992-0003-0028-5582-4913bf000000 - x-ms-version: '2018-03-28' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /listqueue23f3115c5 - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 81e6bf80-b575-11e9-a098-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:33:10 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/listqueue33f3115c5 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: a64cc99c-0003-0028-5b82-4913bf000000 - x-ms-version: '2018-03-28' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /listqueue33f3115c5 - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 81ecd5da-b575-11e9-9522-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:33:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/?prefix=listqueue&maxresults=3&comp=list - response: - body: - string: "\uFEFFlistqueue3listqueue03f3115c5listqueue13f3115c5listqueue23f3115c5/storagename/listqueue2560410cb" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a64cc9a4-0003-0028-6282-4913bf000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - / - - prefix=listqueue&maxresults=3&comp=list - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 81f25118-b575-11e9-946e-2816a845e8c6 - x-ms-date: - - Fri, 02 Aug 2019 22:33:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/?prefix=listqueue&marker=/storagename/listqueue2560410cb&include=metadata&comp=list - response: - body: - string: "\uFEFFlistqueue/storagename/listqueue2560410cblistqueue33f3115c5" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a64cc9b4-0003-0028-7282-4913bf000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - / - - prefix=listqueue&marker=/amqptest/listqueue2560410cb&include=metadata&comp=list - - '' -version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_peek_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_peek_messages.yaml index 07727a1f86ea..2cca7f2f3063 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_peek_messages.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_peek_messages.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 821c0766-b575-11e9-9de7-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:11 GMT + - Fri, 06 Sep 2019 21:55:03 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue51b0e6b + uri: https://pyacrstorage51b0e6b.queue.core.windows.net/pythonqueue51b0e6b response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:10 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: fc34a6d5-4003-00e3-6d82-49818f000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:55:02 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage51b0e6b.queue.core.windows.net - /pythonqueue51b0e6b - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8234809a-b575-11e9-9985-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:11 GMT + - Fri, 06 Sep 2019 21:55:04 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue51b0e6b/messages + uri: https://pyacrstorage51b0e6b.queue.core.windows.net/pythonqueue51b0e6b/messages response: body: - string: "\uFEFFcd1a10c1-6cff-47e8-a794-1fc129d2fbf0Fri, - 02 Aug 2019 22:33:10 GMTFri, 09 Aug 2019 22:33:10 - GMTAgAAAAMAAAAAAAAAbgXJQ4JJ1QE=Fri, - 02 Aug 2019 22:33:10 GMT" + string: "\uFEFF6e57b80d-345f-4b45-a72b-6dc8c36da69aFri, + 06 Sep 2019 21:55:02 GMTFri, 13 Sep 2019 21:55:02 + GMTAgAAAAMAAAAAAAAAPPlCvP1k1QE=Fri, + 06 Sep 2019 21:55:02 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:10 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: fc34a6db-4003-00e3-7182-49818f000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:02 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage51b0e6b.queue.core.windows.net - /pythonqueue51b0e6b/messages - '' - '' @@ -105,35 +85,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 823a26e6-b575-11e9-a5a5-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:11 GMT + - Fri, 06 Sep 2019 21:55:04 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue51b0e6b/messages + uri: https://pyacrstorage51b0e6b.queue.core.windows.net/pythonqueue51b0e6b/messages response: body: - string: "\uFEFF10e8e254-9421-486f-b744-8c94d26a7408Fri, - 02 Aug 2019 22:33:10 GMTFri, 09 Aug 2019 22:33:10 - GMTAgAAAAMAAAAAAAAAw6vOQ4JJ1QE=Fri, - 02 Aug 2019 22:33:10 GMT" + string: "\uFEFF757801d6-ab7e-4402-84e1-74758d5d770bFri, + 06 Sep 2019 21:55:02 GMTFri, 13 Sep 2019 21:55:02 + GMTAgAAAAMAAAAAAAAA8o1HvP1k1QE=Fri, + 06 Sep 2019 21:55:02 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:10 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: fc34a6ec-4003-00e3-7f82-49818f000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:02 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -142,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage51b0e6b.queue.core.windows.net - /pythonqueue51b0e6b/messages - '' - '' @@ -158,35 +127,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 823fc89a-b575-11e9-90b6-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:11 GMT + - Fri, 06 Sep 2019 21:55:04 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue51b0e6b/messages + uri: https://pyacrstorage51b0e6b.queue.core.windows.net/pythonqueue51b0e6b/messages response: body: - string: "\uFEFF6b762af2-8dec-4f6b-b028-f740655569cfFri, - 02 Aug 2019 22:33:10 GMTFri, 09 Aug 2019 22:33:10 - GMTAgAAAAMAAAAAAAAA/SrUQ4JJ1QE=Fri, - 02 Aug 2019 22:33:10 GMT" + string: "\uFEFF1323489d-1e70-43a5-ab52-82e29e7638bdFri, + 06 Sep 2019 21:55:02 GMTFri, 13 Sep 2019 21:55:02 + GMTAgAAAAMAAAAAAAAAkvtLvP1k1QE=Fri, + 06 Sep 2019 21:55:02 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:10 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: fc34a6f6-4003-00e3-0882-49818f000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:02 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -195,7 +153,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage51b0e6b.queue.core.windows.net - /pythonqueue51b0e6b/messages - '' - '' @@ -211,35 +169,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 824541f8-b575-11e9-b416-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:11 GMT + - Fri, 06 Sep 2019 21:55:04 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue51b0e6b/messages + uri: https://pyacrstorage51b0e6b.queue.core.windows.net/pythonqueue51b0e6b/messages response: body: - string: "\uFEFF8572a0ac-6372-4446-b8b8-a3fd46625751Fri, - 02 Aug 2019 22:33:11 GMTFri, 09 Aug 2019 22:33:11 - GMTAgAAAAMAAAAAAAAAbvjZQ4JJ1QE=Fri, - 02 Aug 2019 22:33:11 GMT" + string: "\uFEFF1e596a37-e1a4-453a-af26-d6639e9bdcfaFri, + 06 Sep 2019 21:55:02 GMTFri, 13 Sep 2019 21:55:02 + GMTAgAAAAMAAAAAAAAAcd5QvP1k1QE=Fri, + 06 Sep 2019 21:55:02 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:10 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: fc34a6fe-4003-00e3-0d82-49818f000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:02 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -248,7 +195,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage51b0e6b.queue.core.windows.net - /pythonqueue51b0e6b/messages - '' - '' @@ -258,42 +205,26 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 824bcd3a-b575-11e9-b91e-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:11 GMT + - Fri, 06 Sep 2019 21:55:04 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue51b0e6b/messages?peekonly=true + uri: https://pyacrstorage51b0e6b.queue.core.windows.net/pythonqueue51b0e6b/messages?peekonly=true response: body: - string: "\uFEFFcd1a10c1-6cff-47e8-a794-1fc129d2fbf0Fri, - 02 Aug 2019 22:33:10 GMTFri, 09 Aug 2019 22:33:10 + string: "\uFEFF6e57b80d-345f-4b45-a72b-6dc8c36da69aFri, + 06 Sep 2019 21:55:02 GMTFri, 13 Sep 2019 21:55:02 GMT0message1" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:10 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: fc34a70d-4003-00e3-1b82-49818f000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:02 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -302,7 +233,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage51b0e6b.queue.core.windows.net - /pythonqueue51b0e6b/messages - peekonly=true - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_peek_messages_with_options.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_peek_messages_with_options.yaml index a895dcbaa3a1..74097a4c9d0e 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_peek_messages_with_options.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_peek_messages_with_options.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8269a124-b575-11e9-bc37-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:11 GMT + - Fri, 06 Sep 2019 21:55:26 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuee6c913f1 + uri: https://pyacrstoragee6c913f1.queue.core.windows.net/pythonqueuee6c913f1 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: a93a8fec-d003-0003-3182-496707000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:55:24 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee6c913f1.queue.core.windows.net - /pythonqueuee6c913f1 - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 82813798-b575-11e9-af2d-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:11 GMT + - Fri, 06 Sep 2019 21:55:26 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuee6c913f1/messages + uri: https://pyacrstoragee6c913f1.queue.core.windows.net/pythonqueuee6c913f1/messages response: body: - string: "\uFEFF46b95881-aa3d-4603-b633-6828b4011f5cFri, - 02 Aug 2019 22:33:11 GMTFri, 09 Aug 2019 22:33:11 - GMTAgAAAAMAAAAAAAAA0voVRIJJ1QE=Fri, - 02 Aug 2019 22:33:11 GMT" + string: "\uFEFF14b7d7b5-5d09-4564-acad-0939fb6e522bFri, + 06 Sep 2019 21:55:24 GMTFri, 13 Sep 2019 21:55:24 + GMTAgAAAAMAAAAAAAAA0OF6yf1k1QE=Fri, + 06 Sep 2019 21:55:24 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: a93a8ff7-d003-0003-3882-496707000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:24 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee6c913f1.queue.core.windows.net - /pythonqueuee6c913f1/messages - '' - '' @@ -105,35 +85,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8286fff6-b575-11e9-82e3-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:11 GMT + - Fri, 06 Sep 2019 21:55:26 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuee6c913f1/messages + uri: https://pyacrstoragee6c913f1.queue.core.windows.net/pythonqueuee6c913f1/messages response: body: - string: "\uFEFF450f3c35-1364-4db1-9d78-a7654a14583cFri, - 02 Aug 2019 22:33:11 GMTFri, 09 Aug 2019 22:33:11 - GMTAgAAAAMAAAAAAAAAFnobRIJJ1QE=Fri, - 02 Aug 2019 22:33:11 GMT" + string: "\uFEFF5e1e6cf5-5f3b-4170-8574-ba22c8a09159Fri, + 06 Sep 2019 21:55:24 GMTFri, 13 Sep 2019 21:55:24 + GMTAgAAAAMAAAAAAAAAa09/yf1k1QE=Fri, + 06 Sep 2019 21:55:24 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: a93a8ffb-d003-0003-3c82-496707000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:24 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -142,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee6c913f1.queue.core.windows.net - /pythonqueuee6c913f1/messages - '' - '' @@ -158,35 +127,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 828ca16c-b575-11e9-9303-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:11 GMT + - Fri, 06 Sep 2019 21:55:26 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuee6c913f1/messages + uri: https://pyacrstoragee6c913f1.queue.core.windows.net/pythonqueuee6c913f1/messages response: body: - string: "\uFEFF2ed323e2-e43d-49eb-8832-2022ad2419a5Fri, - 02 Aug 2019 22:33:11 GMTFri, 09 Aug 2019 22:33:11 - GMTAgAAAAMAAAAAAAAAaiAhRIJJ1QE=Fri, - 02 Aug 2019 22:33:11 GMT" + string: "\uFEFF21554fef-a227-44e9-afa9-a3342531f5efFri, + 06 Sep 2019 21:55:24 GMTFri, 13 Sep 2019 21:55:24 + GMTAgAAAAMAAAAAAAAA9JWDyf1k1QE=Fri, + 06 Sep 2019 21:55:24 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: a93a9004-d003-0003-4482-496707000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:24 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -195,7 +153,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee6c913f1.queue.core.windows.net - /pythonqueuee6c913f1/messages - '' - '' @@ -211,35 +169,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 829269da-b575-11e9-aab6-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:11 GMT + - Fri, 06 Sep 2019 21:55:26 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuee6c913f1/messages + uri: https://pyacrstoragee6c913f1.queue.core.windows.net/pythonqueuee6c913f1/messages response: body: - string: "\uFEFF71a205a0-6aab-43e1-8d43-3afb7af3501fFri, - 02 Aug 2019 22:33:11 GMTFri, 09 Aug 2019 22:33:11 - GMTAgAAAAMAAAAAAAAA9BQnRIJJ1QE=Fri, - 02 Aug 2019 22:33:11 GMT" + string: "\uFEFF4acd37d4-d954-473e-9308-d1338d5447eaFri, + 06 Sep 2019 21:55:24 GMTFri, 13 Sep 2019 21:55:24 + GMTAgAAAAMAAAAAAAAAXWOJyf1k1QE=Fri, + 06 Sep 2019 21:55:24 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: a93a900a-d003-0003-4982-496707000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:24 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -248,7 +195,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee6c913f1.queue.core.windows.net - /pythonqueuee6c913f1/messages - '' - '' @@ -258,48 +205,32 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8298802e-b575-11e9-8fee-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:11 GMT + - Fri, 06 Sep 2019 21:55:26 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuee6c913f1/messages?numofmessages=4&peekonly=true + uri: https://pyacrstoragee6c913f1.queue.core.windows.net/pythonqueuee6c913f1/messages?numofmessages=4&peekonly=true response: body: - string: "\uFEFF46b95881-aa3d-4603-b633-6828b4011f5cFri, - 02 Aug 2019 22:33:11 GMTFri, 09 Aug 2019 22:33:11 - GMT0message1450f3c35-1364-4db1-9d78-a7654a14583cFri, - 02 Aug 2019 22:33:11 GMTFri, 09 Aug 2019 22:33:11 - GMT0message22ed323e2-e43d-49eb-8832-2022ad2419a5Fri, - 02 Aug 2019 22:33:11 GMTFri, 09 Aug 2019 22:33:11 - GMT0message371a205a0-6aab-43e1-8d43-3afb7af3501fFri, - 02 Aug 2019 22:33:11 GMTFri, 09 Aug 2019 22:33:11 + string: "\uFEFF14b7d7b5-5d09-4564-acad-0939fb6e522bFri, + 06 Sep 2019 21:55:24 GMTFri, 13 Sep 2019 21:55:24 + GMT0message15e1e6cf5-5f3b-4170-8574-ba22c8a09159Fri, + 06 Sep 2019 21:55:24 GMTFri, 13 Sep 2019 21:55:24 + GMT0message221554fef-a227-44e9-afa9-a3342531f5efFri, + 06 Sep 2019 21:55:24 GMTFri, 13 Sep 2019 21:55:24 + GMT0message34acd37d4-d954-473e-9308-d1338d5447eaFri, + 06 Sep 2019 21:55:24 GMTFri, 13 Sep 2019 21:55:24 GMT0message4" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a93a900d-d003-0003-4c82-496707000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:24 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -308,7 +239,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee6c913f1.queue.core.windows.net - /pythonqueuee6c913f1/messages - numofmessages=4&peekonly=true - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_put_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_put_message.yaml index eab53a8c1c08..aa7c26ede000 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_put_message.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_put_message.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 82b370ec-b575-11e9-bf24-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:12 GMT + - Fri, 06 Sep 2019 21:55:48 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuee9bc0dac + uri: https://pyacrstoragee9bc0dac.queue.core.windows.net/pythonqueuee9bc0dac response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c720c9c4-b003-007e-1382-49fbcf000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:55:47 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee9bc0dac.queue.core.windows.net - /pythonqueuee9bc0dac - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 82cc544a-b575-11e9-8792-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:12 GMT + - Fri, 06 Sep 2019 21:55:49 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuee9bc0dac/messages + uri: https://pyacrstoragee9bc0dac.queue.core.windows.net/pythonqueuee9bc0dac/messages response: body: - string: "\uFEFF84a3534b-5240-4d31-921b-178ab4d1f58fFri, - 02 Aug 2019 22:33:11 GMTFri, 09 Aug 2019 22:33:11 - GMTAgAAAAMAAAAAAAAAKvRgRIJJ1QE=Fri, - 02 Aug 2019 22:33:11 GMT" + string: "\uFEFF5140921b-b934-4410-8034-d16f26458b3cFri, + 06 Sep 2019 21:55:47 GMTFri, 13 Sep 2019 21:55:47 + GMTAgAAAAMAAAAAAAAAfJgd1/1k1QE=Fri, + 06 Sep 2019 21:55:47 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: c720c9d5-b003-007e-2182-49fbcf000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:47 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee9bc0dac.queue.core.windows.net - /pythonqueuee9bc0dac/messages - '' - '' @@ -105,35 +85,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 82d21cb8-b575-11e9-bec0-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:12 GMT + - Fri, 06 Sep 2019 21:55:49 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuee9bc0dac/messages + uri: https://pyacrstoragee9bc0dac.queue.core.windows.net/pythonqueuee9bc0dac/messages response: body: - string: "\uFEFFfdb097f9-4fdc-4849-9890-e59f905b7e00Fri, - 02 Aug 2019 22:33:11 GMTFri, 09 Aug 2019 22:33:11 - GMTAgAAAAMAAAAAAAAAgZpmRIJJ1QE=Fri, - 02 Aug 2019 22:33:11 GMT" + string: "\uFEFFff3259d4-9905-478c-815e-097a2d48cd0bFri, + 06 Sep 2019 21:55:47 GMTFri, 13 Sep 2019 21:55:47 + GMTAgAAAAMAAAAAAAAAbaIi1/1k1QE=Fri, + 06 Sep 2019 21:55:47 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: c720c9e2-b003-007e-2c82-49fbcf000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:47 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -142,7 +111,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee9bc0dac.queue.core.windows.net - /pythonqueuee9bc0dac/messages - '' - '' @@ -158,35 +127,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 82d7be26-b575-11e9-80d4-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:12 GMT + - Fri, 06 Sep 2019 21:55:49 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuee9bc0dac/messages + uri: https://pyacrstoragee9bc0dac.queue.core.windows.net/pythonqueuee9bc0dac/messages response: body: - string: "\uFEFFdcb5844f-9ea1-4e94-b60f-a1c55c9f4339Fri, - 02 Aug 2019 22:33:11 GMTFri, 09 Aug 2019 22:33:11 - GMTAgAAAAMAAAAAAAAA2UBsRIJJ1QE=Fri, - 02 Aug 2019 22:33:11 GMT" + string: "\uFEFFbd4dc90d-7142-44e7-b626-9888e672d2bfFri, + 06 Sep 2019 21:55:47 GMTFri, 13 Sep 2019 21:55:47 + GMTAgAAAAMAAAAAAAAAFkEs1/1k1QE=Fri, + 06 Sep 2019 21:55:47 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: c720c9f2-b003-007e-3882-49fbcf000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:47 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -195,7 +153,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee9bc0dac.queue.core.windows.net - /pythonqueuee9bc0dac/messages - '' - '' @@ -211,35 +169,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 82e8076e-b575-11e9-955f-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:12 GMT + - Fri, 06 Sep 2019 21:55:49 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueuee9bc0dac/messages + uri: https://pyacrstoragee9bc0dac.queue.core.windows.net/pythonqueuee9bc0dac/messages response: body: - string: "\uFEFF73489fa5-58c0-4270-afd7-2f4e0baa7d5eFri, - 02 Aug 2019 22:33:12 GMTFri, 09 Aug 2019 22:33:12 - GMTAgAAAAMAAAAAAAAAh5d8RIJJ1QE=Fri, - 02 Aug 2019 22:33:12 GMT" + string: "\uFEFF496c55fe-f55f-4eb9-92df-416d8d8f79d4Fri, + 06 Sep 2019 21:55:47 GMTFri, 13 Sep 2019 21:55:47 + GMTAgAAAAMAAAAAAAAACksx1/1k1QE=Fri, + 06 Sep 2019 21:55:47 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: c720ca07-b003-007e-4a82-49fbcf000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:47 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -248,7 +195,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee9bc0dac.queue.core.windows.net - /pythonqueuee9bc0dac/messages - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_put_message_infinite_time_to_live.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_put_message_infinite_time_to_live.yaml index 203563647c5b..5c8380da2175 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_put_message_infinite_time_to_live.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_put_message_infinite_time_to_live.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8301986e-b575-11e9-a900-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:12 GMT + - Fri, 06 Sep 2019 21:56:11 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue7e8f16c0 + uri: https://pyacrstorage7e8f16c0.queue.core.windows.net/pythonqueue7e8f16c0 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:11 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c9250813-1003-00b4-6b82-496802000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:56:09 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage7e8f16c0.queue.core.windows.net - /pythonqueue7e8f16c0 - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 831b68ba-b575-11e9-acea-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:12 GMT + - Fri, 06 Sep 2019 21:56:12 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue7e8f16c0/messages?messagettl=-1 + uri: https://pyacrstorage7e8f16c0.queue.core.windows.net/pythonqueue7e8f16c0/messages?messagettl=-1 response: body: - string: "\uFEFFd4376771-76ec-43ef-850e-d9bbb723716dFri, - 02 Aug 2019 22:33:12 GMTFri, 31 Dec 9999 23:59:59 - GMTAgAAAAMAAAAAAAAA9wywRIJJ1QE=Fri, - 02 Aug 2019 22:33:12 GMT" + string: "\uFEFFaf7c8ec3-fc32-4d8e-b43f-2ff3693b3b88Fri, + 06 Sep 2019 21:56:10 GMTFri, 31 Dec 9999 23:59:59 + GMTAgAAAAMAAAAAAAAA/T/e5P1k1QE=Fri, + 06 Sep 2019 21:56:10 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: c925081b-1003-00b4-6f82-496802000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:09 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage7e8f16c0.queue.core.windows.net - /pythonqueue7e8f16c0/messages - messagettl=-1 - '' @@ -99,42 +79,26 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 83212ffe-b575-11e9-a99c-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:12 GMT + - Fri, 06 Sep 2019 21:56:12 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue7e8f16c0/messages?peekonly=true + uri: https://pyacrstorage7e8f16c0.queue.core.windows.net/pythonqueue7e8f16c0/messages?peekonly=true response: body: - string: "\uFEFFd4376771-76ec-43ef-850e-d9bbb723716dFri, - 02 Aug 2019 22:33:12 GMTFri, 31 Dec 9999 23:59:59 + string: "\uFEFFaf7c8ec3-fc32-4d8e-b43f-2ff3693b3b88Fri, + 06 Sep 2019 21:56:10 GMTFri, 31 Dec 9999 23:59:59 GMT0message1" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c925081d-1003-00b4-7082-496802000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:10 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -143,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage7e8f16c0.queue.core.windows.net - /pythonqueue7e8f16c0/messages - peekonly=true - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_put_message_large_time_to_live.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_put_message_large_time_to_live.yaml index 8aa132aedb57..39d4e107ea56 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_put_message_large_time_to_live.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_put_message_large_time_to_live.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 833d19c8-b575-11e9-af78-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:12 GMT + - Fri, 06 Sep 2019 21:56:35 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue3acd1575 + uri: https://pyacrstorage3acd1575.queue.core.windows.net/pythonqueue3acd1575 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 47a4356a-1003-0015-3082-49a699000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:56:33 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage3acd1575.queue.core.windows.net - /pythonqueue3acd1575 - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8355ed76-b575-11e9-9aff-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:13 GMT + - Fri, 06 Sep 2019 21:56:35 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue3acd1575/messages?messagettl=1073741824 + uri: https://pyacrstorage3acd1575.queue.core.windows.net/pythonqueue3acd1575/messages?messagettl=1073741824 response: body: - string: "\uFEFFd4f89313-7f79-4efd-a251-a5b6c4a31536Fri, - 02 Aug 2019 22:33:12 GMTMon, 11 Aug 2053 12:10:16 - GMTAgAAAAMAAAAAAAAAvNbqRIJJ1QE=Fri, - 02 Aug 2019 22:33:12 GMT" + string: "\uFEFF6c55dcf7-316f-461f-b410-1d217406eab8Fri, + 06 Sep 2019 21:56:33 GMTMon, 15 Sep 2053 11:33:37 + GMTAgAAAAMAAAAAAAAA0T2w8v1k1QE=Fri, + 06 Sep 2019 21:56:33 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 47a43571-1003-0015-3582-49a699000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:33 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage3acd1575.queue.core.windows.net - /pythonqueue3acd1575/messages - messagettl=1073741824 - '' @@ -99,42 +79,26 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 835c2be2-b575-11e9-b394-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:13 GMT + - Fri, 06 Sep 2019 21:56:35 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue3acd1575/messages?peekonly=true + uri: https://pyacrstorage3acd1575.queue.core.windows.net/pythonqueue3acd1575/messages?peekonly=true response: body: - string: "\uFEFFd4f89313-7f79-4efd-a251-a5b6c4a31536Fri, - 02 Aug 2019 22:33:12 GMTMon, 11 Aug 2053 12:10:16 + string: "\uFEFF6c55dcf7-316f-461f-b410-1d217406eab8Fri, + 06 Sep 2019 21:56:33 GMTMon, 15 Sep 2053 11:33:37 GMT0message1" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 47a43579-1003-0015-3c82-49a699000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:33 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -143,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage3acd1575.queue.core.windows.net - /pythonqueue3acd1575/messages - peekonly=true - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_queue_exists.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_queue_exists.yaml index 12d89845a253..3a25c01550b9 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_queue_exists.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_queue_exists.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 837574de-b575-11e9-9d62-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:13 GMT + - Fri, 06 Sep 2019 21:54:21 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuef7d40e33 + uri: https://pyacrstoragef7d40e33.queue.core.windows.net/pythonqueuef7d40e33 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: b68d24b4-1003-00bf-1e82-497076000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragef7d40e33.queue.core.windows.net - /pythonqueuef7d40e33 - '' - '' @@ -44,38 +35,24 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 838d5a68-b575-11e9-95b6-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:13 GMT + - Fri, 06 Sep 2019 21:54:21 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuef7d40e33?comp=metadata + uri: https://pyacrstoragef7d40e33.queue.core.windows.net/pythonqueuef7d40e33?comp=metadata response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + cache-control: no-cache + content-length: '0' + date: Fri, 06 Sep 2019 21:54:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-approximate-messages-count: '0' - x-ms-request-id: b68d24c1-1003-00bf-2982-497076000000 x-ms-version: '2018-03-28' status: code: 200 @@ -84,7 +61,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragef7d40e33.queue.core.windows.net - /pythonqueuef7d40e33 - comp=metadata - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_queue_not_exists.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_queue_not_exists.yaml index a86a014b3ad3..f7d3fa4853a8 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_queue_not_exists.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_queue_not_exists.yaml @@ -3,39 +3,25 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 83ab5752-b575-11e9-ae16-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:13 GMT + - Fri, 06 Sep 2019 21:54:44 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/missing349b0fe3?comp=metadata + uri: https://pyacrstorage349b0fe3.queue.core.windows.net/missing349b0fe3?comp=metadata response: body: string: "\uFEFFQueueNotFoundThe - specified queue does not exist.\nRequestId:b5e04d04-6003-0011-0582-49531b000000\nTime:2019-08-02T22:33:13.4843847Z" + specified queue does not exist.\nRequestId:ff9a8dfc-5003-0131-0efd-644843000000\nTime:2019-09-06T21:54:42.9791441Z" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '217' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:12 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + content-length: '217' + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: QueueNotFound - x-ms-request-id: b5e04d04-6003-0011-0582-49531b000000 x-ms-version: '2018-03-28' status: code: 404 @@ -44,7 +30,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage349b0fe3.queue.core.windows.net - /missing349b0fe3 - comp=metadata - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_add.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_add.yaml new file mode 100644 index 000000000000..4afea9ce72fd --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_add.yaml @@ -0,0 +1,152 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:55:08 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorageb4cd0bde.queue.core.windows.net/pythonqueueb4cd0bde + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:55:06 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb4cd0bde.queue.core.windows.net + - /pythonqueueb4cd0bde + - '' + - '' +- request: + body: ' + + addedmessage' + headers: + Accept: + - application/xml + Content-Length: + - '107' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:55:08 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorageb4cd0bde.queue.core.windows.net/pythonqueueb4cd0bde/messages?se=2019-09-06T22:55:08Z&sp=a&sv=2018-03-28&sig=6/uRfNEE8J34Mf3ESKCsepjtgGT%2BPK9sU4qR%2Bmr8U1E%3D + response: + body: + string: "\uFEFFcd4d9558-87d2-4dc2-af5e-2101dd8c6253Fri, + 06 Sep 2019 21:55:07 GMTFri, 13 Sep 2019 21:55:07 + GMTAgAAAAMAAAAAAAAAa/0mv/1k1QE=Fri, + 06 Sep 2019 21:55:07 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:06 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb4cd0bde.queue.core.windows.net + - /pythonqueueb4cd0bde/messages + - se=2019-09-06T22:55:08Z&sp=a&sv=2018-03-28&sig=6/uRfNEE8J34Mf3ESKCsepjtgGT%2BPK9sU4qR%2Bmr8U1E%3D + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:55:08 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorageb4cd0bde.queue.core.windows.net/pythonqueueb4cd0bde/messages + response: + body: + string: "\uFEFFcd4d9558-87d2-4dc2-af5e-2101dd8c6253Fri, + 06 Sep 2019 21:55:07 GMTFri, 13 Sep 2019 21:55:07 + GMTAgAAAAMAAAAAAAAADLwO0f1k1QE=Fri, + 06 Sep 2019 21:55:37 GMT1addedmessage" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:06 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb4cd0bde.queue.core.windows.net + - /pythonqueueb4cd0bde/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:55:08 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorageb4cd0bde.queue.core.windows.net/pythonqueueb4cd0bde/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:06 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb4cd0bde.queue.core.windows.net + - /pythonqueueb4cd0bde/messages + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_process.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_process.yaml new file mode 100644 index 000000000000..005d0612481d --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_process.yaml @@ -0,0 +1,152 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:55:31 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragee94d0db4.queue.core.windows.net/pythonqueuee94d0db4 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:55:29 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee94d0db4.queue.core.windows.net + - /pythonqueuee94d0db4 + - '' + - '' +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:55:31 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstoragee94d0db4.queue.core.windows.net/pythonqueuee94d0db4/messages + response: + body: + string: "\uFEFF658f4693-6aa5-4cd8-ac3d-365ccb97731aFri, + 06 Sep 2019 21:55:30 GMTFri, 13 Sep 2019 21:55:30 + GMTAgAAAAMAAAAAAAAAoMzRzP1k1QE=Fri, + 06 Sep 2019 21:55:30 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:29 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee94d0db4.queue.core.windows.net + - /pythonqueuee94d0db4/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:55:31 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragee94d0db4.queue.core.windows.net/pythonqueuee94d0db4/messages + response: + body: + string: "\uFEFF658f4693-6aa5-4cd8-ac3d-365ccb97731aFri, + 06 Sep 2019 21:55:30 GMTFri, 13 Sep 2019 21:55:30 + GMTAgAAAAMAAAAAAAAA7MO63v1k1QE=Fri, + 06 Sep 2019 21:56:00 GMT1message1" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:29 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee94d0db4.queue.core.windows.net + - /pythonqueuee94d0db4/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:55:31 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragee94d0db4.queue.core.windows.net/pythonqueuee94d0db4/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:29 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee94d0db4.queue.core.windows.net + - /pythonqueuee94d0db4/messages + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_read.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_read.yaml new file mode 100644 index 000000000000..b878cf992e2a --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_read.yaml @@ -0,0 +1,112 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:56:00 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragec1500c51.queue.core.windows.net/pythonqueuec1500c51 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:55:59 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragec1500c51.queue.core.windows.net + - /pythonqueuec1500c51 + - '' + - '' +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:56:00 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstoragec1500c51.queue.core.windows.net/pythonqueuec1500c51/messages + response: + body: + string: "\uFEFF9a785178-9243-49c3-a4f5-2b5b84e1c7eeFri, + 06 Sep 2019 21:55:59 GMTFri, 13 Sep 2019 21:55:59 + GMTAgAAAAMAAAAAAAAAqiIm3v1k1QE=Fri, + 06 Sep 2019 21:55:59 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:59 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragec1500c51.queue.core.windows.net + - /pythonqueuec1500c51/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:56:00 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragec1500c51.queue.core.windows.net/pythonqueuec1500c51/messages?peekonly=true&st=2019-09-06T21:51:00Z&se=2019-09-06T22:56:00Z&sp=r&sv=2018-03-28&sig=cSry9PYs%2BbmgOyBIz290kVsDf6p1Xi/0GpAk899taZc%3D + response: + body: + string: "\uFEFF9a785178-9243-49c3-a4f5-2b5b84e1c7eeFri, + 06 Sep 2019 21:55:59 GMTFri, 13 Sep 2019 21:55:59 + GMT0message1" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:58 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragec1500c51.queue.core.windows.net + - /pythonqueuec1500c51/messages + - peekonly=true&st=2019-09-06T21:51:00Z&se=2019-09-06T22:56:00Z&sp=r&sv=2018-03-28&sig=cSry9PYs%2BbmgOyBIz290kVsDf6p1Xi/0GpAk899taZc%3D + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_signed_identifier.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_signed_identifier.yaml new file mode 100644 index 000000000000..17f9c08b4320 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_signed_identifier.yaml @@ -0,0 +1,148 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:56:23 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage873511b1.queue.core.windows.net/pythonqueue873511b1 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:56:21 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage873511b1.queue.core.windows.net + - /pythonqueue873511b1 + - '' + - '' +- request: + body: ' + + testid2019-09-06T20:56:23Z2019-09-06T22:56:23Zr' + headers: + Content-Length: + - '257' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:56:23 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage873511b1.queue.core.windows.net/pythonqueue873511b1?comp=acl + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:56:21 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage873511b1.queue.core.windows.net + - /pythonqueue873511b1 + - comp=acl + - '' +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:56:23 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage873511b1.queue.core.windows.net/pythonqueue873511b1/messages + response: + body: + string: "\uFEFFcc8e61e8-7f42-4d29-94ce-38d33c533709Fri, + 06 Sep 2019 21:56:21 GMTFri, 13 Sep 2019 21:56:21 + GMTAgAAAAMAAAAAAAAAzamI6/1k1QE=Fri, + 06 Sep 2019 21:56:21 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:21 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage873511b1.queue.core.windows.net + - /pythonqueue873511b1/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:56:23 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage873511b1.queue.core.windows.net/pythonqueue873511b1/messages?peekonly=true&sv=2018-03-28&si=testid&sig=j6IrZuGz0jhZ/N3BbboUCHv1OVfoVuHeciknvGmjwuE%3D + response: + body: + string: "\uFEFFcc8e61e8-7f42-4d29-94ce-38d33c533709Fri, + 06 Sep 2019 21:56:21 GMTFri, 13 Sep 2019 21:56:21 + GMT0message1" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:21 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage873511b1.queue.core.windows.net + - /pythonqueue873511b1/messages + - peekonly=true&sv=2018-03-28&si=testid&sig=j6IrZuGz0jhZ/N3BbboUCHv1OVfoVuHeciknvGmjwuE%3D + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_update.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_update.yaml new file mode 100644 index 000000000000..223d56fd0ed9 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_sas_update.yaml @@ -0,0 +1,266 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:56:51 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragedb8b0d38.queue.core.windows.net/pythonqueuedb8b0d38 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:56:49 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragedb8b0d38.queue.core.windows.net + - /pythonqueuedb8b0d38 + - '' + - '' +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:56:51 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstoragedb8b0d38.queue.core.windows.net/pythonqueuedb8b0d38/messages + response: + body: + string: "\uFEFF66440a7f-24b2-4b7c-a68c-64b5951bffb4Fri, + 06 Sep 2019 21:56:50 GMTFri, 13 Sep 2019 21:56:50 + GMTAgAAAAMAAAAAAAAAN/eI/P1k1QE=Fri, + 06 Sep 2019 21:56:50 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:49 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragedb8b0d38.queue.core.windows.net + - /pythonqueuedb8b0d38/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:56:51 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragedb8b0d38.queue.core.windows.net/pythonqueuedb8b0d38/messages + response: + body: + string: "\uFEFF66440a7f-24b2-4b7c-a68c-64b5951bffb4Fri, + 06 Sep 2019 21:56:50 GMTFri, 13 Sep 2019 21:56:50 + GMTAgAAAAMAAAAAAAAAKqRvDv5k1QE=Fri, + 06 Sep 2019 21:57:20 GMT1message1" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:49 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragedb8b0d38.queue.core.windows.net + - /pythonqueuedb8b0d38/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:56:51 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragedb8b0d38.queue.core.windows.net/pythonqueuedb8b0d38/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:49 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragedb8b0d38.queue.core.windows.net + - /pythonqueuedb8b0d38/messages + - '' + - '' +- request: + body: ' + + updatedmessage1' + headers: + Content-Length: + - '110' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:56:51 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragedb8b0d38.queue.core.windows.net/pythonqueuedb8b0d38/messages/66440a7f-24b2-4b7c-a68c-64b5951bffb4?popreceipt=AgAAAAMAAAAAAAAAKqRvDv5k1QE%3D&visibilitytimeout=0&se=2019-09-06T22:56:51Z&sp=u&sv=2018-03-28&sig=w%2BID6lOvTC4AoGjTCRau10VT6%2BGvuNLfTReezD4rkgU%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:56:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: AwAAAAMAAAAAAAAAEgip/P1k1QEBAAAA + x-ms-time-next-visible: Fri, 06 Sep 2019 21:56:50 GMT + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragedb8b0d38.queue.core.windows.net + - /pythonqueuedb8b0d38/messages/66440a7f-24b2-4b7c-a68c-64b5951bffb4 + - popreceipt=AgAAAAMAAAAAAAAAKqRvDv5k1QE%3D&visibilitytimeout=0&se=2019-09-06T22:56:51Z&sp=u&sv=2018-03-28&sig=w%2BID6lOvTC4AoGjTCRau10VT6%2BGvuNLfTReezD4rkgU%3D + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:56:52 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragedb8b0d38.queue.core.windows.net/pythonqueuedb8b0d38/messages + response: + body: + string: "\uFEFF66440a7f-24b2-4b7c-a68c-64b5951bffb4Fri, + 06 Sep 2019 21:56:50 GMTFri, 13 Sep 2019 21:56:50 + GMTAgAAAAMAAAAAAAAADbWPDv5k1QE=Fri, + 06 Sep 2019 21:57:20 GMT2updatedmessage1" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragedb8b0d38.queue.core.windows.net + - /pythonqueuedb8b0d38/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:56:52 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragedb8b0d38.queue.core.windows.net/pythonqueuedb8b0d38/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragedb8b0d38.queue.core.windows.net + - /pythonqueuedb8b0d38/messages + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl.yaml index d9d53b7e7689..3077f9e55e4b 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8401ff1e-b575-11e9-bf33-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:14 GMT + - Fri, 06 Sep 2019 21:54:35 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue5f20e6e + uri: https://pyacrstorage5f20e6e.queue.core.windows.net/pythonqueue5f20e6e response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:13 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 65bb2dd3-4003-00a7-7f82-495de3000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:33 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage5f20e6e.queue.core.windows.net - /pythonqueue5f20e6e - '' - '' @@ -46,29 +37,20 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 841a92da-b575-11e9-a33c-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:14 GMT + - Fri, 06 Sep 2019 21:54:35 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue5f20e6e?comp=acl + uri: https://pyacrstorage5f20e6e.queue.core.windows.net/pythonqueue5f20e6e?comp=acl response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:13 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 65bb2dde-4003-00a7-0882-495de3000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:34 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -77,7 +59,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage5f20e6e.queue.core.windows.net - /pythonqueue5f20e6e - comp=acl - '' @@ -87,41 +69,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 84225762-b575-11e9-aeba-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:14 GMT + - Fri, 06 Sep 2019 21:54:36 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue5f20e6e?comp=acl + uri: https://pyacrstorage5f20e6e.queue.core.windows.net/pythonqueue5f20e6e?comp=acl response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:13 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 65bb2df2-4003-00a7-1a82-495de3000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:34 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -130,7 +96,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage5f20e6e.queue.core.windows.net - /pythonqueue5f20e6e - comp=acl - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_too_many_ids.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_too_many_ids.yaml index 2c40598f5b79..346503984888 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_too_many_ids.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_too_many_ids.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 843c341c-b575-11e9-844a-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:14 GMT + - Fri, 06 Sep 2019 21:55:01 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuee72f13d2 + uri: https://pyacrstoragee72f13d2.queue.core.windows.net/pythonqueuee72f13d2 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:13 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 08bca6dd-5003-00de-0582-4934a9000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:54:59 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee72f13d2.queue.core.windows.net - /pythonqueuee72f13d2 - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_empty_signed_identifier.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_empty_signed_identifier.yaml index 0abb753cb9d4..20a2da49510c 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_empty_signed_identifier.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_empty_signed_identifier.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 84674e6e-b575-11e9-86e3-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:14 GMT + - Fri, 06 Sep 2019 21:55:24 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue5d541a72 + uri: https://pyacrstorage5d541a72.queue.core.windows.net/pythonqueue5d541a72 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:14 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: a729865a-5003-0091-6e82-49f0b1000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:55:21 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage5d541a72.queue.core.windows.net - /pythonqueue5d541a72 - '' - '' @@ -50,29 +41,20 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 847ee4fa-b575-11e9-a7e7-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:15 GMT + - Fri, 06 Sep 2019 21:55:24 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue5d541a72?comp=acl + uri: https://pyacrstorage5d541a72.queue.core.windows.net/pythonqueue5d541a72?comp=acl response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:14 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: a7298663-5003-0091-7582-49f0b1000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:55:22 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -81,7 +63,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage5d541a72.queue.core.windows.net - /pythonqueue5d541a72 - comp=acl - '' @@ -91,40 +73,24 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8488a354-b575-11e9-b7f6-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:15 GMT + - Fri, 06 Sep 2019 21:55:24 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue5d541a72?comp=acl + uri: https://pyacrstorage5d541a72.queue.core.windows.net/pythonqueue5d541a72?comp=acl response: body: string: "\uFEFFempty" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:14 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: a7298672-5003-0091-0282-49f0b1000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:22 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -133,7 +99,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage5d541a72.queue.core.windows.net - /pythonqueue5d541a72 - comp=acl - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_empty_signed_identifiers.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_empty_signed_identifiers.yaml index e268ba8b258a..2a5ced155199 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_empty_signed_identifiers.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_empty_signed_identifiers.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 84a24542-b575-11e9-a65b-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:15 GMT + - Fri, 06 Sep 2019 21:55:47 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue78391ae5 + uri: https://pyacrstorage78391ae5.queue.core.windows.net/pythonqueue78391ae5 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:14 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d884af3b-a003-0025-0482-49fcb3000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:55:45 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage78391ae5.queue.core.windows.net - /pythonqueue78391ae5 - '' - '' @@ -46,29 +37,20 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 84b98cc2-b575-11e9-9a51-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:15 GMT + - Fri, 06 Sep 2019 21:55:47 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue78391ae5?comp=acl + uri: https://pyacrstorage78391ae5.queue.core.windows.net/pythonqueue78391ae5?comp=acl response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:14 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d884af41-a003-0025-0782-49fcb3000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:55:45 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -77,7 +59,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage78391ae5.queue.core.windows.net - /pythonqueue78391ae5 - comp=acl - '' @@ -87,41 +69,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 84c4f75a-b575-11e9-8c3c-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:15 GMT + - Fri, 06 Sep 2019 21:55:47 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue78391ae5?comp=acl + uri: https://pyacrstorage78391ae5.queue.core.windows.net/pythonqueue78391ae5?comp=acl response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:14 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: d884af4f-a003-0025-1182-49fcb3000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:45 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -130,7 +96,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage78391ae5.queue.core.windows.net - /pythonqueue78391ae5 - comp=acl - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_non_existing_queue.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_non_existing_queue.yaml index a19765cd8f82..ed0eddfbbbf1 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_non_existing_queue.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_non_existing_queue.yaml @@ -5,34 +5,23 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 84de87a2-b575-11e9-ae4b-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:15 GMT + - Fri, 06 Sep 2019 21:56:09 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuedde31881?comp=acl + uri: https://pyacrstoragedde31881.queue.core.windows.net/pythonqueuedde31881?comp=acl response: body: string: "\uFEFFQueueNotFoundThe - specified queue does not exist.\nRequestId:bf867cba-7003-0068-6e82-493a51000000\nTime:2019-08-02T22:33:15.5042091Z" + specified queue does not exist.\nRequestId:c48bcb12-6003-00be-18fd-64404a000000\nTime:2019-09-06T21:56:07.6446717Z" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '217' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:15 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + content-length: '217' + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:07 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: QueueNotFound - x-ms-request-id: bf867cba-7003-0068-6e82-493a51000000 x-ms-version: '2018-03-28' status: code: 404 @@ -41,7 +30,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragedde31881.queue.core.windows.net - /pythonqueuedde31881 - comp=acl - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_signed_identifiers.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_signed_identifiers.yaml index 40820decf439..bba07db96892 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_signed_identifiers.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_acl_with_signed_identifiers.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8509e6b8-b575-11e9-9701-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:15 GMT + - Fri, 06 Sep 2019 21:56:32 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuedbd21857 + uri: https://pyacrstoragedbd21857.queue.core.windows.net/pythonqueuedbd21857 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:15 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 117bd74a-e003-0029-0a82-491242000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:56:31 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,43 +27,34 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragedbd21857.queue.core.windows.net - /pythonqueuedbd21857 - '' - '' - request: body: ' - testid2019-08-02T22:28:16Z2019-08-02T23:33:16Zr' + testid2019-09-06T21:51:32Z2019-09-06T22:56:32Zr' headers: Content-Length: - '257' Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8521cb34-b575-11e9-b166-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:16 GMT + - Fri, 06 Sep 2019 21:56:32 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueuedbd21857?comp=acl + uri: https://pyacrstoragedbd21857.queue.core.windows.net/pythonqueuedbd21857?comp=acl response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:15 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 117bd756-e003-0029-1482-491242000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:56:31 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -81,7 +63,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragedbd21857.queue.core.windows.net - /pythonqueuedbd21857 - comp=acl - '' @@ -91,40 +73,24 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 852c7246-b575-11e9-b647-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:16 GMT + - Fri, 06 Sep 2019 21:56:32 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueuedbd21857?comp=acl + uri: https://pyacrstoragedbd21857.queue.core.windows.net/pythonqueuedbd21857?comp=acl response: body: - string: "\uFEFFtestid2019-08-02T22:28:16.0000000Z2019-08-02T23:33:16.0000000Zr" + string: "\uFEFFtestid2019-09-06T21:51:32.0000000Z2019-09-06T22:56:32.0000000Zr" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:15 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 117bd76e-e003-0029-2b82-491242000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:31 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -133,7 +99,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragedbd21857.queue.core.windows.net - /pythonqueuedbd21857 - comp=acl - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_metadata.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_metadata.yaml index c7a8ab760ddc..991c349ffd39 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_metadata.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_set_queue_metadata.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 85456770-b575-11e9-9c31-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:16 GMT + - Fri, 06 Sep 2019 21:56:55 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue5497107f + uri: https://pyacrstorage5497107f.queue.core.windows.net/pythonqueue5497107f response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:15 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d252d1fa-8003-001b-0c82-494a92000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:56:53 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage5497107f.queue.core.windows.net - /pythonqueue5497107f - '' - '' @@ -44,13 +35,11 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 85670a74-b575-11e9-bae0-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:16 GMT + - Fri, 06 Sep 2019 21:56:55 GMT x-ms-meta-hello: - world x-ms-meta-number: @@ -58,21 +47,14 @@ interactions: x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue5497107f?comp=metadata + uri: https://pyacrstorage5497107f.queue.core.windows.net/pythonqueue5497107f?comp=metadata response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:15 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: d252d209-8003-001b-1882-494a92000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:56:53 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -81,7 +63,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage5497107f.queue.core.windows.net - /pythonqueue5497107f - comp=metadata - '' @@ -89,40 +71,26 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 856cfa3e-b575-11e9-9862-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:16 GMT + - Fri, 06 Sep 2019 21:56:56 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue5497107f?comp=metadata + uri: https://pyacrstorage5497107f.queue.core.windows.net/pythonqueue5497107f?comp=metadata response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:15 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + cache-control: no-cache + content-length: '0' + date: Fri, 06 Sep 2019 21:56:53 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-approximate-messages-count: '0' x-ms-meta-hello: world x-ms-meta-number: '43' - x-ms-request-id: d252d211-8003-001b-1d82-494a92000000 x-ms-version: '2018-03-28' status: code: 200 @@ -131,7 +99,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage5497107f.queue.core.windows.net - /pythonqueue5497107f - comp=metadata - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_unicode_create_queue_unicode_name.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_unicode_create_queue_unicode_name.yaml index 09655da8d131..57f52f81ecff 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_unicode_create_queue_unicode_name.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_unicode_create_queue_unicode_name.yaml @@ -3,36 +3,25 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 85903b1e-b575-11e9-acc6-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:16 GMT + - Fri, 06 Sep 2019 21:55:01 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C + uri: https://pyacrstorage7bb81693.queue.core.windows.net/%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C response: body: string: "\uFEFFInvalidResourceNameThe - specifed resource name contains invalid characters.\nRequestId:506bb5f4-0003-00e4-1482-49770a000000\nTime:2019-08-02T22:33:16.6594210Z" + specifed resource name contains invalid characters.\nRequestId:5cc7c612-1003-012d-06fd-64f5e3000000\nTime:2019-09-06T21:54:59.7111973Z" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '243' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + content-length: '243' + content-type: application/xml + date: Fri, 06 Sep 2019 21:54:59 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: InvalidResourceName - x-ms-request-id: 506bb5f4-0003-00e4-1482-49770a000000 x-ms-version: '2018-03-28' status: code: 400 @@ -41,7 +30,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage7bb81693.queue.core.windows.net - /%E5%95%8A%E9%BD%84%E4%B8%82%E7%8B%9B%E7%8B%9C - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_unicode_get_messages_unicode_data.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_unicode_get_messages_unicode_data.yaml index b24bb6b01238..2b00ec0c3885 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_unicode_get_messages_unicode_data.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_unicode_get_messages_unicode_data.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 85b3c6d0-b575-11e9-923a-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:17 GMT + - Fri, 06 Sep 2019 21:55:29 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue7ba0168b + uri: https://pyacrstorage7ba0168b.queue.core.windows.net/pythonqueue7ba0168b response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4039a1df-5003-003b-7282-49265e000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:55:27 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage7ba0168b.queue.core.windows.net - /pythonqueue7ba0168b - '' - '' @@ -50,35 +41,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 85cf3f1c-b575-11e9-885b-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:17 GMT + - Fri, 06 Sep 2019 21:55:29 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue7ba0168b/messages + uri: https://pyacrstorage7ba0168b.queue.core.windows.net/pythonqueue7ba0168b/messages response: body: - string: "\uFEFFeb78253e-7e31-40ef-ba91-0809a5c95b36Fri, - 02 Aug 2019 22:33:16 GMTFri, 09 Aug 2019 22:33:16 - GMTAgAAAAMAAAAAAAAA8JhlR4JJ1QE=Fri, - 02 Aug 2019 22:33:16 GMT" + string: "\uFEFF9ce11fcd-4fae-407a-9af4-5bdc4dc84d00Fri, + 06 Sep 2019 21:55:27 GMTFri, 13 Sep 2019 21:55:27 + GMTAgAAAAMAAAAAAAAAm5ZOy/1k1QE=Fri, + 06 Sep 2019 21:55:27 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 4039a1e4-5003-003b-7582-49265e000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:27 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -87,7 +67,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage7ba0168b.queue.core.windows.net - /pythonqueue7ba0168b/messages - '' - '' @@ -97,43 +77,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 85d6db0a-b575-11e9-9930-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:17 GMT + - Fri, 06 Sep 2019 21:55:29 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue7ba0168b/messages + uri: https://pyacrstorage7ba0168b.queue.core.windows.net/pythonqueue7ba0168b/messages response: body: - string: "\uFEFFeb78253e-7e31-40ef-ba91-0809a5c95b36Fri, - 02 Aug 2019 22:33:16 GMTFri, 09 Aug 2019 22:33:16 - GMTAgAAAAMAAAAAAAAAR+JMWYJJ1QE=Fri, - 02 Aug 2019 22:33:47 GMT1message1\u3688" + string: "\uFEFF9ce11fcd-4fae-407a-9af4-5bdc4dc84d00Fri, + 06 Sep 2019 21:55:27 GMTFri, 13 Sep 2019 21:55:27 + GMTAgAAAAMAAAAAAAAACVk03f1k1QE=Fri, + 06 Sep 2019 21:55:57 GMT1message1\u3688" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 4039a1ea-5003-003b-7b82-49265e000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:27 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -142,7 +106,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage7ba0168b.queue.core.windows.net - /pythonqueue7ba0168b/messages - '' - '' @@ -152,41 +116,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 85dca374-b575-11e9-b63f-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:17 GMT + - Fri, 06 Sep 2019 21:55:29 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue7ba0168b/messages + uri: https://pyacrstorage7ba0168b.queue.core.windows.net/pythonqueue7ba0168b/messages response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 4039a1ec-5003-003b-7d82-49265e000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:27 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -195,7 +143,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage7ba0168b.queue.core.windows.net - /pythonqueue7ba0168b/messages - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_unicode_update_message_unicode_data.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_unicode_update_message_unicode_data.yaml index 344dd34fb2a3..567036e22d03 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_unicode_update_message_unicode_data.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_unicode_update_message_unicode_data.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 85f4fcca-b575-11e9-8550-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:17 GMT + - Fri, 06 Sep 2019 21:55:53 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueueaa76175b + uri: https://pyacrstorageaa76175b.queue.core.windows.net/pythonqueueaa76175b response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 20b4c265-2003-00da-6182-49c12b000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:55:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorageaa76175b.queue.core.windows.net - /pythonqueueaa76175b - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 860d2f1e-b575-11e9-b86b-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:17 GMT + - Fri, 06 Sep 2019 21:55:53 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueueaa76175b/messages + uri: https://pyacrstorageaa76175b.queue.core.windows.net/pythonqueueaa76175b/messages response: body: - string: "\uFEFF19645dcc-8cc1-4276-816d-876867c7d44dFri, - 02 Aug 2019 22:33:17 GMTFri, 09 Aug 2019 22:33:17 - GMTAgAAAAMAAAAAAAAAapuhR4JJ1QE=Fri, - 02 Aug 2019 22:33:17 GMT" + string: "\uFEFFf72b72f2-85f0-477f-abd1-fa2cfa791e8fFri, + 06 Sep 2019 21:55:51 GMTFri, 13 Sep 2019 21:55:51 + GMTAgAAAAMAAAAAAAAAwdCT2f1k1QE=Fri, + 06 Sep 2019 21:55:51 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 20b4c26f-2003-00da-6882-49c12b000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorageaa76175b.queue.core.windows.net - /pythonqueueaa76175b/messages - '' - '' @@ -99,43 +79,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 86151a1e-b575-11e9-8b46-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:17 GMT + - Fri, 06 Sep 2019 21:55:53 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueueaa76175b/messages + uri: https://pyacrstorageaa76175b.queue.core.windows.net/pythonqueueaa76175b/messages response: body: - string: "\uFEFF19645dcc-8cc1-4276-816d-876867c7d44dFri, - 02 Aug 2019 22:33:17 GMTFri, 09 Aug 2019 22:33:17 - GMTAgAAAAMAAAAAAAAAIC+LWYJJ1QE=Fri, - 02 Aug 2019 22:33:47 GMT1message1" + string: "\uFEFFf72b72f2-85f0-477f-abd1-fa2cfa791e8fFri, + 06 Sep 2019 21:55:51 GMTFri, 13 Sep 2019 21:55:51 + GMTAgAAAAMAAAAAAAAAYOF56/1k1QE=Fri, + 06 Sep 2019 21:56:21 GMT1message1" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 20b4c275-2003-00da-6e82-49c12b000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -144,7 +108,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorageaa76175b.queue.core.windows.net - /pythonqueueaa76175b/messages - '' - '' @@ -154,41 +118,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 861ae282-b575-11e9-907f-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:17 GMT + - Fri, 06 Sep 2019 21:55:53 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueueaa76175b/messages + uri: https://pyacrstorageaa76175b.queue.core.windows.net/pythonqueueaa76175b/messages response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 20b4c27d-2003-00da-7582-49c12b000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -197,7 +145,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorageaa76175b.queue.core.windows.net - /pythonqueueaa76175b/messages - '' - '' @@ -209,31 +157,22 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 86205be4-b575-11e9-919a-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:17 GMT + - Fri, 06 Sep 2019 21:55:53 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueueaa76175b/messages/19645dcc-8cc1-4276-816d-876867c7d44d?popreceipt=AgAAAAMAAAAAAAAAIC%2BLWYJJ1QE%3D&visibilitytimeout=0 + uri: https://pyacrstorageaa76175b.queue.core.windows.net/pythonqueueaa76175b/messages/f72b72f2-85f0-477f-abd1-fa2cfa791e8f?popreceipt=AgAAAAMAAAAAAAAAYOF56/1k1QE%3D&visibilitytimeout=0 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-popreceipt: AwAAAAMAAAAAAAAAz9i0R4JJ1QEBAAAA - x-ms-request-id: 20b4c285-2003-00da-7d82-49c12b000000 - x-ms-time-next-visible: Fri, 02 Aug 2019 22:33:17 GMT + content-length: '0' + date: Fri, 06 Sep 2019 21:55:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: AwAAAAMAAAAAAAAA246h2f1k1QEBAAAA + x-ms-time-next-visible: Fri, 06 Sep 2019 21:55:51 GMT x-ms-version: '2018-03-28' status: code: 204 @@ -242,9 +181,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net - - /pythonqueueaa76175b/messages/19645dcc-8cc1-4276-816d-876867c7d44d - - popreceipt=AgAAAAMAAAAAAAAAIC%2BLWYJJ1QE%3D&visibilitytimeout=0 + - pyacrstorageaa76175b.queue.core.windows.net + - /pythonqueueaa76175b/messages/f72b72f2-85f0-477f-abd1-fa2cfa791e8f + - popreceipt=AgAAAAMAAAAAAAAAYOF56/1k1QE%3D&visibilitytimeout=0 - '' - request: body: null @@ -252,43 +191,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8626244c-b575-11e9-9377-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:17 GMT + - Fri, 06 Sep 2019 21:55:53 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueueaa76175b/messages + uri: https://pyacrstorageaa76175b.queue.core.windows.net/pythonqueueaa76175b/messages response: body: - string: "\uFEFF19645dcc-8cc1-4276-816d-876867c7d44dFri, - 02 Aug 2019 22:33:17 GMTFri, 09 Aug 2019 22:33:17 - GMTAgAAAAMAAAAAAAAAUXCcWYJJ1QE=Fri, - 02 Aug 2019 22:33:47 GMT2\u554A\u9F44\u4E02\u72DB\u72DC" + string: "\uFEFFf72b72f2-85f0-477f-abd1-fa2cfa791e8fFri, + 06 Sep 2019 21:55:51 GMTFri, 13 Sep 2019 21:55:51 + GMTAgAAAAMAAAAAAAAAzjuI6/1k1QE=Fri, + 06 Sep 2019 21:56:21 GMT2\u554A\u9F44\u4E02\u72DB\u72DC" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 20b4c28b-2003-00da-0282-49c12b000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -297,7 +220,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorageaa76175b.queue.core.windows.net - /pythonqueueaa76175b/messages - '' - '' @@ -307,41 +230,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 862c13ae-b575-11e9-bfb8-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:17 GMT + - Fri, 06 Sep 2019 21:55:53 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueueaa76175b/messages + uri: https://pyacrstorageaa76175b.queue.core.windows.net/pythonqueueaa76175b/messages response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:16 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 20b4c294-2003-00da-0a82-49c12b000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:55:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -350,7 +257,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorageaa76175b.queue.core.windows.net - /pythonqueueaa76175b/messages - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_update_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_update_message.yaml index c29d4f508603..c77a7f86117b 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_update_message.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_update_message.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 864557ec-b575-11e9-9662-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:15 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue14880ed6 + uri: https://pyacrstorage14880ed6.queue.core.windows.net/pythonqueue14880ed6 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:17 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: b85e1105-8003-0032-5582-493cd0000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:56:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage14880ed6.queue.core.windows.net - /pythonqueue14880ed6 - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 865c529a-b575-11e9-92b7-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:17 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue14880ed6/messages + uri: https://pyacrstorage14880ed6.queue.core.windows.net/pythonqueue14880ed6/messages response: body: - string: "\uFEFF23bb6a03-2120-43d2-91b0-d812906e7c2aFri, - 02 Aug 2019 22:33:17 GMTFri, 09 Aug 2019 22:33:17 - GMTAgAAAAMAAAAAAAAAZQLxR4JJ1QE=Fri, - 02 Aug 2019 22:33:17 GMT" + string: "\uFEFFe714588c-fcbf-4fca-ab49-897427d40086Fri, + 06 Sep 2019 21:56:15 GMTFri, 13 Sep 2019 21:56:15 + GMTAgAAAAMAAAAAAAAABZ3S5/1k1QE=Fri, + 06 Sep 2019 21:56:15 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:17 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: b85e110a-8003-0032-5882-493cd0000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage14880ed6.queue.core.windows.net - /pythonqueue14880ed6/messages - '' - '' @@ -99,43 +79,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8661f424-b575-11e9-a326-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:17 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue14880ed6/messages + uri: https://pyacrstorage14880ed6.queue.core.windows.net/pythonqueue14880ed6/messages response: body: - string: "\uFEFF23bb6a03-2120-43d2-91b0-d812906e7c2aFri, - 02 Aug 2019 22:33:17 GMTFri, 09 Aug 2019 22:33:17 - GMTAgAAAAMAAAAAAAAAc9bXWYJJ1QE=Fri, - 02 Aug 2019 22:33:47 GMT1message1" + string: "\uFEFFe714588c-fcbf-4fca-ab49-897427d40086Fri, + 06 Sep 2019 21:56:15 GMTFri, 13 Sep 2019 21:56:15 + GMTAgAAAAMAAAAAAAAA+1u6+f1k1QE=Fri, + 06 Sep 2019 21:56:45 GMT1message1" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:17 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: b85e1117-8003-0032-6582-493cd0000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -144,7 +108,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage14880ed6.queue.core.windows.net - /pythonqueue14880ed6/messages - '' - '' @@ -154,41 +118,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 86676d68-b575-11e9-9e90-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:17 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue14880ed6/messages + uri: https://pyacrstorage14880ed6.queue.core.windows.net/pythonqueue14880ed6/messages response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:17 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: b85e111e-8003-0032-6c82-493cd0000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -197,7 +145,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage14880ed6.queue.core.windows.net - /pythonqueue14880ed6/messages - '' - '' @@ -207,31 +155,22 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 866caf36-b575-11e9-b72d-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:17 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue14880ed6/messages/23bb6a03-2120-43d2-91b0-d812906e7c2a?popreceipt=AgAAAAMAAAAAAAAAc9bXWYJJ1QE%3D&visibilitytimeout=0 + uri: https://pyacrstorage14880ed6.queue.core.windows.net/pythonqueue14880ed6/messages/e714588c-fcbf-4fca-ab49-897427d40086?popreceipt=AgAAAAMAAAAAAAAA%2B1u6%2Bf1k1QE%3D&visibilitytimeout=0 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:17 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-popreceipt: AwAAAAMAAAAAAAAA/DEBSIJJ1QEBAAAA - x-ms-request-id: b85e1128-8003-0032-7682-493cd0000000 - x-ms-time-next-visible: Fri, 02 Aug 2019 22:33:17 GMT + content-length: '0' + date: Fri, 06 Sep 2019 21:56:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: AwAAAAMAAAAAAAAACwri5/1k1QEBAAAA + x-ms-time-next-visible: Fri, 06 Sep 2019 21:56:15 GMT x-ms-version: '2018-03-28' status: code: 204 @@ -240,9 +179,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net - - /pythonqueue14880ed6/messages/23bb6a03-2120-43d2-91b0-d812906e7c2a - - popreceipt=AgAAAAMAAAAAAAAAc9bXWYJJ1QE%3D&visibilitytimeout=0 + - pyacrstorage14880ed6.queue.core.windows.net + - /pythonqueue14880ed6/messages/e714588c-fcbf-4fca-ab49-897427d40086 + - popreceipt=AgAAAAMAAAAAAAAA%2B1u6%2Bf1k1QE%3D&visibilitytimeout=0 - '' - request: body: null @@ -250,43 +189,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 86727688-b575-11e9-96ae-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:17 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue14880ed6/messages + uri: https://pyacrstorage14880ed6.queue.core.windows.net/pythonqueue14880ed6/messages response: body: - string: "\uFEFF23bb6a03-2120-43d2-91b0-d812906e7c2aFri, - 02 Aug 2019 22:33:17 GMTFri, 09 Aug 2019 22:33:17 - GMTAgAAAAMAAAAAAAAAYqLoWYJJ1QE=Fri, - 02 Aug 2019 22:33:48 GMT2message1" + string: "\uFEFFe714588c-fcbf-4fca-ab49-897427d40086Fri, + 06 Sep 2019 21:56:15 GMTFri, 13 Sep 2019 21:56:15 + GMTAgAAAAMAAAAAAAAAZN7I+f1k1QE=Fri, + 06 Sep 2019 21:56:45 GMT2message1" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:17 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: b85e1130-8003-0032-7e82-493cd0000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -295,7 +218,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage14880ed6.queue.core.windows.net - /pythonqueue14880ed6/messages - '' - '' @@ -305,41 +228,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 867865d2-b575-11e9-8ed6-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:17 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue14880ed6/messages + uri: https://pyacrstorage14880ed6.queue.core.windows.net/pythonqueue14880ed6/messages response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:17 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: b85e113b-8003-0032-0982-493cd0000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -348,7 +255,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage14880ed6.queue.core.windows.net - /pythonqueue14880ed6/messages - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_update_message_content.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_update_message_content.yaml index ecc18d3d0d45..fddc5125b54d 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_update_message_content.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_async.test_update_message_content.yaml @@ -3,31 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 86948d12-b575-11e9-99e9-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:40 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue99f41230 + uri: https://pyacrstorage99f41230.queue.core.windows.net/pythonqueue99f41230 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:17 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 61ef47e6-9003-0069-0382-493bac000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:56:37 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -36,7 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage99f41230.queue.core.windows.net - /pythonqueue99f41230 - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 86ac7448-b575-11e9-8af5-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:40 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/pythonqueue99f41230/messages + uri: https://pyacrstorage99f41230.queue.core.windows.net/pythonqueue99f41230/messages response: body: - string: "\uFEFFe5b5f149-4d52-491e-b2e1-9318055055efFri, - 02 Aug 2019 22:33:18 GMTFri, 09 Aug 2019 22:33:18 - GMTAgAAAAMAAAAAAAAAyyxBSIJJ1QE=Fri, - 02 Aug 2019 22:33:18 GMT" + string: "\uFEFF19d57950-c5d6-4ff3-b3d6-2d44e2f41d45Fri, + 06 Sep 2019 21:56:38 GMTFri, 13 Sep 2019 21:56:38 + GMTAgAAAAMAAAAAAAAATaCr9f1k1QE=Fri, + 06 Sep 2019 21:56:38 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:17 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 61ef47ea-9003-0069-0582-493bac000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:37 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage99f41230.queue.core.windows.net - /pythonqueue99f41230/messages - '' - '' @@ -99,43 +79,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 86b2629c-b575-11e9-a2bd-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:40 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue99f41230/messages + uri: https://pyacrstorage99f41230.queue.core.windows.net/pythonqueue99f41230/messages response: body: - string: "\uFEFFe5b5f149-4d52-491e-b2e1-9318055055efFri, - 02 Aug 2019 22:33:18 GMTFri, 09 Aug 2019 22:33:18 - GMTAgAAAAMAAAAAAAAAInYoWoJJ1QE=Fri, - 02 Aug 2019 22:33:48 GMT1message1" + string: "\uFEFF19d57950-c5d6-4ff3-b3d6-2d44e2f41d45Fri, + 06 Sep 2019 21:56:38 GMTFri, 13 Sep 2019 21:56:38 + GMTAgAAAAMAAAAAAAAAMrOaB/5k1QE=Fri, + 06 Sep 2019 21:57:08 GMT1message1" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:17 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 61ef47f2-9003-0069-0a82-493bac000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:37 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -144,7 +108,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage99f41230.queue.core.windows.net - /pythonqueue99f41230/messages - '' - '' @@ -154,41 +118,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 86b80558-b575-11e9-bb48-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:40 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue99f41230/messages + uri: https://pyacrstorage99f41230.queue.core.windows.net/pythonqueue99f41230/messages response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:17 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 61ef47f6-9003-0069-0d82-493bac000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:38 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -197,7 +145,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage99f41230.queue.core.windows.net - /pythonqueue99f41230/messages - '' - '' @@ -211,31 +159,22 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 86bd58b4-b575-11e9-8057-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:40 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/pythonqueue99f41230/messages/e5b5f149-4d52-491e-b2e1-9318055055ef?popreceipt=AgAAAAMAAAAAAAAAInYoWoJJ1QE%3D&visibilitytimeout=0 + uri: https://pyacrstorage99f41230.queue.core.windows.net/pythonqueue99f41230/messages/19d57950-c5d6-4ff3-b3d6-2d44e2f41d45?popreceipt=AgAAAAMAAAAAAAAAMrOaB/5k1QE%3D&visibilitytimeout=0 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:17 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-popreceipt: AwAAAAMAAAAAAAAAp9FRSIJJ1QEBAAAA - x-ms-request-id: 61ef47f8-9003-0069-0f82-493bac000000 - x-ms-time-next-visible: Fri, 02 Aug 2019 22:33:18 GMT + content-length: '0' + date: Fri, 06 Sep 2019 21:56:38 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: AwAAAAMAAAAAAAAAZ+vB9f1k1QEBAAAA + x-ms-time-next-visible: Fri, 06 Sep 2019 21:56:38 GMT x-ms-version: '2018-03-28' status: code: 204 @@ -244,9 +183,9 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net - - /pythonqueue99f41230/messages/e5b5f149-4d52-491e-b2e1-9318055055ef - - popreceipt=AgAAAAMAAAAAAAAAInYoWoJJ1QE%3D&visibilitytimeout=0 + - pyacrstorage99f41230.queue.core.windows.net + - /pythonqueue99f41230/messages/19d57950-c5d6-4ff3-b3d6-2d44e2f41d45 + - popreceipt=AgAAAAMAAAAAAAAAMrOaB/5k1QE%3D&visibilitytimeout=0 - '' - request: body: null @@ -254,44 +193,28 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 86c32154-b575-11e9-870e-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:40 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue99f41230/messages + uri: https://pyacrstorage99f41230.queue.core.windows.net/pythonqueue99f41230/messages response: body: - string: "\uFEFFe5b5f149-4d52-491e-b2e1-9318055055efFri, - 02 Aug 2019 22:33:18 GMTFri, 09 Aug 2019 22:33:18 - GMTAgAAAAMAAAAAAAAALWk5WoJJ1QE=Fri, - 02 Aug 2019 22:33:48 GMT2new + string: "\uFEFF19d57950-c5d6-4ff3-b3d6-2d44e2f41d45Fri, + 06 Sep 2019 21:56:38 GMTFri, 13 Sep 2019 21:56:38 + GMTAgAAAAMAAAAAAAAA6NSnB/5k1QE=Fri, + 06 Sep 2019 21:57:09 GMT2new text" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:17 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 61ef47fc-9003-0069-1382-493bac000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:38 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -300,7 +223,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage99f41230.queue.core.windows.net - /pythonqueue99f41230/messages - '' - '' @@ -310,41 +233,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 86c98464-b575-11e9-a004-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:18 GMT + - Fri, 06 Sep 2019 21:56:40 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/pythonqueue99f41230/messages + uri: https://pyacrstorage99f41230.queue.core.windows.net/pythonqueue99f41230/messages response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:18 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 61ef4802-9003-0069-1982-493bac000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:38 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -353,7 +260,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage99f41230.queue.core.windows.net - /pythonqueue99f41230/messages - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_request_callback_signed_header.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_request_callback_signed_header.yaml index 244d0d360d08..b7d6f15f3a23 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_request_callback_signed_header.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_request_callback_signed_header.yaml @@ -11,31 +11,27 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8732dab6-b575-11e9-9bc4-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:19 GMT + - Fri, 06 Sep 2019 21:55:30 GMT x-ms-meta-hello: - world x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/cont4db115a6 + uri: https://pyacrstorage4db115a6.queue.core.windows.net/cont4db115a6 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:19 GMT - Server: + date: + - Fri, 06 Sep 2019 21:55:29 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2a2dc306-0003-0023-7c82-490bcb000000 x-ms-version: - '2018-03-28' status: @@ -51,37 +47,31 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 87638fc0-b575-11e9-9366-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:19 GMT + - Fri, 06 Sep 2019 21:55:31 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/cont4db115a6?comp=metadata + uri: https://pyacrstorage4db115a6.queue.core.windows.net/cont4db115a6?comp=metadata response: body: string: '' headers: - Cache-Control: + cache-control: - no-cache - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:19 GMT - Server: + date: + - Fri, 06 Sep 2019 21:55:29 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin x-ms-approximate-messages-count: - '0' x-ms-meta-hello: - world - x-ms-request-id: - - 2a2dc30e-0003-0023-0182-490bcb000000 x-ms-version: - '2018-03-28' status: @@ -99,29 +89,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8776e1e6-b575-11e9-bbce-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:20 GMT + - Fri, 06 Sep 2019 21:55:31 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/cont4db115a6 + uri: https://pyacrstorage4db115a6.queue.core.windows.net/cont4db115a6 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:19 GMT - Server: + date: + - Fri, 06 Sep 2019 21:55:29 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2a2dc310-0003-0023-0382-490bcb000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_response_callback.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_response_callback.yaml index fb6b262a0441..2144aefd38d0 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_response_callback.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_response_callback.yaml @@ -9,36 +9,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 878f622e-b575-11e9-ac06-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:20 GMT + - Fri, 06 Sep 2019 21:55:59 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/cont5391106b?comp=metadata + uri: https://pyacrstorage5391106b.queue.core.windows.net/cont5391106b?comp=metadata response: body: string: "\uFEFFQueueNotFoundThe - specified queue does not exist.\nRequestId:87fa65a6-b003-0090-7382-49f14c000000\nTime:2019-08-02T22:33:20.1774132Z" + specified queue does not exist.\nRequestId:9a7d568c-8003-005d-3dfd-641d06000000\nTime:2019-09-06T21:55:58.3472383Z" headers: - Content-Length: + content-length: - '217' - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:19 GMT - Server: + date: + - Fri, 06 Sep 2019 21:55:57 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin x-ms-error-code: - QueueNotFound - x-ms-request-id: - - 87fa65a6-b003-0090-7382-49f14c000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_user_agent_append.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_user_agent_append.yaml index d70d25dc807b..0dddd23e6809 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_user_agent_append.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_user_agent_append.yaml @@ -9,37 +9,31 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) customer_user_agent content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 87ccdd7e-b575-11e9-bcf3-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:20 GMT + - Fri, 06 Sep 2019 21:56:21 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage53241074.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:19 GMT - Server: + date: + - Fri, 06 Sep 2019 21:56:20 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - cf912f6e-e003-0000-3f82-496400000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_user_agent_custom.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_user_agent_custom.yaml index c574186ff9dd..c00f06db40b5 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_user_agent_custom.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_user_agent_custom.yaml @@ -9,36 +9,30 @@ interactions: Connection: - keep-alive User-Agent: - - TestApp/v1.0 azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - TestApp/v1.0 azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 88050958-b575-11e9-a27a-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:20 GMT + - Fri, 06 Sep 2019 21:54:51 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage538d1097.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:20 GMT - Server: + date: + - Fri, 06 Sep 2019 21:54:49 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 1d54d251-e003-0044-0282-49b86c000000 x-ms-version: - '2018-03-28' status: @@ -54,36 +48,30 @@ interactions: Connection: - keep-alive User-Agent: - - TestApp/v2.0 azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - TestApp/v2.0 azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 883325ae-b575-11e9-b27c-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:21 GMT + - Fri, 06 Sep 2019 21:54:52 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage538d1097.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:20 GMT - Server: + date: + - Fri, 06 Sep 2019 21:54:49 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 1d54d257-e003-0044-0782-49b86c000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_user_agent_default.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_user_agent_default.yaml index e0edcf125883..b0ed618114f8 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_user_agent_default.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client.test_user_agent_default.yaml @@ -9,36 +9,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 884ce494-b575-11e9-8434-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:21 GMT + - Fri, 06 Sep 2019 21:55:15 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage63c210e1.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:21 GMT - Server: + date: + - Fri, 06 Sep 2019 21:55:14 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - f9d9cfeb-d003-0080-7182-49c7aa000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_request_callback_signed_header.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_request_callback_signed_header.yaml index bc4230ea9d14..38f339dcd1b4 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_request_callback_signed_header.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_request_callback_signed_header.yaml @@ -3,33 +3,24 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 88e5e4ae-b575-11e9-a199-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:22 GMT + - Fri, 06 Sep 2019 21:57:51 GMT x-ms-meta-hello: - world x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/contdaac1823 + uri: https://pyacrstoragedaac1823.queue.core.windows.net/contdaac1823 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:21 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 52e58a19-8003-0054-1b82-498e8a000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:57:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -38,7 +29,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragedaac1823.queue.core.windows.net - /contdaac1823 - '' - '' @@ -46,39 +37,25 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 88fda236-b575-11e9-8bc5-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:22 GMT + - Fri, 06 Sep 2019 21:57:52 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/contdaac1823?comp=metadata + uri: https://pyacrstoragedaac1823.queue.core.windows.net/contdaac1823?comp=metadata response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:21 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + cache-control: no-cache + content-length: '0' + date: Fri, 06 Sep 2019 21:57:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-approximate-messages-count: '0' x-ms-meta-hello: world - x-ms-request-id: 52e58a24-8003-0054-2282-498e8a000000 x-ms-version: '2018-03-28' status: code: 200 @@ -87,7 +64,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragedaac1823.queue.core.windows.net - /contdaac1823 - comp=metadata - '' @@ -95,31 +72,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 89058c02-b575-11e9-9dbf-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:22 GMT + - Fri, 06 Sep 2019 21:57:52 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/contdaac1823 + uri: https://pyacrstoragedaac1823.queue.core.windows.net/contdaac1823 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:21 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 52e58a2f-8003-0054-2c82-498e8a000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:57:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 204 @@ -128,7 +96,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragedaac1823.queue.core.windows.net - /contdaac1823 - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_response_callback.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_response_callback.yaml index 314af87ca69b..223a1ceb4915 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_response_callback.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_response_callback.yaml @@ -3,39 +3,25 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 891b4f12-b575-11e9-8277-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:22 GMT + - Fri, 06 Sep 2019 21:56:47 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/contc03312e8?comp=metadata + uri: https://pyacrstoragec03312e8.queue.core.windows.net/contc03312e8?comp=metadata response: body: string: "\uFEFFQueueNotFoundThe - specified queue does not exist.\nRequestId:745713fd-8003-0093-4082-49f24b000000\nTime:2019-08-02T22:33:22.6041732Z" + specified queue does not exist.\nRequestId:4c637eb2-c003-00d2-02fd-64535a000000\nTime:2019-09-06T21:56:46.5911404Z" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '217' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin + content-length: '217' + content-type: application/xml + date: Fri, 06 Sep 2019 21:56:46 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: QueueNotFound - x-ms-request-id: 745713fd-8003-0093-4082-49f24b000000 x-ms-version: '2018-03-28' status: code: 404 @@ -44,7 +30,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragec03312e8.queue.core.windows.net - /contc03312e8 - comp=metadata - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_user_agent_append.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_user_agent_append.yaml index a6aa79727a37..bf5b1788dbbc 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_user_agent_append.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_user_agent_append.yaml @@ -5,42 +5,26 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) customer_user_agent content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 893ddb10-b575-11e9-a792-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:22 GMT + - Fri, 06 Sep 2019 21:57:10 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoragebfc612f1.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 61ef495d-9003-0069-1a82-493bac000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:09 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -49,7 +33,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragebfc612f1.queue.core.windows.net - / - restype=service&comp=properties - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_user_agent_custom.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_user_agent_custom.yaml index 8f0b35d84dd0..86614377e519 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_user_agent_custom.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_user_agent_custom.yaml @@ -5,41 +5,25 @@ interactions: Accept: - application/xml User-Agent: - - TestApp/v1.0 azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - TestApp/v1.0 azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 89624574-b575-11e9-ba53-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:23 GMT + - Fri, 06 Sep 2019 21:57:32 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoragec02f1314.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0dd14ff3-7003-0063-7c82-492225000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:31 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -48,7 +32,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragec02f1314.queue.core.windows.net - / - restype=service&comp=properties - '' @@ -58,41 +42,25 @@ interactions: Accept: - application/xml User-Agent: - - TestApp/v2.0 azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - TestApp/v2.0 azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 897ac6f8-b575-11e9-8bad-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:23 GMT + - Fri, 06 Sep 2019 21:57:32 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoragec02f1314.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0dd14ff6-7003-0063-7e82-492225000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:31 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -101,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragec02f1314.queue.core.windows.net - / - restype=service&comp=properties - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_user_agent_default.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_user_agent_default.yaml index 70940f1be5c5..5556a10617df 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_user_agent_default.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_client_async.test_user_agent_default.yaml @@ -5,41 +5,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 898c472c-b575-11e9-9dc3-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:23 GMT + - Fri, 06 Sep 2019 21:58:00 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoraged2e1135e.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 961bec67-2003-00b7-5082-496b05000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:58 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -48,7 +32,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged2e1135e.queue.core.windows.net - / - restype=service&comp=properties - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_base64_decode_fails.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_base64_decode_fails.yaml index 0e34de3079b8..aa41fb9b65d6 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_base64_decode_fails.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_base64_decode_fails.yaml @@ -11,34 +11,30 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 89b4d5f4-b575-11e9-8937-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:23 GMT + - Fri, 06 Sep 2019 21:57:01 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueue453d1525 + uri: https://pyacrstorage453d1525.queue.core.windows.net/mytestqueue453d1525 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:23 GMT - Server: + date: + - Fri, 06 Sep 2019 21:56:59 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 4c16d956-c003-00bd-7882-49728c000000 x-ms-version: - '2018-03-28' status: - code: 204 - message: No Content + code: 201 + message: Created - request: body: ' @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 89e0fc30-b575-11e9-863b-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:24 GMT + - Fri, 06 Sep 2019 21:57:01 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/mytestqueue453d1525/messages + uri: https://pyacrstorage453d1525.queue.core.windows.net/mytestqueue453d1525/messages response: body: - string: "\uFEFFf68611fa-3352-4fe7-a6aa-81ca25be5708Fri, - 02 Aug 2019 22:33:23 GMTFri, 09 Aug 2019 22:33:23 - GMTAgAAAAMAAAAAAAAAsy18S4JJ1QE=Fri, - 02 Aug 2019 22:33:23 GMT" + string: "\uFEFF53d34408-5f4e-4cff-bd32-9db693d8afbfFri, + 06 Sep 2019 21:57:00 GMTFri, 13 Sep 2019 21:57:00 + GMTAgAAAAMAAAAAAAAAuJ6DAv5k1QE=Fri, + 06 Sep 2019 21:57:00 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:23 GMT - Server: + date: + - Fri, 06 Sep 2019 21:56:59 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 4c16d99c-c003-00bd-3882-49728c000000 x-ms-version: - '2018-03-28' status: @@ -96,37 +88,31 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 89f08634-b575-11e9-80b7-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:24 GMT + - Fri, 06 Sep 2019 21:57:01 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue453d1525/messages?peekonly=true + uri: https://pyacrstorage453d1525.queue.core.windows.net/mytestqueue453d1525/messages?peekonly=true response: body: - string: "\uFEFFe0c0764a-b78d-4ab6-9377-908429552b1bFri, - 02 Aug 2019 09:56:22 GMTFri, 09 Aug 2019 09:56:22 + string: "\uFEFF53d34408-5f4e-4cff-bd32-9db693d8afbfFri, + 06 Sep 2019 21:57:00 GMTFri, 13 Sep 2019 21:57:00 GMT0xyz" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:23 GMT - Server: + date: + - Fri, 06 Sep 2019 21:56:59 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 4c16da05-c003-00bd-1f82-49728c000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_bytes_base64.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_bytes_base64.yaml index 27798beac6f4..df5ce95a39c2 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_bytes_base64.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_bytes_base64.yaml @@ -11,34 +11,30 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8a086bc0-b575-11e9-ace1-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:24 GMT + - Fri, 06 Sep 2019 21:57:23 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueuebdb1127a + uri: https://pyacrstoragebdb1127a.queue.core.windows.net/mytestqueuebdb1127a response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:23 GMT - Server: + date: + - Fri, 06 Sep 2019 21:57:22 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - e6acbda4-3003-0081-5882-49c657000000 x-ms-version: - '2018-03-28' status: - code: 204 - message: No Content + code: 201 + message: Created - request: body: ' @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8a372382-b575-11e9-b77f-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:24 GMT + - Fri, 06 Sep 2019 21:57:24 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/mytestqueuebdb1127a/messages + uri: https://pyacrstoragebdb1127a.queue.core.windows.net/mytestqueuebdb1127a/messages response: body: - string: "\uFEFFec07b531-a4d6-42cb-9957-6c583649863aFri, - 02 Aug 2019 22:33:24 GMTFri, 09 Aug 2019 22:33:24 - GMTAgAAAAMAAAAAAAAAL4nRS4JJ1QE=Fri, - 02 Aug 2019 22:33:24 GMT" + string: "\uFEFF371e5365-d506-4073-9c3e-09190396b2a3Fri, + 06 Sep 2019 21:57:22 GMTFri, 13 Sep 2019 21:57:22 + GMTAgAAAAMAAAAAAAAAI2nsD/5k1QE=Fri, + 06 Sep 2019 21:57:22 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:23 GMT - Server: + date: + - Fri, 06 Sep 2019 21:57:22 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - e6acbdac-3003-0081-5e82-49c657000000 x-ms-version: - '2018-03-28' status: @@ -96,38 +88,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8a428d5c-b575-11e9-aee5-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:24 GMT + - Fri, 06 Sep 2019 21:57:24 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuebdb1127a/messages + uri: https://pyacrstoragebdb1127a.queue.core.windows.net/mytestqueuebdb1127a/messages response: body: - string: "\uFEFFa3b4cbf4-a4c0-43e8-9f61-3fa5e3d24330Fri, - 02 Aug 2019 22:18:52 GMTFri, 09 Aug 2019 22:18:52 - GMTAgAAAAMAAAAAAAAAnQO+XYJJ1QE=Fri, - 02 Aug 2019 22:33:54 GMT1eHl6" + string: "\uFEFF371e5365-d506-4073-9c3e-09190396b2a3Fri, + 06 Sep 2019 21:57:22 GMTFri, 13 Sep 2019 21:57:22 + GMTAgAAAAMAAAAAAAAASUfYIf5k1QE=Fri, + 06 Sep 2019 21:57:52 GMT1eHl6" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:23 GMT - Server: + date: + - Fri, 06 Sep 2019 21:57:22 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - e6acbdb2-3003-0081-6282-49c657000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_base64.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_base64.yaml index 479b141f3986..54f1dd09e9aa 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_base64.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_base64.yaml @@ -11,34 +11,30 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8a7f15ba-b575-11e9-a7df-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:25 GMT + - Fri, 06 Sep 2019 21:58:10 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueueab101218 + uri: https://pyacrstorageab101218.queue.core.windows.net/mytestqueueab101218 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:24 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:08 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - c9250ac0-1003-00b4-2582-496802000000 x-ms-version: - '2018-03-28' status: - code: 204 - message: No Content + code: 201 + message: Created - request: body: ' @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8aabfd12-b575-11e9-a13b-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:25 GMT + - Fri, 06 Sep 2019 21:58:10 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/mytestqueueab101218/messages + uri: https://pyacrstorageab101218.queue.core.windows.net/mytestqueueab101218/messages response: body: - string: "\uFEFF000c762e-0e5d-4373-b2ba-6e83ca568df9Fri, - 02 Aug 2019 22:33:25 GMTFri, 09 Aug 2019 22:33:25 - GMTAgAAAAMAAAAAAAAAAJJHTIJJ1QE=Fri, - 02 Aug 2019 22:33:25 GMT" + string: "\uFEFF98589a86-b6d7-4837-aafa-b490525b02c4Fri, + 06 Sep 2019 21:58:09 GMTFri, 13 Sep 2019 21:58:09 + GMTAgAAAAMAAAAAAAAAHvh0K/5k1QE=Fri, + 06 Sep 2019 21:58:09 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:24 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:08 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - c9250aca-1003-00b4-2a82-496802000000 x-ms-version: - '2018-03-28' status: @@ -96,38 +88,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8ab8a81c-b575-11e9-a1a5-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:25 GMT + - Fri, 06 Sep 2019 21:58:10 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueueab101218/messages + uri: https://pyacrstorageab101218.queue.core.windows.net/mytestqueueab101218/messages response: body: - string: "\uFEFFfb687caf-8240-4c26-b1f5-a18dcf31b3c9Fri, - 02 Aug 2019 22:18:53 GMTFri, 09 Aug 2019 22:18:53 - GMTAgAAAAMAAAAAAAAAIkU1XoJJ1QE=Fri, - 02 Aug 2019 22:33:55 GMT1AQ==" + string: "\uFEFF98589a86-b6d7-4837-aafa-b490525b02c4Fri, + 06 Sep 2019 21:58:09 GMTFri, 13 Sep 2019 21:58:09 + GMTAgAAAAMAAAAAAAAAYsFhPf5k1QE=Fri, + 06 Sep 2019 21:58:39 GMT1AQ==" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:24 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:08 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - c9250ad1-1003-00b4-2e82-496802000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_xml.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_xml.yaml index 6242381fa910..7493f267c953 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_xml.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_xml.yaml @@ -11,34 +11,30 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8ad850e6-b575-11e9-8b57-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:25 GMT + - Fri, 06 Sep 2019 21:57:20 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueue75b91164 + uri: https://pyacrstorage75b91164.queue.core.windows.net/mytestqueue75b91164 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:25 GMT - Server: + date: + - Fri, 06 Sep 2019 21:57:18 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 9a0ef849-1003-0037-4282-49c8af000000 x-ms-version: - '2018-03-28' status: - code: 204 - message: No Content + code: 201 + message: Created - request: body: ' @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8b033b70-b575-11e9-b9f3-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:25 GMT + - Fri, 06 Sep 2019 21:57:20 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/mytestqueue75b91164/messages + uri: https://pyacrstorage75b91164.queue.core.windows.net/mytestqueue75b91164/messages response: body: - string: "\uFEFFe1ed7422-6bbe-4131-a448-3ec923408c75Fri, - 02 Aug 2019 22:33:25 GMTFri, 09 Aug 2019 22:33:25 - GMTAgAAAAMAAAAAAAAA77CdTIJJ1QE=Fri, - 02 Aug 2019 22:33:25 GMT" + string: "\uFEFF4fa22821-4a9c-470e-8f44-df9e57af10e8Fri, + 06 Sep 2019 21:57:19 GMTFri, 13 Sep 2019 21:57:19 + GMTAgAAAAMAAAAAAAAA7DSuDf5k1QE=Fri, + 06 Sep 2019 21:57:19 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:25 GMT - Server: + date: + - Fri, 06 Sep 2019 21:57:18 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 9a0ef851-1003-0037-4882-49c8af000000 x-ms-version: - '2018-03-28' status: @@ -96,38 +88,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8b0ecb18-b575-11e9-b0e6-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:26 GMT + - Fri, 06 Sep 2019 21:57:20 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue75b91164/messages + uri: https://pyacrstorage75b91164.queue.core.windows.net/mytestqueue75b91164/messages response: body: - string: "\uFEFF819c320d-89b1-4e17-8602-03d731ce9202Fri, - 02 Aug 2019 22:18:53 GMTFri, 09 Aug 2019 22:18:53 - GMTAgAAAAMAAAAAAAAAtseKXoJJ1QE=Fri, - 02 Aug 2019 22:33:55 GMT1&lt;message1&gt;" + string: "\uFEFF4fa22821-4a9c-470e-8f44-df9e57af10e8Fri, + 06 Sep 2019 21:57:19 GMTFri, 13 Sep 2019 21:57:19 + GMTAgAAAAMAAAAAAAAA5YiaH/5k1QE=Fri, + 06 Sep 2019 21:57:49 GMT1&lt;message1&gt;" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:25 GMT - Server: + date: + - Fri, 06 Sep 2019 21:57:19 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 9a0ef85e-1003-0037-5582-49c8af000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_xml_invalid_chars.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_xml_invalid_chars.yaml index ce1a7e480b00..1a6694ae1c71 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_xml_invalid_chars.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_xml_invalid_chars.yaml @@ -13,33 +13,29 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8b26d686-b575-11e9-8bd2-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:26 GMT + - Fri, 06 Sep 2019 21:57:43 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/mytestqueue93de171a/messages + uri: https://pyacrstorage93de171a.queue.core.windows.net/mytestqueue93de171a/messages response: body: string: "\uFEFFInvalidXmlDocumentXML - specified is not syntactically valid.\nRequestId:280abd73-2003-00d1-2b82-49d95f000000\nTime:2019-08-02T22:33:27.3078166Z228Error + specified is not syntactically valid.\nRequestId:3fddc82d-6003-0069-43fe-646fda000000\nTime:2019-09-06T21:57:45.5931330Z228Error parsing Xml content" headers: - Content-Length: + content-length: - '327' - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:26 GMT - Server: + date: + - Fri, 06 Sep 2019 21:57:45 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: - InvalidXmlDocument - x-ms-request-id: - - 280abd73-2003-00d1-2b82-49d95f000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_xml_whitespace.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_xml_whitespace.yaml index 3bec62a4ab1a..8eda6196a1de 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_xml_whitespace.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings.test_message_text_xml_whitespace.yaml @@ -11,34 +11,30 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8c29057e-b575-11e9-b235-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:27 GMT + - Fri, 06 Sep 2019 21:56:58 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueue509615f0 + uri: https://pyacrstorage509615f0.queue.core.windows.net/mytestqueue509615f0 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:27 GMT - Server: + date: + - Fri, 06 Sep 2019 21:56:57 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2441bc57-d003-0065-5d82-49d55d000000 x-ms-version: - '2018-03-28' status: - code: 204 - message: No Content + code: 201 + message: Created - request: body: "\n mess\t age1\n" @@ -54,32 +50,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8c58a77a-b575-11e9-947b-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:28 GMT + - Fri, 06 Sep 2019 21:56:59 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/mytestqueue509615f0/messages + uri: https://pyacrstorage509615f0.queue.core.windows.net/mytestqueue509615f0/messages response: body: - string: "\uFEFF97c52f86-3aa4-44ce-80d2-7b35d7c386fcFri, - 02 Aug 2019 22:33:27 GMTFri, 09 Aug 2019 22:33:27 - GMTAgAAAAMAAAAAAAAAMAn0TYJJ1QE=Fri, - 02 Aug 2019 22:33:27 GMT" + string: "\uFEFF7a29686a-f284-427f-abe5-9acfb1fe5560Fri, + 06 Sep 2019 21:56:57 GMTFri, 13 Sep 2019 21:56:57 + GMTAgAAAAMAAAAAAAAArmbwAP5k1QE=Fri, + 06 Sep 2019 21:56:57 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:27 GMT - Server: + date: + - Fri, 06 Sep 2019 21:56:57 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 2441bc67-d003-0065-6882-49d55d000000 x-ms-version: - '2018-03-28' status: @@ -95,39 +87,33 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8c6548ee-b575-11e9-b8ea-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:28 GMT + - Fri, 06 Sep 2019 21:56:59 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue509615f0/messages + uri: https://pyacrstorage509615f0.queue.core.windows.net/mytestqueue509615f0/messages response: body: - string: "\uFEFFe6060383-5362-4bc6-ad7a-553b4de0bd67Fri, - 02 Aug 2019 22:18:55 GMTFri, 09 Aug 2019 22:18:55 - GMTAgAAAAMAAAAAAAAAJhzjX4JJ1QE=Fri, - 02 Aug 2019 22:33:58 GMT1 + string: "\uFEFF7a29686a-f284-427f-abe5-9acfb1fe5560Fri, + 06 Sep 2019 21:56:57 GMTFri, 13 Sep 2019 21:56:57 + GMTAgAAAAMAAAAAAAAA+qjbEv5k1QE=Fri, + 06 Sep 2019 21:57:27 GMT1 \ mess\t age1\n" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:28 GMT - Server: + date: + - Fri, 06 Sep 2019 21:56:57 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 2441bc71-d003-0065-7182-49d55d000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_base64_decode_fails.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_base64_decode_fails.yaml index 4be5420c5e8a..500f66f6f039 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_base64_decode_fails.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_base64_decode_fails.yaml @@ -3,84 +3,22 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0cc8a452-b58b-11e9-887e-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:07:23 GMT + - Fri, 06 Sep 2019 21:57:21 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueued22317a2 + uri: https://pyacrstoraged22317a2.queue.core.windows.net/mytestqueued22317a2 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: eceba370-1003-005a-1897-496281000000 - x-ms-version: '2018-03-28' - status: - code: 204 - message: No Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueued22317a2 - - '' - - '' -- request: - body: ' - - xyz' - headers: - Accept: - - application/xml - Content-Length: - - '98' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 0cec38c0-b58b-11e9-9a50-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:23 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/mytestqueued22317a2/messages - response: - body: - string: "\uFEFF1ae923fd-8f48-4740-8e15-3b7feceeebcdSat, - 03 Aug 2019 01:07:22 GMTSat, 10 Aug 2019 01:07:22 - GMTAgAAAAMAAAAAAAAAfTJ0zpdJ1QE=Sat, - 03 Aug 2019 01:07:22 GMT" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: eceba37a-1003-005a-2097-496281000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:57:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 201 @@ -89,102 +27,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net - - /mytestqueued22317a2/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0cf1b0f4-b58b-11e9-9250-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:23 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueued22317a2/messages?peekonly=true - response: - body: - string: "\uFEFF6afa642d-e57a-45f1-84ed-b86e84935d3fFri, - 02 Aug 2019 09:56:27 GMTFri, 09 Aug 2019 09:56:27 - GMT0xyz" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: eceba381-1003-005a-2797-496281000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueued22317a2/messages - - peekonly=true - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 31e68e50-b58c-11e9-ad91-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:34 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueued22317a2 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:33 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 8731e64d-f003-0097-3d98-4907c9000000 - x-ms-version: '2018-03-28' - status: - code: 204 - message: No Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net + - pyacrstoraged22317a2.queue.core.windows.net - /mytestqueued22317a2 - '' - '' @@ -200,183 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 320e1f10-b58c-11e9-8149-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Sat, 03 Aug 2019 01:15:35 GMT + - Fri, 06 Sep 2019 21:57:21 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/mytestqueued22317a2/messages + uri: https://pyacrstoraged22317a2.queue.core.windows.net/mytestqueued22317a2/messages response: body: - string: "\uFEFF67d7cb1f-4357-4026-93af-e8f13f511a40Sat, - 03 Aug 2019 01:15:34 GMTSat, 10 Aug 2019 01:15:34 - GMTAgAAAAMAAAAAAAAAHwSW85hJ1QE=Sat, - 03 Aug 2019 01:15:34 GMT" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:34 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 8731e65a-f003-0097-4898-4907c9000000 - x-ms-version: '2018-03-28' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueued22317a2/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 321670fa-b58c-11e9-a2b6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:35 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueued22317a2/messages?peekonly=true - response: - body: - string: "\uFEFF6afa642d-e57a-45f1-84ed-b86e84935d3fFri, - 02 Aug 2019 09:56:27 GMTFri, 09 Aug 2019 09:56:27 - GMT0xyz" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:34 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 8731e66b-f003-0097-5798-4907c9000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueued22317a2/messages - - peekonly=true - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 674f3c5a-b58c-11e9-9322-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:04 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueued22317a2 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:03 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 93d423cc-7003-002c-3899-49e63d000000 - x-ms-version: '2018-03-28' - status: - code: 204 - message: No Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueued22317a2 - - '' - - '' -- request: - body: ' - - xyz' - headers: - Accept: - - application/xml - Content-Length: - - '98' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6774be8a-b58c-11e9-80c5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:04 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/mytestqueued22317a2/messages - response: - body: - string: "\uFEFF208e4244-aaa6-4693-aaac-bdbfcc119072Sat, - 03 Aug 2019 01:17:04 GMTSat, 10 Aug 2019 01:17:04 - GMTAgAAAAMAAAAAAAAADZ78KJlJ1QE=Sat, - 03 Aug 2019 01:17:04 GMT" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:03 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 93d423dd-7003-002c-4699-49e63d000000 + string: "\uFEFF11cffb8e-dfd6-4b0a-8b1a-ac84fcfa14f9Fri, + 06 Sep 2019 21:57:20 GMTFri, 13 Sep 2019 21:57:20 + GMTAgAAAAMAAAAAAAAAqWZvDv5k1QE=Fri, + 06 Sep 2019 21:57:20 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -385,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged22317a2.queue.core.windows.net - /mytestqueued22317a2/messages - '' - '' @@ -395,42 +79,26 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 677afb98-b58c-11e9-8255-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:17:04 GMT + - Fri, 06 Sep 2019 21:57:21 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueued22317a2/messages?peekonly=true + uri: https://pyacrstoraged22317a2.queue.core.windows.net/mytestqueued22317a2/messages?peekonly=true response: body: - string: "\uFEFF6afa642d-e57a-45f1-84ed-b86e84935d3fFri, - 02 Aug 2019 09:56:27 GMTFri, 09 Aug 2019 09:56:27 + string: "\uFEFF11cffb8e-dfd6-4b0a-8b1a-ac84fcfa14f9Fri, + 06 Sep 2019 21:57:20 GMTFri, 13 Sep 2019 21:57:20 GMT0xyz" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:03 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 93d423e8-7003-002c-5099-49e63d000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -439,7 +107,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoraged22317a2.queue.core.windows.net - /mytestqueued22317a2/messages - peekonly=true - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_bytes_base64.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_bytes_base64.yaml index ed23cb9fdb3c..060c733b78e7 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_bytes_base64.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_bytes_base64.yaml @@ -3,40 +3,31 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d036e5c-b58b-11e9-a724-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:07:23 GMT + - Fri, 06 Sep 2019 21:57:44 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7 + uri: https://pyacrstorage393b14f7.queue.core.windows.net/mytestqueue393b14f7 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: f9e451d6-d003-0080-2497-49c7aa000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:57:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: - code: 204 - message: No Content + code: 201 + message: Created url: !!python/object/new:yarl.URL state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage393b14f7.queue.core.windows.net - /mytestqueue393b14f7 - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 0d1be8e2-b58b-11e9-8add-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Sat, 03 Aug 2019 01:07:23 GMT + - Fri, 06 Sep 2019 21:57:44 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages + uri: https://pyacrstorage393b14f7.queue.core.windows.net/mytestqueue393b14f7/messages response: body: - string: "\uFEFF0c2e0dbf-4070-4e9b-aafb-ef3d859f0176Sat, - 03 Aug 2019 01:07:23 GMTSat, 10 Aug 2019 01:07:23 - GMTAgAAAAMAAAAAAAAAxiSkzpdJ1QE=Sat, - 03 Aug 2019 01:07:23 GMT" + string: "\uFEFFfb3f8a7e-f800-4768-92ce-c0dd3d524092Fri, + 06 Sep 2019 21:57:43 GMTFri, 13 Sep 2019 21:57:43 + GMTAgAAAAMAAAAAAAAAG+D4G/5k1QE=Fri, + 06 Sep 2019 21:57:43 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: f9e451db-d003-0080-2797-49c7aa000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,2886 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d21f77a-b58b-11e9-b220-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:23 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF77d38dff-56ef-458d-82fd-fb4767632c3aFri, - 02 Aug 2019 09:56:28 GMTFri, 09 Aug 2019 09:56:28 - GMTAgAAAAMAAAAAAAAAH26L4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT14eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e451e3-d003-0080-2f97-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d27c7b8-b58b-11e9-81a6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:23 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF7bc4050d-d325-4da5-91ac-2b4e34565409Fri, - 02 Aug 2019 20:36:23 GMTFri, 09 Aug 2019 20:36:23 - GMTAgAAAAMAAAAAAAAAtYmR4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT13eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e451e6-d003-0080-3297-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d2dd706-b58b-11e9-9107-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:23 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFa575ee72-9351-4549-af66-808b24dfc011Fri, - 02 Aug 2019 22:18:56 GMTFri, 09 Aug 2019 22:18:56 - GMTAgAAAAMAAAAAAAAAa8yX4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT12eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e451eb-d003-0080-3697-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d34078a-b58b-11e9-a6d3-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:23 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF41043f2f-5ced-4a23-b69d-f265d9a5c96fFri, - 02 Aug 2019 22:26:01 GMTFri, 09 Aug 2019 22:26:01 - GMTAgAAAAMAAAAAAAAACOid4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT11eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e451ed-d003-0080-3897-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d3aefa6-b58b-11e9-8b46-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:23 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFd4eacfb7-de16-45df-9c0b-d20e6d82b105Fri, - 02 Aug 2019 22:33:28 GMTFri, 09 Aug 2019 22:33:28 - GMTAgAAAAMAAAAAAAAAWjyl4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT10eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e451f5-d003-0080-3e97-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d419ee4-b58b-11e9-bc88-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:23 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFd7bf74b2-ea18-4023-859a-22492973e1d8Fri, - 02 Aug 2019 23:18:53 GMTFri, 09 Aug 2019 23:18:53 - GMTAgAAAAMAAAAAAAAAEn+r4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT9eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e451f7-d003-0080-4097-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d480670-b58b-11e9-be2a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:23 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFcd8e4401-c9cf-4da5-bbf9-be2477842fd1Fri, - 02 Aug 2019 23:34:28 GMTFri, 09 Aug 2019 23:34:28 - GMTAgAAAAMAAAAAAAAAUayy4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT8eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e451fb-d003-0080-4397-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d4fef30-b58b-11e9-8d4d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:23 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF6840ae32-6204-4495-9931-1f07b30cdad7Fri, - 02 Aug 2019 23:36:27 GMTFri, 09 Aug 2019 23:36:27 - GMTAgAAAAMAAAAAAAAARBK74JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT7eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e451fc-d003-0080-4497-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d575f74-b58b-11e9-8791-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:24 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF048821e1-79cb-4de3-b056-d242103c9faaFri, - 02 Aug 2019 23:38:59 GMTFri, 09 Aug 2019 23:38:59 - GMTAgAAAAMAAAAAAAAAWfHB4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT6eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e45203-d003-0080-4997-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d5e8c64-b58b-11e9-be48-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:24 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF8753cf9a-24ca-4586-93c8-20fd0e3a6d64Fri, - 02 Aug 2019 23:39:18 GMTFri, 09 Aug 2019 23:39:18 - GMTAgAAAAMAAAAAAAAAgPfI4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT6eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e45204-d003-0080-4a97-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d65545a-b58b-11e9-9c87-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:24 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFdc1af1b1-e281-4674-978e-c28ecf7ad314Fri, - 02 Aug 2019 23:40:16 GMTFri, 09 Aug 2019 23:40:16 - GMTAgAAAAMAAAAAAAAABuzO4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT5eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e45207-d003-0080-4c97-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d6aed36-b58b-11e9-8d3d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:24 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF248b5cdb-618b-41f7-aec1-a637338316c2Sat, - 03 Aug 2019 00:07:48 GMTSat, 10 Aug 2019 00:07:48 - GMTAgAAAAMAAAAAAAAAXZLU4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT4eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e4520b-d003-0080-4f97-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d709a5a-b58b-11e9-aee5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:24 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF093c7ff7-9893-4973-bcf8-08b75b430604Sat, - 03 Aug 2019 00:54:35 GMTSat, 10 Aug 2019 00:54:35 - GMTAgAAAAMAAAAAAAAAmRHa4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT3eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e4520d-d003-0080-5197-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d76875c-b58b-11e9-9e64-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:24 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFeee7bc45-2e23-4826-b56d-dff7a5263f37Sat, - 03 Aug 2019 01:06:15 GMTSat, 10 Aug 2019 01:06:15 - GMTAgAAAAMAAAAAAAAAHwbg4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT2eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e45210-d003-0080-5397-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d7ce270-b58b-11e9-8363-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:24 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF0c2e0dbf-4070-4e9b-aafb-ef3d859f0176Sat, - 03 Aug 2019 01:07:23 GMTSat, 10 Aug 2019 01:07:23 - GMTAgAAAAMAAAAAAAAA7m/m4JdJ1QE=Sat, - 03 Aug 2019 01:07:53 GMT1eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:22 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e45213-d003-0080-5697-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0d8299b8-b58b-11e9-b60d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:24 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:23 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: f9e45215-d003-0080-5897-49c7aa000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 32360bd0-b58c-11e9-91cb-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:35 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:34 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 09646d2f-f003-003d-0198-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 204 - message: No Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7 - - '' - - '' -- request: - body: ' - - eHl6' - headers: - Accept: - - application/xml - Content-Length: - - '99' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 324feb9c-b58c-11e9-9a04-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:35 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF1324b006-b2ed-4c72-854a-d7db48b68eacSat, - 03 Aug 2019 01:15:35 GMTSat, 10 Aug 2019 01:15:35 - GMTAgAAAAMAAAAAAAAAGPvX85hJ1QE=Sat, - 03 Aug 2019 01:15:35 GMT" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:34 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 09646d33-f003-003d-0398-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3257ed06-b58c-11e9-a020-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:35 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF77d38dff-56ef-458d-82fd-fb4767632c3aFri, - 02 Aug 2019 09:56:28 GMTFri, 09 Aug 2019 09:56:28 - GMTAgAAAAMAAAAAAAAADQTCBZlJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT15eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:34 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d35-f003-003d-0598-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 325ee598-b58c-11e9-b4ad-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:35 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF7bc4050d-d325-4da5-91ac-2b4e34565409Fri, - 02 Aug 2019 20:36:23 GMTFri, 09 Aug 2019 20:36:23 - GMTAgAAAAMAAAAAAAAAH+PIBZlJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT14eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:34 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d38-f003-003d-0898-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3265be8a-b58c-11e9-9e6c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:35 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFa575ee72-9351-4549-af66-808b24dfc011Fri, - 02 Aug 2019 22:18:56 GMTFri, 09 Aug 2019 22:18:56 - GMTAgAAAAMAAAAAAAAAFZvPBZlJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT13eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:34 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d3f-f003-003d-0d98-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 326cf6be-b58c-11e9-b318-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:35 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF41043f2f-5ced-4a23-b69d-f265d9a5c96fFri, - 02 Aug 2019 22:26:01 GMTFri, 09 Aug 2019 22:26:01 - GMTAgAAAAMAAAAAAAAAI3rWBZlJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT12eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:34 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d42-f003-003d-0f98-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 32738c40-b58c-11e9-9cdc-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:35 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFd4eacfb7-de16-45df-9c0b-d20e6d82b105Fri, - 02 Aug 2019 22:33:28 GMTFri, 09 Aug 2019 22:33:28 - GMTAgAAAAMAAAAAAAAALVndBZlJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT11eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:34 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d46-f003-003d-1398-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 327a1bc6-b58c-11e9-b8ad-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:35 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFd7bf74b2-ea18-4023-859a-22492973e1d8Fri, - 02 Aug 2019 23:18:53 GMTFri, 09 Aug 2019 23:18:53 - GMTAgAAAAMAAAAAAAAAKBHkBZlJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT10eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d4b-f003-003d-1898-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 32816d38-b58c-11e9-b43d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:35 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFcd8e4401-c9cf-4da5-bbf9-be2477842fd1Fri, - 02 Aug 2019 23:34:28 GMTFri, 09 Aug 2019 23:34:28 - GMTAgAAAAMAAAAAAAAAXz7rBZlJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT9eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d4e-f003-003d-1b98-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3288012e-b58c-11e9-a233-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:35 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF6840ae32-6204-4495-9931-1f07b30cdad7Fri, - 02 Aug 2019 23:36:27 GMTFri, 09 Aug 2019 23:36:27 - GMTAgAAAAMAAAAAAAAAWvbxBZlJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT8eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d52-f003-003d-1e98-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 328ee0b6-b58c-11e9-b413-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:35 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF048821e1-79cb-4de3-b056-d242103c9faaFri, - 02 Aug 2019 23:38:59 GMTFri, 09 Aug 2019 23:38:59 - GMTAgAAAAMAAAAAAAAAliP5BZlJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT7eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d58-f003-003d-2398-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3295e67e-b58c-11e9-8381-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:36 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF8753cf9a-24ca-4586-93c8-20fd0e3a6d64Fri, - 02 Aug 2019 23:39:18 GMTFri, 09 Aug 2019 23:39:18 - GMTAgAAAAMAAAAAAAAAiNv/BZlJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT7eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d5e-f003-003d-2898-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 329ca630-b58c-11e9-b343-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:36 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFdc1af1b1-e281-4674-978e-c28ecf7ad314Fri, - 02 Aug 2019 23:40:16 GMTFri, 09 Aug 2019 23:40:16 - GMTAgAAAAMAAAAAAAAAg5MGBplJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT6eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d68-f003-003d-3198-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 32a35f34-b58c-11e9-8c4e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:36 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF248b5cdb-618b-41f7-aec1-a637338316c2Sat, - 03 Aug 2019 00:07:48 GMTSat, 10 Aug 2019 00:07:48 - GMTAgAAAAMAAAAAAAAAjXINBplJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT5eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d6e-f003-003d-3698-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 32aa1798-b58c-11e9-9d85-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:36 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF093c7ff7-9893-4973-bcf8-08b75b430604Sat, - 03 Aug 2019 00:54:35 GMTSat, 10 Aug 2019 00:54:35 - GMTAgAAAAMAAAAAAAAAgyoUBplJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT4eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d7c-f003-003d-3f98-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 32b1599c-b58c-11e9-85cc-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:36 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFeee7bc45-2e23-4826-b56d-dff7a5263f37Sat, - 03 Aug 2019 01:06:15 GMTSat, 10 Aug 2019 01:06:15 - GMTAgAAAAMAAAAAAAAAeuIaBplJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT3eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d84-f003-003d-4598-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 32b7ee14-b58c-11e9-a01c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:36 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF0c2e0dbf-4070-4e9b-aafb-ef3d859f0176Sat, - 03 Aug 2019 01:07:23 GMTSat, 10 Aug 2019 01:07:23 - GMTAgAAAAMAAAAAAAAAn+ghBplJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT2eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d8b-f003-003d-4b98-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 32bf1b62-b58c-11e9-bcbb-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:36 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF1324b006-b2ed-4c72-854a-d7db48b68eacSat, - 03 Aug 2019 01:15:35 GMTSat, 10 Aug 2019 01:15:35 - GMTAgAAAAMAAAAAAAAArccoBplJ1QE=Sat, - 03 Aug 2019 01:16:05 GMT1eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d8e-f003-003d-4e98-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 32c58654-b58c-11e9-98f9-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:36 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 09646d92-f003-003d-5198-49d126000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 679d8c06-b58c-11e9-b19e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:04 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 847832ff-6003-007c-7999-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 204 - message: No Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7 - - '' - - '' -- request: - body: ' - - eHl6' - headers: - Accept: - - application/xml - Content-Length: - - '99' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 67b46794-b58c-11e9-ac61-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF1ecba8c0-d7dd-47fc-b2b3-0aa8a117d862Sat, - 03 Aug 2019 01:17:04 GMTSat, 10 Aug 2019 01:17:04 - GMTAgAAAAMAAAAAAAAA+788KZlJ1QE=Sat, - 03 Aug 2019 01:17:04 GMT" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 84783304-6003-007c-7c99-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 67bb5414-b58c-11e9-9e35-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF77d38dff-56ef-458d-82fd-fb4767632c3aFri, - 02 Aug 2019 09:56:28 GMTFri, 09 Aug 2019 09:56:28 - GMTAgAAAAMAAAAAAAAAxswkO5lJ1QE=Sat, - 03 Aug 2019 01:17:34 GMT16eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 84783307-6003-007c-7f99-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 67c23746-b58c-11e9-80cd-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF7bc4050d-d325-4da5-91ac-2b4e34565409Fri, - 02 Aug 2019 20:36:23 GMTFri, 09 Aug 2019 20:36:23 - GMTAgAAAAMAAAAAAAAABforO5lJ1QE=Sat, - 03 Aug 2019 01:17:34 GMT15eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 8478330b-6003-007c-0399-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 67c8d52c-b58c-11e9-95fd-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFa575ee72-9351-4549-af66-808b24dfc011Fri, - 02 Aug 2019 22:18:56 GMTFri, 09 Aug 2019 22:18:56 - GMTAgAAAAMAAAAAAAAA44oyO5lJ1QE=Sat, - 03 Aug 2019 01:17:34 GMT14eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 84783311-6003-007c-0999-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 67cf5ce2-b58c-11e9-bb67-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF41043f2f-5ced-4a23-b69d-f265d9a5c96fFri, - 02 Aug 2019 22:26:01 GMTFri, 09 Aug 2019 22:26:01 - GMTAgAAAAMAAAAAAAAAyRs5O5lJ1QE=Sat, - 03 Aug 2019 01:17:34 GMT13eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 8478331a-6003-007c-1299-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 67d5ff98-b58c-11e9-83c7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFd4eacfb7-de16-45df-9c0b-d20e6d82b105Fri, - 02 Aug 2019 22:33:28 GMTFri, 09 Aug 2019 22:33:28 - GMTAgAAAAMAAAAAAAAAwtM/O5lJ1QE=Sat, - 03 Aug 2019 01:17:35 GMT12eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 84783322-6003-007c-1999-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 67dd19b4-b58c-11e9-bad2-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFd7bf74b2-ea18-4023-859a-22492973e1d8Fri, - 02 Aug 2019 23:18:53 GMTFri, 09 Aug 2019 23:18:53 - GMTAgAAAAMAAAAAAAAAvItGO5lJ1QE=Sat, - 03 Aug 2019 01:17:35 GMT11eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 84783328-6003-007c-1f99-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 67e4059c-b58c-11e9-b216-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFcd8e4401-c9cf-4da5-bbf9-be2477842fd1Fri, - 02 Aug 2019 23:34:28 GMTFri, 09 Aug 2019 23:34:28 - GMTAgAAAAMAAAAAAAAAsUNNO5lJ1QE=Sat, - 03 Aug 2019 01:17:35 GMT10eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 84783335-6003-007c-2a99-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 67ea9a82-b58c-11e9-80c1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF6840ae32-6204-4495-9931-1f07b30cdad7Fri, - 02 Aug 2019 23:36:27 GMTFri, 09 Aug 2019 23:36:27 - GMTAgAAAAMAAAAAAAAAs/tTO5lJ1QE=Sat, - 03 Aug 2019 01:17:35 GMT9eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 8478333e-6003-007c-3399-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 67f1f736-b58c-11e9-a88f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF048821e1-79cb-4de3-b056-d242103c9faaFri, - 02 Aug 2019 23:38:59 GMTFri, 09 Aug 2019 23:38:59 - GMTAgAAAAMAAAAAAAAAG3dbO5lJ1QE=Sat, - 03 Aug 2019 01:17:35 GMT8eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 84783347-6003-007c-3c99-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 67f8b454-b58c-11e9-ac8f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF8753cf9a-24ca-4586-93c8-20fd0e3a6d64Fri, - 02 Aug 2019 23:39:18 GMTFri, 09 Aug 2019 23:39:18 - GMTAgAAAAMAAAAAAAAAy7lhO5lJ1QE=Sat, - 03 Aug 2019 01:17:35 GMT8eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 84783349-6003-007c-3e99-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 67feaf1c-b58c-11e9-9d23-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFdc1af1b1-e281-4674-978e-c28ecf7ad314Fri, - 02 Aug 2019 23:40:16 GMTFri, 09 Aug 2019 23:40:16 - GMTAgAAAAMAAAAAAAAAxHFoO5lJ1QE=Sat, - 03 Aug 2019 01:17:35 GMT7eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 8478334a-6003-007c-3f99-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 680557f4-b58c-11e9-8e6a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF248b5cdb-618b-41f7-aec1-a637338316c2Sat, - 03 Aug 2019 00:07:48 GMTSat, 10 Aug 2019 00:07:48 - GMTAgAAAAMAAAAAAAAA2VBvO5lJ1QE=Sat, - 03 Aug 2019 01:17:35 GMT6eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 84783352-6003-007c-4799-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 680c412e-b58c-11e9-bfb8-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF093c7ff7-9893-4973-bcf8-08b75b430604Sat, - 03 Aug 2019 00:54:35 GMTSat, 10 Aug 2019 00:54:35 - GMTAgAAAAMAAAAAAAAAAFd2O5lJ1QE=Sat, - 03 Aug 2019 01:17:35 GMT5eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 84783359-6003-007c-4e99-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68141080-b58c-11e9-8769-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFFeee7bc45-2e23-4826-b56d-dff7a5263f37Sat, - 03 Aug 2019 01:06:15 GMTSat, 10 Aug 2019 01:06:15 - GMTAgAAAAMAAAAAAAAAP4R9O5lJ1QE=Sat, - 03 Aug 2019 01:17:35 GMT4eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 84783365-6003-007c-5999-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 681c1846-b58c-11e9-9336-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF0c2e0dbf-4070-4e9b-aafb-ef3d859f0176Sat, - 03 Aug 2019 01:07:23 GMTSat, 10 Aug 2019 01:07:23 - GMTAgAAAAMAAAAAAAAAvyaFO5lJ1QE=Sat, - 03 Aug 2019 01:17:35 GMT3eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 8478336b-6003-007c-5f99-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue393b14f7/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 682228c6-b58c-11e9-bc32-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages - response: - body: - string: "\uFEFF1324b006-b2ed-4c72-854a-d7db48b68eacSat, - 03 Aug 2019 01:15:35 GMTSat, 10 Aug 2019 01:15:35 - GMTAgAAAAMAAAAAAAAARRuLO5lJ1QE=Sat, - 03 Aug 2019 01:17:35 GMT2eHl6" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:04 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 84783376-6003-007c-6999-49f935000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net + - pyacrstorage393b14f7.queue.core.windows.net - /mytestqueue393b14f7/messages - '' - '' @@ -2978,43 +79,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6827d4c2-b58c-11e9-8352-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT + - Fri, 06 Sep 2019 21:57:44 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages + uri: https://pyacrstorage393b14f7.queue.core.windows.net/mytestqueue393b14f7/messages response: body: - string: "\uFEFF1ecba8c0-d7dd-47fc-b2b3-0aa8a117d862Sat, - 03 Aug 2019 01:17:04 GMTSat, 10 Aug 2019 01:17:04 - GMTAgAAAAMAAAAAAAAAhZqQO5lJ1QE=Sat, - 03 Aug 2019 01:17:35 GMT1eHl6" + string: "\uFEFFfb3f8a7e-f800-4768-92ce-c0dd3d524092Fri, + 06 Sep 2019 21:57:43 GMTFri, 13 Sep 2019 21:57:43 + GMTAgAAAAMAAAAAAAAApcneLf5k1QE=Fri, + 06 Sep 2019 21:58:13 GMT1eHl6" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 8478337e-6003-007c-7199-49f935000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -3023,7 +108,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage393b14f7.queue.core.windows.net - /mytestqueue393b14f7/messages - '' - '' @@ -3033,41 +118,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 682d4e7a-b58c-11e9-b738-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:17:05 GMT + - Fri, 06 Sep 2019 21:57:44 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue393b14f7/messages + uri: https://pyacrstorage393b14f7.queue.core.windows.net/mytestqueue393b14f7/messages response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:05 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 84783387-6003-007c-7a99-49f935000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -3076,7 +145,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage393b14f7.queue.core.windows.net - /mytestqueue393b14f7/messages - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_base64.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_base64.yaml index 634cf999e92e..b98a05efdb07 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_base64.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_base64.yaml @@ -3,40 +3,31 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0dbbaa88-b58b-11e9-80a7-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:07:24 GMT + - Fri, 06 Sep 2019 21:57:25 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495 + uri: https://pyacrstorage241d1495.queue.core.windows.net/mytestqueue241d1495 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:23 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 94256eeb-5003-0030-5c97-493e2a000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:57:23 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: - code: 204 - message: No Content + code: 201 + message: Created url: !!python/object/new:yarl.URL state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage241d1495.queue.core.windows.net - /mytestqueue241d1495 - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 0dd1bc8c-b58b-11e9-ac3e-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Sat, 03 Aug 2019 01:07:24 GMT + - Fri, 06 Sep 2019 21:57:25 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages + uri: https://pyacrstorage241d1495.queue.core.windows.net/mytestqueue241d1495/messages response: body: - string: "\uFEFF925d33a2-2762-4d8b-962b-88eb4e2825feSat, - 03 Aug 2019 01:07:24 GMTSat, 10 Aug 2019 01:07:24 - GMTAgAAAAMAAAAAAAAAJbNZz5dJ1QE=Sat, - 03 Aug 2019 01:07:24 GMT" + string: "\uFEFFf2f639e5-f23d-419f-93e4-22b98ecfa6daFri, + 06 Sep 2019 21:57:24 GMTFri, 13 Sep 2019 21:57:24 + GMTAgAAAAMAAAAAAAAA5ZWVEP5k1QE=Fri, + 06 Sep 2019 21:57:24 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:23 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 94256eef-5003-0030-5e97-493e2a000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:23 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,2886 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0dd79488-b58b-11e9-a47e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:24 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF48556a22-608f-48be-b968-2eecc80244f5Fri, - 02 Aug 2019 09:56:28 GMTFri, 09 Aug 2019 09:56:28 - GMTAgAAAAMAAAAAAAAAp0pB4ZdJ1QE=Sat, - 03 Aug 2019 01:07:54 GMT14AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:23 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256ef1-5003-0030-6097-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0dde71ae-b58b-11e9-920a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:24 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF88785469-1fea-4779-9025-c7a489a06eb3Fri, - 02 Aug 2019 20:36:24 GMTFri, 09 Aug 2019 20:36:24 - GMTAgAAAAMAAAAAAAAA/Z5I4ZdJ1QE=Sat, - 03 Aug 2019 01:07:54 GMT13AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:23 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256ef5-5003-0030-6297-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0de52a76-b58b-11e9-9555-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:24 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFc752a1b6-1001-4060-865c-053adfa9a361Fri, - 02 Aug 2019 22:18:57 GMTFri, 09 Aug 2019 22:18:57 - GMTAgAAAAMAAAAAAAAA+lZP4ZdJ1QE=Sat, - 03 Aug 2019 01:07:54 GMT12AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:23 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256ef9-5003-0030-6597-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0debbfa8-b58b-11e9-8ece-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF8baec08d-8f62-4ddb-a7b5-03dc787356caFri, - 02 Aug 2019 22:26:02 GMTFri, 09 Aug 2019 22:26:02 - GMTAgAAAAMAAAAAAAAAwcBV4ZdJ1QE=Sat, - 03 Aug 2019 01:07:54 GMT11AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:23 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256efa-5003-0030-6697-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0df1f7fa-b58b-11e9-a0a0-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF4d85f209-f6fc-456d-a6a1-f78ecc08e70eFri, - 02 Aug 2019 22:33:29 GMTFri, 09 Aug 2019 22:33:29 - GMTAgAAAAMAAAAAAAAAMI5b4ZdJ1QE=Sat, - 03 Aug 2019 01:07:54 GMT10AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:23 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256efe-5003-0030-6997-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0df779d2-b58b-11e9-80db-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFce23b1fd-ef6d-4bdb-8bfb-8ee7507d915aFri, - 02 Aug 2019 23:18:53 GMTFri, 09 Aug 2019 23:18:53 - GMTAgAAAAMAAAAAAAAAnlth4ZdJ1QE=Sat, - 03 Aug 2019 01:07:54 GMT9AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:23 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256f01-5003-0030-6b97-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0dfd689e-b58b-11e9-85eb-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF227a04c5-c476-4442-8ab6-045d95acc30aFri, - 02 Aug 2019 23:34:29 GMTFri, 09 Aug 2019 23:34:29 - GMTAgAAAAMAAAAAAAAA+gFn4ZdJ1QE=Sat, - 03 Aug 2019 01:07:54 GMT8AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:23 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256f04-5003-0030-6e97-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e02deae-b58b-11e9-b8b1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFd0bd8d9a-3aa0-49a2-a352-9bcf29e9f3e7Fri, - 02 Aug 2019 23:36:28 GMTFri, 09 Aug 2019 23:36:28 - GMTAgAAAAMAAAAAAAAAUahs4ZdJ1QE=Sat, - 03 Aug 2019 01:07:54 GMT7AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:23 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256f05-5003-0030-6f97-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e08cf18-b58b-11e9-ad06-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF4dca625d-cffd-41b5-add8-a97ed03aa2b5Fri, - 02 Aug 2019 23:39:00 GMTFri, 09 Aug 2019 23:39:00 - GMTAgAAAAMAAAAAAAAApU5y4ZdJ1QE=Sat, - 03 Aug 2019 01:07:54 GMT6AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:23 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256f09-5003-0030-7297-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e0e6418-b58b-11e9-8c8f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF8f425bbb-73a1-4c94-82d0-5922c0b72bf0Fri, - 02 Aug 2019 23:39:19 GMTFri, 09 Aug 2019 23:39:19 - GMTAgAAAAMAAAAAAAAAAPV34ZdJ1QE=Sat, - 03 Aug 2019 01:07:54 GMT6AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:23 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256f0a-5003-0030-7397-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e141dbe-b58b-11e9-ac82-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFd7dd3aed-92da-4e45-a5ec-36dcd9ff4b49Fri, - 02 Aug 2019 23:40:17 GMTFri, 09 Aug 2019 23:40:17 - GMTAgAAAAMAAAAAAAAAa8J94ZdJ1QE=Sat, - 03 Aug 2019 01:07:54 GMT5AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:24 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256f0f-5003-0030-7697-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e19cba6-b58b-11e9-a2b8-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFc531e8a9-d198-41c2-90c0-12eb595a6a6dSat, - 03 Aug 2019 00:07:50 GMTSat, 10 Aug 2019 00:07:50 - GMTAgAAAAMAAAAAAAAAr0GD4ZdJ1QE=Sat, - 03 Aug 2019 01:07:54 GMT4AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:24 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256f11-5003-0030-7897-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e1f534c-b58b-11e9-966a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFf524c795-40f6-4977-b8ac-caa3c310a0f4Sat, - 03 Aug 2019 00:54:36 GMTSat, 10 Aug 2019 00:54:36 - GMTAgAAAAMAAAAAAAAA8MCI4ZdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT3AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:24 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256f12-5003-0030-7997-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e2546e8-b58b-11e9-97a4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF86959a57-71fe-4899-ad2b-a932676e1e30Sat, - 03 Aug 2019 01:06:17 GMTSat, 10 Aug 2019 01:06:17 - GMTAgAAAAMAAAAAAAAAiNyO4ZdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT2AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:24 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256f17-5003-0030-7c97-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e2af246-b58b-11e9-96f3-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF925d33a2-2762-4d8b-962b-88eb4e2825feSat, - 03 Aug 2019 01:07:24 GMTSat, 10 Aug 2019 01:07:24 - GMTAgAAAAMAAAAAAAAAhpSV4ZdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT1AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:24 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256f19-5003-0030-7d97-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e3224a6-b58b-11e9-b54c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:24 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 94256f1a-5003-0030-7e97-493e2a000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 330b960c-b58c-11e9-9613-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:36 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: cae9c62e-4003-0085-5f98-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 204 - message: No Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495 - - '' - - '' -- request: - body: ' - - AQ==' - headers: - Accept: - - application/xml - Content-Length: - - '99' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 3322eef6-b58c-11e9-8585-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:36 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFb4a2d425-73da-4913-9ff4-8f104c623bf3Sat, - 03 Aug 2019 01:15:36 GMTSat, 10 Aug 2019 01:15:36 - GMTAgAAAAMAAAAAAAAAzyir9JhJ1QE=Sat, - 03 Aug 2019 01:15:36 GMT" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: cae9c634-4003-0085-6298-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3329e94c-b58c-11e9-a5ea-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:36 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF48556a22-608f-48be-b968-2eecc80244f5Fri, - 02 Aug 2019 09:56:28 GMTFri, 09 Aug 2019 09:56:28 - GMTAgAAAAMAAAAAAAAA9tGTBplJ1QE=Sat, - 03 Aug 2019 01:16:06 GMT15AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c638-4003-0085-6598-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 333123fa-b58c-11e9-8ef5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF88785469-1fea-4779-9025-c7a489a06eb3Fri, - 02 Aug 2019 20:36:24 GMTFri, 09 Aug 2019 20:36:24 - GMTAgAAAAMAAAAAAAAA8ImaBplJ1QE=Sat, - 03 Aug 2019 01:16:06 GMT14AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c639-4003-0085-6698-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3337f702-b58c-11e9-98d0-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFc752a1b6-1001-4060-865c-053adfa9a361Fri, - 02 Aug 2019 22:18:57 GMTFri, 09 Aug 2019 22:18:57 - GMTAgAAAAMAAAAAAAAAM7ehBplJ1QE=Sat, - 03 Aug 2019 01:16:06 GMT13AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c63b-4003-0085-6898-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 333f42e6-b58c-11e9-b587-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF8baec08d-8f62-4ddb-a7b5-03dc787356caFri, - 02 Aug 2019 22:26:02 GMTFri, 09 Aug 2019 22:26:02 - GMTAgAAAAMAAAAAAAAAP5aoBplJ1QE=Sat, - 03 Aug 2019 01:16:06 GMT12AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c63c-4003-0085-6998-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3345b0ac-b58c-11e9-ba2f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF4d85f209-f6fc-456d-a6a1-f78ecc08e70eFri, - 02 Aug 2019 22:33:29 GMTFri, 09 Aug 2019 22:33:29 - GMTAgAAAAMAAAAAAAAAa5yvBplJ1QE=Sat, - 03 Aug 2019 01:16:06 GMT11AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c641-4003-0085-6d98-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 334c911e-b58c-11e9-9a0a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFce23b1fd-ef6d-4bdb-8bfb-8ee7507d915aFri, - 02 Aug 2019 23:18:53 GMTFri, 09 Aug 2019 23:18:53 - GMTAgAAAAMAAAAAAAAAf3u2BplJ1QE=Sat, - 03 Aug 2019 01:16:06 GMT10AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:35 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c64d-4003-0085-7598-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 33535bde-b58c-11e9-8538-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF227a04c5-c476-4442-8ab6-045d95acc30aFri, - 02 Aug 2019 23:34:29 GMTFri, 09 Aug 2019 23:34:29 - GMTAgAAAAMAAAAAAAAAdDO9BplJ1QE=Sat, - 03 Aug 2019 01:16:06 GMT9AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:36 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c658-4003-0085-7b98-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 335a8e52-b58c-11e9-91c5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFd0bd8d9a-3aa0-49a2-a352-9bcf29e9f3e7Fri, - 02 Aug 2019 23:36:28 GMTFri, 09 Aug 2019 23:36:28 - GMTAgAAAAMAAAAAAAAAs2DEBplJ1QE=Sat, - 03 Aug 2019 01:16:06 GMT8AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:36 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c663-4003-0085-0298-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3361cca4-b58c-11e9-b4da-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF4dca625d-cffd-41b5-add8-a97ed03aa2b5Fri, - 02 Aug 2019 23:39:00 GMTFri, 09 Aug 2019 23:39:00 - GMTAgAAAAMAAAAAAAAA8o3LBplJ1QE=Sat, - 03 Aug 2019 01:16:07 GMT7AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:36 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c66f-4003-0085-0a98-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3368d054-b58c-11e9-ab48-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF8f425bbb-73a1-4c94-82d0-5922c0b72bf0Fri, - 02 Aug 2019 23:39:19 GMTFri, 09 Aug 2019 23:39:19 - GMTAgAAAAMAAAAAAAAAFZTSBplJ1QE=Sat, - 03 Aug 2019 01:16:07 GMT7AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:36 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c675-4003-0085-0e98-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 336f7d5c-b58c-11e9-b36a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFd7dd3aed-92da-4e45-a5ec-36dcd9ff4b49Fri, - 02 Aug 2019 23:40:17 GMTFri, 09 Aug 2019 23:40:17 - GMTAgAAAAMAAAAAAAAAEkzZBplJ1QE=Sat, - 03 Aug 2019 01:16:07 GMT6AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:36 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c67b-4003-0085-1198-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3376b1c6-b58c-11e9-bae9-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFc531e8a9-d198-41c2-90c0-12eb595a6a6dSat, - 03 Aug 2019 00:07:50 GMTSat, 10 Aug 2019 00:07:50 - GMTAgAAAAMAAAAAAAAAHyvgBplJ1QE=Sat, - 03 Aug 2019 01:16:07 GMT5AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:36 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c683-4003-0085-1798-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 337ea376-b58c-11e9-af8d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFf524c795-40f6-4977-b8ac-caa3c310a0f4Sat, - 03 Aug 2019 00:54:36 GMTSat, 10 Aug 2019 00:54:36 - GMTAgAAAAMAAAAAAAAAMrjoBplJ1QE=Sat, - 03 Aug 2019 01:16:07 GMT4AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:36 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c68d-4003-0085-1e98-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 338587e4-b58c-11e9-b6a2-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF86959a57-71fe-4899-ad2b-a932676e1e30Sat, - 03 Aug 2019 01:06:17 GMTSat, 10 Aug 2019 01:06:17 - GMTAgAAAAMAAAAAAAAAFEnvBplJ1QE=Sat, - 03 Aug 2019 01:16:07 GMT3AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:36 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c697-4003-0085-2498-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 338c6430-b58c-11e9-baab-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF925d33a2-2762-4d8b-962b-88eb4e2825feSat, - 03 Aug 2019 01:07:24 GMTSat, 10 Aug 2019 01:07:24 - GMTAgAAAAMAAAAAAAAADQH2BplJ1QE=Sat, - 03 Aug 2019 01:16:07 GMT2AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:36 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c69a-4003-0085-2798-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 339324ca-b58c-11e9-b886-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFb4a2d425-73da-4913-9ff4-8f104c623bf3Sat, - 03 Aug 2019 01:15:36 GMTSat, 10 Aug 2019 01:15:36 - GMTAgAAAAMAAAAAAAAAMAf9BplJ1QE=Sat, - 03 Aug 2019 01:16:07 GMT1AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:36 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c6a0-4003-0085-2a98-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3399bffa-b58c-11e9-8e30-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:36 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: cae9c6a4-4003-0085-2e98-4933d5000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68730a52-b58c-11e9-a1c5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:06 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 242a8b9c-2003-001d-1799-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 204 - message: No Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495 - - '' - - '' -- request: - body: ' - - AQ==' - headers: - Accept: - - application/xml - Content-Length: - - '99' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 688a743e-b58c-11e9-a9b4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:06 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFe1cb0baa-1c80-4288-a97b-ddbafa697d00Sat, - 03 Aug 2019 01:17:06 GMTSat, 10 Aug 2019 01:17:06 - GMTAgAAAAMAAAAAAAAAT18SKplJ1QE=Sat, - 03 Aug 2019 01:17:06 GMT" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 242a8ba0-2003-001d-1999-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68910e8a-b58c-11e9-94b4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:06 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF48556a22-608f-48be-b968-2eecc80244f5Fri, - 02 Aug 2019 09:56:28 GMTFri, 09 Aug 2019 09:56:28 - GMTAgAAAAMAAAAAAAAAE2z6O5lJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT16AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8ba1-2003-001d-1a99-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68979642-b58c-11e9-b3a3-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:06 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF88785469-1fea-4779-9025-c7a489a06eb3Fri, - 02 Aug 2019 20:36:24 GMTFri, 09 Aug 2019 20:36:24 - GMTAgAAAAMAAAAAAAAAsDUCPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT15AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8ba6-2003-001d-1d99-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 689f3764-b58c-11e9-ba81-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:06 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFc752a1b6-1001-4060-865c-053adfa9a361Fri, - 02 Aug 2019 22:18:57 GMTFri, 09 Aug 2019 22:18:57 - GMTAgAAAAMAAAAAAAAA7GIJPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT14AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8ba8-2003-001d-1f99-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68a62c52-b58c-11e9-9a5f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:06 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF8baec08d-8f62-4ddb-a7b5-03dc787356caFri, - 02 Aug 2019 22:26:02 GMTFri, 09 Aug 2019 22:26:02 - GMTAgAAAAMAAAAAAAAAin4PPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT13AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bab-2003-001d-2299-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68acd010-b58c-11e9-b339-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:06 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF4d85f209-f6fc-456d-a6a1-f78ecc08e70eFri, - 02 Aug 2019 22:33:29 GMTFri, 09 Aug 2019 22:33:29 - GMTAgAAAAMAAAAAAAAAlF0WPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT12AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bad-2003-001d-2499-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68b3b650-b58c-11e9-8198-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:06 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFce23b1fd-ef6d-4bdb-8bfb-8ee7507d915aFri, - 02 Aug 2019 23:18:53 GMTFri, 09 Aug 2019 23:18:53 - GMTAgAAAAMAAAAAAAAAhhUdPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT11AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bb2-2003-001d-2699-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68ba772e-b58c-11e9-b60d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:06 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF227a04c5-c476-4442-8ab6-045d95acc30aFri, - 02 Aug 2019 23:34:29 GMTFri, 09 Aug 2019 23:34:29 - GMTAgAAAAMAAAAAAAAA3WkkPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT10AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bb8-2003-001d-2b99-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68c1d0d2-b58c-11e9-9142-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:06 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFd0bd8d9a-3aa0-49a2-a352-9bcf29e9f3e7Fri, - 02 Aug 2019 23:36:28 GMTFri, 09 Aug 2019 23:36:28 - GMTAgAAAAMAAAAAAAAA60grPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT9AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bbc-2003-001d-2e99-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68c82378-b58c-11e9-9279-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:06 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF4dca625d-cffd-41b5-add8-a97ed03aa2b5Fri, - 02 Aug 2019 23:39:00 GMTFri, 09 Aug 2019 23:39:00 - GMTAgAAAAMAAAAAAAAA9CcyPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT8AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bc1-2003-001d-3199-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68cefe38-b58c-11e9-bf6c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:06 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF8f425bbb-73a1-4c94-82d0-5922c0b72bf0Fri, - 02 Aug 2019 23:39:19 GMTFri, 09 Aug 2019 23:39:19 - GMTAgAAAAMAAAAAAAAAGS45PJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT8AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bc3-2003-001d-3299-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68d65dd2-b58c-11e9-89d7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFd7dd3aed-92da-4e45-a5ec-36dcd9ff4b49Fri, - 02 Aug 2019 23:40:17 GMTFri, 09 Aug 2019 23:40:17 - GMTAgAAAAMAAAAAAAAAJw1APJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT7AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bc4-2003-001d-3399-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68dcf568-b58c-11e9-839e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFc531e8a9-d198-41c2-90c0-12eb595a6a6dSat, - 03 Aug 2019 00:07:50 GMTSat, 10 Aug 2019 00:07:50 - GMTAgAAAAMAAAAAAAAAIsVGPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT6AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bc6-2003-001d-3599-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68e3f098-b58c-11e9-b674-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFf524c795-40f6-4977-b8ac-caa3c310a0f4Sat, - 03 Aug 2019 00:54:36 GMTSat, 10 Aug 2019 00:54:36 - GMTAgAAAAMAAAAAAAAAR8tNPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT5AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bca-2003-001d-3899-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68ecaf76-b58c-11e9-a8c2-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF86959a57-71fe-4899-ad2b-a932676e1e30Sat, - 03 Aug 2019 01:06:17 GMTSat, 10 Aug 2019 01:06:17 - GMTAgAAAAMAAAAAAAAAaX9WPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT4AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bcc-2003-001d-3a99-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68f3e490-b58c-11e9-bf2f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFF925d33a2-2762-4d8b-962b-88eb4e2825feSat, - 03 Aug 2019 01:07:24 GMTSat, 10 Aug 2019 01:07:24 - GMTAgAAAAMAAAAAAAAAioVdPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT3AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bce-2003-001d-3c99-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue241d1495/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 68fabf26-b58c-11e9-993e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages - response: - body: - string: "\uFEFFb4a2d425-73da-4913-9ff4-8f104c623bf3Sat, - 03 Aug 2019 01:15:36 GMTSat, 10 Aug 2019 01:15:36 - GMTAgAAAAMAAAAAAAAAhT1kPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT2AQ==" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bd2-2003-001d-3f99-49bdea000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net + - pyacrstorage241d1495.queue.core.windows.net - /mytestqueue241d1495/messages - '' - '' @@ -2978,43 +79,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 69011318-b58c-11e9-a24d-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT + - Fri, 06 Sep 2019 21:57:25 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages + uri: https://pyacrstorage241d1495.queue.core.windows.net/mytestqueue241d1495/messages response: body: - string: "\uFEFFe1cb0baa-1c80-4288-a97b-ddbafa697d00Sat, - 03 Aug 2019 01:17:06 GMTSat, 10 Aug 2019 01:17:06 - GMTAgAAAAMAAAAAAAAAjhxrPJlJ1QE=Sat, - 03 Aug 2019 01:17:36 GMT1AQ==" + string: "\uFEFFf2f639e5-f23d-419f-93e4-22b98ecfa6daFri, + 06 Sep 2019 21:57:24 GMTFri, 13 Sep 2019 21:57:24 + GMTAgAAAAMAAAAAAAAAaX97Iv5k1QE=Fri, + 06 Sep 2019 21:57:54 GMT1AQ==" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bd5-2003-001d-4299-49bdea000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:23 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -3023,7 +108,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage241d1495.queue.core.windows.net - /mytestqueue241d1495/messages - '' - '' @@ -3033,41 +118,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 690865a4-b58c-11e9-83e4-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT + - Fri, 06 Sep 2019 21:57:25 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueue241d1495/messages + uri: https://pyacrstorage241d1495.queue.core.windows.net/mytestqueue241d1495/messages response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 242a8bd6-2003-001d-4399-49bdea000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:23 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -3076,7 +145,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage241d1495.queue.core.windows.net - /mytestqueue241d1495/messages - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_xml.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_xml.yaml index 6421cc15c308..0e6710736ad0 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_xml.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_xml.yaml @@ -3,40 +3,31 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e5995c0-b58b-11e9-8b80-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT + - Fri, 06 Sep 2019 21:57:15 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1 + uri: https://pyacrstoragee74013e1.queue.core.windows.net/mytestqueuee74013e1 response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 5f52d844-4003-0049-0797-495760000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:57:13 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: - code: 204 - message: No Content + code: 201 + message: Created url: !!python/object/new:yarl.URL state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee74013e1.queue.core.windows.net - /mytestqueuee74013e1 - '' - '' @@ -52,35 +43,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 0e70a824-b58b-11e9-89da-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT + - Fri, 06 Sep 2019 21:57:15 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages + uri: https://pyacrstoragee74013e1.queue.core.windows.net/mytestqueuee74013e1/messages response: body: - string: "\uFEFFe919de0c-11e1-4872-b07e-67ff03d1fbf7Sat, - 03 Aug 2019 01:07:25 GMTSat, 10 Aug 2019 01:07:25 - GMTAgAAAAMAAAAAAAAAPc/4z5dJ1QE=Sat, - 03 Aug 2019 01:07:25 GMT" + string: "\uFEFFac402f2f-0fa7-4a34-93dc-1bb4e8b0829fFri, + 06 Sep 2019 21:57:14 GMTFri, 13 Sep 2019 21:57:14 + GMTAgAAAAMAAAAAAAAAObDfCv5k1QE=Fri, + 06 Sep 2019 21:57:14 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 5f52d84e-4003-0049-0f97-495760000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:13 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -89,2886 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e76480a-b58b-11e9-8080-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFfad04305-92f1-45fe-b06b-8a3db6b1ab81Fri, - 02 Aug 2019 09:56:29 GMTFri, 09 Aug 2019 09:56:29 - GMTAgAAAAMAAAAAAAAAasrf4ZdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT14&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d84f-4003-0049-1097-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e7bab22-b58b-11e9-9681-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFf5b4582a-6b85-48b6-8b20-bfdd4e4f2748Fri, - 02 Aug 2019 20:36:24 GMTFri, 09 Aug 2019 20:36:24 - GMTAgAAAAMAAAAAAAAAwnDl4ZdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT13&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d853-4003-0049-1497-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e81cca6-b58b-11e9-8632-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:25 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF1c8e3e30-bb19-4910-bc89-faa99143ba43Fri, - 02 Aug 2019 22:18:57 GMTFri, 09 Aug 2019 22:18:57 - GMTAgAAAAMAAAAAAAAAXozr4ZdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT12&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d856-4003-0049-1797-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e8767f6-b58b-11e9-863d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFdec41aef-c609-4bb1-891d-af0416fd19e5Fri, - 02 Aug 2019 22:26:03 GMTFri, 09 Aug 2019 22:26:03 - GMTAgAAAAMAAAAAAAAAiOTw4ZdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT11&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d85f-4003-0049-1e97-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e8cf992-b58b-11e9-9cf5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF74ea12d7-b633-4693-83f3-2d4bfb4c737aFri, - 02 Aug 2019 22:33:30 GMTFri, 09 Aug 2019 22:33:30 - GMTAgAAAAMAAAAAAAAA24r24ZdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT10&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d863-4003-0049-2297-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e9279ec-b58b-11e9-8183-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF4ef2a79f-48ea-427e-8089-a98a85763906Fri, - 02 Aug 2019 23:18:54 GMTFri, 09 Aug 2019 23:18:54 - GMTAgAAAAMAAAAAAAAAMjH84ZdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT9&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d867-4003-0049-2697-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e989a7a-b58b-11e9-bf9c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF1a721d83-7cdb-4c5b-9896-7a03c801a046Fri, - 02 Aug 2019 23:34:30 GMTFri, 09 Aug 2019 23:34:30 - GMTAgAAAAMAAAAAAAAAuCUC4pdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT8&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d86f-4003-0049-2d97-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0e9e16be-b58b-11e9-bc3e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFa7a8d208-0197-40b3-9b59-f38c58e97aa3Fri, - 02 Aug 2019 23:36:29 GMTFri, 09 Aug 2019 23:36:29 - GMTAgAAAAMAAAAAAAAAD8wH4pdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT7&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d874-4003-0049-3297-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0ea3eb98-b58b-11e9-b9a1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF5955b041-a72e-448e-b6ca-dd7f334fd310Fri, - 02 Aug 2019 23:39:02 GMTFri, 09 Aug 2019 23:39:02 - GMTAgAAAAMAAAAAAAAAlcAN4pdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT6&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d87b-4003-0049-3897-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0ea9f2ba-b58b-11e9-8cdf-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFcb20f9a1-0da0-4e4c-b47c-72bc397d6628Fri, - 02 Aug 2019 23:39:19 GMTFri, 09 Aug 2019 23:39:19 - GMTAgAAAAMAAAAAAAAAG7UT4pdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT6&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d880-4003-0049-3c97-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0eafceda-b58b-11e9-8e34-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFc0f3a208-aa87-48e3-99cf-4359552b7f0bFri, - 02 Aug 2019 23:40:18 GMTFri, 09 Aug 2019 23:40:18 - GMTAgAAAAMAAAAAAAAAd1sZ4pdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT5&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d88b-4003-0049-4797-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0eb56bca-b58b-11e9-b54a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF6ad86f41-a72b-4fcd-9ed3-44ec8ac3823aSat, - 03 Aug 2019 00:07:51 GMTSat, 10 Aug 2019 00:07:51 - GMTAgAAAAMAAAAAAAAAygEf4pdJ1QE=Sat, - 03 Aug 2019 01:07:55 GMT4&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d894-4003-0049-4f97-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0ebb6866-b58b-11e9-b178-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF788a5a9d-a11c-41f7-9b09-8dec71053d86Sat, - 03 Aug 2019 00:54:38 GMTSat, 10 Aug 2019 00:54:38 - GMTAgAAAAMAAAAAAAAAax0l4pdJ1QE=Sat, - 03 Aug 2019 01:07:56 GMT3&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d89a-4003-0049-5397-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0ec14b78-b58b-11e9-b379-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF0c645118-8845-415a-ab21-7d5115d5d64aSat, - 03 Aug 2019 01:06:18 GMTSat, 10 Aug 2019 01:06:18 - GMTAgAAAAMAAAAAAAAA2eoq4pdJ1QE=Sat, - 03 Aug 2019 01:07:56 GMT2&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d8a5-4003-0049-5d97-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0ec6e774-b58b-11e9-8cef-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFe919de0c-11e1-4872-b07e-67ff03d1fbf7Sat, - 03 Aug 2019 01:07:25 GMTSat, 10 Aug 2019 01:07:25 - GMTAgAAAAMAAAAAAAAAFmow4pdJ1QE=Sat, - 03 Aug 2019 01:07:56 GMT1&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d8b5-4003-0049-6c97-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0ecc6d48-b58b-11e9-8234-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 5f52d8bc-4003-0049-7297-495760000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 33be90d4-b58c-11e9-98e4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:37 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 0fe41ce6-d003-0021-6698-490931000000 - x-ms-version: '2018-03-28' - status: - code: 204 - message: No Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1 - - '' - - '' -- request: - body: ' - - &lt;message1&gt;' - headers: - Accept: - - application/xml - Content-Length: - - '119' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 33d8ad3a-b58c-11e9-aeb4-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF8cad30fe-56eb-4504-824c-cdf87ae4f666Sat, - 03 Aug 2019 01:15:37 GMTSat, 10 Aug 2019 01:15:37 - GMTAgAAAAMAAAAAAAAAHpBg9ZhJ1QE=Sat, - 03 Aug 2019 01:15:37 GMT" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 0fe41ce9-d003-0021-6798-490931000000 - x-ms-version: '2018-03-28' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 33df1d42-b58c-11e9-be79-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFfad04305-92f1-45fe-b06b-8a3db6b1ab81Fri, - 02 Aug 2019 09:56:29 GMTFri, 09 Aug 2019 09:56:29 - GMTAgAAAAMAAAAAAAAAE+tIB5lJ1QE=Sat, - 03 Aug 2019 01:16:07 GMT15&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41cee-d003-0021-6c98-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 33e5b998-b58c-11e9-8ec0-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFf5b4582a-6b85-48b6-8b20-bfdd4e4f2748Fri, - 02 Aug 2019 20:36:24 GMTFri, 09 Aug 2019 20:36:24 - GMTAgAAAAMAAAAAAAAAEaNPB5lJ1QE=Sat, - 03 Aug 2019 01:16:07 GMT14&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41cef-d003-0021-6d98-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 33ee04d8-b58c-11e9-8f1b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF1c8e3e30-bb19-4910-bc89-faa99143ba43Fri, - 02 Aug 2019 22:18:57 GMTFri, 09 Aug 2019 22:18:57 - GMTAgAAAAMAAAAAAAAA8eFXB5lJ1QE=Sat, - 03 Aug 2019 01:16:07 GMT13&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41cf4-d003-0021-7298-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 33f4d18a-b58c-11e9-8ec8-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFdec41aef-c609-4bb1-891d-af0416fd19e5Fri, - 02 Aug 2019 22:26:03 GMTFri, 09 Aug 2019 22:26:03 - GMTAgAAAAMAAAAAAAAA65leB5lJ1QE=Sat, - 03 Aug 2019 01:16:07 GMT12&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41cf7-d003-0021-7498-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 33fbe780-b58c-11e9-a340-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF74ea12d7-b633-4693-83f3-2d4bfb4c737aFri, - 02 Aug 2019 22:33:30 GMTFri, 09 Aug 2019 22:33:30 - GMTAgAAAAMAAAAAAAAA5FFlB5lJ1QE=Sat, - 03 Aug 2019 01:16:08 GMT11&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41cf9-d003-0021-7698-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3402c340-b58c-11e9-aa4f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF4ef2a79f-48ea-427e-8089-a98a85763906Fri, - 02 Aug 2019 23:18:54 GMTFri, 09 Aug 2019 23:18:54 - GMTAgAAAAMAAAAAAAAA9DBsB5lJ1QE=Sat, - 03 Aug 2019 01:16:08 GMT10&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41cff-d003-0021-7c98-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34093afe-b58c-11e9-82e8-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF1a721d83-7cdb-4c5b-9896-7a03c801a046Fri, - 02 Aug 2019 23:34:30 GMTFri, 09 Aug 2019 23:34:30 - GMTAgAAAAMAAAAAAAAABRBzB5lJ1QE=Sat, - 03 Aug 2019 01:16:08 GMT9&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41d02-d003-0021-7f98-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34106f86-b58c-11e9-95a2-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFa7a8d208-0197-40b3-9b59-f38c58e97aa3Fri, - 02 Aug 2019 23:36:29 GMTFri, 09 Aug 2019 23:36:29 - GMTAgAAAAMAAAAAAAAA+sd5B5lJ1QE=Sat, - 03 Aug 2019 01:16:08 GMT8&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41d0a-d003-0021-0698-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3416dd30-b58c-11e9-af2b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF5955b041-a72e-448e-b6ca-dd7f334fd310Fri, - 02 Aug 2019 23:39:02 GMTFri, 09 Aug 2019 23:39:02 - GMTAgAAAAMAAAAAAAAACqeAB5lJ1QE=Sat, - 03 Aug 2019 01:16:08 GMT7&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41d0f-d003-0021-0a98-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 341d8e80-b58c-11e9-9818-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFcb20f9a1-0da0-4e4c-b47c-72bc397d6628Fri, - 02 Aug 2019 23:39:19 GMTFri, 09 Aug 2019 23:39:19 - GMTAgAAAAMAAAAAAAAA8TeHB5lJ1QE=Sat, - 03 Aug 2019 01:16:08 GMT7&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41d13-d003-0021-0e98-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34244dc6-b58c-11e9-8101-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFc0f3a208-aa87-48e3-99cf-4359552b7f0bFri, - 02 Aug 2019 23:40:18 GMTFri, 09 Aug 2019 23:40:18 - GMTAgAAAAMAAAAAAAAAGD6OB5lJ1QE=Sat, - 03 Aug 2019 01:16:08 GMT6&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41d16-d003-0021-1198-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 342b40ec-b58c-11e9-9cd1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF6ad86f41-a72b-4fcd-9ed3-44ec8ac3823aSat, - 03 Aug 2019 00:07:51 GMTSat, 10 Aug 2019 00:07:51 - GMTAgAAAAMAAAAAAAAAKR2VB5lJ1QE=Sat, - 03 Aug 2019 01:16:08 GMT5&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:37 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41d18-d003-0021-1298-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34328fae-b58c-11e9-a9be-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF788a5a9d-a11c-41f7-9b09-8dec71053d86Sat, - 03 Aug 2019 00:54:38 GMTSat, 10 Aug 2019 00:54:38 - GMTAgAAAAMAAAAAAAAANfybB5lJ1QE=Sat, - 03 Aug 2019 01:16:08 GMT4&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:38 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41d1e-d003-0021-1898-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3438c964-b58c-11e9-922d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF0c645118-8845-415a-ab21-7d5115d5d64aSat, - 03 Aug 2019 01:06:18 GMTSat, 10 Aug 2019 01:06:18 - GMTAgAAAAMAAAAAAAAAN7SiB5lJ1QE=Sat, - 03 Aug 2019 01:16:08 GMT3&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:38 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41d24-d003-0021-1b98-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 343f7a58-b58c-11e9-a36a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFe919de0c-11e1-4872-b07e-67ff03d1fbf7Sat, - 03 Aug 2019 01:07:25 GMTSat, 10 Aug 2019 01:07:25 - GMTAgAAAAMAAAAAAAAALGypB5lJ1QE=Sat, - 03 Aug 2019 01:16:08 GMT2&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:38 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41d28-d003-0021-1f98-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34463aee-b58c-11e9-aefc-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF8cad30fe-56eb-4504-824c-cdf87ae4f666Sat, - 03 Aug 2019 01:15:37 GMTSat, 10 Aug 2019 01:15:37 - GMTAgAAAAMAAAAAAAAADv2vB5lJ1QE=Sat, - 03 Aug 2019 01:16:08 GMT1&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:38 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41d2c-d003-0021-2398-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 344cec9e-b58c-11e9-b117-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:38 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:38 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0fe41d2d-d003-0021-2498-490931000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 693409c6-b58c-11e9-9927-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1 - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 7b4bf99c-6003-00b0-7499-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 204 - message: No Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1 - - '' - - '' -- request: - body: ' - - &lt;message1&gt;' - headers: - Accept: - - application/xml - Content-Length: - - '119' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 694d3fb8-b58c-11e9-b3cc-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF3337dcdb-f029-48b3-8450-d8b9d92f242aSat, - 03 Aug 2019 01:17:07 GMTSat, 10 Aug 2019 01:17:07 - GMTAgAAAAMAAAAAAAAAKejUKplJ1QE=Sat, - 03 Aug 2019 01:17:07 GMT" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 7b4bf9ad-6003-00b0-8099-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 695389e6-b58c-11e9-b99f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFfad04305-92f1-45fe-b06b-8a3db6b1ab81Fri, - 02 Aug 2019 09:56:29 GMTFri, 09 Aug 2019 09:56:29 - GMTAgAAAAMAAAAAAAAA2M28PJlJ1QE=Sat, - 03 Aug 2019 01:17:37 GMT16&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bf9b5-6003-00b0-0799-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6959c2b8-b58c-11e9-ae1e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFf5b4582a-6b85-48b6-8b20-bfdd4e4f2748Fri, - 02 Aug 2019 20:36:24 GMTFri, 09 Aug 2019 20:36:24 - GMTAgAAAAMAAAAAAAAAjBDDPJlJ1QE=Sat, - 03 Aug 2019 01:17:37 GMT15&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bf9bd-6003-00b0-0f99-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 695ffb3a-b58c-11e9-85de-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF1c8e3e30-bb19-4910-bc89-faa99143ba43Fri, - 02 Aug 2019 22:18:57 GMTFri, 09 Aug 2019 22:18:57 - GMTAgAAAAMAAAAAAAAAnO/JPJlJ1QE=Sat, - 03 Aug 2019 01:17:37 GMT14&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bf9c6-6003-00b0-1599-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6966c252-b58c-11e9-9f30-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:07 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFdec41aef-c609-4bb1-891d-af0416fd19e5Fri, - 02 Aug 2019 22:26:03 GMTFri, 09 Aug 2019 22:26:03 - GMTAgAAAAMAAAAAAAAAnqfQPJlJ1QE=Sat, - 03 Aug 2019 01:17:37 GMT13&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bf9cf-6003-00b0-1d99-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 696d75f6-b58c-11e9-a2e3-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF74ea12d7-b633-4693-83f3-2d4bfb4c737aFri, - 02 Aug 2019 22:33:30 GMTFri, 09 Aug 2019 22:33:30 - GMTAgAAAAMAAAAAAAAAfDjXPJlJ1QE=Sat, - 03 Aug 2019 01:17:37 GMT12&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:06 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bf9d3-6003-00b0-2099-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6974a45c-b58c-11e9-bf90-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF4ef2a79f-48ea-427e-8089-a98a85763906Fri, - 02 Aug 2019 23:18:54 GMTFri, 09 Aug 2019 23:18:54 - GMTAgAAAAMAAAAAAAAAdfDdPJlJ1QE=Sat, - 03 Aug 2019 01:17:37 GMT11&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bf9d8-6003-00b0-2599-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 697b4db4-b58c-11e9-9e43-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF1a721d83-7cdb-4c5b-9896-7a03c801a046Fri, - 02 Aug 2019 23:34:30 GMTFri, 09 Aug 2019 23:34:30 - GMTAgAAAAMAAAAAAAAAmfbkPJlJ1QE=Sat, - 03 Aug 2019 01:17:37 GMT10&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bf9e0-6003-00b0-2d99-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 69826efa-b58c-11e9-bca9-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFa7a8d208-0197-40b3-9b59-f38c58e97aa3Fri, - 02 Aug 2019 23:36:29 GMTFri, 09 Aug 2019 23:36:29 - GMTAgAAAAMAAAAAAAAAkq7rPJlJ1QE=Sat, - 03 Aug 2019 01:17:37 GMT9&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bf9e6-6003-00b0-3399-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6988ae0c-b58c-11e9-9539-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF5955b041-a72e-448e-b6ca-dd7f334fd310Fri, - 02 Aug 2019 23:39:02 GMTFri, 09 Aug 2019 23:39:02 - GMTAgAAAAMAAAAAAAAAi2byPJlJ1QE=Sat, - 03 Aug 2019 01:17:37 GMT8&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bf9f1-6003-00b0-3b99-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6990881a-b58c-11e9-b2e8-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFcb20f9a1-0da0-4e4c-b47c-72bc397d6628Fri, - 02 Aug 2019 23:39:19 GMTFri, 09 Aug 2019 23:39:19 - GMTAgAAAAMAAAAAAAAAVH76PJlJ1QE=Sat, - 03 Aug 2019 01:17:37 GMT8&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bf9fb-6003-00b0-4599-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6997e64c-b58c-11e9-8e5e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFc0f3a208-aa87-48e3-99cf-4359552b7f0bFri, - 02 Aug 2019 23:40:18 GMTFri, 09 Aug 2019 23:40:18 - GMTAgAAAAMAAAAAAAAAUjYBPZlJ1QE=Sat, - 03 Aug 2019 01:17:37 GMT7&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bf9ff-6003-00b0-4999-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 699e95d8-b58c-11e9-964f-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF6ad86f41-a72b-4fcd-9ed3-44ec8ac3823aSat, - 03 Aug 2019 00:07:51 GMTSat, 10 Aug 2019 00:07:51 - GMTAgAAAAMAAAAAAAAAXhUIPZlJ1QE=Sat, - 03 Aug 2019 01:17:38 GMT6&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bfa0a-6003-00b0-5399-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 69a5f608-b58c-11e9-922d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF788a5a9d-a11c-41f7-9b09-8dec71053d86Sat, - 03 Aug 2019 00:54:38 GMTSat, 10 Aug 2019 00:54:38 - GMTAgAAAAMAAAAAAAAAQ1QQPZlJ1QE=Sat, - 03 Aug 2019 01:17:38 GMT5&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bfa18-6003-00b0-5d99-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 69ad8830-b58c-11e9-a38e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF0c645118-8845-415a-ab21-7d5115d5d64aSat, - 03 Aug 2019 01:06:18 GMTSat, 10 Aug 2019 01:06:18 - GMTAgAAAAMAAAAAAAAAOAwXPZlJ1QE=Sat, - 03 Aug 2019 01:17:38 GMT4&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bfa1e-6003-00b0-6299-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 69b4eb64-b58c-11e9-b2c6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFFe919de0c-11e1-4872-b07e-67ff03d1fbf7Sat, - 03 Aug 2019 01:07:25 GMTSat, 10 Aug 2019 01:07:25 - GMTAgAAAAMAAAAAAAAApYcePZlJ1QE=Sat, - 03 Aug 2019 01:17:38 GMT3&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bfa23-6003-00b0-6799-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuee74013e1/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 69bb75e4-b58c-11e9-88ce-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages - response: - body: - string: "\uFEFF8cad30fe-56eb-4504-824c-cdf87ae4f666Sat, - 03 Aug 2019 01:15:37 GMTSat, 10 Aug 2019 01:15:37 - GMTAgAAAAMAAAAAAAAAoj8lPZlJ1QE=Sat, - 03 Aug 2019 01:17:38 GMT2&lt;message1&gt;" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bfa2a-6003-00b0-6d99-499d80000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net + - pyacrstoragee74013e1.queue.core.windows.net - /mytestqueuee74013e1/messages - '' - '' @@ -2978,43 +79,27 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 69c2367a-b58c-11e9-91f4-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT + - Fri, 06 Sep 2019 21:57:15 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages + uri: https://pyacrstoragee74013e1.queue.core.windows.net/mytestqueuee74013e1/messages response: body: - string: "\uFEFF3337dcdb-f029-48b3-8450-d8b9d92f242aSat, - 03 Aug 2019 01:17:07 GMTSat, 10 Aug 2019 01:17:07 - GMTAgAAAAMAAAAAAAAArx4sPZlJ1QE=Sat, - 03 Aug 2019 01:17:38 GMT1&lt;message1&gt;" + string: "\uFEFFac402f2f-0fa7-4a34-93dc-1bb4e8b0829fFri, + 06 Sep 2019 21:57:14 GMTFri, 13 Sep 2019 21:57:14 + GMTAgAAAAMAAAAAAAAAK13GHP5k1QE=Fri, + 06 Sep 2019 21:57:44 GMT1&lt;message1&gt;" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bfa35-6003-00b0-7799-499d80000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:13 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -3023,7 +108,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee74013e1.queue.core.windows.net - /mytestqueuee74013e1/messages - '' - '' @@ -3033,41 +118,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 69c9817e-b58c-11e9-bdc3-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT + - Fri, 06 Sep 2019 21:57:16 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuee74013e1/messages + uri: https://pyacrstoragee74013e1.queue.core.windows.net/mytestqueuee74013e1/messages response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:07 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 7b4bfa3a-6003-00b0-7c99-499d80000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:13 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -3076,7 +145,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee74013e1.queue.core.windows.net - /mytestqueuee74013e1/messages - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_xml_invalid_chars.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_xml_invalid_chars.yaml index a75a9a749c33..5ddc56359d1f 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_xml_invalid_chars.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_xml_invalid_chars.yaml @@ -9,35 +9,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 0ee0fe48-b58b-11e9-97df-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Sat, 03 Aug 2019 01:07:26 GMT + - Fri, 06 Sep 2019 21:57:44 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/mytestqueue284a1997/messages + uri: https://pyacrstorage284a1997.queue.core.windows.net/mytestqueue284a1997/messages response: body: string: "\uFEFFInvalidXmlDocumentXML - specified is not syntactically valid.\nRequestId:13ec08a6-2003-0059-4297-496186000000\nTime:2019-08-03T01:07:26.4938158Z228Error + specified is not syntactically valid.\nRequestId:d08c7558-a003-009e-0bfe-64f8f8000000\nTime:2019-09-06T21:57:42.7920439Z228Error parsing Xml content" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '327' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:25 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + content-length: '327' + content-type: application/xml + date: Fri, 06 Sep 2019 21:57:42 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: InvalidXmlDocument - x-ms-request-id: 13ec08a6-2003-0059-4297-496186000000 x-ms-version: '2018-03-28' status: code: 400 @@ -46,109 +35,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net - - /mytestqueue284a1997/messages - - '' - - '' -- request: - body: "\n\x01" - headers: - Accept: - - application/xml - Content-Length: - - '96' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 3467c808-b58c-11e9-a99a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:39 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/mytestqueue284a1997/messages - response: - body: - string: "\uFEFFInvalidXmlDocumentXML - specified is not syntactically valid.\nRequestId:966bc0f1-9003-008c-5998-49295b000000\nTime:2019-08-03T01:15:38.8514901Z228Error - parsing Xml content" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '327' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:38 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: InvalidXmlDocument - x-ms-request-id: 966bc0f1-9003-008c-5998-49295b000000 - x-ms-version: '2018-03-28' - status: - code: 400 - message: XML specified is not syntactically valid. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueue284a1997/messages - - '' - - '' -- request: - body: "\n\x01" - headers: - Accept: - - application/xml - Content-Length: - - '96' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 69e66628-b58c-11e9-a115-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:08 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/mytestqueue284a1997/messages - response: - body: - string: "\uFEFFInvalidXmlDocumentXML - specified is not syntactically valid.\nRequestId:5a392528-a003-008f-0499-492a5c000000\nTime:2019-08-03T01:17:09.2924185Z228Error - parsing Xml content" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '327' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:08 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-error-code: InvalidXmlDocument - x-ms-request-id: 5a392528-a003-008f-0499-492a5c000000 - x-ms-version: '2018-03-28' - status: - code: 400 - message: XML specified is not syntactically valid. - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net + - pyacrstorage284a1997.queue.core.windows.net - /mytestqueue284a1997/messages - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_xml_whitespace.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_xml_whitespace.yaml index 689d183c059f..7ef7f3724d35 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_xml_whitespace.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encodings_async.test_message_text_xml_whitespace.yaml @@ -3,40 +3,31 @@ interactions: body: null headers: User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f223088-b58b-11e9-a3a5-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT + - Fri, 06 Sep 2019 21:58:07 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d + uri: https://pyacrstoragedd7c186d.queue.core.windows.net/mytestqueuedd7c186d response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: bf9c9f35-7003-0068-3897-493a51000000 + content-length: '0' + date: Fri, 06 Sep 2019 21:58:05 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: - code: 204 - message: No Content + code: 201 + message: Created url: !!python/object/new:yarl.URL state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragedd7c186d.queue.core.windows.net - /mytestqueuedd7c186d - '' - '' @@ -51,35 +42,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 0f3b555e-b58b-11e9-8ca2-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT + - Fri, 06 Sep 2019 21:58:07 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages + uri: https://pyacrstoragedd7c186d.queue.core.windows.net/mytestqueuedd7c186d/messages response: body: - string: "\uFEFFeac8dd54-9ba7-4d3f-9a3e-3dfc2219af7cSat, - 03 Aug 2019 01:07:26 GMTSat, 10 Aug 2019 01:07:26 - GMTAgAAAAMAAAAAAAAA5yHD0JdJ1QE=Sat, - 03 Aug 2019 01:07:26 GMT" + string: "\uFEFF8a922b98-f3c4-45de-8936-110514c054caFri, + 06 Sep 2019 21:58:05 GMTFri, 13 Sep 2019 21:58:05 + GMTAgAAAAMAAAAAAAAATtCUKf5k1QE=Fri, + 06 Sep 2019 21:58:05 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: bf9c9f42-7003-0068-4397-493a51000000 + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:05 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 201 @@ -88,2763 +68,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f40b25a-b58b-11e9-9540-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF614afb7a-92a7-4d26-8c43-8f4f32a7670aFri, - 02 Aug 2019 09:56:30 GMTFri, 09 Aug 2019 09:56:30 - GMTAgAAAAMAAAAAAAAAcbmq4pdJ1QE=Sat, - 03 Aug 2019 01:07:56 GMT14 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f45-7003-0068-4697-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f46db66-b58b-11e9-9b2d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF459a8af9-b80a-4fc7-b643-6cd7044d91acFri, - 02 Aug 2019 20:36:25 GMTFri, 09 Aug 2019 20:36:25 - GMTAgAAAAMAAAAAAAAAxF+w4pdJ1QE=Sat, - 03 Aug 2019 01:07:56 GMT13 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f48-7003-0068-4997-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f4c7b6c-b58b-11e9-9f06-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF378d51d5-04dc-4e4b-8a55-e9abc90f7876Fri, - 02 Aug 2019 22:18:58 GMTFri, 09 Aug 2019 22:18:58 - GMTAgAAAAMAAAAAAAAAIAa24pdJ1QE=Sat, - 03 Aug 2019 01:07:56 GMT12 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f4e-7003-0068-4f97-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f5229b4-b58b-11e9-adb6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF5f68f936-7ab5-4815-8a6f-009191311f3fFri, - 02 Aug 2019 22:26:04 GMTFri, 09 Aug 2019 22:26:04 - GMTAgAAAAMAAAAAAAAA0Ei84pdJ1QE=Sat, - 03 Aug 2019 01:07:57 GMT11 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f51-7003-0068-5197-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f5873de-b58b-11e9-abdb-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFe44d69bb-e127-4b6f-b366-fe2c879698b2Fri, - 02 Aug 2019 22:33:31 GMTFri, 09 Aug 2019 22:33:31 - GMTAgAAAAMAAAAAAAAAPhbC4pdJ1QE=Sat, - 03 Aug 2019 01:07:57 GMT10 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f59-7003-0068-5897-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f5e361e-b58b-11e9-a0a5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF9cab88a5-1c38-40ca-8d94-1c12386cac02Fri, - 02 Aug 2019 23:18:58 GMTFri, 09 Aug 2019 23:18:58 - GMTAgAAAAMAAAAAAAAAmrzH4pdJ1QE=Sat, - 03 Aug 2019 01:07:57 GMT9 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f5e-7003-0068-5d97-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f63d0d0-b58b-11e9-8db8-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFd8a706de-1155-41d2-a2a3-e915ea4afb58Fri, - 02 Aug 2019 23:34:32 GMTFri, 09 Aug 2019 23:34:32 - GMTAgAAAAMAAAAAAAAABIrN4pdJ1QE=Sat, - 03 Aug 2019 01:07:57 GMT8 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f60-7003-0068-5f97-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f6a38c2-b58b-11e9-9840-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFb4850e10-2d02-4288-a305-6e21ae5a1094Fri, - 02 Aug 2019 23:36:31 GMTFri, 09 Aug 2019 23:36:31 - GMTAgAAAAMAAAAAAAAALJDU4pdJ1QE=Sat, - 03 Aug 2019 01:07:57 GMT7 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f6a-7003-0068-6897-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f70ab26-b58b-11e9-ab74-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF49f5ad47-2d5e-40d6-98a7-9ea12a1d772dFri, - 02 Aug 2019 23:39:20 GMTFri, 09 Aug 2019 23:39:20 - GMTAgAAAAMAAAAAAAAAn13a4pdJ1QE=Sat, - 03 Aug 2019 01:07:57 GMT6 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f6d-7003-0068-6b97-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f774cb4-b58b-11e9-94aa-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF0b6a848e-ff26-4f7f-9ebf-0e877459dbfcFri, - 02 Aug 2019 23:40:20 GMTFri, 09 Aug 2019 23:40:20 - GMTAgAAAAMAAAAAAAAA2Yrh4pdJ1QE=Sat, - 03 Aug 2019 01:07:57 GMT5 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f74-7003-0068-7297-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f7ef498-b58b-11e9-bdbd-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF9f24f445-63f8-4c82-8843-defa5644399dSat, - 03 Aug 2019 00:07:52 GMTSat, 10 Aug 2019 00:07:52 - GMTAgAAAAMAAAAAAAAAdFTp4pdJ1QE=Sat, - 03 Aug 2019 01:07:57 GMT4 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f7b-7003-0068-7897-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f861be4-b58b-11e9-89fe-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFca9acb1c-2c6a-4e3d-a4ac-0715935df6a1Sat, - 03 Aug 2019 00:54:39 GMTSat, 10 Aug 2019 00:54:39 - GMTAgAAAAMAAAAAAAAAiTPw4pdJ1QE=Sat, - 03 Aug 2019 01:07:57 GMT3 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f80-7003-0068-7d97-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f8cd940-b58b-11e9-99c8-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF7b31e9cc-e733-49e8-99ee-2b31f41465deSat, - 03 Aug 2019 01:06:20 GMTSat, 10 Aug 2019 01:06:20 - GMTAgAAAAMAAAAAAAAAmRL34pdJ1QE=Sat, - 03 Aug 2019 01:07:57 GMT2 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f83-7003-0068-8097-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f9346ae-b58b-11e9-a48d-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFeac8dd54-9ba7-4d3f-9a3e-3dfc2219af7cSat, - 03 Aug 2019 01:07:26 GMTSat, 10 Aug 2019 01:07:26 - GMTAgAAAAMAAAAAAAAANS794pdJ1QE=Sat, - 03 Aug 2019 01:07:57 GMT1 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:26 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f87-7003-0068-0497-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 0f99e842-b58b-11e9-b9c1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:07:27 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:07:27 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: bf9c9f8d-7003-0068-0a97-493a51000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 349f77ba-b58c-11e9-99f3-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:39 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 0c97f8a3-f003-0036-2998-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 204 - message: No Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d - - '' - - '' -- request: - body: "\n mess\t - age1\n" - headers: - Accept: - - application/xml - Content-Length: - - '108' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 34b7e454-b58c-11e9-9dac-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:39 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFdc1c43e4-0ed3-4c2f-af5e-4ceb376fcf00Sat, - 03 Aug 2019 01:15:39 GMTSat, 10 Aug 2019 01:15:39 - GMTAgAAAAMAAAAAAAAAKM4/9phJ1QE=Sat, - 03 Aug 2019 01:15:39 GMT" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 0c97f8a9-f003-0036-2d98-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34be1e34-b58c-11e9-b5be-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:39 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF614afb7a-92a7-4d26-8c43-8f4f32a7670aFri, - 02 Aug 2019 09:56:30 GMTFri, 09 Aug 2019 09:56:30 - GMTAgAAAAMAAAAAAAAACgIoCJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT15 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8ac-f003-0036-3098-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34c53f54-b58c-11e9-a5b1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:39 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF459a8af9-b80a-4fc7-b643-6cd7044d91acFri, - 02 Aug 2019 20:36:25 GMTFri, 09 Aug 2019 20:36:25 - GMTAgAAAAMAAAAAAAAAMggvCJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT14 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8ae-f003-0036-3298-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34cc425c-b58c-11e9-9ed2-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:39 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF378d51d5-04dc-4e4b-8a55-e9abc90f7876Fri, - 02 Aug 2019 22:18:58 GMTFri, 09 Aug 2019 22:18:58 - GMTAgAAAAMAAAAAAAAAK8A1CJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT13 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8b3-f003-0036-3798-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34d2cb7e-b58c-11e9-8bb5-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:39 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF5f68f936-7ab5-4815-8a6f-009191311f3fFri, - 02 Aug 2019 22:26:04 GMTFri, 09 Aug 2019 22:26:04 - GMTAgAAAAMAAAAAAAAA5AI8CJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT12 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8b6-f003-0036-3a98-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34d8b5e2-b58c-11e9-b583-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:39 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFe44d69bb-e127-4b6f-b366-fe2c879698b2Fri, - 02 Aug 2019 22:33:31 GMTFri, 09 Aug 2019 22:33:31 - GMTAgAAAAMAAAAAAAAA2bpCCJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT11 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8b8-f003-0036-3c98-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34df93f8-b58c-11e9-ae15-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:39 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF9cab88a5-1c38-40ca-8d94-1c12386cac02Fri, - 02 Aug 2019 23:18:58 GMTFri, 09 Aug 2019 23:18:58 - GMTAgAAAAMAAAAAAAAA5ZlJCJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT10 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8bb-f003-0036-3f98-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34e659fe-b58c-11e9-a397-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:39 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFd8a706de-1155-41d2-a2a3-e915ea4afb58Fri, - 02 Aug 2019 23:34:32 GMTFri, 09 Aug 2019 23:34:32 - GMTAgAAAAMAAAAAAAAA4lFQCJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT9 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8bf-f003-0036-4298-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34ed13ec-b58c-11e9-b7c6-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:39 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFb4850e10-2d02-4288-a305-6e21ae5a1094Fri, - 02 Aug 2019 23:36:31 GMTFri, 09 Aug 2019 23:36:31 - GMTAgAAAAMAAAAAAAAA1wlXCJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT8 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8c5-f003-0036-4698-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34f3efc6-b58c-11e9-a2c7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:39 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF49f5ad47-2d5e-40d6-98a7-9ea12a1d772dFri, - 02 Aug 2019 23:39:20 GMTFri, 09 Aug 2019 23:39:20 - GMTAgAAAAMAAAAAAAAA6OhdCJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT7 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8ce-f003-0036-4e98-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 34fa8e22-b58c-11e9-ac07-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:40 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF0b6a848e-ff26-4f7f-9ebf-0e877459dbfcFri, - 02 Aug 2019 23:40:20 GMTFri, 09 Aug 2019 23:40:20 - GMTAgAAAAMAAAAAAAAAiQRkCJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT6 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8d5-f003-0036-5398-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3500f3d0-b58c-11e9-a544-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:40 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF9f24f445-63f8-4c82-8843-defa5644399dSat, - 03 Aug 2019 00:07:52 GMTSat, 10 Aug 2019 00:07:52 - GMTAgAAAAMAAAAAAAAAPUdqCJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT5 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8da-f003-0036-5798-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 350734f6-b58c-11e9-8a74-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:40 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFca9acb1c-2c6a-4e3d-a4ac-0715935df6a1Sat, - 03 Aug 2019 00:54:39 GMTSat, 10 Aug 2019 00:54:39 - GMTAgAAAAMAAAAAAAAAvjtwCJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT4 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8e2-f003-0036-5e98-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 350dd248-b58c-11e9-b581-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:40 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF7b31e9cc-e733-49e8-99ee-2b31f41465deSat, - 03 Aug 2019 01:06:20 GMTSat, 10 Aug 2019 01:06:20 - GMTAgAAAAMAAAAAAAAA6kF3CJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT3 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8ec-f003-0036-6598-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 35140040-b58c-11e9-806e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:40 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFeac8dd54-9ba7-4d3f-9a3e-3dfc2219af7cSat, - 03 Aug 2019 01:07:26 GMTSat, 10 Aug 2019 01:07:26 - GMTAgAAAAMAAAAAAAAAQeh8CJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT2 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8f5-f003-0036-6c98-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 351c81dc-b58c-11e9-ab6b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:40 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFdc1c43e4-0ed3-4c2f-af5e-4ceb376fcf00Sat, - 03 Aug 2019 01:15:39 GMTSat, 10 Aug 2019 01:15:39 - GMTAgAAAAMAAAAAAAAAUHWFCJlJ1QE=Sat, - 03 Aug 2019 01:16:09 GMT1 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8fa-f003-0036-7198-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3522aac2-b58c-11e9-b763-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:15:40 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:15:39 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 0c97f8fc-f003-0036-7398-49c952000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6a948c40-b58c-11e9-8e92-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:09 GMT - x-ms-version: - - '2018-03-28' - method: PUT - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d - response: - body: - string: '' - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 881cb89f-b003-0090-6199-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 204 - message: No Content - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d - - '' - - '' -- request: - body: "\n mess\t - age1\n" - headers: - Accept: - - application/xml - Content-Length: - - '108' - Content-Type: - - application/xml; charset=utf-8 - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 6aae6e42-b58c-11e9-9008-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: POST - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFfa3990fd-a234-4737-b080-e916094c4bb5Sat, - 03 Aug 2019 01:17:09 GMTSat, 10 Aug 2019 01:17:09 - GMTAgAAAAMAAAAAAAAAIT82LJlJ1QE=Sat, - 03 Aug 2019 01:17:09 GMT" - headers: - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 881cb8ac-b003-0090-6b99-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 201 - message: Created - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6ab4aa40-b58c-11e9-91ba-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF614afb7a-92a7-4d26-8c43-8f4f32a7670aFri, - 02 Aug 2019 09:56:30 GMTFri, 09 Aug 2019 09:56:30 - GMTAgAAAAMAAAAAAAAAB3MePplJ1QE=Sat, - 03 Aug 2019 01:17:39 GMT16 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb8b8-b003-0090-7699-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6abb73ac-b58c-11e9-9d36-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF459a8af9-b80a-4fc7-b643-6cd7044d91acFri, - 02 Aug 2019 20:36:25 GMTFri, 09 Aug 2019 20:36:25 - GMTAgAAAAMAAAAAAAAAF1IlPplJ1QE=Sat, - 03 Aug 2019 01:17:39 GMT15 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb8cb-b003-0090-0999-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6ac269dc-b58c-11e9-a80a-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF378d51d5-04dc-4e4b-8a55-e9abc90f7876Fri, - 02 Aug 2019 22:18:58 GMTFri, 09 Aug 2019 22:18:58 - GMTAgAAAAMAAAAAAAAAKDEsPplJ1QE=Sat, - 03 Aug 2019 01:17:39 GMT14 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb8d2-b003-0090-1099-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6ac908d2-b58c-11e9-9b11-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF5f68f936-7ab5-4815-8a6f-009191311f3fFri, - 02 Aug 2019 22:26:04 GMTFri, 09 Aug 2019 22:26:04 - GMTAgAAAAMAAAAAAAAACsIyPplJ1QE=Sat, - 03 Aug 2019 01:17:39 GMT13 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb8e1-b003-0090-1b99-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6acfbe06-b58c-11e9-8de1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFe44d69bb-e127-4b6f-b366-fe2c879698b2Fri, - 02 Aug 2019 22:33:31 GMTFri, 09 Aug 2019 22:33:31 - GMTAgAAAAMAAAAAAAAAH6E5PplJ1QE=Sat, - 03 Aug 2019 01:17:40 GMT12 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb8ec-b003-0090-2699-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6ad6d63e-b58c-11e9-b371-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF9cab88a5-1c38-40ca-8d94-1c12386cac02Fri, - 02 Aug 2019 23:18:58 GMTFri, 09 Aug 2019 23:18:58 - GMTAgAAAAMAAAAAAAAAFFlAPplJ1QE=Sat, - 03 Aug 2019 01:17:40 GMT11 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb8fd-b003-0090-3699-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6ade2bf0-b58c-11e9-bc49-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFd8a706de-1155-41d2-a2a3-e915ea4afb58Fri, - 02 Aug 2019 23:34:32 GMTFri, 09 Aug 2019 23:34:32 - GMTAgAAAAMAAAAAAAAAUoZHPplJ1QE=Sat, - 03 Aug 2019 01:17:40 GMT10 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb90a-b003-0090-4399-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6ae46d8a-b58c-11e9-bbc1-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFb4850e10-2d02-4288-a305-6e21ae5a1094Fri, - 02 Aug 2019 23:36:31 GMTFri, 09 Aug 2019 23:36:31 - GMTAgAAAAMAAAAAAAAATD5OPplJ1QE=Sat, - 03 Aug 2019 01:17:40 GMT9 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb917-b003-0090-4f99-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6aeb6900-b58c-11e9-bb1e-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF49f5ad47-2d5e-40d6-98a7-9ea12a1d772dFri, - 02 Aug 2019 23:39:20 GMTFri, 09 Aug 2019 23:39:20 - GMTAgAAAAMAAAAAAAAAc0RVPplJ1QE=Sat, - 03 Aug 2019 01:17:40 GMT8 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb91f-b003-0090-5699-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6af238b4-b58c-11e9-a163-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF0b6a848e-ff26-4f7f-9ebf-0e877459dbfcFri, - 02 Aug 2019 23:40:20 GMTFri, 09 Aug 2019 23:40:20 - GMTAgAAAAMAAAAAAAAAaPxbPplJ1QE=Sat, - 03 Aug 2019 01:17:40 GMT7 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb930-b003-0090-6499-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6af8e5f6-b58c-11e9-8451-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF9f24f445-63f8-4c82-8843-defa5644399dSat, - 03 Aug 2019 00:07:52 GMTSat, 10 Aug 2019 00:07:52 - GMTAgAAAAMAAAAAAAAAZrRiPplJ1QE=Sat, - 03 Aug 2019 01:17:40 GMT6 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb937-b003-0090-6b99-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6affe294-b58c-11e9-b64c-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFca9acb1c-2c6a-4e3d-a4ac-0715935df6a1Sat, - 03 Aug 2019 00:54:39 GMTSat, 10 Aug 2019 00:54:39 - GMTAgAAAAMAAAAAAAAAdpNpPplJ1QE=Sat, - 03 Aug 2019 01:17:40 GMT5 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb943-b003-0090-7699-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6b072df6-b58c-11e9-ab78-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFF7b31e9cc-e733-49e8-99ee-2b31f41465deSat, - 03 Aug 2019 01:06:20 GMTSat, 10 Aug 2019 01:06:20 - GMTAgAAAAMAAAAAAAAAh3JwPplJ1QE=Sat, - 03 Aug 2019 01:17:40 GMT4 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb952-b003-0090-0399-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6b0d8512-b58c-11e9-a55b-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFeac8dd54-9ba7-4d3f-9a3e-3dfc2219af7cSat, - 03 Aug 2019 01:07:26 GMTSat, 10 Aug 2019 01:07:26 - GMTAgAAAAMAAAAAAAAArnh3PplJ1QE=Sat, - 03 Aug 2019 01:17:40 GMT3 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb963-b003-0090-1099-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net - - /mytestqueuedd7c186d/messages - - '' - - '' -- request: - body: null - headers: - Accept: - - application/xml - User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - content-type: - - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6b1470f4-b58c-11e9-8de7-2816a845e8c6 - x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT - x-ms-version: - - '2018-03-28' - method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages - response: - body: - string: "\uFEFFdc1c43e4-0ed3-4c2f-af5e-4ceb376fcf00Sat, - 03 Aug 2019 01:15:39 GMTSat, 10 Aug 2019 01:15:39 - GMTAgAAAAMAAAAAAAAAv1d+PplJ1QE=Sat, - 03 Aug 2019 01:17:40 GMT2 - \ mess\t age1\n" - headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:09 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb96b-b003-0090-1899-49f14c000000 - x-ms-version: '2018-03-28' - status: - code: 200 - message: OK - url: !!python/object/new:yarl.URL - state: !!python/tuple - - !!python/object/new:urllib.parse.SplitResult - - https - - amqptest.queue.core.windows.net + - pyacrstoragedd7c186d.queue.core.windows.net - /mytestqueuedd7c186d/messages - '' - '' @@ -2854,44 +78,28 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6b1b29cc-b58c-11e9-8222-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT + - Fri, 06 Sep 2019 21:58:07 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages + uri: https://pyacrstoragedd7c186d.queue.core.windows.net/mytestqueuedd7c186d/messages response: body: - string: "\uFEFFfa3990fd-a234-4737-b080-e916094c4bb5Sat, - 03 Aug 2019 01:17:09 GMTSat, 10 Aug 2019 01:17:09 - GMTAgAAAAMAAAAAAAAAuA+FPplJ1QE=Sat, - 03 Aug 2019 01:17:40 GMT1 + string: "\uFEFF8a922b98-f3c4-45de-8936-110514c054caFri, + 06 Sep 2019 21:58:05 GMTFri, 13 Sep 2019 21:58:05 + GMTAgAAAAMAAAAAAAAAM1Z7O/5k1QE=Fri, + 06 Sep 2019 21:58:35 GMT1 \ mess\t age1\n" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:10 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb979-b003-0090-2699-49f14c000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:05 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -2900,7 +108,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragedd7c186d.queue.core.windows.net - /mytestqueuedd7c186d/messages - '' - '' @@ -2910,41 +118,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 6b22712c-b58c-11e9-87bb-2816a845e8c6 x-ms-date: - - Sat, 03 Aug 2019 01:17:10 GMT + - Fri, 06 Sep 2019 21:58:07 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/mytestqueuedd7c186d/messages + uri: https://pyacrstoragedd7c186d.queue.core.windows.net/mytestqueuedd7c186d/messages response: body: string: "\uFEFF" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Sat, 03 Aug 2019 01:17:10 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 881cb987-b003-0090-3299-49f14c000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:05 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -2953,7 +145,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragedd7c186d.queue.core.windows.net - /mytestqueuedd7c186d/messages - '' - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_encryption_add_encrypted_64k_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_encryption_add_encrypted_64k_message.yaml index 98bb501892ba..aaa5a6861803 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_encryption_add_encrypted_64k_message.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_encryption_add_encrypted_64k_message.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8e8d8726-b575-11e9-9c94-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:31 GMT + - Fri, 06 Sep 2019 21:57:18 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueue446c19b4 + uri: https://pyacrstorage446c19b4.queue.core.windows.net/encryptionqueue446c19b4 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:31 GMT - Server: + date: + - Fri, 06 Sep 2019 21:57:17 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - b6076c28-1003-001e-0c82-49beed000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8ebb5dee-b575-11e9-a37c-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:32 GMT + - Fri, 06 Sep 2019 21:57:19 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/encryptionqueue446c19b4/messages + uri: https://pyacrstorage446c19b4.queue.core.windows.net/encryptionqueue446c19b4/messages response: body: - string: "\uFEFF5336e6c4-f4b2-438f-9641-ccccdba2d1ffFri, - 02 Aug 2019 22:33:32 GMTFri, 09 Aug 2019 22:33:32 - GMTAgAAAAMAAAAAAAAA6klgUIJJ1QE=Fri, - 02 Aug 2019 22:33:32 GMT" + string: "\uFEFF18ab2ff6-9541-41ee-a922-37b8b0f90533Fri, + 06 Sep 2019 21:57:17 GMTFri, 13 Sep 2019 21:57:17 + GMTAgAAAAMAAAAAAAAAZB/mDP5k1QE=Fri, + 06 Sep 2019 21:57:17 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:31 GMT - Server: + date: + - Fri, 06 Sep 2019 21:57:17 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - b6076c3b-1003-001e-1382-49beed000000 x-ms-version: - '2018-03-28' status: @@ -89,11 +81,11 @@ interactions: - request: body: ' - {"EncryptedMessageContents": "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", - "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "y7TLnJdGIumDzHVR4nXOuixGes0BraSokZBncjmWZ0K2b1TSwtjSBA==", + {"EncryptedMessageContents": "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", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "qVYB60RVb4FV/U2eYLeNm6fN+i2grSPOt0l3Aq7LLBrAJqYUVvNpTA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "XL4EYnfxxchRfsQmOjJvBw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b1"}}}' + "AES_CBC_256"}, "ContentEncryptionIV": "w8P5VTC0caKDVNSbtidvAQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' headers: Accept: - application/xml @@ -106,32 +98,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8edd574c-b575-11e9-b404-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:32 GMT + - Fri, 06 Sep 2019 21:57:19 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/encryptionqueue446c19b4/messages + uri: https://pyacrstorage446c19b4.queue.core.windows.net/encryptionqueue446c19b4/messages response: body: string: "\uFEFFRequestBodyTooLargeThe - request body is too large and exceeds the maximum permissible limit.\nRequestId:b6076c57-1003-001e-2982-49beed000000\nTime:2019-08-02T22:33:32.2270571Z65536" + request body is too large and exceeds the maximum permissible limit.\nRequestId:ce19f05a-6003-00b4-1ffe-643d61000000\nTime:2019-09-06T21:57:17.9257012Z65536" headers: - Content-Length: + content-length: - '286' - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:31 GMT - Server: + date: + - Fri, 06 Sep 2019 21:57:17 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: - RequestBodyTooLarge - x-ms-request-id: - - b6076c57-1003-001e-2982-49beed000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_encryption_nonmatching_kid.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_encryption_nonmatching_kid.yaml index 5b3308d10c0a..60d0ea3e38ca 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_encryption_nonmatching_kid.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_encryption_nonmatching_kid.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8f1e47c8-b575-11e9-9f0b-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:32 GMT + - Fri, 06 Sep 2019 21:57:48 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueue577f1613 + uri: https://pyacrstorage577f1613.queue.core.windows.net/encryptionqueue577f1613 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:32 GMT - Server: + date: + - Fri, 06 Sep 2019 21:57:46 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2317cf49-4003-008e-1082-492ba1000000 x-ms-version: - '2018-03-28' status: @@ -42,11 +38,11 @@ interactions: - request: body: ' - {"EncryptedMessageContents": "TJuxk/00fb3Hf6/w1D1yiw==", - "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "8wQwRszBvKDlp97B7QPgFkOTFGamFnsQYxsxEmZxotaX0GcsBrcgLg==", + {"EncryptedMessageContents": "1LQb9QvM/qT2/aTLcwJw4w==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "G9ct8YUE9VgQ0DslrKJUhrUAmknjLAJfasa/Puv7f0q/pESZsG8BbA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "jxrUovna+7yx39h8tDsr7w==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b1"}}}' + "AES_CBC_256"}, "ContentEncryptionIV": "VGGgQNjy6cFPvd6odgRscw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' headers: Accept: - application/xml @@ -59,32 +55,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8f4d9aa8-b575-11e9-b651-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:33 GMT + - Fri, 06 Sep 2019 21:57:48 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/encryptionqueue577f1613/messages + uri: https://pyacrstorage577f1613.queue.core.windows.net/encryptionqueue577f1613/messages response: body: - string: "\uFEFFca0accab-07ca-4132-9466-b2680a86c1feFri, - 02 Aug 2019 22:33:32 GMTFri, 09 Aug 2019 22:33:32 - GMTAgAAAAMAAAAAAAAAR1foUIJJ1QE=Fri, - 02 Aug 2019 22:33:32 GMT" + string: "\uFEFF6ce267a8-0a8b-4298-9640-c44a8c6f89f4Fri, + 06 Sep 2019 21:57:47 GMTFri, 13 Sep 2019 21:57:47 + GMTAgAAAAMAAAAAAAAA2GeRHv5k1QE=Fri, + 06 Sep 2019 21:57:47 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:32 GMT - Server: + date: + - Fri, 06 Sep 2019 21:57:47 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 2317cf51-4003-008e-1682-492ba1000000 x-ms-version: - '2018-03-28' status: @@ -100,43 +92,37 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8f597968-b575-11e9-bb69-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:33 GMT + - Fri, 06 Sep 2019 21:57:49 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/encryptionqueue577f1613/messages + uri: https://pyacrstorage577f1613.queue.core.windows.net/encryptionqueue577f1613/messages response: body: - string: "\uFEFFca0accab-07ca-4132-9466-b2680a86c1feFri, - 02 Aug 2019 22:33:32 GMTFri, 09 Aug 2019 22:33:32 - GMTAgAAAAMAAAAAAAAAPLzVYoJJ1QE=Fri, - 02 Aug 2019 22:34:03 GMT1{\"EncryptedMessageContents\": - \"TJuxk/00fb3Hf6/w1D1yiw==\", \"EncryptionData\": {\"WrappedContentKey\": - {\"KeyId\": \"key1\", \"EncryptedKey\": \"8wQwRszBvKDlp97B7QPgFkOTFGamFnsQYxsxEmZxotaX0GcsBrcgLg==\", + string: "\uFEFF6ce267a8-0a8b-4298-9640-c44a8c6f89f4Fri, + 06 Sep 2019 21:57:47 GMTFri, 13 Sep 2019 21:57:47 + GMTAgAAAAMAAAAAAAAA3EV9MP5k1QE=Fri, + 06 Sep 2019 21:58:17 GMT1{\"EncryptedMessageContents\": + \"1LQb9QvM/qT2/aTLcwJw4w==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"G9ct8YUE9VgQ0DslrKJUhrUAmknjLAJfasa/Puv7f0q/pESZsG8BbA==\", \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": - \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"jxrUovna+7yx39h8tDsr7w==\", \"KeyWrappingMetadata\": - {\"EncryptionLibrary\": \"Python 12.0.0b1\"}}}" + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"VGGgQNjy6cFPvd6odgRscw==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:32 GMT - Server: + date: + - Fri, 06 Sep 2019 21:57:47 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 2317cf56-4003-008e-1a82-492ba1000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_messages_encrypted_kek.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_messages_encrypted_kek.yaml index cdd6c3d83038..01c1909dff34 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_messages_encrypted_kek.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_messages_encrypted_kek.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8fa69600-b575-11e9-90d8-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:33 GMT + - Fri, 06 Sep 2019 21:58:10 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueue546e15fa + uri: https://pyacrstorage546e15fa.queue.core.windows.net/encryptionqueue546e15fa response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:32 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 6e0db58f-e003-000b-0882-497c74000000 x-ms-version: - '2018-03-28' status: @@ -42,11 +38,11 @@ interactions: - request: body: ' - {"EncryptedMessageContents": "Ta6Ip0K+51pqtQAMTvUn4K/O2cTz1XUbzRjoPeOjNug=", - "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "yqu/qHZoacCGip3E9p3OYpMultXLdGqwCpldUt254elRgCRcVr+XSQ==", + {"EncryptedMessageContents": "vwe4Xm3btGqag7DhlcSiIs3VbbTqhUmnLXv/5+7JD40=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "8PanrwocCGyhIOkide6tC55aWC2dJumRG7mbBC8ZjboMQopj26LZNg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "wAw4rEmLULiVlg3Ywhkrig==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b1"}}}' + "AES_CBC_256"}, "ContentEncryptionIV": "4BLz2tUZOh6Y3Bknp4GQkg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' headers: Accept: - application/xml @@ -59,32 +55,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 8fd3a1ac-b575-11e9-a203-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:34 GMT + - Fri, 06 Sep 2019 21:58:11 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/encryptionqueue546e15fa/messages + uri: https://pyacrstorage546e15fa.queue.core.windows.net/encryptionqueue546e15fa/messages response: body: - string: "\uFEFF2fb858fc-dd68-4f4d-8937-fd2e6eeb9126Fri, - 02 Aug 2019 22:33:33 GMTFri, 09 Aug 2019 22:33:33 - GMTAgAAAAMAAAAAAAAAl2huUYJJ1QE=Fri, - 02 Aug 2019 22:33:33 GMT" + string: "\uFEFFe5a55163-9484-410a-9996-1f5dc1aa2122Fri, + 06 Sep 2019 21:58:09 GMTFri, 13 Sep 2019 21:58:09 + GMTAgAAAAMAAAAAAAAARb7TK/5k1QE=Fri, + 06 Sep 2019 21:58:09 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:32 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 6e0db59f-e003-000b-1482-497c74000000 x-ms-version: - '2018-03-28' status: @@ -100,43 +92,37 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 8fe70074-b575-11e9-88a7-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:34 GMT + - Fri, 06 Sep 2019 21:58:11 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/encryptionqueue546e15fa/messages + uri: https://pyacrstorage546e15fa.queue.core.windows.net/encryptionqueue546e15fa/messages response: body: - string: "\uFEFF2fb858fc-dd68-4f4d-8937-fd2e6eeb9126Fri, - 02 Aug 2019 22:33:33 GMTFri, 09 Aug 2019 22:33:33 - GMTAgAAAAMAAAAAAAAAgI9nY4JJ1QE=Fri, - 02 Aug 2019 22:34:03 GMT1{\"EncryptedMessageContents\": - \"Ta6Ip0K+51pqtQAMTvUn4K/O2cTz1XUbzRjoPeOjNug=\", \"EncryptionData\": {\"WrappedContentKey\": - {\"KeyId\": \"key1\", \"EncryptedKey\": \"yqu/qHZoacCGip3E9p3OYpMultXLdGqwCpldUt254elRgCRcVr+XSQ==\", + string: "\uFEFFe5a55163-9484-410a-9996-1f5dc1aa2122Fri, + 06 Sep 2019 21:58:09 GMTFri, 13 Sep 2019 21:58:09 + GMTAgAAAAMAAAAAAAAAXG7DPf5k1QE=Fri, + 06 Sep 2019 21:58:39 GMT1{\"EncryptedMessageContents\": + \"vwe4Xm3btGqag7DhlcSiIs3VbbTqhUmnLXv/5+7JD40=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"8PanrwocCGyhIOkide6tC55aWC2dJumRG7mbBC8ZjboMQopj26LZNg==\", \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": - \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"wAw4rEmLULiVlg3Ywhkrig==\", \"KeyWrappingMetadata\": - {\"EncryptionLibrary\": \"Python 12.0.0b1\"}}}" + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"4BLz2tUZOh6Y3Bknp4GQkg==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:33 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 6e0db5a8-e003-000b-1d82-497c74000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_messages_encrypted_resolver.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_messages_encrypted_resolver.yaml index f20cc90b929a..47927f420b80 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_messages_encrypted_resolver.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_messages_encrypted_resolver.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 901e4986-b575-11e9-8567-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:34 GMT + - Fri, 06 Sep 2019 21:58:15 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueuec9311831 + uri: https://pyacrstoragec9311831.queue.core.windows.net/encryptionqueuec9311831 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:34 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:14 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 4553814a-2003-001d-3582-49bdea000000 x-ms-version: - '2018-03-28' status: @@ -42,11 +38,11 @@ interactions: - request: body: ' - {"EncryptedMessageContents": "c8ZAmqq7VcNEtEhh5dUjoHSqKWfeR0L1mbpjsxKP6PY=", - "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "f1GDK0UFi6iqYvOcHSNtDve1M+301Fc0vVg1ShROd9dRCKbSWjPO6g==", + {"EncryptedMessageContents": "xYS4KTDR7alQF2Km/y2OPWNO5WW9MTyyeFKrrOa7Lao=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "mP3zxSZyt6DDG+34mKOlEkI6DJv9mXStxIsk+743x8DPkYjgkWArXg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "v8DhaO2y2xTgzdXM3F6uCA==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b1"}}}' + "AES_CBC_256"}, "ContentEncryptionIV": "3KZoN3NgGKheoDHg+sk0IQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' headers: Accept: - application/xml @@ -59,32 +55,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 904bda9e-b575-11e9-abb5-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:34 GMT + - Fri, 06 Sep 2019 21:58:16 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/encryptionqueuec9311831/messages + uri: https://pyacrstoragec9311831.queue.core.windows.net/encryptionqueuec9311831/messages response: body: - string: "\uFEFFdae4eaac-2eae-4e6c-8bcb-32109056b4fdFri, - 02 Aug 2019 22:33:34 GMTFri, 09 Aug 2019 22:33:34 - GMTAgAAAAMAAAAAAAAAp5TmUYJJ1QE=Fri, - 02 Aug 2019 22:33:34 GMT" + string: "\uFEFF8d65faa6-6ab2-4338-88e7-ca9c44ce37a6Fri, + 06 Sep 2019 21:58:14 GMTFri, 13 Sep 2019 21:58:14 + GMTAgAAAAMAAAAAAAAAeaPILv5k1QE=Fri, + 06 Sep 2019 21:58:14 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:34 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:14 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 45538165-2003-001d-4e82-49bdea000000 x-ms-version: - '2018-03-28' status: @@ -100,43 +92,37 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9061c4a4-b575-11e9-a51e-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:34 GMT + - Fri, 06 Sep 2019 21:58:16 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/encryptionqueuec9311831/messages + uri: https://pyacrstoragec9311831.queue.core.windows.net/encryptionqueuec9311831/messages response: body: - string: "\uFEFFdae4eaac-2eae-4e6c-8bcb-32109056b4fdFri, - 02 Aug 2019 22:33:34 GMTFri, 09 Aug 2019 22:33:34 - GMTAgAAAAMAAAAAAAAAyFveY4JJ1QE=Fri, - 02 Aug 2019 22:34:04 GMT1{\"EncryptedMessageContents\": - \"c8ZAmqq7VcNEtEhh5dUjoHSqKWfeR0L1mbpjsxKP6PY=\", \"EncryptionData\": {\"WrappedContentKey\": - {\"KeyId\": \"key1\", \"EncryptedKey\": \"f1GDK0UFi6iqYvOcHSNtDve1M+301Fc0vVg1ShROd9dRCKbSWjPO6g==\", + string: "\uFEFF8d65faa6-6ab2-4338-88e7-ca9c44ce37a6Fri, + 06 Sep 2019 21:58:14 GMTFri, 13 Sep 2019 21:58:14 + GMTAgAAAAMAAAAAAAAA+US1QP5k1QE=Fri, + 06 Sep 2019 21:58:44 GMT1{\"EncryptedMessageContents\": + \"xYS4KTDR7alQF2Km/y2OPWNO5WW9MTyyeFKrrOa7Lao=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"mP3zxSZyt6DDG+34mKOlEkI6DJv9mXStxIsk+743x8DPkYjgkWArXg==\", \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": - \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"v8DhaO2y2xTgzdXM3F6uCA==\", \"KeyWrappingMetadata\": - {\"EncryptionLibrary\": \"Python 12.0.0b1\"}}}" + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"3KZoN3NgGKheoDHg+sk0IQ==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:34 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:14 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 45538187-2003-001d-6982-49bdea000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_with_strict_mode.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_with_strict_mode.yaml index 0dc78c86c6e3..0f92f2ea2be3 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_with_strict_mode.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_get_with_strict_mode.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 909356cc-b575-11e9-926f-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:35 GMT + - Fri, 06 Sep 2019 21:58:48 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueued7de1393 + uri: https://pyacrstoraged7de1393.queue.core.windows.net/encryptionqueued7de1393 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:34 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:46 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - e343b27e-f003-0072-2982-49153e000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 90c34ecc-b575-11e9-b682-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:35 GMT + - Fri, 06 Sep 2019 21:58:48 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/encryptionqueued7de1393/messages + uri: https://pyacrstoraged7de1393.queue.core.windows.net/encryptionqueued7de1393/messages response: body: - string: "\uFEFFa0428b6e-0a00-4da7-a8b9-fb90b5d8dd86Fri, - 02 Aug 2019 22:33:35 GMTFri, 09 Aug 2019 22:33:35 - GMTAgAAAAMAAAAAAAAAMNZdUoJJ1QE=Fri, - 02 Aug 2019 22:33:35 GMT" + string: "\uFEFFb16cb83f-e47f-4f87-abed-ec42aff0a7baFri, + 06 Sep 2019 21:58:47 GMTFri, 13 Sep 2019 21:58:47 + GMTAgAAAAMAAAAAAAAAQ7cRQv5k1QE=Fri, + 06 Sep 2019 21:58:47 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:34 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:46 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - e343b29d-f003-0072-4682-49153e000000 x-ms-version: - '2018-03-28' status: @@ -96,38 +88,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 90cf55b8-b575-11e9-9682-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:35 GMT + - Fri, 06 Sep 2019 21:58:48 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/encryptionqueued7de1393/messages + uri: https://pyacrstoraged7de1393.queue.core.windows.net/encryptionqueued7de1393/messages response: body: - string: "\uFEFFa0428b6e-0a00-4da7-a8b9-fb90b5d8dd86Fri, - 02 Aug 2019 22:33:35 GMTFri, 09 Aug 2019 22:33:35 - GMTAgAAAAMAAAAAAAAAERRLZIJJ1QE=Fri, - 02 Aug 2019 22:34:05 GMT1message" + string: "\uFEFFb16cb83f-e47f-4f87-abed-ec42aff0a7baFri, + 06 Sep 2019 21:58:47 GMTFri, 13 Sep 2019 21:58:47 + GMTAgAAAAMAAAAAAAAAjcIEVP5k1QE=Fri, + 06 Sep 2019 21:59:17 GMT1message" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:34 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:46 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - e343b2b4-f003-0072-5d82-49153e000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_invalid_value_kek_unwrap.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_invalid_value_kek_unwrap.yaml index a0d52dc48784..78ef3b468a69 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_invalid_value_kek_unwrap.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_invalid_value_kek_unwrap.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 910088e2-b575-11e9-905d-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:36 GMT + - Fri, 06 Sep 2019 21:59:17 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueue29091535 + uri: https://pyacrstorage29091535.queue.core.windows.net/encryptionqueue29091535 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:35 GMT - Server: + date: + - Fri, 06 Sep 2019 21:59:15 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - d95d0f01-9003-004b-4c82-49559a000000 x-ms-version: - '2018-03-28' status: @@ -42,11 +38,11 @@ interactions: - request: body: ' - {"EncryptedMessageContents": "21AXMJOJvfMhSiND/kXwMA==", - "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "v2+zG/UVB0aV2tcj7PskklSyHh5WSAISJn+dGdkJ5RM1mrX0K8hgFQ==", + {"EncryptedMessageContents": "xFhhWZJ7TgnxhROPgcLFMQ==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ePIXGecXl9maQpskCnOPxXkJCST0O8e/bk46g2Gpvk5WzW1brN8KiA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "nUcyVfCk9djlphrwtM8Fqw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b1"}}}' + "AES_CBC_256"}, "ContentEncryptionIV": "qoaQLLt9/BBznuAT+yIFAw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' headers: Accept: - application/xml @@ -59,32 +55,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 912efb74-b575-11e9-8f72-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:36 GMT + - Fri, 06 Sep 2019 21:59:17 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/encryptionqueue29091535/messages + uri: https://pyacrstorage29091535.queue.core.windows.net/encryptionqueue29091535/messages response: body: - string: "\uFEFF705bd315-58aa-4454-8b0d-b35bec2d748eFri, - 02 Aug 2019 22:33:36 GMTFri, 09 Aug 2019 22:33:36 - GMTAgAAAAMAAAAAAAAAN8fLUoJJ1QE=Fri, - 02 Aug 2019 22:33:36 GMT" + string: "\uFEFFf012c464-c7b2-4648-a116-1ebc2d2cc9a9Fri, + 06 Sep 2019 21:59:16 GMTFri, 13 Sep 2019 21:59:16 + GMTAgAAAAMAAAAAAAAA7OFvU/5k1QE=Fri, + 06 Sep 2019 21:59:16 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:35 GMT - Server: + date: + - Fri, 06 Sep 2019 21:59:15 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - d95d0f04-9003-004b-4d82-49559a000000 x-ms-version: - '2018-03-28' status: @@ -100,42 +92,36 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 913cf530-b575-11e9-ab6f-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:36 GMT + - Fri, 06 Sep 2019 21:59:17 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/encryptionqueue29091535/messages?peekonly=true + uri: https://pyacrstorage29091535.queue.core.windows.net/encryptionqueue29091535/messages?peekonly=true response: body: - string: "\uFEFF705bd315-58aa-4454-8b0d-b35bec2d748eFri, - 02 Aug 2019 22:33:36 GMTFri, 09 Aug 2019 22:33:36 + string: "\uFEFFf012c464-c7b2-4648-a116-1ebc2d2cc9a9Fri, + 06 Sep 2019 21:59:16 GMTFri, 13 Sep 2019 21:59:16 GMT0{\"EncryptedMessageContents\": - \"21AXMJOJvfMhSiND/kXwMA==\", \"EncryptionData\": {\"WrappedContentKey\": - {\"KeyId\": \"key1\", \"EncryptedKey\": \"v2+zG/UVB0aV2tcj7PskklSyHh5WSAISJn+dGdkJ5RM1mrX0K8hgFQ==\", + \"xFhhWZJ7TgnxhROPgcLFMQ==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"ePIXGecXl9maQpskCnOPxXkJCST0O8e/bk46g2Gpvk5WzW1brN8KiA==\", \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": - \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"nUcyVfCk9djlphrwtM8Fqw==\", \"KeyWrappingMetadata\": - {\"EncryptionLibrary\": \"Python 12.0.0b1\"}}}" + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"qoaQLLt9/BBznuAT+yIFAw==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:35 GMT - Server: + date: + - Fri, 06 Sep 2019 21:59:15 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - d95d0f0c-9003-004b-5382-49559a000000 x-ms-version: - '2018-03-28' status: @@ -151,42 +137,36 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9148d3f6-b575-11e9-a6ab-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:36 GMT + - Fri, 06 Sep 2019 21:59:17 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/encryptionqueue29091535/messages?peekonly=true + uri: https://pyacrstorage29091535.queue.core.windows.net/encryptionqueue29091535/messages?peekonly=true response: body: - string: "\uFEFF705bd315-58aa-4454-8b0d-b35bec2d748eFri, - 02 Aug 2019 22:33:36 GMTFri, 09 Aug 2019 22:33:36 + string: "\uFEFFf012c464-c7b2-4648-a116-1ebc2d2cc9a9Fri, + 06 Sep 2019 21:59:16 GMTFri, 13 Sep 2019 21:59:16 GMT0{\"EncryptedMessageContents\": - \"21AXMJOJvfMhSiND/kXwMA==\", \"EncryptionData\": {\"WrappedContentKey\": - {\"KeyId\": \"key1\", \"EncryptedKey\": \"v2+zG/UVB0aV2tcj7PskklSyHh5WSAISJn+dGdkJ5RM1mrX0K8hgFQ==\", + \"xFhhWZJ7TgnxhROPgcLFMQ==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"ePIXGecXl9maQpskCnOPxXkJCST0O8e/bk46g2Gpvk5WzW1brN8KiA==\", \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": - \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"nUcyVfCk9djlphrwtM8Fqw==\", \"KeyWrappingMetadata\": - {\"EncryptionLibrary\": \"Python 12.0.0b1\"}}}" + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"qoaQLLt9/BBznuAT+yIFAw==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:35 GMT - Server: + date: + - Fri, 06 Sep 2019 21:59:15 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - d95d0f13-9003-004b-5882-49559a000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_invalid_value_kek_wrap.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_invalid_value_kek_wrap.yaml index 126315dac990..727ef0863c67 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_invalid_value_kek_wrap.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_invalid_value_kek_wrap.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 917b1076-b575-11e9-bd8d-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:36 GMT + - Fri, 06 Sep 2019 21:58:12 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueuefee61452 + uri: https://pyacrstoragefee61452.queue.core.windows.net/encryptionqueuefee61452 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:36 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:11 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 1158aa58-e003-00a1-3f82-49aa9b000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_missing_attribute_kek_unrwap.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_missing_attribute_kek_unrwap.yaml index e63eec6bd52a..b99b6e1ee7f8 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_missing_attribute_kek_unrwap.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_missing_attribute_kek_unrwap.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 91cfb054-b575-11e9-9ade-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:37 GMT + - Fri, 06 Sep 2019 21:58:35 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueue847016ff + uri: https://pyacrstorage847016ff.queue.core.windows.net/encryptionqueue847016ff response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:37 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:33 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 4c170efe-c003-00bd-1682-49728c000000 x-ms-version: - '2018-03-28' status: @@ -42,11 +38,11 @@ interactions: - request: body: ' - {"EncryptedMessageContents": "TkM0G2rvV0E/1g7m5KmpEg==", - "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "eT7DjCN0Wq7Blu2db1PsPAMyyazHk8SuUhOKb/sOL1jewiBJ5Nu7Tg==", + {"EncryptedMessageContents": "q3ziRPTQkd1gcGSlVRwOhA==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "Ih4uBwHo9SkrmHGGiNOfpP4ZlI3iyj6yIn5tUewxu5j3fGCAPBd5nw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "sIFbFfjg4nSzVTCJwGdwLQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b1"}}}' + "AES_CBC_256"}, "ContentEncryptionIV": "VfDLzPM6dElfPDE+3CEBIg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' headers: Accept: - application/xml @@ -59,32 +55,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 920e2f1a-b575-11e9-b24f-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:37 GMT + - Fri, 06 Sep 2019 21:58:35 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/encryptionqueue847016ff/messages + uri: https://pyacrstorage847016ff.queue.core.windows.net/encryptionqueue847016ff/messages response: body: - string: "\uFEFF44255d69-2886-4b68-bc2d-2d3f030d3b5cFri, - 02 Aug 2019 22:33:37 GMTFri, 09 Aug 2019 22:33:37 - GMTAgAAAAMAAAAAAAAAP1epU4JJ1QE=Fri, - 02 Aug 2019 22:33:37 GMT" + string: "\uFEFF0ab37f8d-de39-4266-a917-959a3e974ef2Fri, + 06 Sep 2019 21:58:34 GMTFri, 13 Sep 2019 21:58:34 + GMTAgAAAAMAAAAAAAAA4hSSOv5k1QE=Fri, + 06 Sep 2019 21:58:34 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:37 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:33 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 4c170f4b-c003-00bd-6082-49728c000000 x-ms-version: - '2018-03-28' status: @@ -100,42 +92,36 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 921d8cc2-b575-11e9-b609-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:37 GMT + - Fri, 06 Sep 2019 21:58:35 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/encryptionqueue847016ff/messages?peekonly=true + uri: https://pyacrstorage847016ff.queue.core.windows.net/encryptionqueue847016ff/messages?peekonly=true response: body: - string: "\uFEFF44255d69-2886-4b68-bc2d-2d3f030d3b5cFri, - 02 Aug 2019 22:33:37 GMTFri, 09 Aug 2019 22:33:37 + string: "\uFEFF0ab37f8d-de39-4266-a917-959a3e974ef2Fri, + 06 Sep 2019 21:58:34 GMTFri, 13 Sep 2019 21:58:34 GMT0{\"EncryptedMessageContents\": - \"TkM0G2rvV0E/1g7m5KmpEg==\", \"EncryptionData\": {\"WrappedContentKey\": - {\"KeyId\": \"key1\", \"EncryptedKey\": \"eT7DjCN0Wq7Blu2db1PsPAMyyazHk8SuUhOKb/sOL1jewiBJ5Nu7Tg==\", + \"q3ziRPTQkd1gcGSlVRwOhA==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"Ih4uBwHo9SkrmHGGiNOfpP4ZlI3iyj6yIn5tUewxu5j3fGCAPBd5nw==\", \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": - \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"sIFbFfjg4nSzVTCJwGdwLQ==\", \"KeyWrappingMetadata\": - {\"EncryptionLibrary\": \"Python 12.0.0b1\"}}}" + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"VfDLzPM6dElfPDE+3CEBIg==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:37 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:33 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 4c170f8e-c003-00bd-2082-49728c000000 x-ms-version: - '2018-03-28' status: @@ -151,42 +137,36 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 92291db6-b575-11e9-b556-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:37 GMT + - Fri, 06 Sep 2019 21:58:36 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/encryptionqueue847016ff/messages?peekonly=true + uri: https://pyacrstorage847016ff.queue.core.windows.net/encryptionqueue847016ff/messages?peekonly=true response: body: - string: "\uFEFF44255d69-2886-4b68-bc2d-2d3f030d3b5cFri, - 02 Aug 2019 22:33:37 GMTFri, 09 Aug 2019 22:33:37 + string: "\uFEFF0ab37f8d-de39-4266-a917-959a3e974ef2Fri, + 06 Sep 2019 21:58:34 GMTFri, 13 Sep 2019 21:58:34 GMT0{\"EncryptedMessageContents\": - \"TkM0G2rvV0E/1g7m5KmpEg==\", \"EncryptionData\": {\"WrappedContentKey\": - {\"KeyId\": \"key1\", \"EncryptedKey\": \"eT7DjCN0Wq7Blu2db1PsPAMyyazHk8SuUhOKb/sOL1jewiBJ5Nu7Tg==\", + \"q3ziRPTQkd1gcGSlVRwOhA==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"Ih4uBwHo9SkrmHGGiNOfpP4ZlI3iyj6yIn5tUewxu5j3fGCAPBd5nw==\", \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": - \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"sIFbFfjg4nSzVTCJwGdwLQ==\", \"KeyWrappingMetadata\": - {\"EncryptionLibrary\": \"Python 12.0.0b1\"}}}" + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"VfDLzPM6dElfPDE+3CEBIg==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:37 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:33 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 4c170fca-c003-00bd-5982-49728c000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_missing_attribute_kek_wrap.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_missing_attribute_kek_wrap.yaml index fd6747d23cfb..d43f071cac07 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_missing_attribute_kek_wrap.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_missing_attribute_kek_wrap.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 925e26f0-b575-11e9-9dd6-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:38 GMT + - Fri, 06 Sep 2019 21:58:57 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueue56cd161c + uri: https://pyacrstorage56cd161c.queue.core.windows.net/encryptionqueue56cd161c response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:38 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:55 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2428390c-7003-00e0-1782-498288000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_peek_messages_encrypted_kek.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_peek_messages_encrypted_kek.yaml index 692b9d98048b..b6ffcd645582 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_peek_messages_encrypted_kek.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_peek_messages_encrypted_kek.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 92b2ff48-b575-11e9-a22f-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:38 GMT + - Fri, 06 Sep 2019 21:58:11 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueue6a6e165f + uri: https://pyacrstorage6a6e165f.queue.core.windows.net/encryptionqueue6a6e165f response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:38 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - f9d9d2c4-d003-0080-0182-49c7aa000000 x-ms-version: - '2018-03-28' status: @@ -42,11 +38,11 @@ interactions: - request: body: ' - {"EncryptedMessageContents": "TTAUhVAvo2tqKMvD5cZ0C4szV64U/Dxy+6/PqCeBsvY=", - "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "3+NdnnacHE2+SRIHJc/WIY1uV7vFfkgLS7GWSovMoQQEI87OON7dLw==", + {"EncryptedMessageContents": "MUTJhihgS3C0TjOJzKSYaDi8QOO2WREsrgbYhbEAFkA=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "uqKuRSYgzgO/Da+o5VXU41YPlhsi9acIDt7yAb8w91vptXj3zWIpfg==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "1l26Z5nRL2niRipu0pAqZQ==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b1"}}}' + "AES_CBC_256"}, "ContentEncryptionIV": "Pc1qmOwq4DbYTNCsixcQow==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' headers: Accept: - application/xml @@ -59,32 +55,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 92e6bcc0-b575-11e9-a49d-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:39 GMT + - Fri, 06 Sep 2019 21:58:11 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/encryptionqueue6a6e165f/messages + uri: https://pyacrstorage6a6e165f.queue.core.windows.net/encryptionqueue6a6e165f/messages response: body: - string: "\uFEFF1bbee816-6850-4be9-9355-15a1dccc9713Fri, - 02 Aug 2019 22:33:38 GMTFri, 09 Aug 2019 22:33:38 - GMTAgAAAAMAAAAAAAAAqBmBVIJJ1QE=Fri, - 02 Aug 2019 22:33:38 GMT" + string: "\uFEFF5e1b0765-54ad-4f79-90a4-a6ffb7b90574Fri, + 06 Sep 2019 21:58:10 GMTFri, 13 Sep 2019 21:58:10 + GMTAgAAAAMAAAAAAAAAL+8SLP5k1QE=Fri, + 06 Sep 2019 21:58:10 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:38 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - f9d9d2c9-d003-0080-0582-49c7aa000000 x-ms-version: - '2018-03-28' status: @@ -100,42 +92,36 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 92f24e68-b575-11e9-920d-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:39 GMT + - Fri, 06 Sep 2019 21:58:11 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/encryptionqueue6a6e165f/messages?peekonly=true + uri: https://pyacrstorage6a6e165f.queue.core.windows.net/encryptionqueue6a6e165f/messages?peekonly=true response: body: - string: "\uFEFF1bbee816-6850-4be9-9355-15a1dccc9713Fri, - 02 Aug 2019 22:33:38 GMTFri, 09 Aug 2019 22:33:38 + string: "\uFEFF5e1b0765-54ad-4f79-90a4-a6ffb7b90574Fri, + 06 Sep 2019 21:58:10 GMTFri, 13 Sep 2019 21:58:10 GMT0{\"EncryptedMessageContents\": - \"TTAUhVAvo2tqKMvD5cZ0C4szV64U/Dxy+6/PqCeBsvY=\", \"EncryptionData\": {\"WrappedContentKey\": - {\"KeyId\": \"key1\", \"EncryptedKey\": \"3+NdnnacHE2+SRIHJc/WIY1uV7vFfkgLS7GWSovMoQQEI87OON7dLw==\", + \"MUTJhihgS3C0TjOJzKSYaDi8QOO2WREsrgbYhbEAFkA=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"uqKuRSYgzgO/Da+o5VXU41YPlhsi9acIDt7yAb8w91vptXj3zWIpfg==\", \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": - \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"1l26Z5nRL2niRipu0pAqZQ==\", \"KeyWrappingMetadata\": - {\"EncryptionLibrary\": \"Python 12.0.0b1\"}}}" + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"Pc1qmOwq4DbYTNCsixcQow==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:38 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - f9d9d2ca-d003-0080-0682-49c7aa000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_peek_messages_encrypted_kek_RSA.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_peek_messages_encrypted_kek_RSA.yaml new file mode 100644 index 000000000000..47ca3d1248a5 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_peek_messages_encrypted_kek_RSA.yaml @@ -0,0 +1,130 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:34 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragec74317a4.queue.core.windows.net/encryptionqueuec74317a4 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:58:33 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: ' + + {"EncryptedMessageContents": "vTpESRNASH1wCsbXuwPT1f7V0DXlUh85X5PUjJ6J8EM=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key2", "EncryptedKey": "Zk/tal4ZMHJrk3EpdIQcY4GL/pJcE5WL6lEhAm9yQlKbpIsqdkQ8KDSLZMqcwS/C3QsMJHYt9nMeJFd6M3F5pVf1zMupzReZ84bThc5+/vqMZ8FoUKZxFqEzwPg5eD/D2w6Px86pisJSMuagK6bEq7rZx6KbRIpKxIHctIRKM5Z5uNHCOVBPiWB+y+Wwasi+5/xr6B8AaF9wLGDceDg9XNEbVh/eA6hDjox/ap72drUI6RWXC6W/kz2EvJz6HVygVX+GMd8Jy1Pr/P/+3WdHnn7oaZpkRXGEPL5VOAW6WhOJWtiUqK2tQybnToU91VU4vxJK2GIzdy6Gioq6d5320A==", + "Algorithm": "RSA"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "5fQ7MvMWvBK1r1cQp29VSA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '809' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:58:34 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstoragec74317a4.queue.core.windows.net/encryptionqueuec74317a4/messages + response: + body: + string: "\uFEFF31509c36-4f3a-469b-a1b2-6e6449862643Fri, + 06 Sep 2019 21:58:33 GMTFri, 13 Sep 2019 21:58:33 + GMTAgAAAAMAAAAAAAAA/5YAOv5k1QE=Fri, + 06 Sep 2019 21:58:33 GMT" + headers: + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:58:33 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:35 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragec74317a4.queue.core.windows.net/encryptionqueuec74317a4/messages?peekonly=true + response: + body: + string: "\uFEFF31509c36-4f3a-469b-a1b2-6e6449862643Fri, + 06 Sep 2019 21:58:33 GMTFri, 13 Sep 2019 21:58:33 + GMT0{\"EncryptedMessageContents\": + \"vTpESRNASH1wCsbXuwPT1f7V0DXlUh85X5PUjJ6J8EM=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key2\", \"EncryptedKey\": \"Zk/tal4ZMHJrk3EpdIQcY4GL/pJcE5WL6lEhAm9yQlKbpIsqdkQ8KDSLZMqcwS/C3QsMJHYt9nMeJFd6M3F5pVf1zMupzReZ84bThc5+/vqMZ8FoUKZxFqEzwPg5eD/D2w6Px86pisJSMuagK6bEq7rZx6KbRIpKxIHctIRKM5Z5uNHCOVBPiWB+y+Wwasi+5/xr6B8AaF9wLGDceDg9XNEbVh/eA6hDjox/ap72drUI6RWXC6W/kz2EvJz6HVygVX+GMd8Jy1Pr/P/+3WdHnn7oaZpkRXGEPL5VOAW6WhOJWtiUqK2tQybnToU91VU4vxJK2GIzdy6Gioq6d5320A==\", + \"Algorithm\": \"RSA\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"5fQ7MvMWvBK1r1cQp29VSA==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:58:33 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_peek_messages_encrypted_resolver.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_peek_messages_encrypted_resolver.yaml index bc1f1a3e0ac2..75486d25c9e7 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_peek_messages_encrypted_resolver.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_peek_messages_encrypted_resolver.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 93297ff4-b575-11e9-abc9-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:39 GMT + - Fri, 06 Sep 2019 21:58:14 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueuee12a1896 + uri: https://pyacrstoragee12a1896.queue.core.windows.net/encryptionqueuee12a1896 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:39 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:13 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 2a2dc6cb-0003-0023-2c82-490bcb000000 x-ms-version: - '2018-03-28' status: @@ -42,11 +38,11 @@ interactions: - request: body: ' - {"EncryptedMessageContents": "Tme2GBQgu8BAbPQTs3Wp7jUvBL9w8iRz8AcVPTqSZ3g=", - "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "/TH5ZM01Nb+fC+BvFLUArLwI6+EG695nQSy3OBRvwESgrVE3VnVT1Q==", + {"EncryptedMessageContents": "Rk8nAMecT15Nc4XC0IGTgn/IHeYCFYK7xL8o9tfxxiA=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "RCwNXlS8H5LwsMQHrU08GVHN6FqmX3VnyjKnOuFxlFE9YfQWuRrpvA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "Lp3cYLDz75NQjDIO5MOrPw==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b1"}}}' + "AES_CBC_256"}, "ContentEncryptionIV": "64T3PEfHRlLg3zzThmzTnQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' headers: Accept: - application/xml @@ -59,32 +55,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 935553f8-b575-11e9-adbd-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:39 GMT + - Fri, 06 Sep 2019 21:58:15 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/encryptionqueuee12a1896/messages + uri: https://pyacrstoragee12a1896.queue.core.windows.net/encryptionqueuee12a1896/messages response: body: - string: "\uFEFF56e6a8e0-4783-436e-8ab6-c523936d513eFri, - 02 Aug 2019 22:33:39 GMTFri, 09 Aug 2019 22:33:39 - GMTAgAAAAMAAAAAAAAATBzwVIJJ1QE=Fri, - 02 Aug 2019 22:33:39 GMT" + string: "\uFEFFbae32840-30ff-43b3-90fa-72d9ca307b9cFri, + 06 Sep 2019 21:58:13 GMTFri, 13 Sep 2019 21:58:13 + GMTAgAAAAMAAAAAAAAAmflJLv5k1QE=Fri, + 06 Sep 2019 21:58:13 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:39 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:13 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 2a2dc6d7-0003-0023-3382-490bcb000000 x-ms-version: - '2018-03-28' status: @@ -100,42 +92,36 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9361500c-b575-11e9-91f0-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:39 GMT + - Fri, 06 Sep 2019 21:58:15 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/encryptionqueuee12a1896/messages?peekonly=true + uri: https://pyacrstoragee12a1896.queue.core.windows.net/encryptionqueuee12a1896/messages?peekonly=true response: body: - string: "\uFEFF56e6a8e0-4783-436e-8ab6-c523936d513eFri, - 02 Aug 2019 22:33:39 GMTFri, 09 Aug 2019 22:33:39 + string: "\uFEFFbae32840-30ff-43b3-90fa-72d9ca307b9cFri, + 06 Sep 2019 21:58:13 GMTFri, 13 Sep 2019 21:58:13 GMT0{\"EncryptedMessageContents\": - \"Tme2GBQgu8BAbPQTs3Wp7jUvBL9w8iRz8AcVPTqSZ3g=\", \"EncryptionData\": {\"WrappedContentKey\": - {\"KeyId\": \"key1\", \"EncryptedKey\": \"/TH5ZM01Nb+fC+BvFLUArLwI6+EG695nQSy3OBRvwESgrVE3VnVT1Q==\", + \"Rk8nAMecT15Nc4XC0IGTgn/IHeYCFYK7xL8o9tfxxiA=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"RCwNXlS8H5LwsMQHrU08GVHN6FqmX3VnyjKnOuFxlFE9YfQWuRrpvA==\", \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": - \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"Lp3cYLDz75NQjDIO5MOrPw==\", \"KeyWrappingMetadata\": - {\"EncryptionLibrary\": \"Python 12.0.0b1\"}}}" + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"64T3PEfHRlLg3zzThmzTnQ==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:39 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:13 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 2a2dc6d8-0003-0023-3482-490bcb000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_put_with_strict_mode.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_put_with_strict_mode.yaml index 622ceb549feb..679a75da3dc5 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_put_with_strict_mode.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_put_with_strict_mode.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9397942e-b575-11e9-911b-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:40 GMT + - Fri, 06 Sep 2019 21:58:38 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueued9c213ac + uri: https://pyacrstoraged9c213ac.queue.core.windows.net/encryptionqueued9c213ac response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:39 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:35 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - a5d25220-b003-0018-0f82-494995000000 x-ms-version: - '2018-03-28' status: @@ -42,11 +38,11 @@ interactions: - request: body: ' - {"EncryptedMessageContents": "5NlCdT+tgTpay2se07elcA==", - "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "RvftDB/hjXAY2j8/fb2A15c9HqpzBBkZTmqvLj5+9rcUZXvQGZb3Kw==", + {"EncryptedMessageContents": "4qkzW94p73xf+3njA6WH/Q==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "zpG2ngx+j9mxBSaUsKx2lByyn9/zHAb7tA/aAba68mR4kHLrL9zVCA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "eHXJIM4ciy0slawWTY88+g==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b1"}}}' + "AES_CBC_256"}, "ContentEncryptionIV": "s3ydAOk7mt++CyrppxfzIQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' headers: Accept: - application/xml @@ -59,32 +55,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 93c75e18-b575-11e9-9614-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:40 GMT + - Fri, 06 Sep 2019 21:58:38 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/encryptionqueued9c213ac/messages + uri: https://pyacrstoraged9c213ac.queue.core.windows.net/encryptionqueued9c213ac/messages response: body: - string: "\uFEFFec348bab-d30d-48a2-8da7-010685d53dc1Fri, - 02 Aug 2019 22:33:40 GMTFri, 09 Aug 2019 22:33:40 - GMTAgAAAAMAAAAAAAAAJxthVYJJ1QE=Fri, - 02 Aug 2019 22:33:40 GMT" + string: "\uFEFF00421ac6-be37-43c0-ba36-4c0426084243Fri, + 06 Sep 2019 21:58:36 GMTFri, 13 Sep 2019 21:58:36 + GMTAgAAAAMAAAAAAAAAIQcSPP5k1QE=Fri, + 06 Sep 2019 21:58:36 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:39 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:35 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - a5d25228-b003-0018-1382-494995000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_binary_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_binary_message.yaml index 9886634b8d14..5324deb5855a 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_binary_message.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_binary_message.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 93f9bc34-b575-11e9-8c14-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:40 GMT + - Fri, 06 Sep 2019 21:58:23 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueuec9ae1814 + uri: https://pyacrstoragec9ae1814.queue.core.windows.net/encryptionqueuec9ae1814 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:40 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:21 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 6dc1e899-9003-0004-3982-499182000000 x-ms-version: - '2018-03-28' status: @@ -42,11 +38,11 @@ interactions: - request: body: ' - {"EncryptedMessageContents": "ADaPVDUuyGcBsCBGdrzsr6sDsRyM4s02GxHHRXTdCKoCrbn/vFxs3Ko65YDB7ljZjNZeJIjLcjAMtSjS9I7/cDFanQ3w8NAPeSdFdSdH/KAv2L+JXMrymDVY/e0u52VoYwjT6DzX4zxUakpos0TbQaly3nSsCYViig+vVQkqxEOor+Ga1jXzfJ/bJlDgZ6fY", - "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "+hYdxFv+PEovRiIgpeQ6//FksCqhxmJ5Wo/XStlsh5b2iSrXu6INdA==", + {"EncryptedMessageContents": "W6SvhGmSZT7dpVBJe+gYPluOEdFgkJ+haJZ8PExtUEyGEy/Y/Xvhn3LwgoNFoglj8LNtJOYTE0zT9I34QzeTxc5W2uLHy35scD3nHUAKHCDu+E1tY2a1UNi5TqL7QCOfmtnXJ6TYibVMIc3OgU8eh1qkUKxUVZ/0thgp1VCkZ70DXJLw5OTEYgsoj6xsrIgm", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "oWNRLFGgFiuF5fjaBgO9qQwlJ2HTqlHx9Nf3Ziiwuzaz/lRFV4rYwA==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "Hy0KHCUXrg5x/1vmxIFOmg==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b1"}}}' + "AES_CBC_256"}, "ContentEncryptionIV": "8Ugm5QDUYaJ2c4ihGBwrhA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' headers: Accept: - application/xml @@ -59,32 +55,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 942a51fa-b575-11e9-bb70-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:41 GMT + - Fri, 06 Sep 2019 21:58:24 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/encryptionqueuec9ae1814/messages + uri: https://pyacrstoragec9ae1814.queue.core.windows.net/encryptionqueuec9ae1814/messages response: body: - string: "\uFEFF59d9be54-2327-42f7-a7f7-a318c1ccbe88Fri, - 02 Aug 2019 22:33:41 GMTFri, 09 Aug 2019 22:33:41 - GMTAgAAAAMAAAAAAAAAprvFVYJJ1QE=Fri, - 02 Aug 2019 22:33:41 GMT" + string: "\uFEFF6945d4f6-d4af-460a-b6f8-0860d759e8a3Fri, + 06 Sep 2019 21:58:22 GMTFri, 13 Sep 2019 21:58:22 + GMTAgAAAAMAAAAAAAAA422XM/5k1QE=Fri, + 06 Sep 2019 21:58:22 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:40 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:21 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 6dc1e8ac-9003-0004-4882-499182000000 x-ms-version: - '2018-03-28' status: @@ -100,44 +92,77 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9436f39a-b575-11e9-9976-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:41 GMT + - Fri, 06 Sep 2019 21:58:24 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/encryptionqueuec9ae1814/messages + uri: https://pyacrstoragec9ae1814.queue.core.windows.net/encryptionqueuec9ae1814/messages response: body: - string: "\uFEFF59d9be54-2327-42f7-a7f7-a318c1ccbe88Fri, - 02 Aug 2019 22:33:41 GMTFri, 09 Aug 2019 22:33:41 - GMTAgAAAAMAAAAAAAAAgae0Z4JJ1QE=Fri, - 02 Aug 2019 22:34:11 GMT1{\"EncryptedMessageContents\": - \"ADaPVDUuyGcBsCBGdrzsr6sDsRyM4s02GxHHRXTdCKoCrbn/vFxs3Ko65YDB7ljZjNZeJIjLcjAMtSjS9I7/cDFanQ3w8NAPeSdFdSdH/KAv2L+JXMrymDVY/e0u52VoYwjT6DzX4zxUakpos0TbQaly3nSsCYViig+vVQkqxEOor+Ga1jXzfJ/bJlDgZ6fY\", + string: "\uFEFF6945d4f6-d4af-460a-b6f8-0860d759e8a3Fri, + 06 Sep 2019 21:58:22 GMTFri, 13 Sep 2019 21:58:22 + GMTAgAAAAMAAAAAAAAA6PmERf5k1QE=Fri, + 06 Sep 2019 21:58:52 GMT1{\"EncryptedMessageContents\": + \"W6SvhGmSZT7dpVBJe+gYPluOEdFgkJ+haJZ8PExtUEyGEy/Y/Xvhn3LwgoNFoglj8LNtJOYTE0zT9I34QzeTxc5W2uLHy35scD3nHUAKHCDu+E1tY2a1UNi5TqL7QCOfmtnXJ6TYibVMIc3OgU8eh1qkUKxUVZ/0thgp1VCkZ70DXJLw5OTEYgsoj6xsrIgm\", \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": - \"+hYdxFv+PEovRiIgpeQ6//FksCqhxmJ5Wo/XStlsh5b2iSrXu6INdA==\", \"Algorithm\": + \"oWNRLFGgFiuF5fjaBgO9qQwlJ2HTqlHx9Nf3Ziiwuzaz/lRFV4rYwA==\", \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": - \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"Hy0KHCUXrg5x/1vmxIFOmg==\", \"KeyWrappingMetadata\": - {\"EncryptionLibrary\": \"Python 12.0.0b1\"}}}" + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"8Ugm5QDUYaJ2c4ihGBwrhA==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:58:22 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:24 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragec9ae1814.queue.core.windows.net/encryptionqueuec9ae1814/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: + - no-cache + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:40 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:22 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 6dc1e8b4-9003-0004-4e82-499182000000 x-ms-version: - '2018-03-28' status: @@ -146,11 +171,11 @@ interactions: - request: body: ' - {"EncryptedMessageContents": "eV+kqANlXO82EYl0AGiDcVAeo+0Cf0B2Qseq+M22/rWjMVkLr2T22Zo4EIyQFCZvNRwLz3uUCqzCcmv0YwB9D9lb/ijZTj8DwuFJCrPUpquO6MFWd1zxp48SzFaDTLILb0hPg54H7qF5osMUVegna5N4Q2sWRF+Chk/VFz+5UqZs5JKqfiQJG+ov8W7lFwSA", - "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "sYJ3ZZUvjwFIwsjKULJGemKLcAsMeU3W7XBB2cNL4+tNE77f+WP03A==", + {"EncryptedMessageContents": "hdnmNdYAFRUFb4MLhuj/K1sCL+HJ46A5Uc99q9+GWVuVmyTuEoB+P7k75QAnXGwybDnNo5JoucEttPXpBXmFZ+S4Ya2QVtzFizwwsqCipF/8ZFI3LASyo9+dRVybdLOFOpQliHLEE/htS5doGPjZsJLHQJtUjnqqMYOL8pmFvnNy99xiKDXtXE4xLMJRzSAK", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "cAR/rdkI5JEUqyXkvBM8UVLvi98lTivTHaYvmJxrbZHRWgOE1B9c4Q==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "LSiuO+JDXrMAkRit9mn4Bg==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b1"}}}' + "AES_CBC_256"}, "ContentEncryptionIV": "2fbN28srs/nq7co1YGbmxQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' headers: Accept: - '*/*' @@ -163,31 +188,27 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9444cce8-b575-11e9-99ea-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:41 GMT + - Fri, 06 Sep 2019 21:58:24 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueuec9ae1814/messages/59d9be54-2327-42f7-a7f7-a318c1ccbe88?popreceipt=AgAAAAMAAAAAAAAAgae0Z4JJ1QE%3D&visibilitytimeout=0 + uri: https://pyacrstoragec9ae1814.queue.core.windows.net/encryptionqueuec9ae1814/messages/6945d4f6-d4af-460a-b6f8-0860d759e8a3?popreceipt=AgAAAAMAAAAAAAAA6PmERf5k1QE%3D&visibilitytimeout=0 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:40 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:22 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-popreceipt: - - AwAAAAMAAAAAAAAANa3hVYJJ1QEBAAAA - x-ms-request-id: - - 6dc1e8bc-9003-0004-5582-499182000000 + - AwAAAAMAAAAAAAAA//O3M/5k1QEBAAAA x-ms-time-next-visible: - - Fri, 02 Aug 2019 22:33:41 GMT + - Fri, 06 Sep 2019 21:58:22 GMT x-ms-version: - '2018-03-28' status: @@ -203,44 +224,77 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 945367a8-b575-11e9-8749-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:41 GMT + - Fri, 06 Sep 2019 21:58:24 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/encryptionqueuec9ae1814/messages + uri: https://pyacrstoragec9ae1814.queue.core.windows.net/encryptionqueuec9ae1814/messages response: body: - string: "\uFEFF59d9be54-2327-42f7-a7f7-a318c1ccbe88Fri, - 02 Aug 2019 22:33:41 GMTFri, 09 Aug 2019 22:33:41 - GMTAgAAAAMAAAAAAAAAwdHRZ4JJ1QE=Fri, - 02 Aug 2019 22:34:11 GMT2{\"EncryptedMessageContents\": - \"eV+kqANlXO82EYl0AGiDcVAeo+0Cf0B2Qseq+M22/rWjMVkLr2T22Zo4EIyQFCZvNRwLz3uUCqzCcmv0YwB9D9lb/ijZTj8DwuFJCrPUpquO6MFWd1zxp48SzFaDTLILb0hPg54H7qF5osMUVegna5N4Q2sWRF+Chk/VFz+5UqZs5JKqfiQJG+ov8W7lFwSA\", + string: "\uFEFF6945d4f6-d4af-460a-b6f8-0860d759e8a3Fri, + 06 Sep 2019 21:58:22 GMTFri, 13 Sep 2019 21:58:22 + GMTAgAAAAMAAAAAAAAARqOnRf5k1QE=Fri, + 06 Sep 2019 21:58:53 GMT2{\"EncryptedMessageContents\": + \"hdnmNdYAFRUFb4MLhuj/K1sCL+HJ46A5Uc99q9+GWVuVmyTuEoB+P7k75QAnXGwybDnNo5JoucEttPXpBXmFZ+S4Ya2QVtzFizwwsqCipF/8ZFI3LASyo9+dRVybdLOFOpQliHLEE/htS5doGPjZsJLHQJtUjnqqMYOL8pmFvnNy99xiKDXtXE4xLMJRzSAK\", \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": - \"sYJ3ZZUvjwFIwsjKULJGemKLcAsMeU3W7XBB2cNL4+tNE77f+WP03A==\", \"Algorithm\": + \"cAR/rdkI5JEUqyXkvBM8UVLvi98lTivTHaYvmJxrbZHRWgOE1B9c4Q==\", \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": - \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"LSiuO+JDXrMAkRit9mn4Bg==\", \"KeyWrappingMetadata\": - {\"EncryptionLibrary\": \"Python 12.0.0b1\"}}}" + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"2fbN28srs/nq7co1YGbmxQ==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:58:22 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:24 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragec9ae1814.queue.core.windows.net/encryptionqueuec9ae1814/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: + - no-cache + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:40 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:22 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 6dc1e8c8-9003-0004-5e82-499182000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_json_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_json_message.yaml new file mode 100644 index 000000000000..dcec50212fb3 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_json_message.yaml @@ -0,0 +1,223 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:52 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage9a7c1749.queue.core.windows.net/encryptionqueue9a7c1749 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:58:51 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: ' + + {"EncryptedMessageContents": "f/bFSCQLLZaNrVbtZvQ+/B8Eel+PYTTs/8QMbqFA4vw=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "2CjJtENwzvmFPLBTNYiG5Th/IZepMPSSlkZy2hd3Vt29tyVr7nBlvQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "JvHZMspum/F57Hxc/xjXPQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '524' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:58:53 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage9a7c1749.queue.core.windows.net/encryptionqueue9a7c1749/messages + response: + body: + string: "\uFEFFb4e1fb0b-6f98-4574-81aa-10e7af9be125Fri, + 06 Sep 2019 21:58:51 GMTFri, 13 Sep 2019 21:58:51 + GMTAgAAAAMAAAAAAAAAanAIRf5k1QE=Fri, + 06 Sep 2019 21:58:51 GMT" + headers: + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:58:51 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:53 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage9a7c1749.queue.core.windows.net/encryptionqueue9a7c1749/messages + response: + body: + string: "\uFEFFb4e1fb0b-6f98-4574-81aa-10e7af9be125Fri, + 06 Sep 2019 21:58:51 GMTFri, 13 Sep 2019 21:58:51 + GMTAgAAAAMAAAAAAAAAQZ30Vv5k1QE=Fri, + 06 Sep 2019 21:59:22 GMT1{\"EncryptedMessageContents\": + \"f/bFSCQLLZaNrVbtZvQ+/B8Eel+PYTTs/8QMbqFA4vw=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"2CjJtENwzvmFPLBTNYiG5Th/IZepMPSSlkZy2hd3Vt29tyVr7nBlvQ==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"JvHZMspum/F57Hxc/xjXPQ==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:58:51 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +- request: + body: ' + + {"EncryptedMessageContents": "z56bMLkUUg2acjd6nUwFKQHbRwZYehVcMpAZdoBLtzs=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "48IgElvULrBkhzrUC6syIngvBNI6065ozQi1P2Vc8KSwbs4Wl8a7Fw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "MFqqBGkdS3HiOD/YUOBxMA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '524' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:58:53 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage9a7c1749.queue.core.windows.net/encryptionqueue9a7c1749/messages/b4e1fb0b-6f98-4574-81aa-10e7af9be125?popreceipt=AgAAAAMAAAAAAAAAQZ30Vv5k1QE%3D&visibilitytimeout=0 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:58:51 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: + - AwAAAAMAAAAAAAAAXfkdRf5k1QEBAAAA + x-ms-time-next-visible: + - Fri, 06 Sep 2019 21:58:52 GMT + x-ms-version: + - '2018-03-28' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:53 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage9a7c1749.queue.core.windows.net/encryptionqueue9a7c1749/messages + response: + body: + string: "\uFEFFb4e1fb0b-6f98-4574-81aa-10e7af9be125Fri, + 06 Sep 2019 21:58:51 GMTFri, 13 Sep 2019 21:58:51 + GMTAgAAAAMAAAAAAAAAeyIMV/5k1QE=Fri, + 06 Sep 2019 21:59:22 GMT2{\"EncryptedMessageContents\": + \"z56bMLkUUg2acjd6nUwFKQHbRwZYehVcMpAZdoBLtzs=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"48IgElvULrBkhzrUC6syIngvBNI6065ozQi1P2Vc8KSwbs4Wl8a7Fw==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"MFqqBGkdS3HiOD/YUOBxMA==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:58:51 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_message.yaml new file mode 100644 index 000000000000..0c10954761fb --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_message.yaml @@ -0,0 +1,223 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:23 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage29f01530.queue.core.windows.net/encryptionqueue29f01530 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:58:21 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: ' + + {"EncryptedMessageContents": "ogOc9fZ2F8QkKdUFBhGM6Q==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "egaszyWmZv4iVB8B4Cmx5aB4VuoJhU+FxPN4GfE3Zq1ubjA1fjcsDg==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "GEDyal6GaaMcAa1/aeTY1A==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '504' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:58:23 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage29f01530.queue.core.windows.net/encryptionqueue29f01530/messages + response: + body: + string: "\uFEFF49d37796-66a8-4bf7-ba64-445b2abed668Fri, + 06 Sep 2019 21:58:22 GMTFri, 13 Sep 2019 21:58:22 + GMTAgAAAAMAAAAAAAAA3kA0M/5k1QE=Fri, + 06 Sep 2019 21:58:22 GMT" + headers: + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:58:21 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:23 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage29f01530.queue.core.windows.net/encryptionqueue29f01530/messages + response: + body: + string: "\uFEFF49d37796-66a8-4bf7-ba64-445b2abed668Fri, + 06 Sep 2019 21:58:22 GMTFri, 13 Sep 2019 21:58:22 + GMTAgAAAAMAAAAAAAAAq9AfRf5k1QE=Fri, + 06 Sep 2019 21:58:52 GMT1{\"EncryptedMessageContents\": + \"ogOc9fZ2F8QkKdUFBhGM6Q==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"egaszyWmZv4iVB8B4Cmx5aB4VuoJhU+FxPN4GfE3Zq1ubjA1fjcsDg==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"GEDyal6GaaMcAa1/aeTY1A==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:58:21 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +- request: + body: ' + + {"EncryptedMessageContents": "ENAWW2XCvFfIk2Q2cGVdJg==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "fcTjMhzkm2vV71iDpzMki9gimv+eXSRpWxkr5u+Qm8rIeiG+K4OUkg==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "wjiPzcl9zFOGyMMsixfflg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '504' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:58:23 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage29f01530.queue.core.windows.net/encryptionqueue29f01530/messages/49d37796-66a8-4bf7-ba64-445b2abed668?popreceipt=AgAAAAMAAAAAAAAAq9AfRf5k1QE%3D&visibilitytimeout=0 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:58:21 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: + - AwAAAAMAAAAAAAAAM1NJM/5k1QEBAAAA + x-ms-time-next-visible: + - Fri, 06 Sep 2019 21:58:22 GMT + x-ms-version: + - '2018-03-28' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:23 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage29f01530.queue.core.windows.net/encryptionqueue29f01530/messages + response: + body: + string: "\uFEFF49d37796-66a8-4bf7-ba64-445b2abed668Fri, + 06 Sep 2019 21:58:22 GMTFri, 13 Sep 2019 21:58:22 + GMTAgAAAAMAAAAAAAAABOM0Rf5k1QE=Fri, + 06 Sep 2019 21:58:52 GMT2{\"EncryptedMessageContents\": + \"ENAWW2XCvFfIk2Q2cGVdJg==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"fcTjMhzkm2vV71iDpzMki9gimv+eXSRpWxkr5u+Qm8rIeiG+K4OUkg==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"wjiPzcl9zFOGyMMsixfflg==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:58:21 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_raw_text_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_raw_text_message.yaml new file mode 100644 index 000000000000..50d66d6221b6 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_update_encrypted_raw_text_message.yaml @@ -0,0 +1,223 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:51 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragefc3a18fd.queue.core.windows.net/encryptionqueuefc3a18fd + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:58:49 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: ' + + {"EncryptedMessageContents": "V9HK+QcwrIwXCyo8FyJaPg==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "7a13E5dTcwPEDjRPlOoyulBhTSMYiLncB3Dv5lfSN6P9FQTT4p2IMA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "c4pNwKcyG8/3Jhypb6HJuQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '504' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:58:51 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstoragefc3a18fd.queue.core.windows.net/encryptionqueuefc3a18fd/messages + response: + body: + string: "\uFEFF12932d67-5c00-47f6-ae90-9f0b1ca20fe3Fri, + 06 Sep 2019 21:58:50 GMTFri, 13 Sep 2019 21:58:50 + GMTAgAAAAMAAAAAAAAApwQRRP5k1QE=Fri, + 06 Sep 2019 21:58:50 GMT" + headers: + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:58:49 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:51 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragefc3a18fd.queue.core.windows.net/encryptionqueuefc3a18fd/messages + response: + body: + string: "\uFEFF12932d67-5c00-47f6-ae90-9f0b1ca20fe3Fri, + 06 Sep 2019 21:58:50 GMTFri, 13 Sep 2019 21:58:50 + GMTAgAAAAMAAAAAAAAAnbv8Vf5k1QE=Fri, + 06 Sep 2019 21:59:20 GMT1{\"EncryptedMessageContents\": + \"V9HK+QcwrIwXCyo8FyJaPg==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"7a13E5dTcwPEDjRPlOoyulBhTSMYiLncB3Dv5lfSN6P9FQTT4p2IMA==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"c4pNwKcyG8/3Jhypb6HJuQ==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:58:49 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +- request: + body: ' + + {"EncryptedMessageContents": "MsxurYU5qi+K6NBCh3/t+w==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "2FBhqhDtqbh3MXv3lLUWCV5SwN9+GudmL5ECiGPNqDGibXVfbtbF8g==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "b7DjSsx1LmW9rKGDSTcJcA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '504' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:58:51 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragefc3a18fd.queue.core.windows.net/encryptionqueuefc3a18fd/messages/12932d67-5c00-47f6-ae90-9f0b1ca20fe3?popreceipt=AgAAAAMAAAAAAAAAnbv8Vf5k1QE%3D&visibilitytimeout=0 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 21:58:49 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: + - AwAAAAMAAAAAAAAAxXolRP5k1QEBAAAA + x-ms-time-next-visible: + - Fri, 06 Sep 2019 21:58:50 GMT + x-ms-version: + - '2018-03-28' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:52 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragefc3a18fd.queue.core.windows.net/encryptionqueuefc3a18fd/messages + response: + body: + string: "\uFEFF12932d67-5c00-47f6-ae90-9f0b1ca20fe3Fri, + 06 Sep 2019 21:58:50 GMTFri, 13 Sep 2019 21:58:50 + GMTAgAAAAMAAAAAAAAAy1gRVv5k1QE=Fri, + 06 Sep 2019 21:59:20 GMT2{\"EncryptedMessageContents\": + \"MsxurYU5qi+K6NBCh3/t+w==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"2FBhqhDtqbh3MXv3lLUWCV5SwN9+GudmL5ECiGPNqDGibXVfbtbF8g==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"b7DjSsx1LmW9rKGDSTcJcA==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:58:50 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_validate_encryption.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_validate_encryption.yaml index 17a4dfe087aa..2712ab67e15e 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_validate_encryption.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption.test_validate_encryption.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 94b15728-b575-11e9-9955-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:42 GMT + - Fri, 06 Sep 2019 21:58:26 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/encryptionqueuec34e1330 + uri: https://pyacrstoragec34e1330.queue.core.windows.net/encryptionqueuec34e1330 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:41 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:26 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - c48c3bde-f003-009c-7082-491fbd000000 x-ms-version: - '2018-03-28' status: @@ -42,11 +38,11 @@ interactions: - request: body: ' - {"EncryptedMessageContents": "1q7HPs41XoFUlPEgMSRxBQ==", - "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "mH5HVI20jlPfCvmooK0mxrRb+nFjGaf5aBDTwOT8dCGTUa7fK8sfrw==", + {"EncryptedMessageContents": "mCUTlfd7B7a9pzaYcReTDg==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "KK329EKZiy0vvy7QEwIq6D3lwomwEgzGQ+4Eaz5CNrP/OR8ehwvZnw==", "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": - "AES_CBC_256"}, "ContentEncryptionIV": "FxuaSmvm9RNdg1tDCf7o0w==", "KeyWrappingMetadata": - {"EncryptionLibrary": "Python 12.0.0b1"}}}' + "AES_CBC_256"}, "ContentEncryptionIV": "pzfgji7Sad0TChMOmjjdjA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' headers: Accept: - application/xml @@ -59,32 +55,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 94e8faae-b575-11e9-8635-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:42 GMT + - Fri, 06 Sep 2019 21:58:28 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/encryptionqueuec34e1330/messages + uri: https://pyacrstoragec34e1330.queue.core.windows.net/encryptionqueuec34e1330/messages response: body: - string: "\uFEFF13f572c4-4bd6-45fa-bfb0-cd27a1fb0ca1Fri, - 02 Aug 2019 22:33:42 GMTFri, 09 Aug 2019 22:33:42 - GMTAgAAAAMAAAAAAAAAGYWFVoJJ1QE=Fri, - 02 Aug 2019 22:33:42 GMT" + string: "\uFEFF0ea3a9f3-8d89-4181-be30-5c26095334faFri, + 06 Sep 2019 21:58:27 GMTFri, 13 Sep 2019 21:58:27 + GMTAgAAAAMAAAAAAAAAXphrNv5k1QE=Fri, + 06 Sep 2019 21:58:27 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:41 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:26 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - c48c3bec-f003-009c-7982-491fbd000000 x-ms-version: - '2018-03-28' status: @@ -100,42 +92,36 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 94f6f9cc-b575-11e9-a114-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:42 GMT + - Fri, 06 Sep 2019 21:58:29 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/encryptionqueuec34e1330/messages?peekonly=true + uri: https://pyacrstoragec34e1330.queue.core.windows.net/encryptionqueuec34e1330/messages?peekonly=true response: body: - string: "\uFEFF13f572c4-4bd6-45fa-bfb0-cd27a1fb0ca1Fri, - 02 Aug 2019 22:33:42 GMTFri, 09 Aug 2019 22:33:42 + string: "\uFEFF0ea3a9f3-8d89-4181-be30-5c26095334faFri, + 06 Sep 2019 21:58:27 GMTFri, 13 Sep 2019 21:58:27 GMT0{\"EncryptedMessageContents\": - \"1q7HPs41XoFUlPEgMSRxBQ==\", \"EncryptionData\": {\"WrappedContentKey\": - {\"KeyId\": \"key1\", \"EncryptedKey\": \"mH5HVI20jlPfCvmooK0mxrRb+nFjGaf5aBDTwOT8dCGTUa7fK8sfrw==\", + \"mCUTlfd7B7a9pzaYcReTDg==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"KK329EKZiy0vvy7QEwIq6D3lwomwEgzGQ+4Eaz5CNrP/OR8ehwvZnw==\", \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": - \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"FxuaSmvm9RNdg1tDCf7o0w==\", \"KeyWrappingMetadata\": - {\"EncryptionLibrary\": \"Python 12.0.0b1\"}}}" + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"pzfgji7Sad0TChMOmjjdjA==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:42 GMT - Server: + date: + - Fri, 06 Sep 2019 21:58:26 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - c48c3bfb-f003-009c-0482-491fbd000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_encryption_add_encrypted_64k_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_encryption_add_encrypted_64k_message.yaml new file mode 100644 index 000000000000..a60f856ee86b --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_encryption_add_encrypted_64k_message.yaml @@ -0,0 +1,121 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:51 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorageeb1d1c31.queue.core.windows.net/encryptionqueueeb1d1c31 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:58:49 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageeb1d1c31.queue.core.windows.net + - /encryptionqueueeb1d1c31 + - '' + - '' +- request: + body: ' + + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' + headers: + Accept: + - application/xml + Content-Length: + - '65631' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:58:51 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorageeb1d1c31.queue.core.windows.net/encryptionqueueeb1d1c31/messages + response: + body: + string: "\uFEFFc35d3d1f-fdf1-49c2-ae45-cc68d0386d44Fri, + 06 Sep 2019 21:58:50 GMTFri, 13 Sep 2019 21:58:50 + GMTAgAAAAMAAAAAAAAAuasgRP5k1QE=Fri, + 06 Sep 2019 21:58:50 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageeb1d1c31.queue.core.windows.net + - /encryptionqueueeb1d1c31/messages + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "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", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ioYzj2LVgCoJPbP+2Nzugox4zbterQfW4/hFLRcpPVo4OM3eLNYesw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "GqOLRoRJ911fCOsZB4UXoA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '87884' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:58:52 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorageeb1d1c31.queue.core.windows.net/encryptionqueueeb1d1c31/messages + response: + body: + string: "\uFEFFRequestBodyTooLargeThe + request body is too large and exceeds the maximum permissible limit.\nRequestId:8a7ca1f9-9003-0073-03fe-64f17c000000\nTime:2019-09-06T21:58:50.5440672Z65536" + headers: + content-length: '286' + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:50 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-error-code: RequestBodyTooLarge + x-ms-version: '2018-03-28' + status: + code: 413 + message: The request body is too large and exceeds the maximum permissible limit. + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageeb1d1c31.queue.core.windows.net + - /encryptionqueueeb1d1c31/messages + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_encryption_nonmatching_kid.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_encryption_nonmatching_kid.yaml new file mode 100644 index 000000000000..4e6f36e14b5b --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_encryption_nonmatching_kid.yaml @@ -0,0 +1,124 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:29 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragee54e1890.queue.core.windows.net/encryptionqueuee54e1890 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:58:28 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee54e1890.queue.core.windows.net + - /encryptionqueuee54e1890 + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "J1f2YtNAS84Lz5a08uXHIQ==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "5xs6XWcMtDCbEAw/Z1HWbc9+5hfbYtIbg0XenWJNFJ0qAl9D61V0ig==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "FJ5l6bv/Zgat7mOIYSfWBg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '504' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:58:30 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstoragee54e1890.queue.core.windows.net/encryptionqueuee54e1890/messages + response: + body: + string: "\uFEFFeede400f-1e76-4e1a-a27b-c75ee91e4292Fri, + 06 Sep 2019 21:58:28 GMTFri, 13 Sep 2019 21:58:28 + GMTAgAAAAMAAAAAAAAAX/8UN/5k1QE=Fri, + 06 Sep 2019 21:58:28 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:28 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee54e1890.queue.core.windows.net + - /encryptionqueuee54e1890/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:30 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragee54e1890.queue.core.windows.net/encryptionqueuee54e1890/messages + response: + body: + string: "\uFEFFeede400f-1e76-4e1a-a27b-c75ee91e4292Fri, + 06 Sep 2019 21:58:28 GMTFri, 13 Sep 2019 21:58:28 + GMTAgAAAAMAAAAAAAAA9g/7SP5k1QE=Fri, + 06 Sep 2019 21:58:58 GMT1{\"EncryptedMessageContents\": + \"J1f2YtNAS84Lz5a08uXHIQ==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"5xs6XWcMtDCbEAw/Z1HWbc9+5hfbYtIbg0XenWJNFJ0qAl9D61V0ig==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"FJ5l6bv/Zgat7mOIYSfWBg==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:28 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee54e1890.queue.core.windows.net + - /encryptionqueuee54e1890/messages + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_messages_encrypted_kek.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_messages_encrypted_kek.yaml new file mode 100644 index 000000000000..54ef726cda52 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_messages_encrypted_kek.yaml @@ -0,0 +1,161 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:53 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragee23d1877.queue.core.windows.net/encryptionqueuee23d1877 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:58:59 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee23d1877.queue.core.windows.net + - /encryptionqueuee23d1877 + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "sO/Hzg2ndS8i0Ku7mW8p3VlAY+Dx6fTqRXSys2AQlXk=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "WsN810ech23RticHffqDTaYvJYunOuFAHken/J+DrdtHUYr1jBG2LQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "1F5qeFHWN0xCAQ/pSx9hbw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '524' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:02 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstoragee23d1877.queue.core.windows.net/encryptionqueuee23d1877/messages + response: + body: + string: "\uFEFFb4b38370-d431-4ec6-8eb0-085413cb070dFri, + 06 Sep 2019 21:59:00 GMTFri, 13 Sep 2019 21:59:00 + GMTAgAAAAMAAAAAAAAAx8VISv5k1QE=Fri, + 06 Sep 2019 21:59:00 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:00 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee23d1877.queue.core.windows.net + - /encryptionqueuee23d1877/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:02 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragee23d1877.queue.core.windows.net/encryptionqueuee23d1877/messages + response: + body: + string: "\uFEFFb4b38370-d431-4ec6-8eb0-085413cb070dFri, + 06 Sep 2019 21:59:00 GMTFri, 13 Sep 2019 21:59:00 + GMTAgAAAAMAAAAAAAAARegvXP5k1QE=Fri, + 06 Sep 2019 21:59:30 GMT1{\"EncryptedMessageContents\": + \"sO/Hzg2ndS8i0Ku7mW8p3VlAY+Dx6fTqRXSys2AQlXk=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"WsN810ech23RticHffqDTaYvJYunOuFAHken/J+DrdtHUYr1jBG2LQ==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"1F5qeFHWN0xCAQ/pSx9hbw==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:00 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee23d1877.queue.core.windows.net + - /encryptionqueuee23d1877/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:02 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragee23d1877.queue.core.windows.net/encryptionqueuee23d1877/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:00 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee23d1877.queue.core.windows.net + - /encryptionqueuee23d1877/messages + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_messages_encrypted_resolver.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_messages_encrypted_resolver.yaml new file mode 100644 index 000000000000..b6d664f6544d --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_messages_encrypted_resolver.yaml @@ -0,0 +1,161 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:40 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage63801aae.queue.core.windows.net/encryptionqueue63801aae + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:58:38 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage63801aae.queue.core.windows.net + - /encryptionqueue63801aae + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "q67La8g1jbh8UJy0GLRWT9rQf9eLYB1KhSECAyGm6cI=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "dJY7Qx7vKY6W6KyrdFp8oOC9ahuO8nl7vhWCrLenEE6z+xjPELdAJQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "tn0QxSmHWxfIHg7wCvDHBw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '524' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:58:40 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage63801aae.queue.core.windows.net/encryptionqueue63801aae/messages + response: + body: + string: "\uFEFF6de3c3a6-de78-470e-9986-c6f944fe973bFri, + 06 Sep 2019 21:58:38 GMTFri, 13 Sep 2019 21:58:38 + GMTAgAAAAMAAAAAAAAA1nI6Pf5k1QE=Fri, + 06 Sep 2019 21:58:38 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:38 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage63801aae.queue.core.windows.net + - /encryptionqueue63801aae/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:40 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage63801aae.queue.core.windows.net/encryptionqueue63801aae/messages + response: + body: + string: "\uFEFF6de3c3a6-de78-470e-9986-c6f944fe973bFri, + 06 Sep 2019 21:58:38 GMTFri, 13 Sep 2019 21:58:38 + GMTAgAAAAMAAAAAAAAAboMgT/5k1QE=Fri, + 06 Sep 2019 21:59:08 GMT1{\"EncryptedMessageContents\": + \"q67La8g1jbh8UJy0GLRWT9rQf9eLYB1KhSECAyGm6cI=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"dJY7Qx7vKY6W6KyrdFp8oOC9ahuO8nl7vhWCrLenEE6z+xjPELdAJQ==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"tn0QxSmHWxfIHg7wCvDHBw==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:38 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage63801aae.queue.core.windows.net + - /encryptionqueue63801aae/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:40 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage63801aae.queue.core.windows.net/encryptionqueue63801aae/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:38 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage63801aae.queue.core.windows.net + - /encryptionqueue63801aae/messages + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_with_strict_mode.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_with_strict_mode.yaml new file mode 100644 index 000000000000..7ffd2c1ea353 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_get_with_strict_mode.yaml @@ -0,0 +1,115 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:02 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage56ce1610.queue.core.windows.net/encryptionqueue56ce1610 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:00 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage56ce1610.queue.core.windows.net + - /encryptionqueue56ce1610 + - '' + - '' +- request: + body: ' + + message' + headers: + Accept: + - application/xml + Content-Length: + - '102' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:02 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage56ce1610.queue.core.windows.net/encryptionqueue56ce1610/messages + response: + body: + string: "\uFEFF7dcf08f5-2440-4577-8fcc-24c3107729efFri, + 06 Sep 2019 21:59:01 GMTFri, 13 Sep 2019 21:59:01 + GMTAgAAAAMAAAAAAAAAWOSnSv5k1QE=Fri, + 06 Sep 2019 21:59:01 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:00 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage56ce1610.queue.core.windows.net + - /encryptionqueue56ce1610/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:02 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage56ce1610.queue.core.windows.net/encryptionqueue56ce1610/messages + response: + body: + string: "\uFEFF7dcf08f5-2440-4577-8fcc-24c3107729efFri, + 06 Sep 2019 21:59:01 GMTFri, 13 Sep 2019 21:59:01 + GMTAgAAAAMAAAAAAAAA8vSNXP5k1QE=Fri, + 06 Sep 2019 21:59:31 GMT1message" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:00 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage56ce1610.queue.core.windows.net + - /encryptionqueue56ce1610/messages + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_invalid_value_kek_unwrap.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_invalid_value_kek_unwrap.yaml new file mode 100644 index 000000000000..a332274b6703 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_invalid_value_kek_unwrap.yaml @@ -0,0 +1,166 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:34 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorageb1de17b2.queue.core.windows.net/encryptionqueueb1de17b2 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:58:32 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb1de17b2.queue.core.windows.net + - /encryptionqueueb1de17b2 + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "mClMXE7Oen3T6I5DZRjs6g==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "/8kT8tewXZx3udmQWFMfqn8YrnJ+4r8YWHHQ9lrSZ5sfZsOCxdDAPQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "Vv8BLNHhCizroHOJHUC2wA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '504' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:58:34 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorageb1de17b2.queue.core.windows.net/encryptionqueueb1de17b2/messages + response: + body: + string: "\uFEFFe8cf2e5f-b018-4bd2-bd9f-ac1c8c86a6bfFri, + 06 Sep 2019 21:58:32 GMTFri, 13 Sep 2019 21:58:32 + GMTAgAAAAMAAAAAAAAAH2axOf5k1QE=Fri, + 06 Sep 2019 21:58:32 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:32 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb1de17b2.queue.core.windows.net + - /encryptionqueueb1de17b2/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:34 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorageb1de17b2.queue.core.windows.net/encryptionqueueb1de17b2/messages?peekonly=true + response: + body: + string: "\uFEFFe8cf2e5f-b018-4bd2-bd9f-ac1c8c86a6bfFri, + 06 Sep 2019 21:58:32 GMTFri, 13 Sep 2019 21:58:32 + GMT0{\"EncryptedMessageContents\": + \"mClMXE7Oen3T6I5DZRjs6g==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"/8kT8tewXZx3udmQWFMfqn8YrnJ+4r8YWHHQ9lrSZ5sfZsOCxdDAPQ==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"Vv8BLNHhCizroHOJHUC2wA==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:32 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb1de17b2.queue.core.windows.net + - /encryptionqueueb1de17b2/messages + - peekonly=true + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:34 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorageb1de17b2.queue.core.windows.net/encryptionqueueb1de17b2/messages?peekonly=true + response: + body: + string: "\uFEFFe8cf2e5f-b018-4bd2-bd9f-ac1c8c86a6bfFri, + 06 Sep 2019 21:58:32 GMTFri, 13 Sep 2019 21:58:32 + GMT0{\"EncryptedMessageContents\": + \"mClMXE7Oen3T6I5DZRjs6g==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"/8kT8tewXZx3udmQWFMfqn8YrnJ+4r8YWHHQ9lrSZ5sfZsOCxdDAPQ==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"Vv8BLNHhCizroHOJHUC2wA==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:32 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb1de17b2.queue.core.windows.net + - /encryptionqueueb1de17b2/messages + - peekonly=true + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_invalid_value_kek_wrap.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_invalid_value_kek_wrap.yaml new file mode 100644 index 000000000000..9d4109f1e764 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_invalid_value_kek_wrap.yaml @@ -0,0 +1,34 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:03 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage82d016cf.queue.core.windows.net/encryptionqueue82d016cf + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:01 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage82d016cf.queue.core.windows.net + - /encryptionqueue82d016cf + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_missing_attribute_kek_unrwap.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_missing_attribute_kek_unrwap.yaml new file mode 100644 index 000000000000..8a7751377d39 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_missing_attribute_kek_unrwap.yaml @@ -0,0 +1,166 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:57 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage1748197c.queue.core.windows.net/encryptionqueue1748197c + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:58:57 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage1748197c.queue.core.windows.net + - /encryptionqueue1748197c + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "6WmOc1Yb11al3cqC35bRwQ==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ateoFgJ8xzMcC0BZSlrelyFitGB6OPmqCPjtaoOqUaLm4S4i9dTflw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "A1qMjL7EY5ZnKcVveT567Q==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '504' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:58:59 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage1748197c.queue.core.windows.net/encryptionqueue1748197c/messages + response: + body: + string: "\uFEFF27e8fea8-f518-49af-8bb3-aec9ac8f0d27Fri, + 06 Sep 2019 21:58:57 GMTFri, 13 Sep 2019 21:58:57 + GMTAgAAAAMAAAAAAAAAS5ZaSP5k1QE=Fri, + 06 Sep 2019 21:58:57 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:57 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage1748197c.queue.core.windows.net + - /encryptionqueue1748197c/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:59 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage1748197c.queue.core.windows.net/encryptionqueue1748197c/messages?peekonly=true + response: + body: + string: "\uFEFF27e8fea8-f518-49af-8bb3-aec9ac8f0d27Fri, + 06 Sep 2019 21:58:57 GMTFri, 13 Sep 2019 21:58:57 + GMT0{\"EncryptedMessageContents\": + \"6WmOc1Yb11al3cqC35bRwQ==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"ateoFgJ8xzMcC0BZSlrelyFitGB6OPmqCPjtaoOqUaLm4S4i9dTflw==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"A1qMjL7EY5ZnKcVveT567Q==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:57 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage1748197c.queue.core.windows.net + - /encryptionqueue1748197c/messages + - peekonly=true + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:58:59 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage1748197c.queue.core.windows.net/encryptionqueue1748197c/messages?peekonly=true + response: + body: + string: "\uFEFF27e8fea8-f518-49af-8bb3-aec9ac8f0d27Fri, + 06 Sep 2019 21:58:57 GMTFri, 13 Sep 2019 21:58:57 + GMT0{\"EncryptedMessageContents\": + \"6WmOc1Yb11al3cqC35bRwQ==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"ateoFgJ8xzMcC0BZSlrelyFitGB6OPmqCPjtaoOqUaLm4S4i9dTflw==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"A1qMjL7EY5ZnKcVveT567Q==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:57 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage1748197c.queue.core.windows.net + - /encryptionqueue1748197c/messages + - peekonly=true + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_missing_attribute_kek_wrap.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_missing_attribute_kek_wrap.yaml new file mode 100644 index 000000000000..2d9765d581e3 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_missing_attribute_kek_wrap.yaml @@ -0,0 +1,34 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:21 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragee49c1899.queue.core.windows.net/encryptionqueuee49c1899 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragee49c1899.queue.core.windows.net + - /encryptionqueuee49c1899 + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_peek_messages_encrypted_kek.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_peek_messages_encrypted_kek.yaml new file mode 100644 index 000000000000..595c466fc84b --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_peek_messages_encrypted_kek.yaml @@ -0,0 +1,123 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:01 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragefaba18dc.queue.core.windows.net/encryptionqueuefaba18dc + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:58:59 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragefaba18dc.queue.core.windows.net + - /encryptionqueuefaba18dc + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "tK6qZoJw+23KAyABB8fgMZk4oL0+MUugP35vA9bhmD4=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "iGJKrVlQrgL4Iws1Ld9ezeyrt6uUXoJh1UQnGC2cYcEXGBb8U5FI9w==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "wKp8FchZwCPuvCAF/HVBcw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '524' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:01 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstoragefaba18dc.queue.core.windows.net/encryptionqueuefaba18dc/messages + response: + body: + string: "\uFEFF46a7723d-3f24-4fc0-bff3-779c9c841020Fri, + 06 Sep 2019 21:59:00 GMTFri, 13 Sep 2019 21:59:00 + GMTAgAAAAMAAAAAAAAAbijnSf5k1QE=Fri, + 06 Sep 2019 21:59:00 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:59 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragefaba18dc.queue.core.windows.net + - /encryptionqueuefaba18dc/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:01 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragefaba18dc.queue.core.windows.net/encryptionqueuefaba18dc/messages?peekonly=true + response: + body: + string: "\uFEFF46a7723d-3f24-4fc0-bff3-779c9c841020Fri, + 06 Sep 2019 21:59:00 GMTFri, 13 Sep 2019 21:59:00 + GMT0{\"EncryptedMessageContents\": + \"tK6qZoJw+23KAyABB8fgMZk4oL0+MUugP35vA9bhmD4=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"iGJKrVlQrgL4Iws1Ld9ezeyrt6uUXoJh1UQnGC2cYcEXGBb8U5FI9w==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"wKp8FchZwCPuvCAF/HVBcw==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:58:59 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragefaba18dc.queue.core.windows.net + - /encryptionqueuefaba18dc/messages + - peekonly=true + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_peek_messages_encrypted_kek_RSA.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_peek_messages_encrypted_kek_RSA.yaml new file mode 100644 index 000000000000..78a1680fecfa --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_peek_messages_encrypted_kek_RSA.yaml @@ -0,0 +1,123 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:14 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage61921a21.queue.core.windows.net/encryptionqueue61921a21 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:13 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage61921a21.queue.core.windows.net + - /encryptionqueue61921a21 + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "Vm49lNLcWCa5q5u1gOVE8GS+dlgkXJS5P/gYqXu8kSU=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key2", "EncryptedKey": "OZkyhED/gyiU8q0PargldI8by4VCmXptHmt79t3NoU37Kjtl7/KK+HyaChizanLDzDUqiG9xROvahQurYUj9fc4dNBE4BNGyJYpn7j9VTCcDy/fMa6Pr5HzxNRy9IW4ancZW1ameST/kg99SPHdHs7CRx4+L61834lspuoyH3kfu9egsNcnynSFTJLtoQqOXnxHgAWBYVWpZgbcKk9qVm6W3DltBkW9Ps9sWoyrI83NwuoOLaMu2JbAWWxojq9hEfW1K5rCXEaE6eFffN3Ge/bdDKG3d6GSKsjw4uZyh2w7BZrg2pVvdJFV6ij0YHdtylryqC++GFiqxDZ394sqjwQ==", + "Algorithm": "RSA"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "z+NQAmuzyYX49n240g9ZSQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '809' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:15 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage61921a21.queue.core.windows.net/encryptionqueue61921a21/messages + response: + body: + string: "\uFEFFc476f4d7-2689-444b-99b6-b25f81073784Fri, + 06 Sep 2019 21:59:13 GMTFri, 13 Sep 2019 21:59:13 + GMTAgAAAAMAAAAAAAAA+QHuUf5k1QE=Fri, + 06 Sep 2019 21:59:13 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:13 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage61921a21.queue.core.windows.net + - /encryptionqueue61921a21/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:15 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage61921a21.queue.core.windows.net/encryptionqueue61921a21/messages?peekonly=true + response: + body: + string: "\uFEFFc476f4d7-2689-444b-99b6-b25f81073784Fri, + 06 Sep 2019 21:59:13 GMTFri, 13 Sep 2019 21:59:13 + GMT0{\"EncryptedMessageContents\": + \"Vm49lNLcWCa5q5u1gOVE8GS+dlgkXJS5P/gYqXu8kSU=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key2\", \"EncryptedKey\": \"OZkyhED/gyiU8q0PargldI8by4VCmXptHmt79t3NoU37Kjtl7/KK+HyaChizanLDzDUqiG9xROvahQurYUj9fc4dNBE4BNGyJYpn7j9VTCcDy/fMa6Pr5HzxNRy9IW4ancZW1ameST/kg99SPHdHs7CRx4+L61834lspuoyH3kfu9egsNcnynSFTJLtoQqOXnxHgAWBYVWpZgbcKk9qVm6W3DltBkW9Ps9sWoyrI83NwuoOLaMu2JbAWWxojq9hEfW1K5rCXEaE6eFffN3Ge/bdDKG3d6GSKsjw4uZyh2w7BZrg2pVvdJFV6ij0YHdtylryqC++GFiqxDZ394sqjwQ==\", + \"Algorithm\": \"RSA\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"z+NQAmuzyYX49n240g9ZSQ==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:13 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage61921a21.queue.core.windows.net + - /encryptionqueue61921a21/messages + - peekonly=true + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_peek_messages_encrypted_resolver.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_peek_messages_encrypted_resolver.yaml new file mode 100644 index 000000000000..5199e04122dd --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_peek_messages_encrypted_resolver.yaml @@ -0,0 +1,123 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:22 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage7df61b13.queue.core.windows.net/encryptionqueue7df61b13 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:21 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage7df61b13.queue.core.windows.net + - /encryptionqueue7df61b13 + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "n2NxjqifKCPrIVF91iW3hW6pC5pZr0BhoaMf/DBREXc=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "A9DQrvsR6kcB/RZ0Xf3uw259xn4vUP0njhTtf4oTbgqU3Hgwvv1B1Q==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "/EpFO5VAxCqlV6nIXDDIdg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '524' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:22 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage7df61b13.queue.core.windows.net/encryptionqueue7df61b13/messages + response: + body: + string: "\uFEFFda19a993-5cf1-45b9-90e6-f480ac870a88Fri, + 06 Sep 2019 21:59:21 GMTFri, 13 Sep 2019 21:59:21 + GMTAgAAAAMAAAAAAAAAef97Vv5k1QE=Fri, + 06 Sep 2019 21:59:21 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:21 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage7df61b13.queue.core.windows.net + - /encryptionqueue7df61b13/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:22 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage7df61b13.queue.core.windows.net/encryptionqueue7df61b13/messages?peekonly=true + response: + body: + string: "\uFEFFda19a993-5cf1-45b9-90e6-f480ac870a88Fri, + 06 Sep 2019 21:59:21 GMTFri, 13 Sep 2019 21:59:21 + GMT0{\"EncryptedMessageContents\": + \"n2NxjqifKCPrIVF91iW3hW6pC5pZr0BhoaMf/DBREXc=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"A9DQrvsR6kcB/RZ0Xf3uw259xn4vUP0njhTtf4oTbgqU3Hgwvv1B1Q==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"/EpFO5VAxCqlV6nIXDDIdg==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:21 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage7df61b13.queue.core.windows.net + - /encryptionqueue7df61b13/messages + - peekonly=true + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_put_with_strict_mode.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_put_with_strict_mode.yaml new file mode 100644 index 000000000000..992cf4e83500 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_put_with_strict_mode.yaml @@ -0,0 +1,80 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:14 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage58b21629.queue.core.windows.net/encryptionqueue58b21629 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage58b21629.queue.core.windows.net + - /encryptionqueue58b21629 + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "bmT+d+9pZ4+BxBz8LYTpzA==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "7UTmL/wYPY2E8OsnawHej6337AILd4u9TCuxErNGtSXcwr8Hc6WBIw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "vFR/5U4QKrngh5fhGVlFTw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '504' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:14 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage58b21629.queue.core.windows.net/encryptionqueue58b21629/messages + response: + body: + string: "\uFEFFde2c29c5-6d54-4fa2-a4c4-bf467ec171e3Fri, + 06 Sep 2019 21:59:13 GMTFri, 13 Sep 2019 21:59:13 + GMTAgAAAAMAAAAAAAAAYUmxUf5k1QE=Fri, + 06 Sep 2019 21:59:13 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage58b21629.queue.core.windows.net + - /encryptionqueue58b21629/messages + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_binary_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_binary_message.yaml new file mode 100644 index 000000000000..2dbc9b402c31 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_binary_message.yaml @@ -0,0 +1,286 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:24 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage63fd1a91.queue.core.windows.net/encryptionqueue63fd1a91 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:22 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage63fd1a91.queue.core.windows.net + - /encryptionqueue63fd1a91 + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "PasSmFm3fs+J68W2w7iinbjfhw3r7ljJp5Gm0EuNt16Nn0WEcQq/bpgTPfBvG3Uej+s5yzPiKhfkyeGntcwi8k/VURgThb6wwCR90ShljRgjiBdT5IApOS4GW5y978vBy9CFTPNcKgTBxIg5OQz8+ZA3K4u4jkq3X4x4ZMnIHmDoOg1uEOapoK2GNnmae0FB", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "/6Kc8IEvIbDLc8RuYWrc9I4qd/EQH8NVdkSYmlPdgXiNzW3K0MN4HQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "V4KFZdVGS+qMubbdi3ksSg==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '672' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:24 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage63fd1a91.queue.core.windows.net/encryptionqueue63fd1a91/messages + response: + body: + string: "\uFEFF1da36b32-9918-495f-84b8-6f56e7d7b170Fri, + 06 Sep 2019 21:59:23 GMTFri, 13 Sep 2019 21:59:23 + GMTAgAAAAMAAAAAAAAAMBamV/5k1QE=Fri, + 06 Sep 2019 21:59:23 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:22 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage63fd1a91.queue.core.windows.net + - /encryptionqueue63fd1a91/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:24 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage63fd1a91.queue.core.windows.net/encryptionqueue63fd1a91/messages + response: + body: + string: "\uFEFF1da36b32-9918-495f-84b8-6f56e7d7b170Fri, + 06 Sep 2019 21:59:23 GMTFri, 13 Sep 2019 21:59:23 + GMTAgAAAAMAAAAAAAAAYJyMaf5k1QE=Fri, + 06 Sep 2019 21:59:53 GMT1{\"EncryptedMessageContents\": + \"PasSmFm3fs+J68W2w7iinbjfhw3r7ljJp5Gm0EuNt16Nn0WEcQq/bpgTPfBvG3Uej+s5yzPiKhfkyeGntcwi8k/VURgThb6wwCR90ShljRgjiBdT5IApOS4GW5y978vBy9CFTPNcKgTBxIg5OQz8+ZA3K4u4jkq3X4x4ZMnIHmDoOg1uEOapoK2GNnmae0FB\", + \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": + \"/6Kc8IEvIbDLc8RuYWrc9I4qd/EQH8NVdkSYmlPdgXiNzW3K0MN4HQ==\", \"Algorithm\": + \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"V4KFZdVGS+qMubbdi3ksSg==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:22 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage63fd1a91.queue.core.windows.net + - /encryptionqueue63fd1a91/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:24 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage63fd1a91.queue.core.windows.net/encryptionqueue63fd1a91/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:22 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage63fd1a91.queue.core.windows.net + - /encryptionqueue63fd1a91/messages + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "HP7ep7vRbdTG5/8xrXb/hi33clzLXcX0DxDaHeo8JS5DKVdF8qNzkuvr0M/NjUUig+6clgJwUNqYoFSnqK5SwobxhL/jB/+NNK47wl7w4Yt8+p/A8sBMpBOVsFXGoAgT9JC2CufXHzSI6AjjbVMy4eRDyDl9Gmjd87M712Xzklmj4ZW/lq585P/SxHabblMn", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "p5EVnNuMVYEdjiV/oqI4oBFwxojf/UVxYn8eg4uQcy4dYlwuGVSAdQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "ZhQUvq0vLIiZtPMOImoMaQ==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Content-Length: + - '672' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:24 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage63fd1a91.queue.core.windows.net/encryptionqueue63fd1a91/messages/1da36b32-9918-495f-84b8-6f56e7d7b170?popreceipt=AgAAAAMAAAAAAAAAYJyMaf5k1QE%3D&visibilitytimeout=0 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:22 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: AwAAAAMAAAAAAAAAxW22V/5k1QEBAAAA + x-ms-time-next-visible: Fri, 06 Sep 2019 21:59:23 GMT + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage63fd1a91.queue.core.windows.net + - /encryptionqueue63fd1a91/messages/1da36b32-9918-495f-84b8-6f56e7d7b170 + - popreceipt=AgAAAAMAAAAAAAAAYJyMaf5k1QE%3D&visibilitytimeout=0 + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:24 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage63fd1a91.queue.core.windows.net/encryptionqueue63fd1a91/messages + response: + body: + string: "\uFEFF1da36b32-9918-495f-84b8-6f56e7d7b170Fri, + 06 Sep 2019 21:59:23 GMTFri, 13 Sep 2019 21:59:23 + GMTAgAAAAMAAAAAAAAAUWmdaf5k1QE=Fri, + 06 Sep 2019 21:59:53 GMT2{\"EncryptedMessageContents\": + \"HP7ep7vRbdTG5/8xrXb/hi33clzLXcX0DxDaHeo8JS5DKVdF8qNzkuvr0M/NjUUig+6clgJwUNqYoFSnqK5SwobxhL/jB/+NNK47wl7w4Yt8+p/A8sBMpBOVsFXGoAgT9JC2CufXHzSI6AjjbVMy4eRDyDl9Gmjd87M712Xzklmj4ZW/lq585P/SxHabblMn\", + \"EncryptionData\": {\"WrappedContentKey\": {\"KeyId\": \"key1\", \"EncryptedKey\": + \"p5EVnNuMVYEdjiV/oqI4oBFwxojf/UVxYn8eg4uQcy4dYlwuGVSAdQ==\", \"Algorithm\": + \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"ZhQUvq0vLIiZtPMOImoMaQ==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:22 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage63fd1a91.queue.core.windows.net + - /encryptionqueue63fd1a91/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:24 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage63fd1a91.queue.core.windows.net/encryptionqueue63fd1a91/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:23 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage63fd1a91.queue.core.windows.net + - /encryptionqueue63fd1a91/messages + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_json_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_json_message.yaml new file mode 100644 index 000000000000..a8c7ee15a31f --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_json_message.yaml @@ -0,0 +1,284 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:26 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage2fd119c6.queue.core.windows.net/encryptionqueue2fd119c6 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:24 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage2fd119c6.queue.core.windows.net + - /encryptionqueue2fd119c6 + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "tM4La/nF9V6kvYwDxYK+naGz23WxScHAj7b+yLOSc9I=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "/H8JC0h0MOCpZA0VbqKy0xxR6cgDp2H5ZFf2ux0E7IwPj3vkmtcLPg==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "t6Ulax9FkgJcmg+oG5nmrw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '524' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:26 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage2fd119c6.queue.core.windows.net/encryptionqueue2fd119c6/messages + response: + body: + string: "\uFEFFecc75611-7277-45d8-a44d-09798ab0df9fFri, + 06 Sep 2019 21:59:25 GMTFri, 13 Sep 2019 21:59:25 + GMTAgAAAAMAAAAAAAAAc6LLWP5k1QE=Fri, + 06 Sep 2019 21:59:25 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:25 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage2fd119c6.queue.core.windows.net + - /encryptionqueue2fd119c6/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:26 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage2fd119c6.queue.core.windows.net/encryptionqueue2fd119c6/messages + response: + body: + string: "\uFEFFecc75611-7277-45d8-a44d-09798ab0df9fFri, + 06 Sep 2019 21:59:25 GMTFri, 13 Sep 2019 21:59:25 + GMTAgAAAAMAAAAAAAAAa9qxav5k1QE=Fri, + 06 Sep 2019 21:59:55 GMT1{\"EncryptedMessageContents\": + \"tM4La/nF9V6kvYwDxYK+naGz23WxScHAj7b+yLOSc9I=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"/H8JC0h0MOCpZA0VbqKy0xxR6cgDp2H5ZFf2ux0E7IwPj3vkmtcLPg==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"t6Ulax9FkgJcmg+oG5nmrw==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:25 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage2fd119c6.queue.core.windows.net + - /encryptionqueue2fd119c6/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:26 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage2fd119c6.queue.core.windows.net/encryptionqueue2fd119c6/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:25 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage2fd119c6.queue.core.windows.net + - /encryptionqueue2fd119c6/messages + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "WGTTo1Zcm7fTqHVQKQeKddt+5p8hw8musZE9kZTRHOg=", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "ufYX1fLCWVa2rakzRoTjoo1WeC3+4n9I5BqjaqSHFxFK6bX3UN9FPQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "fH3iRjMbYlbUOFHep4MJUw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Content-Length: + - '524' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:26 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage2fd119c6.queue.core.windows.net/encryptionqueue2fd119c6/messages/ecc75611-7277-45d8-a44d-09798ab0df9f?popreceipt=AgAAAAMAAAAAAAAAa9qxav5k1QE%3D&visibilitytimeout=0 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:25 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: AwAAAAMAAAAAAAAA7KvbWP5k1QEBAAAA + x-ms-time-next-visible: Fri, 06 Sep 2019 21:59:25 GMT + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage2fd119c6.queue.core.windows.net + - /encryptionqueue2fd119c6/messages/ecc75611-7277-45d8-a44d-09798ab0df9f + - popreceipt=AgAAAAMAAAAAAAAAa9qxav5k1QE%3D&visibilitytimeout=0 + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:26 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage2fd119c6.queue.core.windows.net/encryptionqueue2fd119c6/messages + response: + body: + string: "\uFEFFecc75611-7277-45d8-a44d-09798ab0df9fFri, + 06 Sep 2019 21:59:25 GMTFri, 13 Sep 2019 21:59:25 + GMTAgAAAAMAAAAAAAAA6QrCav5k1QE=Fri, + 06 Sep 2019 21:59:55 GMT2{\"EncryptedMessageContents\": + \"WGTTo1Zcm7fTqHVQKQeKddt+5p8hw8musZE9kZTRHOg=\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"ufYX1fLCWVa2rakzRoTjoo1WeC3+4n9I5BqjaqSHFxFK6bX3UN9FPQ==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"fH3iRjMbYlbUOFHep4MJUw==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:25 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage2fd119c6.queue.core.windows.net + - /encryptionqueue2fd119c6/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:26 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage2fd119c6.queue.core.windows.net/encryptionqueue2fd119c6/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:25 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage2fd119c6.queue.core.windows.net + - /encryptionqueue2fd119c6/messages + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_message.yaml new file mode 100644 index 000000000000..b697c853004b --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_message.yaml @@ -0,0 +1,284 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:19 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorageb2c517ad.queue.core.windows.net/encryptionqueueb2c517ad + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:17 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb2c517ad.queue.core.windows.net + - /encryptionqueueb2c517ad + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "oBKggUM0cSrQDbeVBWrSLw==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "qjKCjqOgsYqYthpfeq69MVj8T6l55WyrV0qKc+57qglQKxK09+2AOQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "I9/YVuPjXan7j9VuuznFlA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '504' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:19 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorageb2c517ad.queue.core.windows.net/encryptionqueueb2c517ad/messages + response: + body: + string: "\uFEFFf57d028e-74ca-4bf6-b838-be50b93ec8ceFri, + 06 Sep 2019 21:59:17 GMTFri, 13 Sep 2019 21:59:17 + GMTAgAAAAMAAAAAAAAAaeV9VP5k1QE=Fri, + 06 Sep 2019 21:59:17 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:17 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb2c517ad.queue.core.windows.net + - /encryptionqueueb2c517ad/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:19 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorageb2c517ad.queue.core.windows.net/encryptionqueueb2c517ad/messages + response: + body: + string: "\uFEFFf57d028e-74ca-4bf6-b838-be50b93ec8ceFri, + 06 Sep 2019 21:59:17 GMTFri, 13 Sep 2019 21:59:17 + GMTAgAAAAMAAAAAAAAA9hNzZv5k1QE=Fri, + 06 Sep 2019 21:59:48 GMT1{\"EncryptedMessageContents\": + \"oBKggUM0cSrQDbeVBWrSLw==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"qjKCjqOgsYqYthpfeq69MVj8T6l55WyrV0qKc+57qglQKxK09+2AOQ==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"I9/YVuPjXan7j9VuuznFlA==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:17 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb2c517ad.queue.core.windows.net + - /encryptionqueueb2c517ad/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:19 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorageb2c517ad.queue.core.windows.net/encryptionqueueb2c517ad/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:17 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb2c517ad.queue.core.windows.net + - /encryptionqueueb2c517ad/messages + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "AyRhUCGtppvmQQsa1dlBlA==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "apiTSQk8fLGvIkEudX1tNFGGU1EmlmHip+3Y6n6Q5u/3zqiUPwc2aA==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "5eARZ1l4m+jfK6ok//touw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Content-Length: + - '504' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:19 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorageb2c517ad.queue.core.windows.net/encryptionqueueb2c517ad/messages/f57d028e-74ca-4bf6-b838-be50b93ec8ce?popreceipt=AgAAAAMAAAAAAAAA9hNzZv5k1QE%3D&visibilitytimeout=0 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:17 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: AwAAAAMAAAAAAAAAj+iaVP5k1QEBAAAA + x-ms-time-next-visible: Fri, 06 Sep 2019 21:59:18 GMT + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb2c517ad.queue.core.windows.net + - /encryptionqueueb2c517ad/messages/f57d028e-74ca-4bf6-b838-be50b93ec8ce + - popreceipt=AgAAAAMAAAAAAAAA9hNzZv5k1QE%3D&visibilitytimeout=0 + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:19 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorageb2c517ad.queue.core.windows.net/encryptionqueueb2c517ad/messages + response: + body: + string: "\uFEFFf57d028e-74ca-4bf6-b838-be50b93ec8ceFri, + 06 Sep 2019 21:59:17 GMTFri, 13 Sep 2019 21:59:17 + GMTAgAAAAMAAAAAAAAAW0eBZv5k1QE=Fri, + 06 Sep 2019 21:59:48 GMT2{\"EncryptedMessageContents\": + \"AyRhUCGtppvmQQsa1dlBlA==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"apiTSQk8fLGvIkEudX1tNFGGU1EmlmHip+3Y6n6Q5u/3zqiUPwc2aA==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"5eARZ1l4m+jfK6ok//touw==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:17 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb2c517ad.queue.core.windows.net + - /encryptionqueueb2c517ad/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:19 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorageb2c517ad.queue.core.windows.net/encryptionqueueb2c517ad/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:17 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorageb2c517ad.queue.core.windows.net + - /encryptionqueueb2c517ad/messages + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_raw_text_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_raw_text_message.yaml new file mode 100644 index 000000000000..544c3c8c37f8 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_update_encrypted_raw_text_message.yaml @@ -0,0 +1,198 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:30 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage9b831b7a.queue.core.windows.net/encryptionqueue9b831b7a + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:29 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage9b831b7a.queue.core.windows.net + - /encryptionqueue9b831b7a + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "zxGVAlLInGqJ4tDwmJLxbg==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "yNhnC8kSj9uAkVkYExaJgUmA+KRNwYI49CqFo0R02qHKmeLjgBU8ZQ==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "v/i2y9j3j5bdX+44TKYNlw==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '504' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:31 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage9b831b7a.queue.core.windows.net/encryptionqueue9b831b7a/messages + response: + body: + string: "\uFEFFb6e4d8e7-d60c-47bc-bc32-759382b18fc9Fri, + 06 Sep 2019 21:59:29 GMTFri, 13 Sep 2019 21:59:29 + GMTAgAAAAMAAAAAAAAAza1wW/5k1QE=Fri, + 06 Sep 2019 21:59:29 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:29 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage9b831b7a.queue.core.windows.net + - /encryptionqueue9b831b7a/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:31 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage9b831b7a.queue.core.windows.net/encryptionqueue9b831b7a/messages + response: + body: + string: "\uFEFFb6e4d8e7-d60c-47bc-bc32-759382b18fc9Fri, + 06 Sep 2019 21:59:29 GMTFri, 13 Sep 2019 21:59:29 + GMTAgAAAAMAAAAAAAAA+ahXbf5k1QE=Fri, + 06 Sep 2019 21:59:59 GMT1{\"EncryptedMessageContents\": + \"zxGVAlLInGqJ4tDwmJLxbg==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"yNhnC8kSj9uAkVkYExaJgUmA+KRNwYI49CqFo0R02qHKmeLjgBU8ZQ==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"v/i2y9j3j5bdX+44TKYNlw==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:29 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage9b831b7a.queue.core.windows.net + - /encryptionqueue9b831b7a/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:31 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage9b831b7a.queue.core.windows.net/encryptionqueue9b831b7a/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:29 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage9b831b7a.queue.core.windows.net + - /encryptionqueue9b831b7a/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:31 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage9b831b7a.queue.core.windows.net/encryptionqueue9b831b7a/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:29 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage9b831b7a.queue.core.windows.net + - /encryptionqueue9b831b7a/messages + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_validate_encryption.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_validate_encryption.yaml new file mode 100644 index 000000000000..c981d49160de --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_encryption_async.test_validate_encryption.yaml @@ -0,0 +1,123 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:25 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage3fc115ad.queue.core.windows.net/encryptionqueue3fc115ad + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:23 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fc115ad.queue.core.windows.net + - /encryptionqueue3fc115ad + - '' + - '' +- request: + body: ' + + {"EncryptedMessageContents": "vP9AMAxx/ahY1jRAmMPJ7Q==", + "EncryptionData": {"WrappedContentKey": {"KeyId": "key1", "EncryptedKey": "6yPUQIb4MZRFs97LG7foXBqMH6Iqv7Pg+V2Ct/NLQhcdhTtKbsBqhw==", + "Algorithm": "A256KW"}, "EncryptionAgent": {"Protocol": "1.0", "EncryptionAlgorithm": + "AES_CBC_256"}, "ContentEncryptionIV": "QHmPoVVgzd0Cq705k3nDnA==", "KeyWrappingMetadata": + {"EncryptionLibrary": "Python 12.0.0b2"}}}' + headers: + Accept: + - application/xml + Content-Length: + - '504' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:25 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage3fc115ad.queue.core.windows.net/encryptionqueue3fc115ad/messages + response: + body: + string: "\uFEFF0fad608d-308c-4dfa-8d52-833a4934c027Fri, + 06 Sep 2019 21:59:24 GMTFri, 13 Sep 2019 21:59:24 + GMTAgAAAAMAAAAAAAAArRslWP5k1QE=Fri, + 06 Sep 2019 21:59:24 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:23 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fc115ad.queue.core.windows.net + - /encryptionqueue3fc115ad/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:25 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage3fc115ad.queue.core.windows.net/encryptionqueue3fc115ad/messages?peekonly=true + response: + body: + string: "\uFEFF0fad608d-308c-4dfa-8d52-833a4934c027Fri, + 06 Sep 2019 21:59:24 GMTFri, 13 Sep 2019 21:59:24 + GMT0{\"EncryptedMessageContents\": + \"vP9AMAxx/ahY1jRAmMPJ7Q==\", \"EncryptionData\": {\"WrappedContentKey\": + {\"KeyId\": \"key1\", \"EncryptedKey\": \"6yPUQIb4MZRFs97LG7foXBqMH6Iqv7Pg+V2Ct/NLQhcdhTtKbsBqhw==\", + \"Algorithm\": \"A256KW\"}, \"EncryptionAgent\": {\"Protocol\": \"1.0\", \"EncryptionAlgorithm\": + \"AES_CBC_256\"}, \"ContentEncryptionIV\": \"QHmPoVVgzd0Cq705k3nDnA==\", \"KeyWrappingMetadata\": + {\"EncryptionLibrary\": \"Python 12.0.0b2\"}}}" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:24 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fc115ad.queue.core.windows.net + - /encryptionqueue3fc115ad/messages + - peekonly=true + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication.test_auth_active_directory.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication.test_auth_active_directory.yaml new file mode 100644 index 000000000000..a8cfaf928336 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication.test_auth_active_directory.yaml @@ -0,0 +1,39 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 21:59:39 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragef90418e6.queue.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" + headers: + cache-control: + - no-cache + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 21:59:47 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication.test_auth_connection_string.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication.test_auth_connection_string.yaml index de34cf248305..5ea8fd01df0a 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication.test_auth_connection_string.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication.test_auth_connection_string.yaml @@ -9,36 +9,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9576386e-b575-11e9-a94d-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:43 GMT + - Fri, 06 Sep 2019 21:59:37 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage1379195c.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:42 GMT - Server: + date: + - Fri, 06 Sep 2019 21:59:35 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 4f1b729e-d003-004c-1d82-49a31f000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication.test_auth_shared_key.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication.test_auth_shared_key.yaml index c6cfd2833e32..f6b858ec1b47 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication.test_auth_shared_key.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication.test_auth_shared_key.yaml @@ -9,36 +9,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 95b1d526-b575-11e9-8384-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:43 GMT + - Fri, 06 Sep 2019 21:59:45 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage6a8e1655.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:43 GMT - Server: + date: + - Fri, 06 Sep 2019 21:59:44 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 31e32d4e-6003-00bb-1082-4985f4000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication_async.test_auth_active_directory.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication_async.test_auth_active_directory.yaml new file mode 100644 index 000000000000..f5ac425dd41d --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication_async.test_auth_active_directory.yaml @@ -0,0 +1,39 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 21:59:41 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage97e71b63.queue.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:39 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage97e71b63.queue.core.windows.net + - / + - restype=service&comp=properties + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication_async.test_auth_connection_string.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication_async.test_auth_connection_string.yaml index 949ec0d66909..d7fb814e666a 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication_async.test_auth_connection_string.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication_async.test_auth_connection_string.yaml @@ -5,41 +5,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 95fc9842-b575-11e9-83d1-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:44 GMT + - Fri, 06 Sep 2019 21:59:50 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorageb4ca1bd9.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:43 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 024d7412-a003-006a-4a82-4938ab000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:48 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -48,7 +32,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorageb4ca1bd9.queue.core.windows.net - / - restype=service&comp=properties - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication_async.test_auth_shared_key.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication_async.test_auth_shared_key.yaml index 13efd74914d2..b14fd599057a 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication_async.test_auth_shared_key.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_authentication_async.test_auth_shared_key.yaml @@ -5,41 +5,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 962a18fe-b575-11e9-9680-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:44 GMT + - Fri, 06 Sep 2019 21:59:46 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoragefa7418d2.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:43 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 8dc5c776-d003-00a2-4e82-49a99c000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:44 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -48,7 +32,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragefa7418d2.queue.core.windows.net - / - restype=service&comp=properties - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world.test_create_client_with_connection_string.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world.test_create_client_with_connection_string.yaml index 1d9d6bd5c023..c0152661035d 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world.test_create_client_with_connection_string.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world.test_create_client_with_connection_string.yaml @@ -9,36 +9,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 964fb2b6-b575-11e9-b910-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:44 GMT + - Fri, 06 Sep 2019 21:59:47 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage407f1dd2.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:43 GMT - Server: + date: + - Fri, 06 Sep 2019 21:59:46 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 8d2f40d5-8003-0039-6282-4924a4000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world.test_queue_and_messages_example.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world.test_queue_and_messages_example.yaml index a59d9c232927..e77df70414fb 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world.test_queue_and_messages_example.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world.test_queue_and_messages_example.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 968fa2ae-b575-11e9-b30b-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:45 GMT + - Fri, 06 Sep 2019 21:59:49 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/myqueue + uri: https://pyacrstorage2a891999.queue.core.windows.net/myqueue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:44 GMT - Server: + date: + - Fri, 06 Sep 2019 21:59:47 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 1af1d33a-6003-0038-5682-492559000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 96c93608-b575-11e9-996a-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:45 GMT + - Fri, 06 Sep 2019 21:59:49 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/myqueue/messages + uri: https://pyacrstorage2a891999.queue.core.windows.net/myqueue/messages response: body: - string: "\uFEFF02c3eb41-dff2-4e47-8014-d5d706e66375Fri, - 02 Aug 2019 22:33:45 GMTFri, 09 Aug 2019 22:33:45 - GMTAgAAAAMAAAAAAAAAWNVkWIJJ1QE=Fri, - 02 Aug 2019 22:33:45 GMT" + string: "\uFEFFabec80cd-1d84-422a-ba2f-874603ce89eeFri, + 06 Sep 2019 21:59:48 GMTFri, 13 Sep 2019 21:59:48 + GMTAgAAAAMAAAAAAAAAGrVqZv5k1QE=Fri, + 06 Sep 2019 21:59:48 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:45 GMT - Server: + date: + - Fri, 06 Sep 2019 21:59:47 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 1af1d347-6003-0038-6182-492559000000 x-ms-version: - '2018-03-28' status: @@ -102,32 +94,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 96d61336-b575-11e9-b3a2-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:45 GMT + - Fri, 06 Sep 2019 21:59:49 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/myqueue/messages + uri: https://pyacrstorage2a891999.queue.core.windows.net/myqueue/messages response: body: - string: "\uFEFF1493797f-57cf-457c-9fc5-3172d5f03036Fri, - 02 Aug 2019 22:33:45 GMTFri, 09 Aug 2019 22:33:45 - GMTAgAAAAMAAAAAAAAAY2xyWIJJ1QE=Fri, - 02 Aug 2019 22:33:45 GMT" + string: "\uFEFF85198fc6-ad1d-45cd-9375-644dae6753e2Fri, + 06 Sep 2019 21:59:48 GMTFri, 13 Sep 2019 21:59:48 + GMTAgAAAAMAAAAAAAAA49Z3Zv5k1QE=Fri, + 06 Sep 2019 21:59:48 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:45 GMT - Server: + date: + - Fri, 06 Sep 2019 21:59:47 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 1af1d354-6003-0038-6d82-492559000000 x-ms-version: - '2018-03-28' status: @@ -143,43 +131,37 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 96e39e78-b575-11e9-9724-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:45 GMT + - Fri, 06 Sep 2019 21:59:49 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/myqueue/messages?numofmessages=2 + uri: https://pyacrstorage2a891999.queue.core.windows.net/myqueue/messages?numofmessages=2 response: body: - string: "\uFEFF02c3eb41-dff2-4e47-8014-d5d706e66375Fri, - 02 Aug 2019 22:33:45 GMTFri, 09 Aug 2019 22:33:45 - GMTAgAAAAMAAAAAAAAA+OJgaoJJ1QE=Fri, - 02 Aug 2019 22:34:15 GMT1I'm - using queues!1493797f-57cf-457c-9fc5-3172d5f03036Fri, - 02 Aug 2019 22:33:45 GMTFri, 09 Aug 2019 22:33:45 - GMTAgAAAAMAAAAAAAAA+OJgaoJJ1QE=Fri, - 02 Aug 2019 22:34:15 GMT1This + string: "\uFEFFabec80cd-1d84-422a-ba2f-874603ce89eeFri, + 06 Sep 2019 21:59:48 GMTFri, 13 Sep 2019 21:59:48 + GMTAgAAAAMAAAAAAAAApKVreP5k1QE=Fri, + 06 Sep 2019 22:00:18 GMT1I'm + using queues!85198fc6-ad1d-45cd-9375-644dae6753e2Fri, + 06 Sep 2019 21:59:48 GMTFri, 13 Sep 2019 21:59:48 + GMTAgAAAAMAAAAAAAAApKVreP5k1QE=Fri, + 06 Sep 2019 22:00:18 GMT1This is my second message" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:45 GMT - Server: + date: + - Fri, 06 Sep 2019 21:59:47 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 1af1d362-6003-0038-7982-492559000000 x-ms-version: - '2018-03-28' status: @@ -195,36 +177,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 96f0b586-b575-11e9-8340-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:45 GMT + - Fri, 06 Sep 2019 21:59:49 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/myqueue/messages?numofmessages=2 + uri: https://pyacrstorage2a891999.queue.core.windows.net/myqueue/messages?numofmessages=2 response: body: string: "\uFEFF" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:45 GMT - Server: + date: + - Fri, 06 Sep 2019 21:59:47 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 1af1d36f-6003-0038-0682-492559000000 x-ms-version: - '2018-03-28' status: @@ -242,29 +218,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 96fd5c90-b575-11e9-abb1-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:46 GMT + - Fri, 06 Sep 2019 21:59:49 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/myqueue + uri: https://pyacrstorage2a891999.queue.core.windows.net/myqueue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:45 GMT - Server: + date: + - Fri, 06 Sep 2019 21:59:49 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 1af1d37f-6003-0038-1682-492559000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world_async.test_create_client_with_connection_string.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world_async.test_create_client_with_connection_string.yaml index 4edf0136e912..6417c6e7bc76 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world_async.test_create_client_with_connection_string.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world_async.test_create_client_with_connection_string.yaml @@ -5,41 +5,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 97182e52-b575-11e9-9dd7-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:46 GMT + - Fri, 06 Sep 2019 21:59:58 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoragefd08204f.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalse" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:45 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 98803171-a003-0043-4182-494ee9000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:56 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -48,7 +32,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragefd08204f.queue.core.windows.net - / - restype=service&comp=properties - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world_async.test_queue_and_messages_example.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world_async.test_queue_and_messages_example.yaml new file mode 100644 index 000000000000..529365a206ec --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_hello_world_async.test_queue_and_messages_example.yaml @@ -0,0 +1,231 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:00 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragece301c16.queue.core.windows.net/myasyncqueue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:58 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragece301c16.queue.core.windows.net + - /myasyncqueue + - '' + - '' +- request: + body: ' + + I''m using queues!' + headers: + Accept: + - application/xml + Content-Length: + - '112' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:00 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstoragece301c16.queue.core.windows.net/myasyncqueue/messages + response: + body: + string: "\uFEFFc0766b73-c14e-428c-8eb6-8ac0b1bf156eFri, + 06 Sep 2019 21:59:59 GMTFri, 13 Sep 2019 21:59:59 + GMTAgAAAAMAAAAAAAAAHhAqbf5k1QE=Fri, + 06 Sep 2019 21:59:59 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:58 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragece301c16.queue.core.windows.net + - /myasyncqueue/messages + - '' + - '' +- request: + body: ' + + This is my second message' + headers: + Accept: + - application/xml + Content-Length: + - '120' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:00 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstoragece301c16.queue.core.windows.net/myasyncqueue/messages + response: + body: + string: "\uFEFF2ed28ad2-97a3-41ab-ae6b-cec07f08bd26Fri, + 06 Sep 2019 21:59:59 GMTFri, 13 Sep 2019 21:59:59 + GMTAgAAAAMAAAAAAAAAmLw2bf5k1QE=Fri, + 06 Sep 2019 21:59:59 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:59 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragece301c16.queue.core.windows.net + - /myasyncqueue/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:00 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragece301c16.queue.core.windows.net/myasyncqueue/messages?numofmessages=2 + response: + body: + string: "\uFEFFc0766b73-c14e-428c-8eb6-8ac0b1bf156eFri, + 06 Sep 2019 21:59:59 GMTFri, 13 Sep 2019 21:59:59 + GMTAgAAAAMAAAAAAAAASvQcf/5k1QE=Fri, + 06 Sep 2019 22:00:29 GMT1I'm + using queues!2ed28ad2-97a3-41ab-ae6b-cec07f08bd26Fri, + 06 Sep 2019 21:59:59 GMTFri, 13 Sep 2019 21:59:59 + GMTAgAAAAMAAAAAAAAASvQcf/5k1QE=Fri, + 06 Sep 2019 22:00:29 GMT1This + is my second message" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:59 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragece301c16.queue.core.windows.net + - /myasyncqueue/messages + - numofmessages=2 + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:00 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstoragece301c16.queue.core.windows.net/myasyncqueue/messages?numofmessages=2 + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 21:59:59 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragece301c16.queue.core.windows.net + - /myasyncqueue/messages + - numofmessages=2 + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:01 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstoragece301c16.queue.core.windows.net/myasyncqueue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 21:59:59 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstoragece301c16.queue.core.windows.net + - /myasyncqueue + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_delete_and_clear_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_delete_and_clear_messages.yaml index a1ebccf6f182..1a74bf6bad2a 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_delete_and_clear_messages.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_delete_and_clear_messages.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 973b8882-b575-11e9-918e-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:46 GMT + - Fri, 06 Sep 2019 22:00:11 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/delqueue + uri: https://pyacrstoragea8ab174c.queue.core.windows.net/delqueue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:46 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 18198e99-a003-000c-0282-498af1000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 976dc5ac-b575-11e9-bdb7-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:46 GMT + - Fri, 06 Sep 2019 22:00:11 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/delqueue/messages + uri: https://pyacrstoragea8ab174c.queue.core.windows.net/delqueue/messages response: body: - string: "\uFEFFf1519661-0f4b-42c0-af45-b87de1c5505cFri, - 02 Aug 2019 22:33:46 GMTFri, 09 Aug 2019 22:33:46 - GMTAgAAAAMAAAAAAAAAsh4LWYJJ1QE=Fri, - 02 Aug 2019 22:33:46 GMT" + string: "\uFEFF702869a6-7efd-4c0d-bd41-833ac02d4be7Fri, + 06 Sep 2019 22:00:10 GMTFri, 13 Sep 2019 22:00:10 + GMTAgAAAAMAAAAAAAAA8JbPc/5k1QE=Fri, + 06 Sep 2019 22:00:10 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:46 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 18198eac-a003-000c-1282-498af1000000 x-ms-version: - '2018-03-28' status: @@ -102,32 +94,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 977c3a98-b575-11e9-a5a7-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:46 GMT + - Fri, 06 Sep 2019 22:00:12 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/delqueue/messages + uri: https://pyacrstoragea8ab174c.queue.core.windows.net/delqueue/messages response: body: - string: "\uFEFFc200c432-fb7a-4279-8962-5c0236ce26f7Fri, - 02 Aug 2019 22:33:46 GMTFri, 09 Aug 2019 22:33:46 - GMTAgAAAAMAAAAAAAAAkRUaWYJJ1QE=Fri, - 02 Aug 2019 22:33:46 GMT" + string: "\uFEFF4fb3b266-1a6c-49eb-9d7e-77129a9f12cdFri, + 06 Sep 2019 22:00:10 GMTFri, 13 Sep 2019 22:00:10 + GMTAgAAAAMAAAAAAAAAVW7ac/5k1QE=Fri, + 06 Sep 2019 22:00:10 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:46 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 18198ebc-a003-000c-2282-498af1000000 x-ms-version: - '2018-03-28' status: @@ -149,32 +137,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 978b742e-b575-11e9-ad44-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:46 GMT + - Fri, 06 Sep 2019 22:00:12 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/delqueue/messages + uri: https://pyacrstoragea8ab174c.queue.core.windows.net/delqueue/messages response: body: - string: "\uFEFFb3fdf963-8e20-463a-8968-745c233bf124Fri, - 02 Aug 2019 22:33:46 GMTFri, 09 Aug 2019 22:33:46 - GMTAgAAAAMAAAAAAAAAI0UqWYJJ1QE=Fri, - 02 Aug 2019 22:33:46 GMT" + string: "\uFEFF3fed562f-789f-4f3b-b2da-1a30c1bdf8b8Fri, + 06 Sep 2019 22:00:10 GMTFri, 13 Sep 2019 22:00:10 + GMTAgAAAAMAAAAAAAAA+rrlc/5k1QE=Fri, + 06 Sep 2019 22:00:10 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:46 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 18198ece-a003-000c-3082-498af1000000 x-ms-version: - '2018-03-28' status: @@ -196,32 +180,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 979b95d0-b575-11e9-8bef-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:47 GMT + - Fri, 06 Sep 2019 22:00:12 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/delqueue/messages + uri: https://pyacrstoragea8ab174c.queue.core.windows.net/delqueue/messages response: body: - string: "\uFEFFc834c867-e1db-49b1-a70c-5efbd53fc381Fri, - 02 Aug 2019 22:33:46 GMTFri, 09 Aug 2019 22:33:46 - GMTAgAAAAMAAAAAAAAA+o03WYJJ1QE=Fri, - 02 Aug 2019 22:33:46 GMT" + string: "\uFEFFc712d4c6-d0c1-4acd-b3ac-9ea092a493c6Fri, + 06 Sep 2019 22:00:10 GMTFri, 13 Sep 2019 22:00:10 + GMTAgAAAAMAAAAAAAAAbmfyc/5k1QE=Fri, + 06 Sep 2019 22:00:10 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:46 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 18198ee6-a003-000c-4782-498af1000000 x-ms-version: - '2018-03-28' status: @@ -243,32 +223,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 97a8d350-b575-11e9-8c5c-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:47 GMT + - Fri, 06 Sep 2019 22:00:12 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/delqueue/messages + uri: https://pyacrstoragea8ab174c.queue.core.windows.net/delqueue/messages response: body: - string: "\uFEFFf7b2327e-7873-4e84-b9c3-837c5b242ee9Fri, - 02 Aug 2019 22:33:46 GMTFri, 09 Aug 2019 22:33:46 - GMTAgAAAAMAAAAAAAAANcVDWYJJ1QE=Fri, - 02 Aug 2019 22:33:46 GMT" + string: "\uFEFF1a16ff2e-9f2f-4055-a9b4-f53cc36796feFri, + 06 Sep 2019 22:00:10 GMTFri, 13 Sep 2019 22:00:10 + GMTAgAAAAMAAAAAAAAAJ4n/c/5k1QE=Fri, + 06 Sep 2019 22:00:10 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:46 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 18198f05-a003-000c-6082-498af1000000 x-ms-version: - '2018-03-28' status: @@ -284,38 +260,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 97bb6412-b575-11e9-b76e-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:47 GMT + - Fri, 06 Sep 2019 22:00:12 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/delqueue/messages + uri: https://pyacrstoragea8ab174c.queue.core.windows.net/delqueue/messages response: body: - string: "\uFEFFf1519661-0f4b-42c0-af45-b87de1c5505cFri, - 02 Aug 2019 22:33:46 GMTFri, 09 Aug 2019 22:33:46 - GMTAgAAAAMAAAAAAAAAC7s3a4JJ1QE=Fri, - 02 Aug 2019 22:34:17 GMT1message1" + string: "\uFEFF702869a6-7efd-4c0d-bd41-833ac02d4be7Fri, + 06 Sep 2019 22:00:10 GMTFri, 13 Sep 2019 22:00:10 + GMTAgAAAAMAAAAAAAAAtVHshf5k1QE=Fri, + 06 Sep 2019 22:00:40 GMT1message1" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:46 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 18198f1d-a003-000c-7782-498af1000000 x-ms-version: - '2018-03-28' status: @@ -333,29 +303,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 97c769cc-b575-11e9-bf64-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:47 GMT + - Fri, 06 Sep 2019 22:00:12 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/delqueue/messages/f1519661-0f4b-42c0-af45-b87de1c5505c?popreceipt=AgAAAAMAAAAAAAAAC7s3a4JJ1QE%3D + uri: https://pyacrstoragea8ab174c.queue.core.windows.net/delqueue/messages/702869a6-7efd-4c0d-bd41-833ac02d4be7?popreceipt=AgAAAAMAAAAAAAAAtVHshf5k1QE%3D response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:46 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:09 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 18198f35-a003-000c-0d82-498af1000000 x-ms-version: - '2018-03-28' status: @@ -373,29 +339,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 97d3e482-b575-11e9-bafb-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:47 GMT + - Fri, 06 Sep 2019 22:00:12 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/delqueue/messages + uri: https://pyacrstoragea8ab174c.queue.core.windows.net/delqueue/messages response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:47 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:10 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 18198f60-a003-000c-2f82-498af1000000 x-ms-version: - '2018-03-28' status: @@ -413,29 +375,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 97ec8bc6-b575-11e9-b31a-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:47 GMT + - Fri, 06 Sep 2019 22:00:12 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/delqueue + uri: https://pyacrstoragea8ab174c.queue.core.windows.net/delqueue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:47 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:10 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 18198f76-a003-000c-4382-498af1000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_enqueue_and_receive_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_enqueue_and_receive_messages.yaml index 570bbc0e6a8e..9ecc02d89a67 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_enqueue_and_receive_messages.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_enqueue_and_receive_messages.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b2 Python/3.5.4 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 3cd6ea6c-ba32-11e9-b30c-b831b5891408 x-ms-date: - - Thu, 08 Aug 2019 23:14:14 GMT + - Fri, 06 Sep 2019 22:00:04 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/messagequeue + uri: https://pyacrstoragef48018ad.queue.core.windows.net/messagequeue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Thu, 08 Aug 2019 23:14:16 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 24c6df8d-4003-00ca-133f-4ef7cd000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b2 Python/3.5.4 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 3f090a66-ba32-11e9-b627-b831b5891408 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Thu, 08 Aug 2019 23:14:18 GMT + - Fri, 06 Sep 2019 22:00:05 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/messagequeue/messages + uri: https://pyacrstoragef48018ad.queue.core.windows.net/messagequeue/messages response: body: - string: "\uFEFFc6beb214-980a-40e9-84c9-bc20af5a3281Thu, - 08 Aug 2019 23:14:18 GMTThu, 15 Aug 2019 23:14:18 - GMTAgAAAAMAAAAAAAAADoXpAD9O1QE=Thu, - 08 Aug 2019 23:14:18 GMT" + string: "\uFEFF0218119b-b6aa-4109-97c2-b62ca2fb9f39Fri, + 06 Sep 2019 22:00:04 GMTFri, 13 Sep 2019 22:00:04 + GMTAgAAAAMAAAAAAAAABlkScP5k1QE=Fri, + 06 Sep 2019 22:00:04 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Thu, 08 Aug 2019 23:14:18 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 24c6e035-4003-00ca-203f-4ef7cd000000 x-ms-version: - '2018-03-28' status: @@ -102,32 +94,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b2 Python/3.5.4 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 3f8c0ee8-ba32-11e9-8ac4-b831b5891408 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Thu, 08 Aug 2019 23:14:18 GMT + - Fri, 06 Sep 2019 22:00:05 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/messagequeue/messages?visibilitytimeout=30 + uri: https://pyacrstoragef48018ad.queue.core.windows.net/messagequeue/messages?visibilitytimeout=30 response: body: - string: "\uFEFF1b029463-6d90-4d88-a6bd-85f63fce5883Thu, - 08 Aug 2019 23:14:19 GMTThu, 15 Aug 2019 23:14:19 - GMTAgAAAAMAAAAAAAAAhHNHEz9O1QE=Thu, - 08 Aug 2019 23:14:49 GMT" + string: "\uFEFF47b204eb-28a5-4eec-bbff-13f5d2c076d8Fri, + 06 Sep 2019 22:00:04 GMTFri, 13 Sep 2019 22:00:04 + GMTAgAAAAMAAAAAAAAACjf+gf5k1QE=Fri, + 06 Sep 2019 22:00:34 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Thu, 08 Aug 2019 23:14:18 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 24c6e0d0-4003-00ca-243f-4ef7cd000000 x-ms-version: - '2018-03-28' status: @@ -149,32 +137,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b2 Python/3.5.4 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 3fce7b9a-ba32-11e9-8336-b831b5891408 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Thu, 08 Aug 2019 23:14:19 GMT + - Fri, 06 Sep 2019 22:00:05 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/messagequeue/messages + uri: https://pyacrstoragef48018ad.queue.core.windows.net/messagequeue/messages response: body: - string: "\uFEFF3e2489dd-1b30-4d86-853d-d2fc61ac08a8Thu, - 08 Aug 2019 23:14:19 GMTThu, 15 Aug 2019 23:14:19 - GMTAgAAAAMAAAAAAAAA1p6yAT9O1QE=Thu, - 08 Aug 2019 23:14:19 GMT" + string: "\uFEFF0bb43d3b-38fe-4b1f-8de3-d9ed7fdc471bFri, + 06 Sep 2019 22:00:04 GMTFri, 13 Sep 2019 22:00:04 + GMTAgAAAAMAAAAAAAAAVEQncP5k1QE=Fri, + 06 Sep 2019 22:00:04 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Thu, 08 Aug 2019 23:14:19 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 24c6e129-4003-00ca-763f-4ef7cd000000 x-ms-version: - '2018-03-28' status: @@ -196,32 +180,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b2 Python/3.5.4 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 40566a74-ba32-11e9-b6ca-b831b5891408 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Thu, 08 Aug 2019 23:14:20 GMT + - Fri, 06 Sep 2019 22:00:05 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/messagequeue/messages + uri: https://pyacrstoragef48018ad.queue.core.windows.net/messagequeue/messages response: body: - string: "\uFEFF2c64160d-cbf7-4e21-8c30-2d8ce5d5cd90Thu, - 08 Aug 2019 23:14:20 GMTThu, 15 Aug 2019 23:14:20 - GMTAgAAAAMAAAAAAAAAsCYuAj9O1QE=Thu, - 08 Aug 2019 23:14:20 GMT" + string: "\uFEFF4ad6943f-0837-4ec4-8e72-d3c15f487917Fri, + 06 Sep 2019 22:00:04 GMTFri, 13 Sep 2019 22:00:04 + GMTAgAAAAMAAAAAAAAAhs0xcP5k1QE=Fri, + 06 Sep 2019 22:00:04 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Thu, 08 Aug 2019 23:14:20 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 24c6e19c-4003-00ca-623f-4ef7cd000000 x-ms-version: - '2018-03-28' status: @@ -243,32 +223,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b2 Python/3.5.4 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 410f8c7a-ba32-11e9-9b60-b831b5891408 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Thu, 08 Aug 2019 23:14:21 GMT + - Fri, 06 Sep 2019 22:00:05 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/messagequeue/messages + uri: https://pyacrstoragef48018ad.queue.core.windows.net/messagequeue/messages response: body: - string: "\uFEFFa8ccfc6e-c4e9-4e45-ad33-1d88ee4a2aecThu, - 08 Aug 2019 23:14:21 GMTThu, 15 Aug 2019 23:14:21 - GMTAgAAAAMAAAAAAAAAy8zrAj9O1QE=Thu, - 08 Aug 2019 23:14:21 GMT" + string: "\uFEFFb03e73c0-4e88-44d4-9aa5-171ced594550Fri, + 06 Sep 2019 22:00:04 GMTFri, 13 Sep 2019 22:00:04 + GMTAgAAAAMAAAAAAAAAXLo7cP5k1QE=Fri, + 06 Sep 2019 22:00:04 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Thu, 08 Aug 2019 23:14:21 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 24c6e282-4003-00ca-213f-4ef7cd000000 x-ms-version: - '2018-03-28' status: @@ -284,38 +260,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b2 Python/3.5.4 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 416e63da-ba32-11e9-b321-b831b5891408 x-ms-date: - - Thu, 08 Aug 2019 23:14:22 GMT + - Fri, 06 Sep 2019 22:00:06 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/messagequeue/messages + uri: https://pyacrstoragef48018ad.queue.core.windows.net/messagequeue/messages response: body: - string: "\uFEFFc6beb214-980a-40e9-84c9-bc20af5a3281Thu, - 08 Aug 2019 23:14:18 GMTThu, 15 Aug 2019 23:14:18 - GMTAgAAAAMAAAAAAAAAoKwyFT9O1QE=Thu, - 08 Aug 2019 23:14:52 GMT1message1" + string: "\uFEFF0218119b-b6aa-4109-97c2-b62ca2fb9f39Fri, + 06 Sep 2019 22:00:04 GMTFri, 13 Sep 2019 22:00:04 + GMTAgAAAAMAAAAAAAAAHyMngv5k1QE=Fri, + 06 Sep 2019 22:00:34 GMT1message1" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Thu, 08 Aug 2019 23:14:22 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 24c6e31b-4003-00ca-163f-4ef7cd000000 x-ms-version: - '2018-03-28' status: @@ -331,38 +301,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b2 Python/3.5.4 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 41eed63a-ba32-11e9-8137-b831b5891408 x-ms-date: - - Thu, 08 Aug 2019 23:14:22 GMT + - Fri, 06 Sep 2019 22:00:06 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/messagequeue/messages + uri: https://pyacrstoragef48018ad.queue.core.windows.net/messagequeue/messages response: body: - string: "\uFEFF3e2489dd-1b30-4d86-853d-d2fc61ac08a8Thu, - 08 Aug 2019 23:14:19 GMTThu, 15 Aug 2019 23:14:19 - GMTAgAAAAMAAAAAAAAADAK0FT9O1QE=Thu, - 08 Aug 2019 23:14:53 GMT1message3" + string: "\uFEFF0bb43d3b-38fe-4b1f-8de3-d9ed7fdc471bFri, + 06 Sep 2019 22:00:04 GMTFri, 13 Sep 2019 22:00:04 + GMTAgAAAAMAAAAAAAAA2ugwgv5k1QE=Fri, + 06 Sep 2019 22:00:34 GMT1message3" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Thu, 08 Aug 2019 23:14:22 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 24c6e3da-4003-00ca-3c3f-4ef7cd000000 x-ms-version: - '2018-03-28' status: @@ -378,38 +342,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b2 Python/3.5.4 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 425866cc-ba32-11e9-9ff2-b831b5891408 x-ms-date: - - Thu, 08 Aug 2019 23:14:23 GMT + - Fri, 06 Sep 2019 22:00:06 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/messagequeue/messages + uri: https://pyacrstoragef48018ad.queue.core.windows.net/messagequeue/messages response: body: - string: "\uFEFF2c64160d-cbf7-4e21-8c30-2d8ce5d5cd90Thu, - 08 Aug 2019 23:14:20 GMTThu, 15 Aug 2019 23:14:20 - GMTAgAAAAMAAAAAAAAAHdsZFj9O1QE=Thu, - 08 Aug 2019 23:14:53 GMT1message4" + string: "\uFEFF4ad6943f-0837-4ec4-8e72-d3c15f487917Fri, + 06 Sep 2019 22:00:04 GMTFri, 13 Sep 2019 22:00:04 + GMTAgAAAAMAAAAAAAAAfoc6gv5k1QE=Fri, + 06 Sep 2019 22:00:34 GMT1message4" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Thu, 08 Aug 2019 23:14:23 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 24c6e42d-4003-00ca-083f-4ef7cd000000 x-ms-version: - '2018-03-28' status: @@ -425,38 +383,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b2 Python/3.5.4 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 42b067c0-ba32-11e9-9906-b831b5891408 x-ms-date: - - Thu, 08 Aug 2019 23:14:24 GMT + - Fri, 06 Sep 2019 22:00:06 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/messagequeue/messages + uri: https://pyacrstoragef48018ad.queue.core.windows.net/messagequeue/messages response: body: - string: "\uFEFFa8ccfc6e-c4e9-4e45-ad33-1d88ee4a2aecThu, - 08 Aug 2019 23:14:21 GMTThu, 15 Aug 2019 23:14:21 - GMTAgAAAAMAAAAAAAAAq8xoFj9O1QE=Thu, - 08 Aug 2019 23:14:54 GMT1message5" + string: "\uFEFFb03e73c0-4e88-44d4-9aa5-171ced594550Fri, + 06 Sep 2019 22:00:04 GMTFri, 13 Sep 2019 22:00:04 + GMTAgAAAAMAAAAAAAAAKyZEgv5k1QE=Fri, + 06 Sep 2019 22:00:34 GMT1message5" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Thu, 08 Aug 2019 23:14:24 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 24c6e480-4003-00ca-533f-4ef7cd000000 x-ms-version: - '2018-03-28' status: @@ -472,36 +424,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b2 Python/3.5.4 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 432228ee-ba32-11e9-836f-b831b5891408 x-ms-date: - - Thu, 08 Aug 2019 23:14:24 GMT + - Fri, 06 Sep 2019 22:00:06 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/messagequeue/messages + uri: https://pyacrstoragef48018ad.queue.core.windows.net/messagequeue/messages response: body: string: "\uFEFF" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Thu, 08 Aug 2019 23:14:24 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 24c6e4e5-4003-00ca-313f-4ef7cd000000 x-ms-version: - '2018-03-28' status: @@ -517,36 +463,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b2 Python/3.5.4 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 436fbb9e-ba32-11e9-9a86-b831b5891408 x-ms-date: - - Thu, 08 Aug 2019 23:14:25 GMT + - Fri, 06 Sep 2019 22:00:06 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/messagequeue/messages?numofmessages=5 + uri: https://pyacrstoragef48018ad.queue.core.windows.net/messagequeue/messages?numofmessages=5 response: body: string: "\uFEFF" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Thu, 08 Aug 2019 23:14:25 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 24c6e549-4003-00ca-053f-4ef7cd000000 x-ms-version: - '2018-03-28' status: @@ -564,29 +504,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b2 Python/3.5.4 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 43c85852-ba32-11e9-be64-b831b5891408 x-ms-date: - - Thu, 08 Aug 2019 23:14:25 GMT + - Fri, 06 Sep 2019 22:00:06 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/messagequeue + uri: https://pyacrstoragef48018ad.queue.core.windows.net/messagequeue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Thu, 08 Aug 2019 23:14:25 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 24c6e5f4-4003-00ca-1c3f-4ef7cd000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_peek_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_peek_messages.yaml index e104e3aef789..8ae8ced552ec 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_peek_messages.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_peek_messages.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 98b03a90-b575-11e9-9835-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:48 GMT + - Fri, 06 Sep 2019 22:00:13 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/peekqueue + uri: https://pyacrstoragead501286.queue.core.windows.net/peekqueue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:48 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:12 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 095327b7-f003-003d-5a82-49d126000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 98e0125e-b575-11e9-a17b-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:49 GMT + - Fri, 06 Sep 2019 22:00:14 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/peekqueue/messages + uri: https://pyacrstoragead501286.queue.core.windows.net/peekqueue/messages response: body: - string: "\uFEFFd8b02c0d-5180-46d1-8883-80bc955923d8Fri, - 02 Aug 2019 22:33:48 GMTFri, 09 Aug 2019 22:33:48 - GMTAgAAAAMAAAAAAAAAIx57WoJJ1QE=Fri, - 02 Aug 2019 22:33:48 GMT" + string: "\uFEFFc4246d3e-8cf7-4ad3-942f-bbf45fb73b39Fri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAANPcOdf5k1QE=Fri, + 06 Sep 2019 22:00:12 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:48 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:12 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 095327ba-f003-003d-5b82-49d126000000 x-ms-version: - '2018-03-28' status: @@ -102,32 +94,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 98ec65f6-b575-11e9-b5b1-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:49 GMT + - Fri, 06 Sep 2019 22:00:14 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/peekqueue/messages + uri: https://pyacrstoragead501286.queue.core.windows.net/peekqueue/messages response: body: - string: "\uFEFFe58ed9a6-f045-4e04-9d99-4b6b1a7ac263Fri, - 02 Aug 2019 22:33:49 GMTFri, 09 Aug 2019 22:33:49 - GMTAgAAAAMAAAAAAAAAeHyHWoJJ1QE=Fri, - 02 Aug 2019 22:33:49 GMT" + string: "\uFEFFea31f154-af53-47f4-bac8-8ce78d900e63Fri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAAt6Mbdf5k1QE=Fri, + 06 Sep 2019 22:00:12 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:49 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:12 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 095327be-f003-003d-5f82-49d126000000 x-ms-version: - '2018-03-28' status: @@ -149,32 +137,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 98f92e86-b575-11e9-8f0e-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:49 GMT + - Fri, 06 Sep 2019 22:00:14 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/peekqueue/messages + uri: https://pyacrstoragead501286.queue.core.windows.net/peekqueue/messages response: body: - string: "\uFEFF81a025d3-56dd-42fd-85b8-90e4d03851dcFri, - 02 Aug 2019 22:33:49 GMTFri, 09 Aug 2019 22:33:49 - GMTAgAAAAMAAAAAAAAActWgWoJJ1QE=Fri, - 02 Aug 2019 22:33:49 GMT" + string: "\uFEFFc70d68a2-7d3d-4bf5-95e9-009e7f32e0ccFri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAADAIodf5k1QE=Fri, + 06 Sep 2019 22:00:12 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:49 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:12 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 095327d0-f003-003d-6f82-49d126000000 x-ms-version: - '2018-03-28' status: @@ -196,32 +180,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 991298a4-b575-11e9-a83b-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:49 GMT + - Fri, 06 Sep 2019 22:00:14 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/peekqueue/messages + uri: https://pyacrstoragead501286.queue.core.windows.net/peekqueue/messages response: body: - string: "\uFEFFdba762bd-35d8-4e4d-9242-2828609484a7Fri, - 02 Aug 2019 22:33:49 GMTFri, 09 Aug 2019 22:33:49 - GMTAgAAAAMAAAAAAAAASR6uWoJJ1QE=Fri, - 02 Aug 2019 22:33:49 GMT" + string: "\uFEFF4d76b96b-9814-4dec-92a1-3d1eb2bcd368Fri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAAQGQydf5k1QE=Fri, + 06 Sep 2019 22:00:12 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:49 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:12 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 095327d9-f003-003d-7682-49d126000000 x-ms-version: - '2018-03-28' status: @@ -243,32 +223,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 991f8e9e-b575-11e9-b501-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:49 GMT + - Fri, 06 Sep 2019 22:00:14 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/peekqueue/messages + uri: https://pyacrstoragead501286.queue.core.windows.net/peekqueue/messages response: body: - string: "\uFEFF8e994e29-5dfb-4120-b6a7-d6a9edadde91Fri, - 02 Aug 2019 22:33:49 GMTFri, 09 Aug 2019 22:33:49 - GMTAgAAAAMAAAAAAAAA4U2+WoJJ1QE=Fri, - 02 Aug 2019 22:33:49 GMT" + string: "\uFEFF0b37818a-7506-41fc-b2ef-0ccc7883d85dFri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAAuGI9df5k1QE=Fri, + 06 Sep 2019 22:00:12 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:49 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:12 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 095327e0-f003-003d-7b82-49d126000000 x-ms-version: - '2018-03-28' status: @@ -284,37 +260,31 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 992f62fe-b575-11e9-bfcd-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:49 GMT + - Fri, 06 Sep 2019 22:00:14 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/peekqueue/messages?peekonly=true + uri: https://pyacrstoragead501286.queue.core.windows.net/peekqueue/messages?peekonly=true response: body: - string: "\uFEFFd8b02c0d-5180-46d1-8883-80bc955923d8Fri, - 02 Aug 2019 22:33:48 GMTFri, 09 Aug 2019 22:33:48 + string: "\uFEFFc4246d3e-8cf7-4ad3-942f-bbf45fb73b39Fri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 GMT0message1" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:49 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:12 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 095327e3-f003-003d-7d82-49d126000000 x-ms-version: - '2018-03-28' status: @@ -330,45 +300,39 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 993b8ed4-b575-11e9-88b1-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:49 GMT + - Fri, 06 Sep 2019 22:00:14 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/peekqueue/messages?numofmessages=5&peekonly=true + uri: https://pyacrstoragead501286.queue.core.windows.net/peekqueue/messages?numofmessages=5&peekonly=true response: body: - string: "\uFEFFd8b02c0d-5180-46d1-8883-80bc955923d8Fri, - 02 Aug 2019 22:33:48 GMTFri, 09 Aug 2019 22:33:48 - GMT0message1e58ed9a6-f045-4e04-9d99-4b6b1a7ac263Fri, - 02 Aug 2019 22:33:49 GMTFri, 09 Aug 2019 22:33:49 - GMT0message281a025d3-56dd-42fd-85b8-90e4d03851dcFri, - 02 Aug 2019 22:33:49 GMTFri, 09 Aug 2019 22:33:49 - GMT0message3dba762bd-35d8-4e4d-9242-2828609484a7Fri, - 02 Aug 2019 22:33:49 GMTFri, 09 Aug 2019 22:33:49 - GMT0message48e994e29-5dfb-4120-b6a7-d6a9edadde91Fri, - 02 Aug 2019 22:33:49 GMTFri, 09 Aug 2019 22:33:49 + string: "\uFEFFc4246d3e-8cf7-4ad3-942f-bbf45fb73b39Fri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMT0message1ea31f154-af53-47f4-bac8-8ce78d900e63Fri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMT0message2c70d68a2-7d3d-4bf5-95e9-009e7f32e0ccFri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMT0message34d76b96b-9814-4dec-92a1-3d1eb2bcd368Fri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMT0message40b37818a-7506-41fc-b2ef-0ccc7883d85dFri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 GMT0message5" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:49 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:12 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 095327eb-f003-003d-0282-49d126000000 x-ms-version: - '2018-03-28' status: @@ -386,29 +350,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 99491a40-b575-11e9-8b9b-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:49 GMT + - Fri, 06 Sep 2019 22:00:14 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/peekqueue + uri: https://pyacrstoragead501286.queue.core.windows.net/peekqueue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:49 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:12 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 095327f3-f003-003d-0982-49d126000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_queue_metadata.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_queue_metadata.yaml index 4d15682cc235..a7c40c7b7331 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_queue_metadata.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_queue_metadata.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9962c0d4-b575-11e9-a7fa-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:50 GMT + - Fri, 06 Sep 2019 22:00:08 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/metaqueue + uri: https://pyacrstoragec10f12ef.queue.core.windows.net/metaqueue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:49 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:07 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - da323637-f003-00d8-1982-49c3d1000000 x-ms-version: - '2018-03-28' status: @@ -51,13 +47,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9997336c-b575-11e9-b9db-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:50 GMT + - Fri, 06 Sep 2019 22:00:09 GMT x-ms-meta-bar: - val2 x-ms-meta-baz: @@ -67,19 +61,17 @@ interactions: x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/metaqueue?comp=metadata + uri: https://pyacrstoragec10f12ef.queue.core.windows.net/metaqueue?comp=metadata response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:49 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:07 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - da323643-f003-00d8-2082-49c3d1000000 x-ms-version: - '2018-03-28' status: @@ -95,31 +87,27 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 99ad1c76-b575-11e9-9af2-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:50 GMT + - Fri, 06 Sep 2019 22:00:09 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/metaqueue?comp=metadata + uri: https://pyacrstoragec10f12ef.queue.core.windows.net/metaqueue?comp=metadata response: body: string: '' headers: - Cache-Control: + cache-control: - no-cache - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:49 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:07 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Vary: - - Origin x-ms-approximate-messages-count: - '0' x-ms-meta-bar: @@ -128,8 +116,6 @@ interactions: - val3 x-ms-meta-foo: - val1 - x-ms-request-id: - - da32365a-f003-00d8-3482-49c3d1000000 x-ms-version: - '2018-03-28' status: @@ -147,29 +133,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 99bd1a66-b575-11e9-9998-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:50 GMT + - Fri, 06 Sep 2019 22:00:09 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/metaqueue + uri: https://pyacrstoragec10f12ef.queue.core.windows.net/metaqueue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:49 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:07 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - da32365f-f003-00d8-3882-49c3d1000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_set_access_policy.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_set_access_policy.yaml new file mode 100644 index 000000000000..86d342a0ac31 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_set_access_policy.yaml @@ -0,0 +1,155 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:08 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragefb841436.queue.core.windows.net/queuetest + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 22:00:07 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: ' + + hello world' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '106' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:09 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstoragefb841436.queue.core.windows.net/queuetest/messages + response: + body: + string: "\uFEFF24190d96-9078-4d0b-b849-5af6c5567b29Fri, + 06 Sep 2019 22:00:07 GMTFri, 13 Sep 2019 22:00:07 + GMTAgAAAAMAAAAAAAAAeCg4cv5k1QE=Fri, + 06 Sep 2019 22:00:07 GMT" + headers: + content-type: + - application/xml + date: + - Fri, 06 Sep 2019 22:00:07 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2018-03-28' + status: + code: 201 + message: Created +- request: + body: ' + + my-access-policy-id2019-09-06T21:00:09Z2019-09-06T23:00:09Zr' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '270' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:09 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstoragefb841436.queue.core.windows.net/queuetest?comp=acl + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 22:00:07 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:09 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstoragefb841436.queue.core.windows.net/queuetest + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 06 Sep 2019 22:00:08 GMT + server: + - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-03-28' + status: + code: 204 + message: No Content +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_update_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_update_message.yaml index 4c09ff00a9d3..558dbd986325 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_update_message.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message.test_update_message.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 99d32982-b575-11e9-9a4d-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:50 GMT + - Fri, 06 Sep 2019 22:00:11 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/updatequeue + uri: https://pyacrstoragec0d812f1.queue.core.windows.net/updatequeue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:50 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:10 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 316e2ef7-7003-0005-4f82-49907f000000 x-ms-version: - '2018-03-28' status: @@ -55,32 +51,28 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9a00eb2c-b575-11e9-b486-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:51 GMT + - Fri, 06 Sep 2019 22:00:12 GMT x-ms-version: - '2018-03-28' method: POST - uri: https://storagename.queue.core.windows.net/updatequeue/messages + uri: https://pyacrstoragec0d812f1.queue.core.windows.net/updatequeue/messages response: body: - string: "\uFEFF74fcab3d-a86f-4336-9423-dd7d470273d9Fri, - 02 Aug 2019 22:33:50 GMTFri, 09 Aug 2019 22:33:50 - GMTAgAAAAMAAAAAAAAAFNqdW4JJ1QE=Fri, - 02 Aug 2019 22:33:50 GMT" + string: "\uFEFFb18fa1ed-c7d2-4f4d-8f50-b6bf4912905dFri, + 06 Sep 2019 22:00:10 GMTFri, 13 Sep 2019 22:00:10 + GMTAgAAAAMAAAAAAAAABN7hc/5k1QE=Fri, + 06 Sep 2019 22:00:10 GMT" headers: - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:50 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:10 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 316e2efd-7003-0005-5382-49907f000000 x-ms-version: - '2018-03-28' status: @@ -96,39 +88,33 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9a0f61e8-b575-11e9-98dd-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:51 GMT + - Fri, 06 Sep 2019 22:00:12 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/updatequeue/messages + uri: https://pyacrstoragec0d812f1.queue.core.windows.net/updatequeue/messages response: body: - string: "\uFEFF74fcab3d-a86f-4336-9423-dd7d470273d9Fri, - 02 Aug 2019 22:33:50 GMTFri, 09 Aug 2019 22:33:50 - GMTAgAAAAMAAAAAAAAAvtOPbYJJ1QE=Fri, - 02 Aug 2019 22:34:21 GMT1update + string: "\uFEFFb18fa1ed-c7d2-4f4d-8f50-b6bf4912905dFri, + 06 Sep 2019 22:00:10 GMTFri, 13 Sep 2019 22:00:10 + GMTAgAAAAMAAAAAAAAAlFTQhf5k1QE=Fri, + 06 Sep 2019 22:00:40 GMT1update me" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:50 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:10 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 316e2f07-7003-0005-5a82-49907f000000 x-ms-version: - '2018-03-28' status: @@ -150,31 +136,27 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9a1fafee-b575-11e9-9aba-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:51 GMT + - Fri, 06 Sep 2019 22:00:12 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/updatequeue/messages/74fcab3d-a86f-4336-9423-dd7d470273d9?popreceipt=AgAAAAMAAAAAAAAAvtOPbYJJ1QE%3D&visibilitytimeout=0 + uri: https://pyacrstoragec0d812f1.queue.core.windows.net/updatequeue/messages/b18fa1ed-c7d2-4f4d-8f50-b6bf4912905d?popreceipt=AgAAAAMAAAAAAAAAlFTQhf5k1QE%3D&visibilitytimeout=0 response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:50 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:10 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-popreceipt: - - AwAAAAMAAAAAAAAAltW+W4JJ1QEBAAAA - x-ms-request-id: - - 316e2f0d-7003-0005-6082-49907f000000 + - AwAAAAMAAAAAAAAA2mH5c/5k1QEBAAAA x-ms-time-next-visible: - - Fri, 02 Aug 2019 22:33:51 GMT + - Fri, 06 Sep 2019 22:00:10 GMT x-ms-version: - '2018-03-28' status: @@ -192,29 +174,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9a2fed08-b575-11e9-9fb9-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:51 GMT + - Fri, 06 Sep 2019 22:00:12 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/updatequeue + uri: https://pyacrstoragec0d812f1.queue.core.windows.net/updatequeue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:50 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:12 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 316e2f11-7003-0005-6482-49907f000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_delete_and_clear_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_delete_and_clear_messages.yaml new file mode 100644 index 000000000000..87c6bc6660ba --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_delete_and_clear_messages.yaml @@ -0,0 +1,700 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue + - '' + - '' +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages + response: + body: + string: "\uFEFF428afabf-43b9-4368-90c4-fa6c2b73eb2cFri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAAvxA/df5k1QE=Fri, + 06 Sep 2019 22:00:12 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages + - '' + - '' +- request: + body: ' + + message4' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages + response: + body: + string: "\uFEFFc8bd942a-429c-463a-9c0c-f4d51370bd3eFri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAAcAtMdf5k1QE=Fri, + 06 Sep 2019 22:00:12 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages + - '' + - '' +- request: + body: ' + + message5' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages + response: + body: + string: "\uFEFF0fceadf9-07f7-43cb-8fe6-1ed35adc8208Fri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAAFR1Ndf5k1QE=Fri, + 06 Sep 2019 22:00:12 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages + - '' + - '' +- request: + body: ' + + message3' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages + response: + body: + string: "\uFEFF437009a2-b88f-4419-b2a8-f6a78bc15357Fri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAAgOBNdf5k1QE=Fri, + 06 Sep 2019 22:00:12 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages + - '' + - '' +- request: + body: ' + + message2' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages + response: + body: + string: "\uFEFF7e7d8799-1347-4c79-a076-04af9d1b1104Fri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAAyVVOdf5k1QE=Fri, + 06 Sep 2019 22:00:12 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages + response: + body: + string: "\uFEFF428afabf-43b9-4368-90c4-fa6c2b73eb2cFri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAAg400h/5k1QE=Fri, + 06 Sep 2019 22:00:43 GMT1message1" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages/428afabf-43b9-4368-90c4-fa6c2b73eb2c?popreceipt=AgAAAAMAAAAAAAAAg400h/5k1QE%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages/428afabf-43b9-4368-90c4-fa6c2b73eb2c + - popreceipt=AgAAAAMAAAAAAAAAg400h/5k1QE%3D + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages + response: + body: + string: "\uFEFFc8bd942a-429c-463a-9c0c-f4d51370bd3eFri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAAiS5Hh/5k1QE=Fri, + 06 Sep 2019 22:00:43 GMT1message4" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages/c8bd942a-429c-463a-9c0c-f4d51370bd3e?popreceipt=AgAAAAMAAAAAAAAAiS5Hh/5k1QE%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages/c8bd942a-429c-463a-9c0c-f4d51370bd3e + - popreceipt=AgAAAAMAAAAAAAAAiS5Hh/5k1QE%3D + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages + response: + body: + string: "\uFEFF0fceadf9-07f7-43cb-8fe6-1ed35adc8208Fri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAAAn9Qh/5k1QE=Fri, + 06 Sep 2019 22:00:43 GMT1message5" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages/0fceadf9-07f7-43cb-8fe6-1ed35adc8208?popreceipt=AgAAAAMAAAAAAAAAAn9Qh/5k1QE%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages/0fceadf9-07f7-43cb-8fe6-1ed35adc8208 + - popreceipt=AgAAAAMAAAAAAAAAAn9Qh/5k1QE%3D + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages + response: + body: + string: "\uFEFF437009a2-b88f-4419-b2a8-f6a78bc15357Fri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAAm/ZZh/5k1QE=Fri, + 06 Sep 2019 22:00:43 GMT1message3" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages/437009a2-b88f-4419-b2a8-f6a78bc15357?popreceipt=AgAAAAMAAAAAAAAAm/ZZh/5k1QE%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages/437009a2-b88f-4419-b2a8-f6a78bc15357 + - popreceipt=AgAAAAMAAAAAAAAAm/ZZh/5k1QE%3D + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages + response: + body: + string: "\uFEFF7e7d8799-1347-4c79-a076-04af9d1b1104Fri, + 06 Sep 2019 22:00:12 GMTFri, 13 Sep 2019 22:00:12 + GMTAgAAAAMAAAAAAAAApjFkh/5k1QE=Fri, + 06 Sep 2019 22:00:43 GMT1message2" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages/7e7d8799-1347-4c79-a076-04af9d1b1104?popreceipt=AgAAAAMAAAAAAAAApjFkh/5k1QE%3D + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:13 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages/7e7d8799-1347-4c79-a076-04af9d1b1104 + - popreceipt=AgAAAAMAAAAAAAAApjFkh/5k1QE%3D + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:13 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:14 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue/messages + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:13 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue/messages + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:15 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstorage3fa019c9.queue.core.windows.net/asyncdelqueue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:13 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3fa019c9.queue.core.windows.net + - /asyncdelqueue + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_enqueue_and_receive_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_enqueue_and_receive_messages.yaml new file mode 100644 index 000000000000..6e9b3063b66b --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_enqueue_and_receive_messages.yaml @@ -0,0 +1,506 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:16 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage92ec1b2a.queue.core.windows.net/asyncmessagequeue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:14 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage92ec1b2a.queue.core.windows.net + - /asyncmessagequeue + - '' + - '' +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:16 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage92ec1b2a.queue.core.windows.net/asyncmessagequeue/messages + response: + body: + string: "\uFEFF0c048648-3b62-47dc-985c-0c91e2f553aeFri, + 06 Sep 2019 22:00:15 GMTFri, 13 Sep 2019 22:00:15 + GMTAgAAAAMAAAAAAAAAENKHdv5k1QE=Fri, + 06 Sep 2019 22:00:15 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:14 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage92ec1b2a.queue.core.windows.net + - /asyncmessagequeue/messages + - '' + - '' +- request: + body: ' + + message3' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:16 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage92ec1b2a.queue.core.windows.net/asyncmessagequeue/messages + response: + body: + string: "\uFEFF4f3b18d1-9f0d-4b9c-b3d7-e66be4d71d4aFri, + 06 Sep 2019 22:00:15 GMTFri, 13 Sep 2019 22:00:15 + GMTAgAAAAMAAAAAAAAAGGmVdv5k1QE=Fri, + 06 Sep 2019 22:00:15 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:14 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage92ec1b2a.queue.core.windows.net + - /asyncmessagequeue/messages + - '' + - '' +- request: + body: ' + + message2' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:16 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage92ec1b2a.queue.core.windows.net/asyncmessagequeue/messages?visibilitytimeout=30 + response: + body: + string: "\uFEFF73939e3f-e5c7-46c8-8f4d-6f30dd8dca7dFri, + 06 Sep 2019 22:00:15 GMTFri, 13 Sep 2019 22:00:15 + GMTAgAAAAMAAAAAAAAAjM93iP5k1QE=Fri, + 06 Sep 2019 22:00:45 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:14 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage92ec1b2a.queue.core.windows.net + - /asyncmessagequeue/messages + - visibilitytimeout=30 + - '' +- request: + body: ' + + message5' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:16 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage92ec1b2a.queue.core.windows.net/asyncmessagequeue/messages + response: + body: + string: "\uFEFF6ed46dff-6ea6-4e07-b77f-00bbd39ac872Fri, + 06 Sep 2019 22:00:15 GMTFri, 13 Sep 2019 22:00:15 + GMTAgAAAAMAAAAAAAAAFxeXdv5k1QE=Fri, + 06 Sep 2019 22:00:15 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:14 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage92ec1b2a.queue.core.windows.net + - /asyncmessagequeue/messages + - '' + - '' +- request: + body: ' + + message4' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:16 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage92ec1b2a.queue.core.windows.net/asyncmessagequeue/messages + response: + body: + string: "\uFEFF8ef2c7a5-691b-4d51-9ca7-a04fd46fe6bfFri, + 06 Sep 2019 22:00:15 GMTFri, 13 Sep 2019 22:00:15 + GMTAgAAAAMAAAAAAAAAXIyXdv5k1QE=Fri, + 06 Sep 2019 22:00:15 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:14 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage92ec1b2a.queue.core.windows.net + - /asyncmessagequeue/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:16 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage92ec1b2a.queue.core.windows.net/asyncmessagequeue/messages + response: + body: + string: "\uFEFF0c048648-3b62-47dc-985c-0c91e2f553aeFri, + 06 Sep 2019 22:00:15 GMTFri, 13 Sep 2019 22:00:15 + GMTAgAAAAMAAAAAAAAAFcR9iP5k1QE=Fri, + 06 Sep 2019 22:00:45 GMT1message1" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:14 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage92ec1b2a.queue.core.windows.net + - /asyncmessagequeue/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:16 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage92ec1b2a.queue.core.windows.net/asyncmessagequeue/messages + response: + body: + string: "\uFEFF4f3b18d1-9f0d-4b9c-b3d7-e66be4d71d4aFri, + 06 Sep 2019 22:00:15 GMTFri, 13 Sep 2019 22:00:15 + GMTAgAAAAMAAAAAAAAA9KaCiP5k1QE=Fri, + 06 Sep 2019 22:00:45 GMT1message3" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:14 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage92ec1b2a.queue.core.windows.net + - /asyncmessagequeue/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:16 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage92ec1b2a.queue.core.windows.net/asyncmessagequeue/messages + response: + body: + string: "\uFEFF6ed46dff-6ea6-4e07-b77f-00bbd39ac872Fri, + 06 Sep 2019 22:00:15 GMTFri, 13 Sep 2019 22:00:15 + GMTAgAAAAMAAAAAAAAAqTuHiP5k1QE=Fri, + 06 Sep 2019 22:00:45 GMT1message5" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:14 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage92ec1b2a.queue.core.windows.net + - /asyncmessagequeue/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:16 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage92ec1b2a.queue.core.windows.net/asyncmessagequeue/messages + response: + body: + string: "\uFEFF8ef2c7a5-691b-4d51-9ca7-a04fd46fe6bfFri, + 06 Sep 2019 22:00:15 GMTFri, 13 Sep 2019 22:00:15 + GMTAgAAAAMAAAAAAAAApEWMiP5k1QE=Fri, + 06 Sep 2019 22:00:45 GMT1message4" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:14 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage92ec1b2a.queue.core.windows.net + - /asyncmessagequeue/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:16 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage92ec1b2a.queue.core.windows.net/asyncmessagequeue/messages + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage92ec1b2a.queue.core.windows.net + - /asyncmessagequeue/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:16 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage92ec1b2a.queue.core.windows.net/asyncmessagequeue/messages?numofmessages=5 + response: + body: + string: "\uFEFF" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage92ec1b2a.queue.core.windows.net + - /asyncmessagequeue/messages + - numofmessages=5 + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:16 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstorage92ec1b2a.queue.core.windows.net/asyncmessagequeue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:15 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage92ec1b2a.queue.core.windows.net + - /asyncmessagequeue + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_peek_messages.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_peek_messages.yaml new file mode 100644 index 000000000000..a2ed3a451e71 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_peek_messages.yaml @@ -0,0 +1,360 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:20 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage26691503.queue.core.windows.net/asyncpeekqueue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage26691503.queue.core.windows.net + - /asyncpeekqueue + - '' + - '' +- request: + body: ' + + message1' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:21 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage26691503.queue.core.windows.net/asyncpeekqueue/messages + response: + body: + string: "\uFEFFdfd6c17a-3ccb-4dd3-a4ab-7c528394f742Fri, + 06 Sep 2019 22:00:19 GMTFri, 13 Sep 2019 22:00:19 + GMTAgAAAAMAAAAAAAAAE39Bef5k1QE=Fri, + 06 Sep 2019 22:00:19 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage26691503.queue.core.windows.net + - /asyncpeekqueue/messages + - '' + - '' +- request: + body: ' + + message2' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:21 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage26691503.queue.core.windows.net/asyncpeekqueue/messages + response: + body: + string: "\uFEFF3a287d06-e6a6-4722-8f83-40ad6e3089acFri, + 06 Sep 2019 22:00:19 GMTFri, 13 Sep 2019 22:00:19 + GMTAgAAAAMAAAAAAAAAQ7ZNef5k1QE=Fri, + 06 Sep 2019 22:00:19 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage26691503.queue.core.windows.net + - /asyncpeekqueue/messages + - '' + - '' +- request: + body: ' + + message3' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:21 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage26691503.queue.core.windows.net/asyncpeekqueue/messages + response: + body: + string: "\uFEFF1009fcd2-4349-4624-87a2-e7fe4db11ee1Fri, + 06 Sep 2019 22:00:19 GMTFri, 13 Sep 2019 22:00:19 + GMTAgAAAAMAAAAAAAAAjStOef5k1QE=Fri, + 06 Sep 2019 22:00:19 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage26691503.queue.core.windows.net + - /asyncpeekqueue/messages + - '' + - '' +- request: + body: ' + + message5' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:21 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage26691503.queue.core.windows.net/asyncpeekqueue/messages + response: + body: + string: "\uFEFF31f576a4-6956-4309-b6bb-4ad49a8bdd05Fri, + 06 Sep 2019 22:00:19 GMTFri, 13 Sep 2019 22:00:19 + GMTAgAAAAMAAAAAAAAAMj1Pef5k1QE=Fri, + 06 Sep 2019 22:00:19 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage26691503.queue.core.windows.net + - /asyncpeekqueue/messages + - '' + - '' +- request: + body: ' + + message4' + headers: + Accept: + - application/xml + Content-Length: + - '103' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:21 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage26691503.queue.core.windows.net/asyncpeekqueue/messages + response: + body: + string: "\uFEFF896bdb86-b594-4b44-96af-d090e1161f30Fri, + 06 Sep 2019 22:00:19 GMTFri, 13 Sep 2019 22:00:19 + GMTAgAAAAMAAAAAAAAAitlPef5k1QE=Fri, + 06 Sep 2019 22:00:19 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage26691503.queue.core.windows.net + - /asyncpeekqueue/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:21 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage26691503.queue.core.windows.net/asyncpeekqueue/messages?peekonly=true + response: + body: + string: "\uFEFFdfd6c17a-3ccb-4dd3-a4ab-7c528394f742Fri, + 06 Sep 2019 22:00:19 GMTFri, 13 Sep 2019 22:00:19 + GMT0message1" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage26691503.queue.core.windows.net + - /asyncpeekqueue/messages + - peekonly=true + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:21 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage26691503.queue.core.windows.net/asyncpeekqueue/messages?numofmessages=5&peekonly=true + response: + body: + string: "\uFEFFdfd6c17a-3ccb-4dd3-a4ab-7c528394f742Fri, + 06 Sep 2019 22:00:19 GMTFri, 13 Sep 2019 22:00:19 + GMT0message13a287d06-e6a6-4722-8f83-40ad6e3089acFri, + 06 Sep 2019 22:00:19 GMTFri, 13 Sep 2019 22:00:19 + GMT0message21009fcd2-4349-4624-87a2-e7fe4db11ee1Fri, + 06 Sep 2019 22:00:19 GMTFri, 13 Sep 2019 22:00:19 + GMT0message331f576a4-6956-4309-b6bb-4ad49a8bdd05Fri, + 06 Sep 2019 22:00:19 GMTFri, 13 Sep 2019 22:00:19 + GMT0message5896bdb86-b594-4b44-96af-d090e1161f30Fri, + 06 Sep 2019 22:00:19 GMTFri, 13 Sep 2019 22:00:19 + GMT0message4" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage26691503.queue.core.windows.net + - /asyncpeekqueue/messages + - numofmessages=5&peekonly=true + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:21 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstorage26691503.queue.core.windows.net/asyncpeekqueue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:19 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage26691503.queue.core.windows.net + - /asyncpeekqueue + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_queue_metadata.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_queue_metadata.yaml new file mode 100644 index 000000000000..ff8d8462bed1 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_queue_metadata.yaml @@ -0,0 +1,141 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:29 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage3ca5156c.queue.core.windows.net/asyncmetaqueue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:26 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3ca5156c.queue.core.windows.net + - /asyncmetaqueue + - '' + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:29 GMT + x-ms-meta-bar: + - val2 + x-ms-meta-baz: + - val3 + x-ms-meta-foo: + - val1 + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage3ca5156c.queue.core.windows.net/asyncmetaqueue?comp=metadata + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:27 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3ca5156c.queue.core.windows.net + - /asyncmetaqueue + - comp=metadata + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:29 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage3ca5156c.queue.core.windows.net/asyncmetaqueue?comp=metadata + response: + body: + string: '' + headers: + cache-control: no-cache + content-length: '0' + date: Fri, 06 Sep 2019 22:00:27 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-approximate-messages-count: '0' + x-ms-meta-bar: val2 + x-ms-meta-baz: val3 + x-ms-meta-foo: val1 + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3ca5156c.queue.core.windows.net + - /asyncmetaqueue + - comp=metadata + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:29 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstorage3ca5156c.queue.core.windows.net/asyncmetaqueue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:27 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3ca5156c.queue.core.windows.net + - /asyncmetaqueue + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_set_access_policy.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_set_access_policy.yaml new file mode 100644 index 000000000000..14d6c8a55bdf --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_set_access_policy.yaml @@ -0,0 +1,144 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:29 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage7e9116b3.queue.core.windows.net/asyncqueuetest + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:27 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage7e9116b3.queue.core.windows.net + - /asyncqueuetest + - '' + - '' +- request: + body: ' + + hello world' + headers: + Accept: + - application/xml + Content-Length: + - '106' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:29 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage7e9116b3.queue.core.windows.net/asyncqueuetest/messages + response: + body: + string: "\uFEFFeeff2a87-cdfd-4660-afe4-ad54b56b2e3dFri, + 06 Sep 2019 22:00:28 GMTFri, 13 Sep 2019 22:00:28 + GMTAgAAAAMAAAAAAAAAj5h+fv5k1QE=Fri, + 06 Sep 2019 22:00:28 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:27 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage7e9116b3.queue.core.windows.net + - /asyncqueuetest/messages + - '' + - '' +- request: + body: ' + + my-access-policy-id2019-09-06T21:00:29Z2019-09-06T23:00:29Zr' + headers: + Content-Length: + - '270' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:29 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage7e9116b3.queue.core.windows.net/asyncqueuetest?comp=acl + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:27 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage7e9116b3.queue.core.windows.net + - /asyncqueuetest + - comp=acl + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:30 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstorage7e9116b3.queue.core.windows.net/asyncqueuetest + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:29 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage7e9116b3.queue.core.windows.net + - /asyncqueuetest + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_update_message.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_update_message.yaml new file mode 100644 index 000000000000..b709cf6ba729 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_message_async.test_update_message.yaml @@ -0,0 +1,186 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:32 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage3c6e156e.queue.core.windows.net/asyncupdatequeue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:30 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3c6e156e.queue.core.windows.net + - /asyncupdatequeue + - '' + - '' +- request: + body: ' + + update me' + headers: + Accept: + - application/xml + Content-Length: + - '104' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:32 GMT + x-ms-version: + - '2018-03-28' + method: POST + uri: https://pyacrstorage3c6e156e.queue.core.windows.net/asyncupdatequeue/messages + response: + body: + string: "\uFEFF2048042f-7549-47dc-90cf-d4e05c5bbb3dFri, + 06 Sep 2019 22:00:31 GMTFri, 13 Sep 2019 22:00:31 + GMTAgAAAAMAAAAAAAAAr6wtgP5k1QE=Fri, + 06 Sep 2019 22:00:31 GMT" + headers: + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:30 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3c6e156e.queue.core.windows.net + - /asyncupdatequeue/messages + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:32 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage3c6e156e.queue.core.windows.net/asyncupdatequeue/messages + response: + body: + string: "\uFEFF2048042f-7549-47dc-90cf-d4e05c5bbb3dFri, + 06 Sep 2019 22:00:31 GMTFri, 13 Sep 2019 22:00:31 + GMTAgAAAAMAAAAAAAAAXuQTkv5k1QE=Fri, + 06 Sep 2019 22:01:01 GMT1update + me" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:30 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3c6e156e.queue.core.windows.net + - /asyncupdatequeue/messages + - '' + - '' +- request: + body: ' + + updated' + headers: + Content-Length: + - '102' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:32 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage3c6e156e.queue.core.windows.net/asyncupdatequeue/messages/2048042f-7549-47dc-90cf-d4e05c5bbb3d?popreceipt=AgAAAAMAAAAAAAAAXuQTkv5k1QE%3D&visibilitytimeout=0 + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:30 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-popreceipt: AwAAAAMAAAAAAAAALv02gP5k1QEBAAAA + x-ms-time-next-visible: Fri, 06 Sep 2019 22:00:31 GMT + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3c6e156e.queue.core.windows.net + - /asyncupdatequeue/messages/2048042f-7549-47dc-90cf-d4e05c5bbb3d + - popreceipt=AgAAAAMAAAAAAAAAXuQTkv5k1QE%3D&visibilitytimeout=0 + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:32 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstorage3c6e156e.queue.core.windows.net/asyncupdatequeue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:30 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage3c6e156e.queue.core.windows.net + - /asyncupdatequeue + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service.test_queue_service_properties.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service.test_queue_service_properties.yaml index 35aec0ae2066..e999264b347b 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service.test_queue_service_properties.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service.test_queue_service_properties.yaml @@ -16,27 +16,23 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9a63a6a6-b575-11e9-93a4-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:51 GMT + - Fri, 06 Sep 2019 22:00:49 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage99041757.queue.core.windows.net/?restype=service&comp=properties response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:51 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:54 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 8d2f452b-8003-0039-2682-4924a4000000 x-ms-version: - '2018-03-28' status: @@ -52,36 +48,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9adc54dc-b575-11e9-8988-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:52 GMT + - Fri, 06 Sep 2019 22:00:56 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage99041757.queue.core.windows.net/?restype=service&comp=properties response: body: string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:51 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:54 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: + vary: - Origin - x-ms-request-id: - - 8d2f4566-8003-0039-5082-4924a4000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service.test_queues_in_account.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service.test_queues_in_account.yaml index 645a19c83bb0..0ba1a169c691 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service.test_queues_in_account.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service.test_queues_in_account.yaml @@ -11,29 +11,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9afa75fa-b575-11e9-a298-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:52 GMT + - Fri, 06 Sep 2019 22:00:35 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/testqueue + uri: https://pyacrstoragefdf21450.queue.core.windows.net/testqueue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:52 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:33 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 22d92611-0003-00ab-4d82-49b312000000 x-ms-version: - '2018-03-28' status: @@ -49,37 +45,31 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9b334b5c-b575-11e9-ad1d-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:53 GMT + - Fri, 06 Sep 2019 22:00:36 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?comp=list + uri: https://pyacrstoragefdf21450.queue.core.windows.net/?comp=list response: body: string: "\uFEFFcont079e53b6285d462b80b03b642545c8cecont189cce925f2b4bb486c0723a407941cacont270f85ade4ef4fc085727f90367b3c18cont2a13557b64914cf39299097cc1b22ed4cont3b59e2e7def04258824d6de7c802b056cont483db24a585b4602a62ba5f57c045093cont69af6d7f103c4d7b9b08abca4a760fd0cont7783e8311e224b03a658d6a35281a381cont86a3e2a1523443e392221f578ee21793contc9644de2738c476d9b80652d722a2d93conte753f547f8954cdaaaef56fcedb753ddconte7e0b2cd8aec4e828aa9f14afbda798bcontea4add581ae746f69ed0f72f8842631eencryptionqueue0097120ed98c4ab897ab5b43e078ff6aencryptionqueue016f931800f2406d9f25b54df61e5565encryptionqueue02730e3442564930bf34778fbd48d093encryptionqueue0372ba6784084ba58e90d56221a93e0fencryptionqueue042c5d6cead5458da955da1c5d79af86encryptionqueue042d7ab9f40d4b25bca7ad3ccaa64904encryptionqueue084d041c53a54e9084c5dbc97919de94encryptionqueue08cd92e2ea324d648d27bd90e0a2033dencryptionqueue08d8c139169447468949bdbf635a844fencryptionqueue0a8af1a82ec845149071171889f54ba6encryptionqueue0b0c49d937714cf3aeef9c2cdb3912eaencryptionqueue0b77d1f773dd4d7694dfb5f0e5a492b1encryptionqueue0c38d2a5f8ac4f1890705f2c6afe101eencryptionqueue0c54480c9ca6490b9b572e1cb10df446encryptionqueue0e7203c6d1f34819a46a88cae17dca38encryptionqueue0f6e2077abba4ed29cdef11318405f95encryptionqueue100cefda5d8f49528deec587851311b5encryptionqueue104f00a86dfc4c7dbe572c094b2661c0encryptionqueue1090ce1d93f04f6d85e3d4b688ee1e98encryptionqueue12a82a4271fa411581d74ef5ccc48950encryptionqueue16d5e20f58064a4fbde1e59bf717b443encryptionqueue17c36c0abbce4861bf03e9a481b1c12bencryptionqueue1a0f06c3e1c24961b9cac3e5102d55fbencryptionqueue1af22c2e37424f0cb3f4328677f8857eencryptionqueue1b6e45f94e4e4dceb8e5facda49c1d52encryptionqueue1ca72fd152ce4f3e81a4f226b027ab76encryptionqueue1cfb9275c8694e35998e66fca7da24e6encryptionqueue1d2ffe8663cc4b97a36b6e23ce20c6efencryptionqueue1d30b3d8d40649309819810c62b41d78encryptionqueue21938f5cb8a8471f880a2075d70ae1d6encryptionqueue229bd430a4b44bd4aa772f986066559eencryptionqueue26a95595ab264b2898ada5abefb52595encryptionqueue2799a0470dd1437880dc54cf06025377encryptionqueue2900a41e28544c0b86725dd598d95955encryptionqueue2972c516b21e4cd0aabed862f09a47ebencryptionqueue2b1811238dc44cf080f481d8ec68a826encryptionqueue2c58bc2059e94665a2c8afa7407529c9encryptionqueue2dc4bc6cb5a4428499603704eeda993aencryptionqueue2f2d395b74ba4a838473462fcf6f6922encryptionqueue2f714247d5f047c09be8fdafaef6d5c4encryptionqueue2fcef7344a1246809d02b60f1d039261encryptionqueue30e90209e20640ac999c43b8b2d748d6encryptionqueue31920fdafa5b4888972b21ba4e328f1aencryptionqueue3277eb25021146799ff603bd9b3df5b9encryptionqueue346f6f38ac8e4e30ac47844dde558a73encryptionqueue348bfecf0dad46129ecd1707e272709bencryptionqueue34a75cdb25be480e8ac1a31442fd0146encryptionqueue34d386b0ac8444ff92be5970946fd493encryptionqueue366bb78e99ad47ffb77bd270c98f4041encryptionqueue39be41c1f6d3427a822684954cc3db93encryptionqueue3aa5c50ec3b8461ab0a40bee207eb6eeencryptionqueue3b8773119ca24a99880df6bb9c20de0aencryptionqueue3f1145e9a9be423cab5c73b9bd74fe13encryptionqueue40a3e078eda0432dacf8e81f6a058cb8encryptionqueue40a6c172b6b04b8c8e0aa654644bc24cencryptionqueue42a1307c137342bcbd575329d3baf985encryptionqueue42cc363cd2de4df4a51293c82c968494encryptionqueue42e090d9a38f4a4ab6676f3c83c4ce45encryptionqueue43a3cde167144fd8b6e766675c734f6bencryptionqueue43a531e62b634ab4bd70d400bb964317encryptionqueue43bfd7d10982430180bc4a50acc410eaencryptionqueue453b36a7a786488fad7b1f3c1b0d32ffencryptionqueue45dd63ebfba14885931881d7f304c5d8encryptionqueue4b7a63dfa33440768b92d4abe1f6af1fencryptionqueue4c7d4b04f8eb4c90b1dfa3ee5a1fc1c4encryptionqueue4d6b09b0ec434352b977c2e002471506encryptionqueue4ddfb8074fe3410fb000c5f16db13366encryptionqueue4e81724d05be43ac9a06c96930783b62encryptionqueue4f553e48c0cb4ebdbaf53c15d18d0053encryptionqueue501c68c596a247e5a76644e4144587e6encryptionqueue54143dc3ff8843e895ab324e9ff11abbencryptionqueue54485b16c40b4d759bf2c05c8f0a9f67encryptionqueue54779029395a4303af2970d4f9b47e5fencryptionqueue548ac7ba391d40079564aada806782f7encryptionqueue55a1dd25f17f44e99b19827dc46e44fdencryptionqueue55f6d39108404ccbbd21a7a0d922b697encryptionqueue563fd46354b34941b4e953fb0a61da4eencryptionqueue56a3936979574c39be62b5cc5589eb18encryptionqueue575354c26ea843d0850bc55d9e161572encryptionqueue578c7843b1ed4b5093f8b62224aca5c0encryptionqueue57a8960985eb4126b0c1dc1e58992203encryptionqueue58b8dc677a8649da8e8fd31f6d8bd615encryptionqueue5a1d5296c33f499c9d78da514015ac82encryptionqueue5d14f941f9974c1785f46c6f50f7c26cencryptionqueue5d4407051116441c831e8ffd56e6bc50encryptionqueue5ef21f46760b48399ebb7698ca5837fcencryptionqueue5efe7a4d22114c4da80264ac29ead426encryptionqueue6277ea8364e043a6b08deabde442c615encryptionqueue62a53f41aab443f98a072b0d5006fec6encryptionqueue62c0040941e0456d85d859a25a497166encryptionqueue632fd9e53b73412baa17f9061d1cec69encryptionqueue647092dc70bf4cf2b1f24e9ae92cf81fencryptionqueue64bf1697566d48a090b3fbd976a41d13encryptionqueue6840112ff5e8468fbd5b5110910f601dencryptionqueue6ae6bed50bfd48419782bc922d072f5fencryptionqueue6c2b326005104aa1b50bafccbb1a27feencryptionqueue6f2e68232fc040468b036ee14d35b743encryptionqueue6fb8e1ec7e3d4c3e8d973b8c9a7eca32encryptionqueue729fc126bba44466a8a8792164cd9cc5encryptionqueue731453c45d4145e38233d2bc57ec42beencryptionqueue7387f096a56e4b08bfc28fd1b4f1ca9fencryptionqueue73db9ba0d6bc4050ad28ca2826252907encryptionqueue73ea459f720f4779a1aa44684ad4d439encryptionqueue74c27cd56f9b4a54896f3e66f1aba084encryptionqueue75576ffa60e5499484da7e9f8552a28bencryptionqueue7844c5ebb35c4ff5a8a908925ff5b2f6encryptionqueue7a15c02234084348921858a79cf2fb59encryptionqueue7a2fe30b64604ae98117a034072eb6b9encryptionqueue7afea18bed6443f48980e1fe6ab26438encryptionqueue7b094497db4d48f39d6831657db9d700encryptionqueue7b639b8c9fc64d3388d1500bd409abfbencryptionqueue7bb89a64ec5b43ffb98404ee0856fc7eencryptionqueue7c287c2c8b224b90a9b8375b6669f3b1encryptionqueue7eb3f2cccffb449983783b523a54793cencryptionqueue7f52074e87874337855a6a933dd8a9e7encryptionqueue7fa13c40ab884ef49867a67217d3ff44encryptionqueue8113b375e1c04b2488befb80af533364encryptionqueue8282ee8638434433824cfbf6aabd2c1cencryptionqueue84472b92e9b24bc690807909700c046fencryptionqueue84f1a9817f284294b48fec16feb9877eencryptionqueue852991c0af6c4bff98cba25147726206encryptionqueue871b5a2c8cdf449bb9dc1243dc50b83aencryptionqueue890c3286f4a044b5a4db736fd0c74651encryptionqueue8b7230e176e843f382fecf591253f779encryptionqueue8b8a258efc034a7f872045f4c420f84bencryptionqueue8c454d5bdad7473db6b4b974670c6cbeencryptionqueue8ed7dafb9e09414d893170fe3f62f97dencryptionqueue8fa5f7e78d1545df800daa008c8ec4ffencryptionqueue95e33914f60a4b049c6bef1ee383d65eencryptionqueue96124da0010144738bec152eec784ebdencryptionqueue96dded44f2f344789188fa9c3964de11encryptionqueue9719f6cf580242068b12c7e8b660f022encryptionqueue9833cb53913148b2a001452df7582b3cencryptionqueue98ec4d4d4e2240f3a61274ad08ac0bc0encryptionqueue98f22c625f624b72a2f92659b48cd169encryptionqueue991b053961254971b4dd975189f751dbencryptionqueue99b084996b774a7d8d5e28876bc02c2eencryptionqueue9d95735ce2d847e98a95054d9cf3d313encryptionqueue9ddfc660cc324bebba0293710024e72eencryptionqueue9e05eaccf8444710be29e3a123358061encryptionqueue9e1f2ca3d71e4279828ba714f41415d8encryptionqueue9eb22b8388a14b0fad71f195ffc3100aencryptionqueuea094fc7fe61e4757b149cbebb0bd78d0encryptionqueuea09c4705b53c4f58b0393abafdf5a200encryptionqueuea0bcae312ea34c6fa305d62ae8aac550encryptionqueuea1efeef131a145cc8521feabebfcfc5bencryptionqueuea322f5ccc502444ca7063606871b1590encryptionqueuea350c1ca20784ecb9c5bcf131c1a9c8bencryptionqueuea4b2767e118d432f8fad88f19c4561a6encryptionqueuea535995a95e640769918c1e870ebb233encryptionqueuea5c8ec3bec41410385ac6c27271877cbencryptionqueuea8c69b03c1664680b578ba4bf578b208encryptionqueuea900b51280574a0e9b3fe2f6b6cb5222encryptionqueueac79ea38948c4572928c2e1a73d137beencryptionqueueacd7302e730d4824b9e71aa395c6dc93encryptionqueueae725e81989d4b5fa791556de4e7655bencryptionqueueaf127f4aaf7c47af9333f63dd4b0c6a9encryptionqueueaf3e95f0366f4d0fb9b9fbac2fe72c79encryptionqueueafed3761a4f74e22a5f31ce45b786c07encryptionqueueb0131a1971d64828983c8040a13c61e5encryptionqueueb1a90dcee0d149de813ab8dac0b236fcencryptionqueueb1c948cb612c4a858ac7e75eab66fb3bencryptionqueueb3fbcc426aba4a05b8ecdb338cae3ab9encryptionqueueb6094ca059f347439868857ea12535d6encryptionqueueb673014fa4e54f0ba1551c1001a1df42encryptionqueueb6d3a61656854bf5833a8a90a4b905a9encryptionqueueb76ae911f3ff4ec5b27123497942d493encryptionqueueb8ef3a21b53f49af892c74d42ba18b96encryptionqueuebb05e068dd5949bb8e55b9e7755ed4efencryptionqueuebb41a275766e4b60bb2007d8d675ec92encryptionqueuebc2c62bec21f471eb3fae42dfa3e642eencryptionqueuebc30f43cd68346578a3e42d46fd7ec38encryptionqueuebcf4e16d0c954ca2b2cc3780279b57f4encryptionqueuebed6a6c2cc9c46cfa50c10f3183d1a1aencryptionqueuec14f669e1654453f86bd0c076a0cd9feencryptionqueuec16c0d23cedd454892b3c4f76d495908encryptionqueuec16f1bbaa7fc48ceb567bd7b11a2556fencryptionqueuec177ffe3df4c48dbbc749dc4e0973684encryptionqueuec31afa3541c445f4bb777ead59ae790bencryptionqueuec38fe03cedbb411e94b9203b197fb0c6encryptionqueuec3b13da7a37f409e9714a6a4117ec756encryptionqueuec61f6c834ea64f438c5202b974946cf9encryptionqueuec79b3108f23f49e6906d2f760ce2b54eencryptionqueuec89774bd3f5b466e9dceeea90e8e8724encryptionqueuecaebaea357f54a949825a45352ab4a99encryptionqueuecbd50b5188d94b7aa68da1a1ce7ef372encryptionqueued01e401e62144ec8ab904c9a6e3e71bfencryptionqueued1b78feae009454cbac9702948a1e6a1encryptionqueued1e8f34c11964890ac894b6fd8577db7encryptionqueued2d525d0470f4191b1ab3a8ba2909177encryptionqueued4d4d67cfc0448a7a777e886b5d0b3f5encryptionqueued4f0a9fe06ae491f9168838be1f4975aencryptionqueued55aa01a250347ea91d52a5d88b911efencryptionqueued750cbf61ebf434c9601fac592093d06encryptionqueued7fa2d24892f4216837e55d4348c10e6encryptionqueued8dc2f213287470f8761f21dc317cfdaencryptionqueued8fc9376492440a784f3d50a9227822bencryptionqueueda95cb66582c466b90bfb9b337234d8fencryptionqueuedb45a696e5964d93b4cd220fff72e535encryptionqueuedcb9b45ad7e64230aec0ed559481a1eaencryptionqueuedcf328abf4054712ba2ef7c19007c84cencryptionqueuede8196867c49429eaa5460e30b8fffacencryptionqueuedf4de28a5a8f438aad90b9034fb48c6aencryptionqueuee0ddb3fcdbfe4594a3729791b111d642encryptionqueuee0f4d87aaef4424eb900dde7f974c64bencryptionqueuee1c280ce4c7145298c5fbf8126c9b6a8encryptionqueuee1efbf8b5799422aa9996f900071fefbencryptionqueuee5221cea2aaa4043a1f26787a0d82493encryptionqueuee567e008b8034065998e4f31939942b0encryptionqueuee65728e461f14fa795e166269676f1f6encryptionqueuee8c0b76f283545c9be204243a30c706fencryptionqueuee964e4aeae1c4a31ae7dde9e305776cdencryptionqueueeb07e5dbfec649c6a847a094ee810d0eencryptionqueueefea9653fb3141359a3fe65b1deae766encryptionqueuef043e433128a4d289090e16147a9c9e2encryptionqueuef28c24397a584cd8b2cca06eacb4830bencryptionqueuef2921ccedcc842f9a6933898ba54073bencryptionqueuef3312476ff414a4a979a927c8da3b725encryptionqueuef34eeefaa5c14c099bd637bc90fb4ad8encryptionqueuef48cb3e76e204aa9a4480a0f1536a85fencryptionqueuef4afbca3e6394e5c974697bc266516bfencryptionqueuef515fa24ca324570bfc3e75d35edc03eencryptionqueuef586189ff3904f28b26d148c7bb4f90fencryptionqueuefa3b2fdc6f574577963017409efd78e6encryptionqueuefaebb1a83cfc43aebf659f32f2b84e56encryptionqueuefb70345a0b9c4b49b54a4f45f2114b9dencryptionqueuefc17a14f8453407785b99620e28e3dc5encryptionqueuefc900076b063415881f903a569feb4c7encryptionqueuefceeacd2e39f491d9c3fc6bdc04389ccencryptionqueuefd764c95527b4b31a22d608f44e9dbc2encryptionqueueff2895bbc9ba4233ab8c7f2a975393ecencryptionqueueff4e986084c5414fa31c14574dc3cc32encryptionqueueff9f27649b6c462cb05e58b864daa7ebencryptionqueueffda7de0ba364f759c1acbac6454f0d9mytestqueue0219fc1ade71450e92b057fd4d4ab7dcmytestqueue02251eadc2864c7bb5f90049062e99b6mytestqueue0339d719b4f145f5a73ba4eaf82b701cmytestqueue06a5302794394219b0f8a2e79bdb1277mytestqueue0849bdb669764fef9016346990c5da40mytestqueue090d43ab0ca644bab2704b663c370d4dmytestqueue094a0e0a97c647f6b115f7fb3350b28emytestqueue096b3d69dd1a415783e361a016b7171emytestqueue09ec318d047a4f649a5bd82d04991922mytestqueue0a44935b057f40fbbba55600ba1488a5mytestqueue0ae5d7edcfd1423b9bf0b7dd28ae0800mytestqueue0d020ce740154cf8bac50f921730cc6dmytestqueue0d53794f763e46af99a48fddebc3181emytestqueue0efc481803a74a27aced4582e4421f52mytestqueue1024fe31a16a47718921d8ee34f80309mytestqueue10737ee4c08c4acaa3f6daf2458872admytestqueue11eaf3f7b5294f5f973a88b02947134cmytestqueue11ebd8d7cf2b460ba5b5cae9cd8e8c1cmytestqueue129e13914f8a474ba9a722e8e7242dcdmytestqueue131627186d43423b973c451c81e3f82dmytestqueue1361a4c512d84131a9da185a7c004598mytestqueue138682ef9eca41129fd2a1ffad2a5ac6mytestqueue13e19fefb06d4c1b84e38b7baaaa7a2fmytestqueue169cf5534c7d4b96babdf8b59df3cd08mytestqueue17ba6472dc9f4429992e44516b5ce91dmytestqueue195d82bfbfc048599977f3cc2c25553bmytestqueue19af118ef75246dabb54335dfbb69db4mytestqueue1cb3a67a039d42eb9332956de0b78f42mytestqueue1d835889720844e5a14d97d7321d03f9mytestqueue1e78a61f11ca49d4a8a1cb4b52703342mytestqueue20bd5e1c8e1248cbacd4fcd79fbb884cmytestqueue20eaa0d617d748df8711d2f114dd769dmytestqueue2156b0495b7244aea5ddb077441b0f50mytestqueue2190160110db4163af59724b048f802cmytestqueue220465900d0a422dbfd9d5cb58499336mytestqueue2358d205c86e41b7a3218c413267d7efmytestqueue241d1495mytestqueue24b864c4dd8647b7bd63145fc35f4e54mytestqueue2763152f95934cfea34f2cf2b11acf25mytestqueue27e2f02665cd4207b75f1ab53cd55e0amytestqueue2877c5fa3cb54e4e9bb24de2d49ccfd7mytestqueue28df46199e054f15bdd3d87da84e6a2bmytestqueue28ff9eecf8cd4fbb83822e34ac3f99f0mytestqueue2c520166bf0646469dba2f30677fd8d2mytestqueue2c6fdace4a064ee3be9430f412945336mytestqueue2ca89fe6da48420dbec6e8a8817506b8mytestqueue2db5240979114e55a33d6e857cb58a99mytestqueue2e59c98dff6548a799123db4647b8061mytestqueue2ff15b302b284d3d87c26c48fbba0abcmytestqueue30e90f7ba8074d5794508eb630309d21mytestqueue318bf87352434096b6b1d65ad1387814mytestqueue32027843131140839df79a7a573bf638mytestqueue325802c3978942aa9170214c2de3bc63mytestqueue339d8bf8b99d43338c93c334994614e7mytestqueue33dd7f487c454796aed8eb5adbb3e683mytestqueue340b044b833d41ba96b65fecde9d9332mytestqueue34bf34f9e779420e9ffb3d95423cecddmytestqueue388b5c237158440086358774bda7b5d6mytestqueue38a4269fcc4740159f9dc30d6c98c583mytestqueue393b14f7mytestqueue396a127f476b467ca91c640d3cedb2aamytestqueue39b1e7d68fcc4b76b2f1ebd0b43dd980mytestqueue3a34b2a9126c475e8f0de1c3092e9bb0mytestqueue3a9d911dd0384e2688e4051ba50fa5demytestqueue3cf14dd84ed441a2b80b4d1e38145389mytestqueue3cfead3f95fb4f2a9903f77a1fab1e40mytestqueue3d23097d0df64000ac8368a753b37323mytestqueue3f1c857852744a34a8d1f379069e97c0mytestqueue3f63c50a207a48b797b64dd7c93175fbmytestqueue4061b011dd8d4c03a2f058976eba6809mytestqueue40d98ea70e1d472bbe03ee42d02d9343mytestqueue42332e736e09463db66e341be1a37b80mytestqueue42ceec4da33b47019af8fac1a4f4bd9bmytestqueue42d5713a7ff34229838ddb4c0a3089eamytestqueue436a8c91544c4700a03c44778a225f88mytestqueue441eab189ab6405c8d02bdb58bbf81f9mytestqueue453d1525mytestqueue4644887fc41d48eba076b552355afce7mytestqueue48257081a6534dc082763d081172aef5mytestqueue49935eaea39a42d99c2af13c2b554eadmytestqueue4a06296afa2641a988b3f1f713ab59d8mytestqueue4a4b06eadaca4b66920ecb15a72237aemytestqueue4bfab7b6db924e65afcceb07e3132e4emytestqueue4da3ba550b77418fa88bb240e6f55b43mytestqueue4e4859f39d7b4a7793374854eb9a23c8mytestqueue4e7b4012dca849e6bdd0bf7515bcc4e0mytestqueue5047fa41d2e84dcb84f094abb5646617mytestqueue50868d41427b446083ef108713e9da6cmytestqueue509615f0mytestqueue52aab2e1ffcb4468ae0e6fcd44b9ca74mytestqueue52c687986c3f49ebacad92814683cc53mytestqueue5367c4aeb1224dcea8570a0f496aee9dmytestqueue54fdb4232e90452c8f2bcde2e86a666cmytestqueue56023bca72c04a6f9021822e617692a1mytestqueue56bbfe8e7b5a43f29c424aa791f1a3c6mytestqueue5892f8983784411abb16402797c8f9c6mytestqueue5894e150241d4036afd116e019cfaa05mytestqueue5a7f7b831b50412796f4cec5b225de60mytestqueue5afaebce92fd438d8955a57aebea95fdmytestqueue5b149d9025cb4ba586c8d423a21f1d44mytestqueue5cc3f3af56ff4ddfbe2509cd46667f9dmytestqueue5d582e575bd9425cad0a068ee180c787mytestqueue61523c5d0b334277a325328ea3b9ba5bmytestqueue6160042bd21043d48a8b1e1ec5d766b0mytestqueue621a15593a554621aee9cc3e5544dfa6mytestqueue6486f7835eb64320a55410d4fea432efmytestqueue658ad421d040451188df576396d4d023mytestqueue659e455dbd7d4d8080ad8a57684894cfmytestqueue68e4262d91354cf8828d9c6622e151admytestqueue6911f73c444a46b7b94fa7c9c221a49fmytestqueue6943c97dbdb349668459771f77902a7cmytestqueue695261e39ff140b799ef6a38fa5014eemytestqueue696d0ceac73f4acdadf9b367853d4cfcmytestqueue6996d04ef45d4106ae09d654cbfd8427mytestqueue6ac45d9688a14a9c82af3da4d3050e3bmytestqueue6efd2c4ccaa440068a44295bdf6af700mytestqueue6f20e40e84d049b989999bd812eaa572mytestqueue70a86c66d369445a8d4150786c0924dfmytestqueue7112bc23f05d436581a442ff5a30a502mytestqueue71cffa274eb8467499f1d3929e0b547amytestqueue72eee81ce3304a85abae0da8da2fb971mytestqueue73809c04b0814c349f3d376acac21936mytestqueue73bf52bde9ad435fb8f25637f9e02a78mytestqueue74eabba1cee848d289770085b26ad0aemytestqueue7505d731b63d442194eabebca60f4489mytestqueue75b91164mytestqueue7797991834d04896a95ef93936c7c681mytestqueue781ddf284f8a4d03823ee7645057f71bmytestqueue78518a7bf157468aa1dee8b37f1e922dmytestqueue7a0bf1563a2b4188bfe4b546a4e03342mytestqueue7a28be41abdb4d769d53b1dece8f73e3mytestqueue7af12e3c329848378893b4b8e3ef4c7amytestqueue7b66f96b9f014a82bad470b8f71caf92mytestqueue7bb43c39f35d431e9ba1c8b122cf9777mytestqueue7c6abfdf443f467090ae8a014be8aa4emytestqueue7d879d082cfa4a8782d6fb4a3ab53038mytestqueue805920c754b041cf8deceff58400fa53mytestqueue83dd9b0186b14fa08141840eae687171mytestqueue85130c472a0b488889663ea8606040e2mytestqueue854d653eff6546f69142cf06af2649b4mytestqueue8559061c61334fa1bb959aecd0da4426mytestqueue858269125a914dcf91187fb153c26892mytestqueue85b8f0e97f5a4cce9b355fbb147c3de7mytestqueue860a1baf5fae486097187b20bc6e7055mytestqueue87d479080c3542c7b8e5a219c3d8db39mytestqueue881db4a38e544258a279c191099a25famytestqueue8841abf9ce4c49edb7185b3f6c1163a7mytestqueue8a876832ac724331953179440a394cfamytestqueue8d30e5ff24594786832c4296abbfd864mytestqueue8d987988c256454e9f68da6e67fff14dmytestqueue8df112ada19b4f3d9234ff22e5c43ce0mytestqueue8ee22ba4e8ac45edbec3325bef58ee43mytestqueue8fb3a010f99b451382dab5b4857657admytestqueue91da76f73ae6480886ef23892623854dmytestqueue93f9e039f73146698134101582558319mytestqueue958fd288fb81413d9544c24b001f1456mytestqueue960ac977f1ac4e60abc38e7c430baa4emytestqueue963c7230424b4c7ca2e6d23a159ca7edmytestqueue96fdfe8c6b134c5384b58c17301f77fcmytestqueue982f67ad01c34da3b0d74c7d0f3dfe55mytestqueue987c3f3e22964e53813fd9cb9ce96a11mytestqueue9aa0c8da777d4cc5903a09493e4686e1mytestqueue9bba16da71034cda969b5445dce6530bmytestqueue9bc49840cfca4e40878d36a28a9e7fbamytestqueue9c323778dc43455bb754412c649043afmytestqueue9ce26d4316bd422a834d9a337dc0a026mytestqueue9e9dfa2473c2401ca2054ce6a3f4614cmytestqueue9fa9d06ac8bd4c588bb2ab3de000eed5mytestqueuea1fe7aa90c8146ecb8a5d945c2252474mytestqueuea225bbfbaead4263ab35865326c742bcmytestqueuea6383e3c9c5344edbf1307b0c12a14f3mytestqueuea7a6653b1b424ddda0a741ea5b1ac88dmytestqueuea81c6600c1b84e41bbd60fd27ce5b417mytestqueuea8de147b194d4bfcb5b59a5f5ca084ddmytestqueuea971fe7d1a344b0b98056bce3afaff5bmytestqueuea9741dcbab624d088e36d224439eb695mytestqueuea9c1bd5618e34125b8a9f689d4a707fbmytestqueuea9e1b0fde8be4118880a510fbe1e589amytestqueueaa1449a0259443b2a44d6ac888d60f6dmytestqueueaa5806c6272d4417a225492239b5ace3mytestqueueaa66e82f3dec46e8839d7715a1d2a043mytestqueueaa760426206d4008bbd94b5af569abe5mytestqueueaafbbec0805c4ca38f01bd01160ec301mytestqueueab101218mytestqueueacf3758b63284ca587aea8a6dd8c540cmytestqueuead335566dfa74d24b7e769693e15f70bmytestqueuead5904d8b8414594aafb6e16c6b90ae1mytestqueueade2d95c2adb42d39897c79a2d2bd732mytestqueueae24b769c11c42f49aa92dd543ef8370mytestqueueae85786599ac40f4bbfc49f589437619mytestqueueb0a78d5a40c64109bbb04f9e75ee6198mytestqueueb21ab3fae3944321834f8d1d3c14eb86mytestqueueb3a17249fb3d4d808f3f11e675a48db6mytestqueueb889933f2d514a01aa066ee6f8527f48mytestqueueb8af4c65c68d40dfb8a43be7f1306736mytestqueueb8e27a5377c746a89684599593c48fc9mytestqueueb8f387b3e88142d994f1b67cc4c3b8f5mytestqueueb8f7c7c0b5334dd28a372483fe34cf85mytestqueuebdb1127amytestqueuebf21883bfba340208905b9e8dca3dbbdmytestqueuebffa233e092b4a9e9addaa8410c2f8e2mytestqueuec02cfaf02cbd4abd9db6056b646b4c2amytestqueuec33012f32b444434a7ae346d695c016dmytestqueuec378f3be6b6a492296d3b7adc9fa124bmytestqueuec3ae673fec224ae08b33380edc2d3017mytestqueuec61106943fef46c58625ead6852f6544mytestqueuec6a88153e5204900abb7cc5db2263871mytestqueuec70725799b784adb8ccbeaca719182b5mytestqueuecad9edd8b29944c2851e2510a965609fmytestqueuecae52f66c12b40a58766acbe2ff6a039mytestqueuecae6805767fe4b51b3de75dc3a87b6a1mytestqueuecaf53e13012d41b48f81ade204f940bfmytestqueuecafbb33045ae477cb30e960324edacf2mytestqueuecc379b71e4674723ac1bd2e873b316f2mytestqueued02f34d52044423e968dd4b55078d55cmytestqueued22317a2mytestqueued30f9eeec88b4c2e80901b6710f09487mytestqueued3b0dc497b92494fa360d4254cb1a55dmytestqueued410fb6be6c344c3b88b95dc07c09f32mytestqueued6a3405cdf904b19a1481eba7c8573bcmytestqueued6ee555754ed433c84ef925b76ac81c2mytestqueued84b35b6f1f24d42afd45ade5d1dd374mytestqueued87e54ff46704900ab5b8091d0e0e584mytestqueueda3bab307514458990f7e8680f8cc1c4mytestqueuedbc04470f1534b76a39606f82a0a9eb9mytestqueuedbe56167f9ca4c2b8a56776f55e30679mytestqueuedd7c186dmytestqueuee0cbc45e20ab4930ae9cbcf71bb0ebb1mytestqueuee1e1248a89854ded8e15dc43c98ca3ffmytestqueuee1eb8770bfc14ea68e1ecf5998510802mytestqueuee2298173ac224ab6931c525d61033dd8mytestqueuee2731e6215af45eeaf7a7d0853223a62mytestqueuee4be0725f15c4bdcacd70e3f386bd278mytestqueuee502ace649084b42b7e438a4852a2d04mytestqueuee69b8c007ac249c28a139e4c2bf422afmytestqueuee6e7007681db4f38bd54b1bef2dc561fmytestqueuee74013e1mytestqueuee7d1522da1024b62ad98758788f8bb60mytestqueuee8521fdb8dba408887e0c5c5a0a71963mytestqueuee87b6d1aacf54490b97ade827772735emytestqueuee9258d0f6a424dacb443807783c770abmytestqueueea01d18298ce4695bdb9f46a923010d4mytestqueueebe246cf030c4889997884bbf9b751ccmytestqueuef0a9a0a2ad674a91af11a7134ea213d3mytestqueuef17d47f32eee45fdaa8403951b52cbcfmytestqueuef1fc77e7e7a64e12a523ff7c226bc098mytestqueuef25e76f608ca41d19f77b300f17cbe79mytestqueuef2eab9ef80fd4906a050ca1b12bf0c81mytestqueuef4c4a9ec99df4d3ab2f1381daac21050mytestqueuef4d662f2458048819862b9dc2b99e0f8mytestqueuef4e3d4b58b5244d69e414898b9c19522mytestqueuef55043a7cdc140da84d260d6d21d5b96mytestqueuef597e9b04e6940178368ea7067a0d127mytestqueuef5e8a16e00954635bf0d4bc28e9758e9mytestqueuef6a421d877e542a493bd7319e7cf704bmytestqueuef6f2fa1d36b947e4879469f23b1d48d2mytestqueuef7218773c2504e3f91d4b52abdeedf60mytestqueuef7e117b62c1f400f8e6ec44c05ab17bdmytestqueuefc681a690e364421aee2604578788433mytestqueuefcb9b981bd2240bc982c63ca4aabe3a9mytestqueuefe70fb5cd21a4fb095adb75b56c541c9testqueuetestqueue" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:52 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:34 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 22d9263c-0003-00ab-7682-49b312000000 x-ms-version: - '2018-03-28' status: @@ -95,37 +85,31 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9b5c6d30-b575-11e9-8ee1-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:53 GMT + - Fri, 06 Sep 2019 22:00:36 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?prefix=test&comp=list + uri: https://pyacrstoragefdf21450.queue.core.windows.net/?prefix=test&comp=list response: body: string: "\uFEFFtesttestqueuetesttestqueue" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:52 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:34 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 22d92695-0003-00ab-4f82-49b312000000 x-ms-version: - '2018-03-28' status: @@ -143,29 +127,25 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9b68bb3e-b575-11e9-acb4-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:53 GMT + - Fri, 06 Sep 2019 22:00:36 GMT x-ms-version: - '2018-03-28' method: DELETE - uri: https://storagename.queue.core.windows.net/testqueue + uri: https://pyacrstoragefdf21450.queue.core.windows.net/testqueue response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:53 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:35 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 22d926ba-0003-00ab-7382-49b312000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service_async.test_queue_service_properties.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service_async.test_queue_service_properties.yaml new file mode 100644 index 000000000000..becc5cc558d7 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service_async.test_queue_service_properties.yaml @@ -0,0 +1,77 @@ +interactions: +- request: + body: ' + + 1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5www.xyz.comGET0www.xyz.com,www.ab.com,www.bc.comGET,PUTx-ms-meta-data*,x-ms-meta-target*,x-ms-meta-xyz,x-ms-meta-foox-ms-meta-data*,x-ms-meta-source*,x-ms-meta-abc,x-ms-meta-bcd500' + headers: + Content-Length: + - '1155' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + x-ms-date: + - Fri, 06 Sep 2019 22:00:36 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage2dc419d4.queue.core.windows.net/?restype=service&comp=properties + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:36 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 202 + message: Accepted + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage2dc419d4.queue.core.windows.net + - / + - restype=service&comp=properties + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:38 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage2dc419d4.queue.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:36 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + vary: Origin + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage2dc419d4.queue.core.windows.net + - / + - restype=service&comp=properties + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service_async.test_queues_in_account.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service_async.test_queues_in_account.yaml new file mode 100644 index 000000000000..3616c6c5e278 --- /dev/null +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_samples_service_async.test_queues_in_account.yaml @@ -0,0 +1,142 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:45 GMT + x-ms-version: + - '2018-03-28' + method: PUT + uri: https://pyacrstorage814716cd.queue.core.windows.net/asynctestqueue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:43 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 201 + message: Created + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage814716cd.queue.core.windows.net + - /asynctestqueue + - '' + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:45 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage814716cd.queue.core.windows.net/?comp=list + response: + body: + string: "\uFEFFasynctestqueue" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:43 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage814716cd.queue.core.windows.net + - / + - comp=list + - '' +- request: + body: null + headers: + Accept: + - application/xml + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:45 GMT + x-ms-version: + - '2018-03-28' + method: GET + uri: https://pyacrstorage814716cd.queue.core.windows.net/?prefix=test&comp=list + response: + body: + string: "\uFEFFtest" + headers: + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:00:43 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + x-ms-version: '2018-03-28' + status: + code: 200 + message: OK + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage814716cd.queue.core.windows.net + - / + - prefix=test&comp=list + - '' +- request: + body: null + headers: + User-Agent: + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) + content-type: + - application/xml; charset=utf-8 + x-ms-date: + - Fri, 06 Sep 2019 22:00:45 GMT + x-ms-version: + - '2018-03-28' + method: DELETE + uri: https://pyacrstorage814716cd.queue.core.windows.net/asynctestqueue + response: + body: + string: '' + headers: + content-length: '0' + date: Fri, 06 Sep 2019 22:00:43 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: '2018-03-28' + status: + code: 204 + message: No Content + url: !!python/object/new:yarl.URL + state: !!python/tuple + - !!python/object/new:urllib.parse.SplitResult + - https + - pyacrstorage814716cd.queue.core.windows.net + - /asynctestqueue + - '' + - '' +version: 1 diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_queue_service_properties.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_queue_service_properties.yaml index bd2d0aed8d62..0f4acb2d05f4 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_queue_service_properties.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_queue_service_properties.yaml @@ -16,27 +16,23 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9b89c9da-b575-11e9-a64d-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:53 GMT + - Fri, 06 Sep 2019 22:00:50 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoragee50d18af.queue.core.windows.net/?restype=service&comp=properties response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:53 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:49 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 8e58efce-3003-00e7-1e82-49740d000000 x-ms-version: - '2018-03-28' status: @@ -52,34 +48,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9bbec5b8-b575-11e9-8270-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:54 GMT + - Fri, 06 Sep 2019 22:00:52 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoragee50d18af.queue.core.windows.net/?restype=service&comp=properties response: body: string: "\uFEFF1.0falsefalsefalsefalse1.0falsefalse1.0falsefalse" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:53 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:50 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - x-ms-request-id: - - 8e58efe0-3003-00e7-2a82-49740d000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_retention_too_long.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_retention_too_long.yaml index 8ff5fceef3ca..669da17417d9 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_retention_too_long.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_retention_too_long.yaml @@ -15,33 +15,29 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9bdff170-b575-11e9-bf3a-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:54 GMT + - Fri, 06 Sep 2019 22:00:54 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage57af1626.queue.core.windows.net/?restype=service&comp=properties response: body: string: "\uFEFFInvalidXmlDocumentXML - specified is not syntactically valid.\nRequestId:56f39019-b003-00b9-0782-49870e000000\nTime:2019-08-02T22:33:54.2651659Z2176Retention + specified is not syntactically valid.\nRequestId:5b2f3e1e-4003-00ed-20fe-645c45000000\nTime:2019-09-06T22:00:53.6829721Z2176Retention days must be greater than 0 and less than or equal to 365 days." headers: - Content-Length: + content-length: - '376' - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:53 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:52 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: - InvalidXmlDocument - x-ms-request-id: - - 56f39019-b003-00b9-0782-49870e000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_cors.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_cors.yaml index c20b75b17cd3..d26d976e1a27 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_cors.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_cors.yaml @@ -16,27 +16,23 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9c1bc3ee-b575-11e9-9e63-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:54 GMT + - Fri, 06 Sep 2019 22:00:54 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage8cb411f0.queue.core.windows.net/?restype=service&comp=properties response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:54 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:52 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - f373a3bd-1003-0096-2982-490634000000 x-ms-version: - '2018-03-28' status: @@ -52,36 +48,32 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9c4c284c-b575-11e9-bc6e-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:54 GMT + - Fri, 06 Sep 2019 22:00:55 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage8cb411f0.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0falsefalsefalsefalse1.0falsefalse1.0falsefalseGETwww.xyz.com1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalseGETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:54 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:52 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: + vary: - Origin - x-ms-request-id: - - f373a3cb-1003-0096-3082-490634000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_hour_metrics.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_hour_metrics.yaml index adbb5547576f..1c660ac07643 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_hour_metrics.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_hour_metrics.yaml @@ -15,27 +15,23 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9c6349f0-b575-11e9-b213-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:55 GMT + - Fri, 06 Sep 2019 22:00:59 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage2b65154d.queue.core.windows.net/?restype=service&comp=properties response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:55 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - ea6634c0-6003-005e-5882-499703000000 x-ms-version: - '2018-03-28' status: @@ -51,36 +47,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9cbf2b24-b575-11e9-a0e2-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:55 GMT + - Fri, 06 Sep 2019 22:01:00 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage2b65154d.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue51.0falsefalseGETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue51.0falsefalse" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:55 GMT - Server: + date: + - Fri, 06 Sep 2019 22:00:58 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - ea6634dd-6003-005e-6982-499703000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_logging.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_logging.yaml index 505adb24d3de..19b36fab7f6c 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_logging.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_logging.yaml @@ -15,27 +15,23 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9cdc3bdc-b575-11e9-ad88-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:55 GMT + - Fri, 06 Sep 2019 22:01:00 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoragec4da1320.queue.core.windows.net/?restype=service&comp=properties response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:55 GMT - Server: + date: + - Fri, 06 Sep 2019 22:01:05 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - 881d6554-e003-00aa-0582-49b2ef000000 x-ms-version: - '2018-03-28' status: @@ -51,36 +47,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9d0b1afe-b575-11e9-8d12-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:56 GMT + - Fri, 06 Sep 2019 22:01:07 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoragec4da1320.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0falsefalseGETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0truetruetruetrue51.0truetruetrue71.0falsefalse" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:55 GMT - Server: + date: + - Fri, 06 Sep 2019 22:01:05 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 881d6564-e003-00aa-0e82-49b2ef000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_minute_metrics.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_minute_metrics.yaml index 00f1d4accbb9..23df3c790c14 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_minute_metrics.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_set_minute_metrics.yaml @@ -15,27 +15,23 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9d2142dc-b575-11e9-bc9e-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:56 GMT + - Fri, 06 Sep 2019 22:01:06 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage572d1621.queue.core.windows.net/?restype=service&comp=properties response: body: string: '' headers: - Content-Length: + content-length: - '0' - Date: - - Fri, 02 Aug 2019 22:33:55 GMT - Server: + date: + - Fri, 06 Sep 2019 22:01:04 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: - - b5e064e9-6003-0011-6b82-49531b000000 x-ms-version: - '2018-03-28' status: @@ -51,36 +47,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9d6b8592-b575-11e9-bf73-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:56 GMT + - Fri, 06 Sep 2019 22:01:06 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage572d1621.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0truetruetrue5" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:55 GMT - Server: + date: + - Fri, 06 Sep 2019 22:01:05 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - b5e06503-6003-0011-7c82-49531b000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_too_many_cors_rules.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_too_many_cors_rules.yaml index 49ca33d41f32..1b4394359285 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_too_many_cors_rules.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties.test_too_many_cors_rules.yaml @@ -21,33 +21,29 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9d8797b8-b575-11e9-90b7-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:57 GMT + - Fri, 06 Sep 2019 22:01:19 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage6dc31694.queue.core.windows.net/?restype=service&comp=properties response: body: string: "\uFEFFInvalidXmlDocumentXML - specified is not syntactically valid.\nRequestId:eccb1bbe-1003-005a-6582-496281000000\nTime:2019-08-02T22:33:57.0387011Z0000" headers: - Content-Length: + content-length: - '294' - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:33:56 GMT - Server: + date: + - Fri, 06 Sep 2019 22:01:17 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: - InvalidXmlDocument - x-ms-request-id: - - eccb1bbe-1003-005a-6582-496281000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_queue_service_properties.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_queue_service_properties.yaml index 4b283bdba4d2..560bb38e19a5 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_queue_service_properties.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_queue_service_properties.yaml @@ -10,29 +10,20 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9dc41cda-b575-11e9-8e61-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:57 GMT + - Fri, 06 Sep 2019 22:01:07 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage81dd1b2c.queue.core.windows.net/?restype=service&comp=properties response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:56 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4f1b74d0-d003-004c-4382-49a31f000000 + content-length: '0' + date: Fri, 06 Sep 2019 22:01:05 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 202 @@ -41,7 +32,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage81dd1b2c.queue.core.windows.net - / - restype=service&comp=properties - '' @@ -51,38 +42,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9ddc771a-b575-11e9-a774-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:57 GMT + - Fri, 06 Sep 2019 22:01:07 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage81dd1b2c.queue.core.windows.net/?restype=service&comp=properties response: body: string: "\uFEFF1.0falsefalsefalsefalse1.0falsefalse1.0falsefalse" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:56 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - x-ms-request-id: 4f1b74d8-d003-004c-4682-49a31f000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:01:05 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -91,7 +69,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage81dd1b2c.queue.core.windows.net - / - restype=service&comp=properties - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_retention_too_long.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_retention_too_long.yaml index 6bfe53fcf958..5935082bcfec 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_retention_too_long.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_retention_too_long.yaml @@ -9,35 +9,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9df6deb0-b575-11e9-bb41-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:57 GMT + - Fri, 06 Sep 2019 22:01:14 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoragee58218a3.queue.core.windows.net/?restype=service&comp=properties response: body: string: "\uFEFFInvalidXmlDocumentXML - specified is not syntactically valid.\nRequestId:f036e079-2003-0095-0b82-490533000000\nTime:2019-08-02T22:33:57.6977456Z229Error + specified is not syntactically valid.\nRequestId:6b67e3e7-6003-0093-75fe-647243000000\nTime:2019-09-06T22:01:13.1506459Z229Error parsing Xml content: 'None' is an invalid XmlNodeType. Line 2, position 29." headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '383' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:57 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + content-length: '383' + content-type: application/xml + date: Fri, 06 Sep 2019 22:01:12 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: InvalidXmlDocument - x-ms-request-id: f036e079-2003-0095-0b82-490533000000 x-ms-version: '2018-03-28' status: code: 400 @@ -46,7 +35,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee58218a3.queue.core.windows.net - / - restype=service&comp=properties - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_cors.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_cors.yaml index 4b55f0e80c9c..049d81ed8ee2 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_cors.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_cors.yaml @@ -10,29 +10,20 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9e28a994-b575-11e9-8d54-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:58 GMT + - Fri, 06 Sep 2019 22:01:26 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage1b4146d.queue.core.windows.net/?restype=service&comp=properties response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: c720eadd-b003-007e-1682-49fbcf000000 + content-length: '0' + date: Fri, 06 Sep 2019 22:01:25 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 202 @@ -41,7 +32,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage1b4146d.queue.core.windows.net - / - restype=service&comp=properties - '' @@ -51,41 +42,26 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9ed90a66-b575-11e9-8217-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:59 GMT + - Fri, 06 Sep 2019 22:01:27 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage1b4146d.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0falsefalsefalsefalse1.0falsefalse1.0falsefalseGETwww.xyz.com1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalseGETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:58 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: c720ebae-b003-007e-4082-49fbcf000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:01:25 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked + vary: Origin x-ms-version: '2018-03-28' status: code: 200 @@ -94,7 +70,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage1b4146d.queue.core.windows.net - / - restype=service&comp=properties - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_hour_metrics.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_hour_metrics.yaml index c6f6f26f7652..8a015b8a2f44 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_hour_metrics.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_hour_metrics.yaml @@ -9,29 +9,20 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9eeb9b2c-b575-11e9-ab73-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:59 GMT + - Fri, 06 Sep 2019 22:01:17 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorageb43e17ca.queue.core.windows.net/?restype=service&comp=properties response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 9a56d59e-9003-00ea-0a82-499b01000000 + content-length: '0' + date: Fri, 06 Sep 2019 22:01:16 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 202 @@ -40,7 +31,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorageb43e17ca.queue.core.windows.net - / - restype=service&comp=properties - '' @@ -50,41 +41,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9f32dac6-b575-11e9-a0bb-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:33:59 GMT + - Fri, 06 Sep 2019 22:01:17 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorageb43e17ca.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue51.0falsefalseGETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue51.0falsefalse" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 9a56d5e3-9003-00ea-4282-499b01000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:01:16 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -93,7 +68,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorageb43e17ca.queue.core.windows.net - / - restype=service&comp=properties - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_logging.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_logging.yaml index 466da8ad1eef..2f244d896b33 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_logging.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_logging.yaml @@ -9,29 +9,20 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9f43e624-b575-11e9-adcc-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:33:59 GMT + - Fri, 06 Sep 2019 22:01:30 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage4151159d.queue.core.windows.net/?restype=service&comp=properties response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 465a4a7b-1003-003c-1c82-49d0db000000 + content-length: '0' + date: Fri, 06 Sep 2019 22:01:28 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 202 @@ -40,7 +31,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage4151159d.queue.core.windows.net - / - restype=service&comp=properties - '' @@ -50,41 +41,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9f5cca70-b575-11e9-bb4b-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:34:00 GMT + - Fri, 06 Sep 2019 22:01:30 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstorage4151159d.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0falsefalseGETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0truetruetruetrue51.0truetruetrue71.0falsefalse" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 465a4a8c-1003-003c-2382-49d0db000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:01:28 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -93,7 +68,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstorage4151159d.queue.core.windows.net - / - restype=service&comp=properties - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_minute_metrics.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_minute_metrics.yaml index 780c5fdf722e..217edb9550ae 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_minute_metrics.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_set_minute_metrics.yaml @@ -9,29 +9,20 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9f741324-b575-11e9-94f1-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:34:00 GMT + - Fri, 06 Sep 2019 22:01:23 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoragee500189e.queue.core.windows.net/?restype=service&comp=properties response: body: string: '' headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '0' - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - x-ms-request-id: 4f1b7539-d003-004c-1082-49a31f000000 + content-length: '0' + date: Fri, 06 Sep 2019 22:01:24 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: '2018-03-28' status: code: 202 @@ -40,7 +31,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee500189e.queue.core.windows.net - / - restype=service&comp=properties - '' @@ -50,41 +41,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9f8baa68-b575-11e9-b3e0-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:34:00 GMT + - Fri, 06 Sep 2019 22:01:26 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoragee500189e.queue.core.windows.net/?restype=service&comp=properties response: body: - string: "\uFEFF1.0truetruetruetrue51.0truetruetrue51.0truetruetrue5GETwww.xyz.com0GET,PUTwww.xyz.com,www.ab.com,www.bc.comx-ms-meta-xyz,x-ms-meta-foo,x-ms-meta-data*,x-ms-meta-target*x-ms-meta-abc,x-ms-meta-bcd,x-ms-meta-data*,x-ms-meta-source*500" + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0truetruetrue5" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:33:59 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 4f1b753c-d003-004c-1282-49a31f000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:01:24 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -93,7 +68,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragee500189e.queue.core.windows.net - / - restype=service&comp=properties - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_too_many_cors_rules.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_too_many_cors_rules.yaml index c965bbc0db2f..1ad89f3a9971 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_too_many_cors_rules.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_properties_async.test_too_many_cors_rules.yaml @@ -9,35 +9,24 @@ interactions: Content-Type: - application/xml; charset=utf-8 User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) - x-ms-client-request-id: - - 9fa00e12-b575-11e9-8a2d-2816a845e8c6 + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) x-ms-date: - - Fri, 02 Aug 2019 22:34:00 GMT + - Fri, 06 Sep 2019 22:01:30 GMT x-ms-version: - '2018-03-28' method: PUT - uri: https://storagename.queue.core.windows.net/?restype=service&comp=properties + uri: https://pyacrstoragefe131911.queue.core.windows.net/?restype=service&comp=properties response: body: string: "\uFEFFInvalidXmlDocumentXML - specified is not syntactically valid.\nRequestId:408c5c7f-9003-0040-1782-494dee000000\nTime:2019-08-02T22:34:00.4761640Z229Error + specified is not syntactically valid.\nRequestId:e850d5f8-5003-00c1-6ffe-64df6d000000\nTime:2019-09-06T22:01:32.5104810Z229Error parsing Xml content: 'None' is an invalid XmlNodeType. Line 2, position 29." headers: - ? !!python/object/new:multidict._istr.istr - - Content-Length - : '383' - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:34:00 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + content-length: '383' + content-type: application/xml + date: Fri, 06 Sep 2019 22:01:32 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: InvalidXmlDocument - x-ms-request-id: 408c5c7f-9003-0040-1782-494dee000000 x-ms-version: '2018-03-28' status: code: 400 @@ -46,7 +35,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest.queue.core.windows.net + - pyacrstoragefe131911.queue.core.windows.net - / - restype=service&comp=properties - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats.test_queue_service_stats_f.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats.test_queue_service_stats_f.yaml index 2776a4af16d8..73b776b46ae8 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats.test_queue_service_stats_f.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats.test_queue_service_stats_f.yaml @@ -9,36 +9,29 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - 9fd67cb0-b575-11e9-909a-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:34:00 GMT + - Fri, 06 Sep 2019 22:01:41 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename-secondary.queue.core.windows.net/?restype=service&comp=stats + uri: https://pyacrstorage2a011538-secondary.queue.core.windows.net/?restype=service&comp=stats response: body: - string: "\uFEFFliveFri, - 02 Aug 2019 22:29:58 GMT" + string: "\uFEFFunavailable" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:34:01 GMT - Server: + date: + - Fri, 06 Sep 2019 22:01:40 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 74ad24e2-6003-00a4-0282-49eb68000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats.test_queue_service_stats_when_unavailable.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats.test_queue_service_stats_when_unavailable.yaml index a56ef1d5a890..926ccd8ba49a 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats.test_queue_service_stats_when_unavailable.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats.test_queue_service_stats_when_unavailable.yaml @@ -9,36 +9,30 @@ interactions: Connection: - keep-alive User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - a0e2bc38-b575-11e9-9b65-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:34:02 GMT + - Fri, 06 Sep 2019 22:01:12 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename-secondary.queue.core.windows.net/?restype=service&comp=stats + uri: https://pyacrstorage9a9c1b67-secondary.queue.core.windows.net/?restype=service&comp=stats response: body: string: "\uFEFFliveFri, - 02 Aug 2019 22:29:58 GMT" + 06 Sep 2019 21:57:25 GMT" headers: - Cache-Control: + cache-control: - no-cache - Content-Type: + content-type: - application/xml - Date: - - Fri, 02 Aug 2019 22:34:02 GMT - Server: + date: + - Fri, 06 Sep 2019 22:01:11 GMT + server: - Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - Transfer-Encoding: + transfer-encoding: - chunked - Vary: - - Origin - x-ms-request-id: - - 446d870a-5003-00e2-1c82-49dfef000000 x-ms-version: - '2018-03-28' status: diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats_async.test_queue_service_stats_f.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats_async.test_queue_service_stats_f.yaml index cba57cd8bf1c..74216a83144b 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats_async.test_queue_service_stats_f.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats_async.test_queue_service_stats_f.yaml @@ -5,41 +5,25 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - a11d8e66-b575-11e9-943d-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:34:03 GMT + - Fri, 06 Sep 2019 22:01:31 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename-secondary.queue.core.windows.net/?restype=service&comp=stats + uri: https://pyacrstorageb29717b5-secondary.queue.core.windows.net/?restype=service&comp=stats response: body: string: "\uFEFFliveFri, - 02 Aug 2019 22:29:58 GMT" + 06 Sep 2019 21:59:17 GMT" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:34:02 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 3276fdcd-4003-0057-7282-494cfd000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:01:29 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -48,7 +32,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest-secondary.queue.core.windows.net + - pyacrstorageb29717b5-secondary.queue.core.windows.net - / - restype=service&comp=stats - '' diff --git a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats_async.test_queue_service_stats_when_unavailable.yaml b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats_async.test_queue_service_stats_when_unavailable.yaml index 7a40f7ddf4ed..971f996d2b91 100644 --- a/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats_async.test_queue_service_stats_when_unavailable.yaml +++ b/sdk/storage/azure-storage-queue/tests/recordings/test_queue_service_stats_async.test_queue_service_stats_when_unavailable.yaml @@ -5,41 +5,24 @@ interactions: Accept: - application/xml User-Agent: - - azsdk-python-storage-queue/12.0.0b1 Python/3.7.3 (Windows-10-10.0.17763-SP0) + - azsdk-python-storage-queue/12.0.0b2 Python/3.7.3 (Windows-10-10.0.17763-SP0) content-type: - application/xml; charset=utf-8 - x-ms-client-request-id: - - a139db8a-b575-11e9-a3a1-2816a845e8c6 x-ms-date: - - Fri, 02 Aug 2019 22:34:03 GMT + - Fri, 06 Sep 2019 22:01:50 GMT x-ms-version: - '2018-03-28' method: GET - uri: https://storagename-secondary.queue.core.windows.net/?restype=service&comp=stats + uri: https://pyacrstorage48941de4-secondary.queue.core.windows.net/?restype=service&comp=stats response: body: - string: "\uFEFFliveFri, - 02 Aug 2019 22:29:58 GMT" + string: "\uFEFFunavailable" headers: - ? !!python/object/new:multidict._istr.istr - - Cache-Control - : no-cache - ? !!python/object/new:multidict._istr.istr - - Content-Type - : application/xml - ? !!python/object/new:multidict._istr.istr - - Date - : Fri, 02 Aug 2019 22:34:02 GMT - ? !!python/object/new:multidict._istr.istr - - Server - : Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 - ? !!python/object/new:multidict._istr.istr - - Transfer-Encoding - : chunked - ? !!python/object/new:multidict._istr.istr - - Vary - : Origin - x-ms-request-id: 9598a9b9-c003-0066-4f82-49adee000000 + cache-control: no-cache + content-type: application/xml + date: Fri, 06 Sep 2019 22:01:49 GMT + server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: chunked x-ms-version: '2018-03-28' status: code: 200 @@ -48,7 +31,7 @@ interactions: state: !!python/tuple - !!python/object/new:urllib.parse.SplitResult - https - - amqptest-secondary.queue.core.windows.net + - pyacrstorage48941de4-secondary.queue.core.windows.net - / - restype=service&comp=stats - '' diff --git a/sdk/storage/azure-storage-queue/tests/test_queue.py b/sdk/storage/azure-storage-queue/tests/test_queue.py index bff9879d1024..32083fcabf1f 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue.py @@ -6,6 +6,7 @@ # license information. # -------------------------------------------------------------------------- +from collections import namedtuple import unittest import pytest import sys @@ -15,11 +16,13 @@ timedelta, date, ) - +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer +from azure.mgmt.storage.models import Endpoints from azure.core.exceptions import ( HttpResponseError, ResourceNotFoundError, - ResourceExistsError) + ResourceExistsError, + ClientAuthenticationError) from azure.storage.queue import ( QueueServiceClient, @@ -32,62 +35,46 @@ from queuetestcase import ( QueueTestCase, - TestMode, - record, LogCaptured, ) # ------------------------------------------------------------------------------ TEST_QUEUE_PREFIX = 'pythonqueue' - - # ------------------------------------------------------------------------------ class StorageQueueTest(QueueTestCase): - def setUp(self): - super(StorageQueueTest, self).setUp() - - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() - self.qsc = QueueServiceClient(account_url=queue_url, credential=credentials) - self.test_queues = [] - - def tearDown(self): - if not self.is_playback(): - for queue in self.test_queues: - try: - queue.delete_queue() - except: - pass - return super(StorageQueueTest, self).tearDown() - # --Helpers----------------------------------------------------------------- - def _get_queue_reference(self, prefix=TEST_QUEUE_PREFIX): + def _get_queue_reference(self, qsc, prefix=TEST_QUEUE_PREFIX): queue_name = self.get_resource_name(prefix) - queue = self.qsc.get_queue_client(queue_name) - self.test_queues.append(queue) + queue = qsc.get_queue_client(queue_name) return queue - def _create_queue(self, prefix=TEST_QUEUE_PREFIX): - queue = self._get_queue_reference(prefix) + def _create_queue(self, qsc, prefix=TEST_QUEUE_PREFIX, queue_list = None): + queue = self._get_queue_reference(qsc, prefix) created = queue.create_queue() + if queue_list is not None: + queue_list.append(created) return queue # --Test cases for queues ---------------------------------------------- - @record - def test_create_queue(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_queue(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) created = queue_client.create_queue() # Asserts self.assertTrue(created) - @record - def test_create_queue_fail_on_exist(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_queue_fail_on_exist(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) created = queue_client.create_queue() with self.assertRaises(ResourceExistsError): queue_client.create_queue() @@ -95,10 +82,13 @@ def test_create_queue_fail_on_exist(self): # Asserts self.assertTrue(created) - @record - def test_create_queue_fail_on_exist_different_metadata(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_queue_fail_on_exist_different_metadata(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._get_queue_reference() + url = self._account_url(storage_account.name) + qsc = QueueServiceClient(url, storage_account_key) + queue_client = self._get_queue_reference(qsc) created = queue_client.create_queue() with self.assertRaises(ResourceExistsError): queue_client.create_queue(metadata={"val": "value"}) @@ -106,10 +96,13 @@ def test_create_queue_fail_on_exist_different_metadata(self): # Asserts self.assertTrue(created) - @record - def test_create_queue_with_options(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_queue_with_options(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._get_queue_reference() + url = self._account_url(storage_account.name) + qsc = QueueServiceClient(url, storage_account_key) + queue_client = self._get_queue_reference(qsc) queue_client.create_queue( metadata={'val1': 'test', 'val2': 'blah'}) props = queue_client.get_queue_properties() @@ -120,19 +113,23 @@ def test_create_queue_with_options(self): self.assertEqual('test', props.metadata['val1']) self.assertEqual('blah', props.metadata['val2']) - @record - def test_delete_non_existing_queue(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_delete_non_existing_queue(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) # Asserts with self.assertRaises(ResourceNotFoundError): queue_client.delete_queue() - @record - def test_delete_existing_queue_fail_not_exist(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_delete_existing_queue_fail_not_exist(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) created = queue_client.create_queue() deleted = queue_client.delete_queue() @@ -140,29 +137,36 @@ def test_delete_existing_queue_fail_not_exist(self): # Asserts self.assertIsNone(deleted) - @record - def test_list_queues(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_list_queues(self, resource_group, location, storage_account, storage_account_key): # Action - queues = list(self.qsc.list_queues()) + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() + queues = list(qsc.list_queues()) # Asserts self.assertIsNotNone(queues) - self.assertTrue(len(self.test_queues) <= len(queues)) + self.assertEqual(len(queues), 1) - @record - def test_list_queues_with_options(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_list_queues_with_options(self, resource_group, location, storage_account, storage_account_key): # Arrange prefix = 'listqueue' + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_list = [] for i in range(0, 4): - self._create_queue(prefix + str(i)) + self._create_queue(qsc, prefix + str(i), queue_list) # Action - generator1 = self.qsc.list_queues( + generator1 = qsc.list_queues( name_starts_with=prefix, results_per_page=3).by_page() queues1 = list(next(generator1)) - generator2 = self.qsc.list_queues( + generator2 = qsc.list_queues( name_starts_with=prefix, include_metadata=True).by_page(generator1.continuation_token) queues2 = list(next(generator2)) @@ -176,17 +180,20 @@ def test_list_queues_with_options(self): assert generator1.location_mode is not None # Asserts self.assertIsNotNone(queues2) - self.assertTrue(len(self.test_queues) - 3 <= len(queues2)) + self.assertTrue(len(queue_list) - 3 <= len(queues2)) self.assertIsNotNone(queues2[0]) self.assertNotEqual('', queues2[0].name) - @record - def test_list_queues_with_metadata(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_list_queues_with_metadata(self, resource_group, location, storage_account, storage_account_key): # Action - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._get_queue_reference(qsc) + queue.create_queue() queue.set_queue_metadata(metadata={'val1': 'test', 'val2': 'blah'}) - listed_queue = list(self.qsc.list_queues( + listed_queue = list(qsc.list_queues( name_starts_with=queue.queue_name, results_per_page=1, include_metadata=True))[0] @@ -198,11 +205,14 @@ def test_list_queues_with_metadata(self): self.assertEqual(len(listed_queue.metadata), 2) self.assertEqual(listed_queue.metadata['val1'], 'test') - @record - def test_set_queue_metadata(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_set_queue_metadata(self, resource_group, location, storage_account, storage_account_key): # Action + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._get_queue_reference(qsc) metadata = {'hello': 'world', 'number': '43'} - queue = self._create_queue() + queue.create_queue() # Act queue.set_queue_metadata(metadata) @@ -210,10 +220,13 @@ def test_set_queue_metadata(self): # Assert self.assertDictEqual(metadata_from_response, metadata) - @record - def test_get_queue_metadata_message_count(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_get_queue_metadata_message_count(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') props = queue_client.get_queue_properties() @@ -221,10 +234,13 @@ def test_get_queue_metadata_message_count(self): self.assertTrue(props.approximate_message_count >= 1) self.assertEqual(0, len(props.metadata)) - @record - def test_queue_exists(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_queue_exists(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._get_queue_reference(qsc) + queue.create_queue() # Act exists = queue.get_queue_properties() @@ -232,20 +248,25 @@ def test_queue_exists(self): # Assert self.assertTrue(exists) - @record - def test_queue_not_exists(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_queue_not_exists(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self.qsc.get_queue_client(self.get_resource_name('missing')) + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = qsc.get_queue_client(self.get_resource_name('missing')) # Act with self.assertRaises(ResourceNotFoundError): queue.get_queue_properties() # Assert - @record - def test_put_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_put_message(self, resource_group, location, storage_account, storage_account_key): # Action. No exception means pass. No asserts needed. - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') queue_client.enqueue_message(u'message2') queue_client.enqueue_message(u'message3') @@ -259,10 +280,13 @@ def test_put_message(self): self.assertNotEqual('', message.pop_receipt) self.assertEqual(u'message4', message.content) - @record - def test_put_message_large_time_to_live(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_put_message_large_time_to_live(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() # There should be no upper bound on a queue message's time to live queue_client.enqueue_message(u'message1', time_to_live=1024*1024*1024) @@ -274,10 +298,13 @@ def test_put_message_large_time_to_live(self): messages[0].expiration_time, messages[0].insertion_time + timedelta(seconds=1024 * 1024 * 1024 - 3600)) - @record - def test_put_message_infinite_time_to_live(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_put_message_infinite_time_to_live(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1', time_to_live=-1) # Act @@ -286,10 +313,13 @@ def test_put_message_infinite_time_to_live(self): # Assert self.assertEqual(messages[0].expiration_time.year, date.max.year) - @record - def test_get_messages(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_get_messages(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') queue_client.enqueue_message(u'message2') queue_client.enqueue_message(u'message3') @@ -308,10 +338,13 @@ def test_get_messages(self): self.assertIsInstance(message.expiration_time, datetime) self.assertIsInstance(message.time_next_visible, datetime) - @record - def test_get_messages_with_options(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_get_messages_with_options(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') queue_client.enqueue_message(u'message2') queue_client.enqueue_message(u'message3') @@ -333,10 +366,13 @@ def test_get_messages_with_options(self): self.assertNotEqual('', message.expiration_time) self.assertNotEqual('', message.time_next_visible) - @record - def test_peek_messages(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_peek_messages(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') queue_client.enqueue_message(u'message2') queue_client.enqueue_message(u'message3') @@ -356,10 +392,13 @@ def test_peek_messages(self): self.assertNotEqual('', message.expiration_time) self.assertIsNone(message.time_next_visible) - @record - def test_peek_messages_with_options(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_peek_messages_with_options(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') queue_client.enqueue_message(u'message2') queue_client.enqueue_message(u'message3') @@ -379,10 +418,13 @@ def test_peek_messages_with_options(self): self.assertNotEqual('', message.expiration_time) self.assertIsNone(message.time_next_visible) - @record - def test_clear_messages(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_clear_messages(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') queue_client.enqueue_message(u'message2') queue_client.enqueue_message(u'message3') @@ -394,10 +436,13 @@ def test_clear_messages(self): self.assertIsNotNone(result) self.assertEqual(0, len(result)) - @record - def test_delete_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_delete_message(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') queue_client.enqueue_message(u'message2') queue_client.enqueue_message(u'message3') @@ -412,10 +457,13 @@ def test_delete_message(self): assert messages is not None assert len(messages) == 3 - @record - def test_update_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_update_message(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') messages = queue_client.receive_messages() list_result1 = next(messages) @@ -444,10 +492,13 @@ def test_update_message(self): self.assertIsNotNone(message.expiration_time) self.assertIsNotNone(message.time_next_visible) - @record - def test_update_message_content(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_update_message_content(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') messages = queue_client.receive_messages() @@ -478,15 +529,19 @@ def test_update_message_content(self): self.assertIsNotNone(message.expiration_time) self.assertIsNotNone(message.time_next_visible) - def test_account_sas(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_account_sas(self, resource_group, location, storage_account, storage_account_key): # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') - token = self.qsc.generate_shared_access_signature( + token = qsc.generate_shared_access_signature( ResourceTypes.OBJECT, AccountPermissions.READ, datetime.utcnow() + timedelta(hours=1), @@ -495,7 +550,7 @@ def test_account_sas(self): # Act service = QueueServiceClient( - account_url=self.qsc.url, + account_url=qsc.url, credential=token, ) new_queue_client = service.get_queue_client(queue_client.queue_name) @@ -509,35 +564,40 @@ def test_account_sas(self): self.assertNotEqual('', message.id) self.assertEqual(u'message1', message.content) - @record - def test_token_credential(self): - if TestMode.need_recording_file(self.test_mode): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_token_credential(self, resource_group, location, storage_account, storage_account_key): + if not self.is_live: return token_credential = self.generate_oauth_token() # Action 1: make sure token works - service = QueueServiceClient(self._get_oauth_queue_url(), credential=token_credential) + service = QueueServiceClient(self._account_url(storage_account.name), credential=token_credential) queues = service.get_service_properties() self.assertIsNotNone(queues) # Action 2: change token value to make request fail fake_credential = self.generate_fake_token() - service = QueueServiceClient(self._get_oauth_queue_url(), credential=fake_credential) + service = QueueServiceClient(self._account_url(storage_account.name), credential=fake_credential) with self.assertRaises(ClientAuthenticationError): list(service.list_queues()) # Action 3: update token to make it working again - service = QueueServiceClient(self._get_oauth_queue_url(), credential=token_credential) + service = QueueServiceClient(self._account_url(storage_account.name), credential=token_credential) queues = list(service.list_queues()) self.assertIsNotNone(queues) - def test_sas_read(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_sas_read(self, resource_group, location, storage_account, storage_account_key): # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') token = queue_client.generate_shared_access_signature( QueuePermissions.READ, @@ -560,13 +620,17 @@ def test_sas_read(self): self.assertNotEqual('', message.id) self.assertEqual(u'message1', message.content) - def test_sas_add(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_sas_add(self, resource_group, location, storage_account, storage_account_key): # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() token = queue_client.generate_shared_access_signature( QueuePermissions.ADD, datetime.utcnow() + timedelta(hours=1), @@ -583,13 +647,17 @@ def test_sas_add(self): result = next(queue_client.receive_messages()) self.assertEqual(u'addedmessage', result.content) - def test_sas_update(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_sas_update(self, resource_group, location, storage_account, storage_account_key): # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') token = queue_client.generate_shared_access_signature( QueuePermissions.UPDATE, @@ -614,13 +682,17 @@ def test_sas_update(self): result = next(messages) self.assertEqual(u'updatedmessage1', result.content) - def test_sas_process(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_sas_process(self, resource_group, location, storage_account, storage_account_key): # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') token = queue_client.generate_shared_access_signature( QueuePermissions.PROCESS, @@ -639,9 +711,11 @@ def test_sas_process(self): self.assertNotEqual('', message.id) self.assertEqual(u'message1', message.content) - def test_sas_signed_identifier(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_sas_signed_identifier(self, resource_group, location, storage_account, storage_account_key): # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange @@ -652,7 +726,9 @@ def test_sas_signed_identifier(self): identifiers = {'testid': access_policy} - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() resp = queue_client.set_queue_access_policy(identifiers) queue_client.enqueue_message(u'message1') @@ -676,10 +752,13 @@ def test_sas_signed_identifier(self): self.assertNotEqual('', message.id) self.assertEqual(u'message1', message.content) - @record - def test_get_queue_acl(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_get_queue_acl(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() # Act acl = queue_client.get_queue_access_policy() @@ -688,10 +767,13 @@ def test_get_queue_acl(self): self.assertIsNotNone(acl) self.assertEqual(len(acl), 0) - @record - def test_get_queue_acl_iter(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_get_queue_acl_iter(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() # Act acl = queue_client.get_queue_access_policy() @@ -702,10 +784,12 @@ def test_get_queue_acl_iter(self): self.assertIsNotNone(acl) self.assertEqual(len(acl), 0) - @record - def test_get_queue_acl_with_non_existing_queue(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_get_queue_acl_with_non_existing_queue(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) # Act with self.assertRaises(ResourceNotFoundError): @@ -713,10 +797,13 @@ def test_get_queue_acl_with_non_existing_queue(self): # Assert - @record - def test_set_queue_acl(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_set_queue_acl(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() # Act resp = queue_client.set_queue_access_policy() @@ -726,10 +813,13 @@ def test_set_queue_acl(self): acl = queue_client.get_queue_access_policy() self.assertIsNotNone(acl) - @record - def test_set_queue_acl_with_empty_signed_identifiers(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_set_queue_acl_with_empty_signed_identifiers(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() # Act queue_client.set_queue_access_policy(signed_identifiers={}) @@ -739,13 +829,16 @@ def test_set_queue_acl_with_empty_signed_identifiers(self): self.assertIsNotNone(acl) self.assertEqual(len(acl), 0) - @record - def test_set_queue_acl_with_empty_signed_identifier(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_set_queue_acl_with_empty_signed_identifier(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() # Act - queue_client.set_queue_access_policy(signed_identifiers={'empty': AccessPolicy()}) + queue_client.set_queue_access_policy(signed_identifiers={'empty': None}) # Assert acl = queue_client.get_queue_access_policy() @@ -756,10 +849,13 @@ def test_set_queue_acl_with_empty_signed_identifier(self): self.assertIsNone(acl['empty'].expiry) self.assertIsNone(acl['empty'].start) - @record - def test_set_queue_acl_with_signed_identifiers(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_set_queue_acl_with_signed_identifiers(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() # Act access_policy = AccessPolicy(permission=QueuePermissions.READ, @@ -776,10 +872,13 @@ def test_set_queue_acl_with_signed_identifiers(self): self.assertEqual(len(acl), 1) self.assertTrue('testid' in acl) - @record - def test_set_queue_acl_too_many_ids(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_set_queue_acl_too_many_ids(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() # Act identifiers = dict() @@ -790,10 +889,12 @@ def test_set_queue_acl_too_many_ids(self): with self.assertRaises(ValueError): queue_client.set_queue_access_policy(identifiers) - @record - def test_set_queue_acl_with_non_existing_queue(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_set_queue_acl_with_non_existing_queue(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) # Act with self.assertRaises(ResourceNotFoundError): @@ -801,23 +902,28 @@ def test_set_queue_acl_with_non_existing_queue(self): # Assert - @record - def test_unicode_create_queue_unicode_name(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_unicode_create_queue_unicode_name(self, resource_group, location, storage_account, storage_account_key): # Action + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) queue_name = u'啊齄丂狛狜' with self.assertRaises(HttpResponseError): # not supported - queue name must be alphanumeric, lowercase - client = self.qsc.get_queue_client(queue_name) + client = qsc.get_queue_client(queue_name) client.create_queue() # Asserts - @record - def test_unicode_get_messages_unicode_data(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_unicode_get_messages_unicode_data(self, resource_group, location, storage_account, storage_account_key): # Action pytest.skip("Uncomment after msrest fix") - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1㚈') message = next(queue_client.receive_messages()) @@ -831,11 +937,14 @@ def test_unicode_get_messages_unicode_data(self): self.assertIsInstance(message.expiration_time, datetime) self.assertIsInstance(message.time_next_visible, datetime) - @record - def test_unicode_update_message_unicode_data(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_unicode_update_message_unicode_data(self, resource_group, location, storage_account, storage_account_key): # Action pytest.skip("Uncomment after msrest fix") - queue_client = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue_client = self._get_queue_reference(qsc) + queue_client.create_queue() queue_client.enqueue_message(u'message1') messages = queue_client.receive_messages() diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_async.py b/sdk/storage/azure-storage-queue/tests/test_queue_async.py index 3ae8bbd1081c..1483a11d5c63 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_async.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_async.py @@ -5,7 +5,6 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- - import unittest import pytest import asyncio @@ -15,14 +14,15 @@ timedelta, date, ) - +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer +from multidict import CIMultiDict, CIMultiDictProxy from azure.core.exceptions import ( HttpResponseError, ResourceNotFoundError, - ResourceExistsError) + ResourceExistsError, + ClientAuthenticationError) from azure.core.pipeline.transport import AioHttpTransport -from multidict import CIMultiDict, CIMultiDictProxy from azure.storage.queue.aio import QueueServiceClient, QueueClient from azure.storage.queue import ( @@ -32,19 +32,16 @@ AccountPermissions, ) -from queuetestcase import ( - QueueTestCase, - TestMode, - record, - LogCaptured, +from asyncqueuetestcase import ( + AsyncQueueTestCase ) # ------------------------------------------------------------------------------ TEST_QUEUE_PREFIX = 'pythonqueue' - # ------------------------------------------------------------------------------ + class AiohttpTestTransport(AioHttpTransport): """Workaround to vcrpy bug: https://github.com/kevin1024/vcrpy/pull/461 """ @@ -55,54 +52,41 @@ async def send(self, request, **config): response.content_type = response.headers.get("content-type") return response -class StorageQueueTestAsync(QueueTestCase): - def setUp(self): - super(StorageQueueTestAsync, self).setUp() - - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() - self.qsc = QueueServiceClient(account_url=queue_url, credential=credentials, transport=AiohttpTestTransport()) - self.test_queues = [] - - def tearDown(self): - if not self.is_playback(): - loop = asyncio.get_event_loop() - for queue in self.test_queues: - try: - loop.run_until_complete(queue.delete_queue()) - except: - pass - return super(StorageQueueTestAsync, self).tearDown() +class StorageQueueTestAsync(AsyncQueueTestCase): # --Helpers----------------------------------------------------------------- - def _get_queue_reference(self, prefix=TEST_QUEUE_PREFIX): + def _get_queue_reference(self, qsc, prefix=TEST_QUEUE_PREFIX): queue_name = self.get_resource_name(prefix) - queue = self.qsc.get_queue_client(queue_name) - self.test_queues.append(queue) + queue = qsc.get_queue_client(queue_name) return queue - async def _create_queue(self, prefix=TEST_QUEUE_PREFIX): - queue = self._get_queue_reference(prefix) + async def _create_queue(self, qsc, prefix=TEST_QUEUE_PREFIX, queue_list = None): + queue = self._get_queue_reference(qsc, prefix) created = await queue.create_queue() + if queue_list: + queue_list.append(created) return queue # --Test cases for queues ---------------------------------------------- - async def _test_create_queue(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_create_queue(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = self._get_queue_reference(qsc) created = await queue_client.create_queue() # Asserts self.assertTrue(created) - @record - def test_create_queue(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_create_queue()) - - async def _test_create_queue_fail_on_exist(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_create_queue_fail_on_exist(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = self._get_queue_reference(qsc) created = await queue_client.create_queue() with self.assertRaises(ResourceExistsError): await queue_client.create_queue() @@ -110,14 +94,13 @@ async def _test_create_queue_fail_on_exist(self): # Asserts self.assertTrue(created) - @record - def test_create_queue_fail_on_exist(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_create_queue_fail_on_exist()) - - async def _test_create_queue_fail_on_exist_different_metadata(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_create_queue_fail_on_exist_different_metadata(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = self._get_queue_reference(qsc) created = await queue_client.create_queue() with self.assertRaises(ResourceExistsError): await queue_client.create_queue(metadata={"val": "value"}) @@ -125,14 +108,13 @@ async def _test_create_queue_fail_on_exist_different_metadata(self): # Asserts self.assertTrue(created) - @record - def test_create_queue_fail_on_exist_different_metadata(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_create_queue_fail_on_exist_different_metadata()) - - async def _test_create_queue_with_options(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_create_queue_with_options(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = self._get_queue_reference(qsc) await queue_client.create_queue( metadata={'val1': 'test', 'val2': 'blah'}) props = await queue_client.get_queue_properties() @@ -143,27 +125,25 @@ async def _test_create_queue_with_options(self): self.assertEqual('test', props.metadata['val1']) self.assertEqual('blah', props.metadata['val2']) - @record - def test_create_queue_with_options(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_create_queue_with_options()) - - async def _test_delete_non_existing_queue(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_delete_non_existing_queue(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = self._get_queue_reference(qsc) # Asserts with self.assertRaises(ResourceNotFoundError): await queue_client.delete_queue() - @record - def test_delete_non_existing_queue(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_delete_non_existing_queue()) - - async def _test_delete_existing_queue_fail_not_exist(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_delete_existing_queue_fail_not_exist(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = self._get_queue_reference(qsc) created = await queue_client.create_queue() deleted = await queue_client.delete_queue() @@ -171,41 +151,42 @@ async def _test_delete_existing_queue_fail_not_exist(self): # Asserts self.assertIsNone(deleted) - @record - def test_delete_existing_queue_fail_not_exist(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_delete_existing_queue_fail_not_exist()) - - async def _test_list_queues(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_list_queues(self, resource_group, location, storage_account, storage_account_key): # Action + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = self._get_queue_reference(qsc) + await queue_client.create_queue() queues = [] - async for q in self.qsc.list_queues(): + async for q in qsc.list_queues(): queues.append(q) # Asserts self.assertIsNotNone(queues) - self.assertTrue(len(self.test_queues) <= len(queues)) - - @record - def test_list_queues(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_list_queues()) + self.assertEqual(len(queues), 1) - async def _test_list_queues_with_options(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_list_queues_with_options(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_list = [] prefix = 'listqueue' for i in range(0, 4): - await self._create_queue(prefix + str(i)) + await self._create_queue(qsc, prefix + str(i), queue_list) # Action - generator1 = self.qsc.list_queues( + generator1 = qsc.list_queues( name_starts_with=prefix, results_per_page=3).by_page() queues1 = [] async for el in await generator1.__anext__(): queues1.append(el) - generator2 = self.qsc.list_queues( + generator2 = qsc.list_queues( name_starts_with=prefix, include_metadata=True).by_page(generator1.continuation_token) queues2 = [] @@ -220,22 +201,21 @@ async def _test_list_queues_with_options(self): self.assertNotEqual('', queues1[0].name) # Asserts self.assertIsNotNone(queues2) - self.assertTrue(len(self.test_queues) - 3 <= len(queues2)) + self.assertTrue(len(queue_list) - 3 <= len(queues2)) self.assertIsNotNone(queues2[0]) self.assertNotEqual('', queues2[0].name) - @record - def test_list_queues_with_options_async(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_list_queues_with_options()) - - async def _test_list_queues_with_metadata(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_list_queues_with_metadata(self, resource_group, location, storage_account, storage_account_key): # Action - queue = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue = await self._create_queue(qsc) await queue.set_queue_metadata(metadata={'val1': 'test', 'val2': 'blah'}) listed_queue = [] - async for q in self.qsc.list_queues( + async for q in qsc.list_queues( name_starts_with=queue.queue_name, results_per_page=1, include_metadata=True): @@ -249,15 +229,14 @@ async def _test_list_queues_with_metadata(self): self.assertEqual(len(listed_queue.metadata), 2) self.assertEqual(listed_queue.metadata['val1'], 'test') - @record - def test_list_queues_with_metadata(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_list_queues_with_metadata()) - - async def _test_set_queue_metadata(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_set_queue_metadata(self, resource_group, location, storage_account, storage_account_key): # Action + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) metadata = {'hello': 'world', 'number': '43'} - queue = await self._create_queue() + queue = await self._create_queue(qsc) # Act await queue.set_queue_metadata(metadata) @@ -266,14 +245,13 @@ async def _test_set_queue_metadata(self): # Assert self.assertDictEqual(md, metadata) - @record - def test_set_queue_metadata(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_set_queue_metadata()) - - async def _test_get_queue_metadata_message_count(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_get_queue_metadata_message_count(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') props = await queue_client.get_queue_properties() @@ -281,14 +259,13 @@ async def _test_get_queue_metadata_message_count(self): self.assertTrue(props.approximate_message_count >= 1) self.assertEqual(0, len(props.metadata)) - @record - def test_get_queue_metadata_message_count(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_get_queue_metadata_message_count()) - - async def _test_queue_exists(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_queue_exists(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue = await self._create_queue(qsc) # Act exists = await queue.get_queue_properties() @@ -296,28 +273,26 @@ async def _test_queue_exists(self): # Assert self.assertTrue(exists) - @record - def test_queue_exists(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_queue_exists()) - - async def _test_queue_not_exists(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_queue_not_exists(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self.qsc.get_queue_client(self.get_resource_name('missing')) + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue = qsc.get_queue_client(self.get_resource_name('missing')) # Act with self.assertRaises(ResourceNotFoundError): await queue.get_queue_properties() # Assert - @record - def test_queue_not_exists(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_queue_not_exists()) - - async def _test_put_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_put_message(self, resource_group, location, storage_account, storage_account_key): # Action. No exception means pass. No asserts needed. - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') await queue_client.enqueue_message(u'message2') await queue_client.enqueue_message(u'message3') @@ -331,14 +306,13 @@ async def _test_put_message(self): self.assertNotEqual('', message.pop_receipt) self.assertEqual(u'message4', message.content) - @record - def test_put_message(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_put_message()) - - async def _test_put_message_large_time_to_live(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_put_message_large_time_to_live(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) # There should be no upper bound on a queue message's time to live await queue_client.enqueue_message(u'message1', time_to_live=1024*1024*1024) @@ -350,14 +324,13 @@ async def _test_put_message_large_time_to_live(self): messages[0].expiration_time, messages[0].insertion_time + timedelta(seconds=1024 * 1024 * 1024 - 3600)) - @record - def test_put_message_large_time_to_live(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_put_message_large_time_to_live()) - - async def _test_put_message_infinite_time_to_live(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_put_message_infinite_time_to_live(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1', time_to_live=-1) # Act @@ -366,14 +339,13 @@ async def _test_put_message_infinite_time_to_live(self): # Assert self.assertEqual(messages[0].expiration_time.year, date.max.year) - @record - def test_put_message_infinite_time_to_live(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_put_message_infinite_time_to_live()) - - async def _test_get_messages(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_get_messages(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') await queue_client.enqueue_message(u'message2') await queue_client.enqueue_message(u'message3') @@ -396,14 +368,13 @@ async def _test_get_messages(self): self.assertIsInstance(message.expiration_time, datetime) self.assertIsInstance(message.time_next_visible, datetime) - @record - def test_get_messages(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_get_messages()) - - async def _test_get_messages_with_options(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_get_messages_with_options(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') await queue_client.enqueue_message(u'message2') await queue_client.enqueue_message(u'message3') @@ -427,14 +398,13 @@ async def _test_get_messages_with_options(self): self.assertNotEqual('', message.expiration_time) self.assertNotEqual('', message.time_next_visible) - @record - def test_get_messages_with_options(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_get_messages_with_options()) - - async def _test_peek_messages(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_peek_messages(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') await queue_client.enqueue_message(u'message2') await queue_client.enqueue_message(u'message3') @@ -454,14 +424,13 @@ async def _test_peek_messages(self): self.assertNotEqual('', message.expiration_time) self.assertIsNone(message.time_next_visible) - @record - def test_peek_messages(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_peek_messages()) - - async def _test_peek_messages_with_options(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_peek_messages_with_options(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') await queue_client.enqueue_message(u'message2') await queue_client.enqueue_message(u'message3') @@ -481,14 +450,13 @@ async def _test_peek_messages_with_options(self): self.assertNotEqual('', message.expiration_time) self.assertIsNone(message.time_next_visible) - @record - def test_peek_messages_with_options(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_peek_messages_with_options()) - - async def _test_clear_messages(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_clear_messages(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') await queue_client.enqueue_message(u'message2') await queue_client.enqueue_message(u'message3') @@ -500,14 +468,13 @@ async def _test_clear_messages(self): self.assertIsNotNone(result) self.assertEqual(0, len(result)) - @record - def test_clear_messages(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_clear_messages()) - - async def _test_delete_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_delete_message(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') await queue_client.enqueue_message(u'message2') await queue_client.enqueue_message(u'message3') @@ -522,14 +489,13 @@ async def _test_delete_message(self): self.assertIsNotNone(messages) self.assertEqual(3, len(messages)-1) - @record - def test_delete_message(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_delete_message()) - - async def _test_update_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_update_message(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') messages = [] async for m in queue_client.receive_messages(): @@ -563,14 +529,13 @@ async def _test_update_message(self): self.assertIsNotNone(message.expiration_time) self.assertIsNotNone(message.time_next_visible) - @record - def test_update_message(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_update_message()) - - async def _test_update_message_content(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_update_message_content(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') messages = [] @@ -606,20 +571,19 @@ async def _test_update_message_content(self): self.assertIsNotNone(message.expiration_time) self.assertIsNotNone(message.time_next_visible) - @record - def test_update_message_content(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_update_message_content()) - - async def _test_account_sas(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_account_sas(self, resource_group, location, storage_account, storage_account_key): # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + if self.is_playback(): return # Arrange - queue_client = await self._create_queue() + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') - token = self.qsc.generate_shared_access_signature( + token = qsc.generate_shared_access_signature( ResourceTypes.OBJECT, AccountPermissions.READ, datetime.utcnow() + timedelta(hours=1), @@ -628,7 +592,7 @@ async def _test_account_sas(self): # Act service = QueueServiceClient( - account_url=self.qsc.url, + account_url=qsc.url, credential=token, ) new_queue_client = service.get_queue_client(queue_client.queue_name) @@ -642,46 +606,45 @@ async def _test_account_sas(self): self.assertNotEqual('', message.id) self.assertEqual(u'message1', message.content) - @record - def test_account_sas(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_account_sas()) - - async def _test_token_credential(self): - if TestMode.need_recording_file(self.test_mode): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_token_credential(self, resource_group, location, storage_account, storage_account_key): + pytest.skip("") + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + if self.is_playback(): return token_credential = self.generate_oauth_token() # Action 1: make sure token works - service = QueueServiceClient(self._get_oauth_queue_url(), credential=token_credential) + service = QueueServiceClient(self._account_url(storage_account.name), credential=token_credential) queues = await service.get_service_properties() self.assertIsNotNone(queues) # Action 2: change token value to make request fail fake_credential = self.generate_fake_token() - service = QueueServiceClient(self._get_oauth_queue_url(), credential=fake_credential) + service = QueueServiceClient(self._account_url(storage_account.name), credential=fake_credential) with self.assertRaises(ClientAuthenticationError): - queue_li = await service.list_queues() + queue_li = service.list_queues() list(queue_li) # Action 3: update token to make it working again - service = QueueServiceClient(self._get_oauth_queue_url(), credential=token_credential) + service = QueueServiceClient(self._account_url(storage_account.name), credential=token_credential) queue_li = await service.list_queues() queues = list(queue_li) self.assertIsNotNone(queues) - @record - def test_token_credential(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_token_credential()) - - async def _test_sas_read(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_sas_read(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + if self.is_playback(): return # Arrange - queue_client = await self._create_queue() + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') token = queue_client.generate_shared_access_signature( QueuePermissions.READ, @@ -704,18 +667,17 @@ async def _test_sas_read(self): self.assertNotEqual('', message.id) self.assertEqual(u'message1', message.content) - @record - def test_sas_read(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_sas_read()) - - async def _test_sas_add(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_sas_add(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + if self.is_playback(): return # Arrange - queue_client = await self._create_queue() + queue_client = await self._create_queue(qsc) token = queue_client.generate_shared_access_signature( QueuePermissions.ADD, datetime.utcnow() + timedelta(hours=1), @@ -735,18 +697,17 @@ async def _test_sas_add(self): result = messages[0] self.assertEqual(u'addedmessage', result.content) - @record - def test_sas_add(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_sas_add()) - - async def _test_sas_update(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_sas_update(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + if self.is_playback(): return # Arrange - queue_client = await self._create_queue() + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') token = queue_client.generate_shared_access_signature( QueuePermissions.UPDATE, @@ -756,7 +717,7 @@ async def _test_sas_update(self): async for m in queue_client.receive_messages(): messages.append(m) result = messages[0] - + # Act service = QueueClient( queue_url=queue_client.url, @@ -776,18 +737,17 @@ async def _test_sas_update(self): result = messages[0] self.assertEqual(u'updatedmessage1', result.content) - @record - def test_sas_update(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_sas_update()) - - async def _test_sas_process(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_sas_process(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + if self.is_playback(): return # Arrange - queue_client = await self._create_queue() + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') token = queue_client.generate_shared_access_signature( QueuePermissions.PROCESS, @@ -809,14 +769,13 @@ async def _test_sas_process(self): self.assertNotEqual('', message.id) self.assertEqual(u'message1', message.content) - @record - def test_sas_process(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_sas_process()) - - async def _test_sas_signed_identifier(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_sas_signed_identifier(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + if self.is_playback(): return # Arrange @@ -827,7 +786,7 @@ async def _test_sas_signed_identifier(self): identifiers = {'testid': access_policy} - queue_client = await self._create_queue() + queue_client = await self._create_queue(qsc) resp = await queue_client.set_queue_access_policy(identifiers) await queue_client.enqueue_message(u'message1') @@ -851,14 +810,13 @@ async def _test_sas_signed_identifier(self): self.assertNotEqual('', message.id) self.assertEqual(u'message1', message.content) - @record - def test_sas_signed_identifier(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_sas_signed_identifier()) - - async def _test_get_queue_acl(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_get_queue_acl(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue_client = await self._create_queue() + queue_client = await self._create_queue(qsc) # Act acl = await queue_client.get_queue_access_policy() @@ -867,14 +825,13 @@ async def _test_get_queue_acl(self): self.assertIsNotNone(acl) self.assertEqual(len(acl), 0) - @record - def test_get_queue_acl(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_get_queue_acl()) - - async def _test_get_queue_acl_iter(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_get_queue_acl_iter(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue_client = await self._create_queue() + queue_client = await self._create_queue(qsc) # Act acl = await queue_client.get_queue_access_policy() @@ -885,14 +842,13 @@ async def _test_get_queue_acl_iter(self): self.assertIsNotNone(acl) self.assertEqual(len(acl), 0) - @record - def test_get_queue_acl_iter(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_get_queue_acl_iter()) - - async def _test_get_queue_acl_with_non_existing_queue(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_get_queue_acl_with_non_existing_queue(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue_client = self._get_queue_reference() + queue_client = self._get_queue_reference(qsc) # Act with self.assertRaises(ResourceNotFoundError): @@ -900,14 +856,13 @@ async def _test_get_queue_acl_with_non_existing_queue(self): # Assert - @record - def test_get_queue_acl_with_non_existing_queue(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_get_queue_acl_with_non_existing_queue()) - - async def _test_set_queue_acl(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_set_queue_acl(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue_client = await self._create_queue() + queue_client = await self._create_queue(qsc) # Act resp = await queue_client.set_queue_access_policy() @@ -917,14 +872,13 @@ async def _test_set_queue_acl(self): acl = await queue_client.get_queue_access_policy() self.assertIsNotNone(acl) - @record - def test_set_queue_acl(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_set_queue_acl()) - - async def _test_set_queue_acl_with_empty_signed_identifiers(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_set_queue_acl_with_empty_signed_identifiers(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue_client = await self._create_queue() + queue_client = await self._create_queue(qsc) # Act await queue_client.set_queue_access_policy(signed_identifiers={}) @@ -934,17 +888,16 @@ async def _test_set_queue_acl_with_empty_signed_identifiers(self): self.assertIsNotNone(acl) self.assertEqual(len(acl), 0) - @record - def test_set_queue_acl_with_empty_signed_identifiers(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_set_queue_acl_with_empty_signed_identifiers()) - - async def _test_set_queue_acl_with_empty_signed_identifier(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_set_queue_acl_with_empty_signed_identifier(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue_client = await self._create_queue() + queue_client = await self._create_queue(qsc) # Act - await queue_client.set_queue_access_policy(signed_identifiers={'empty': AccessPolicy()}) + await queue_client.set_queue_access_policy(signed_identifiers={'empty': None}) # Assert acl = await queue_client.get_queue_access_policy() @@ -955,14 +908,13 @@ async def _test_set_queue_acl_with_empty_signed_identifier(self): self.assertIsNone(acl['empty'].expiry) self.assertIsNone(acl['empty'].start) - @record - def test_set_queue_acl_with_empty_signed_identifier(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_set_queue_acl_with_empty_signed_identifier()) - - async def _test_set_queue_acl_with_signed_identifiers(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_set_queue_acl_with_signed_identifiers(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) # Act access_policy = AccessPolicy(permission=QueuePermissions.READ, @@ -979,14 +931,13 @@ async def _test_set_queue_acl_with_signed_identifiers(self): self.assertEqual(len(acl), 1) self.assertTrue('testid' in acl) - @record - def test_set_queue_acl_with_signed_identifiers(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_set_queue_acl_with_signed_identifiers()) - - async def _test_set_queue_acl_too_many_ids(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_set_queue_acl_too_many_ids(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) # Act identifiers = dict() @@ -997,43 +948,40 @@ async def _test_set_queue_acl_too_many_ids(self): with self.assertRaises(ValueError): await queue_client.set_queue_access_policy(identifiers) - @record - def test_set_queue_acl_too_many_ids(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_set_queue_acl_too_many_ids()) - - async def _test_set_queue_acl_with_non_existing_queue(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_set_queue_acl_with_non_existing_queue(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_client = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = self._get_queue_reference(qsc) # Act with self.assertRaises(ResourceNotFoundError): await queue_client.set_queue_access_policy() - @record - def test_set_queue_acl_with_non_existing_queue(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_set_queue_acl_with_non_existing_queue()) - - async def _test_unicode_create_queue_unicode_name(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_unicode_create_queue_unicode_name(self, resource_group, location, storage_account, storage_account_key): # Action + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) queue_name = u'啊齄丂狛狜' with self.assertRaises(HttpResponseError): # not supported - queue name must be alphanumeric, lowercase - client = self.qsc.get_queue_client(queue_name) + client = qsc.get_queue_client(queue_name) await client.create_queue() # Asserts - @record - def test_unicode_create_queue_unicode_name(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_unicode_create_queue_unicode_name()) - - async def _test_unicode_get_messages_unicode_data(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_unicode_get_messages_unicode_data(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1㚈') message = None async for m in queue_client.receive_messages(): @@ -1048,14 +996,13 @@ async def _test_unicode_get_messages_unicode_data(self): self.assertIsInstance(message.expiration_time, datetime) self.assertIsInstance(message.time_next_visible, datetime) - @record - def test_unicode_get_messages_unicode_data(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_unicode_get_messages_unicode_data()) - - async def _test_unicode_update_message_unicode_data(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_unicode_update_message_unicode_data(self, resource_group, location, storage_account, storage_account_key): # Action - queue_client = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue_client = await self._create_queue(qsc) await queue_client.enqueue_message(u'message1') messages = [] async for m in queue_client.receive_messages(): @@ -1078,11 +1025,6 @@ async def _test_unicode_update_message_unicode_data(self): self.assertIsInstance(message.expiration_time, datetime) self.assertIsInstance(message.time_next_visible, datetime) - @record - def test_unicode_update_message_unicode_data(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_unicode_update_message_unicode_data()) - # ------------------------------------------------------------------------------ if __name__ == '__main__': diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_client.py b/sdk/storage/azure-storage-queue/tests/test_queue_client.py index d6284cefd6d6..6545883e6bc2 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_client.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_client.py @@ -6,7 +6,7 @@ import unittest import pytest import platform - +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer from azure.storage.queue import ( VERSION, QueueServiceClient, @@ -14,7 +14,6 @@ ) from queuetestcase import ( QueueTestCase, - record, ) # ------------------------------------------------------------------------------ @@ -30,110 +29,123 @@ class StorageQueueClientTest(QueueTestCase): def setUp(self): super(StorageQueueClientTest, self).setUp() - self.account_name = self.settings.STORAGE_ACCOUNT_NAME - self.account_key = self.settings.STORAGE_ACCOUNT_KEY self.sas_token = '?sv=2015-04-05&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D' self.token_credential = self.generate_oauth_token() - self.connection_string = self.settings.CONNECTION_STRING # --Helpers----------------------------------------------------------------- - def validate_standard_account_endpoints(self, service, url_type): + def validate_standard_account_endpoints(self, service, url_type, account_name, account_key): self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) - self.assertTrue('{}.{}.core.windows.net'.format(self.account_name, url_type) in service.url) - self.assertTrue('{}-secondary.{}.core.windows.net'.format(self.account_name, url_type) in service.secondary_endpoint) + self.assertEqual(service.credential.account_name, account_name) + self.assertEqual(service.credential.account_key, account_key) + self.assertTrue('{}.{}.core.windows.net'.format(account_name, url_type) in service.url) + self.assertTrue('{}-secondary.{}.core.windows.net'.format(account_name, url_type) in service.secondary_endpoint) # --Direct Parameters Test Cases -------------------------------------------- - def test_create_service_with_key(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_key(self, resource_group, location, storage_account, storage_account_key): # Arrange for client, url in SERVICES.items(): # Act service = client( - self._get_queue_url(), credential=self.account_key, queue='foo') + self._account_url(storage_account.name), credential=storage_account_key, queue='foo') # Assert - self.validate_standard_account_endpoints(service, url) + self.validate_standard_account_endpoints(service, url, storage_account.name, storage_account_key) self.assertEqual(service.scheme, 'https') - def test_create_service_with_connection_string(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_connection_string(self, resource_group, location, storage_account, storage_account_key): for service_type in SERVICES.items(): # Act service = service_type[0].from_connection_string( - self.connection_string, queue="test") + self.connection_string(storage_account, storage_account_key), queue="test") # Assert - self.validate_standard_account_endpoints(service, service_type[1]) + self.validate_standard_account_endpoints(service, service_type[1], storage_account.name, storage_account_key) self.assertEqual(service.scheme, 'https') - def test_create_service_with_sas(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_sas(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES: # Act service = service_type( - self._get_queue_url(), credential=self.sas_token, queue='foo') + self._account_url(storage_account.name), credential=self.sas_token, queue='foo') # Assert self.assertIsNotNone(service) - self.assertTrue(service.url.startswith('https://' + self.account_name + '.queue.core.windows.net')) + self.assertTrue(service.url.startswith('https://' + storage_account.name + '.queue.core.windows.net')) self.assertTrue(service.url.endswith(self.sas_token)) self.assertIsNone(service.credential) - def test_create_service_with_token(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_token(self, resource_group, location, storage_account, storage_account_key): for service_type in SERVICES: # Act service = service_type( - self._get_queue_url(), credential=self.token_credential, queue='foo') + self._account_url(storage_account.name), credential=self.token_credential, queue='foo') # Assert self.assertIsNotNone(service) - self.assertTrue(service.url.startswith('https://' + self.account_name + '.queue.core.windows.net')) + self.assertTrue(service.url.startswith('https://' + storage_account.name + '.queue.core.windows.net')) self.assertEqual(service.credential, self.token_credential) self.assertFalse(hasattr(service.credential, 'account_key')) self.assertTrue(hasattr(service.credential, 'get_token')) - def test_create_service_with_token_and_http(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_token_and_http(self, resource_group, location, storage_account, storage_account_key): for service_type in SERVICES: # Act with self.assertRaises(ValueError): - url = self._get_queue_url().replace('https', 'http') + url = self._account_url(storage_account.name).replace('https', 'http') service_type(url, credential=self.token_credential, queue='foo') - def test_create_service_china(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_china(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): # Act - url = self._get_queue_url().replace('core.windows.net', 'core.chinacloudapi.cn') + url = self._account_url(storage_account.name).replace('core.windows.net', 'core.chinacloudapi.cn') service = service_type[0]( - url, credential=self.account_key, queue='foo') + url, credential=storage_account_key, queue='foo') # Assert self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) self.assertTrue(service.primary_endpoint.startswith( - 'https://{}.{}.core.chinacloudapi.cn'.format(self.account_name, service_type[1]))) + 'https://{}.{}.core.chinacloudapi.cn'.format(storage_account.name, service_type[1]))) self.assertTrue(service.secondary_endpoint.startswith( - 'https://{}-secondary.{}.core.chinacloudapi.cn'.format(self.account_name, service_type[1]))) + 'https://{}-secondary.{}.core.chinacloudapi.cn'.format(storage_account.name, service_type[1]))) - def test_create_service_protocol(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_protocol(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): # Act - url = self._get_queue_url().replace('https', 'http') + url = self._account_url(storage_account.name).replace('https', 'http') service = service_type[0]( - url, credential=self.account_key, queue='foo') + url, credential=storage_account_key, queue='foo') # Assert - self.validate_standard_account_endpoints(service, service_type[1]) + self.validate_standard_account_endpoints(service, service_type[1], storage_account.name, storage_account_key) self.assertEqual(service.scheme, 'http') - def test_create_service_empty_key(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_empty_key(self, resource_group, location, storage_account, storage_account_key): # Arrange QUEUE_SERVICES = [QueueServiceClient, QueueClient] @@ -145,7 +157,9 @@ def test_create_service_empty_key(self): self.assertEqual( str(e.exception), "You need to provide either a SAS token or an account key to authenticate.") - def test_create_service_missing_arguments(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_missing_arguments(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES: @@ -155,39 +169,44 @@ def test_create_service_missing_arguments(self): # Assert - def test_create_service_with_socket_timeout(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_socket_timeout(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): # Act default_service = service_type[0]( - self._get_queue_url(), credential=self.account_key, queue='foo') + self._account_url(storage_account.name), credential=storage_account_key, queue='foo') service = service_type[0]( - self._get_queue_url(), credential=self.account_key, + self._account_url(storage_account.name), credential=storage_account_key, queue='foo', connection_timeout=22) # Assert - self.validate_standard_account_endpoints(service, service_type[1]) + self.validate_standard_account_endpoints(service, service_type[1], storage_account.name, storage_account_key) assert service._client._client._pipeline._transport.connection_config.timeout == 22 assert default_service._client._client._pipeline._transport.connection_config.timeout in [20, (20, 2000)] # --Connection String Test Cases -------------------------------------------- - - def test_create_service_with_connection_string_key(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_connection_string_key(self, resource_group, location, storage_account, storage_account_key): # Arrange - conn_string = 'AccountName={};AccountKey={};'.format(self.account_name, self.account_key) + conn_string = 'AccountName={};AccountKey={};'.format(storage_account.name, storage_account_key) for service_type in SERVICES.items(): # Act service = service_type[0].from_connection_string(conn_string, queue='foo') # Assert - self.validate_standard_account_endpoints(service, service_type[1]) + self.validate_standard_account_endpoints(service, service_type[1], storage_account.name, storage_account_key) self.assertEqual(service.scheme, 'https') - def test_create_service_with_connection_string_sas(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_connection_string_sas(self, resource_group, location, storage_account, storage_account_key): # Arrange - conn_string = 'AccountName={};SharedAccessSignature={};'.format(self.account_name, self.sas_token) + conn_string = 'AccountName={};SharedAccessSignature={};'.format(storage_account.name, self.sas_token) for service_type in SERVICES: # Act @@ -195,14 +214,16 @@ def test_create_service_with_connection_string_sas(self): # Assert self.assertIsNotNone(service) - self.assertTrue(service.url.startswith('https://' + self.account_name + '.queue.core.windows.net')) + self.assertTrue(service.url.startswith('https://' + storage_account.name + '.queue.core.windows.net')) self.assertTrue(service.url.endswith(self.sas_token)) self.assertIsNone(service.credential) - def test_create_service_with_connection_string_endpoint_protocol(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_connection_string_endpoint_protocol(self, resource_group, location, storage_account, storage_account_key): # Arrange conn_string = 'AccountName={};AccountKey={};DefaultEndpointsProtocol=http;EndpointSuffix=core.chinacloudapi.cn;'.format( - self.account_name, self.account_key) + storage_account.name, storage_account_key) for service_type in SERVICES.items(): # Act @@ -210,63 +231,70 @@ def test_create_service_with_connection_string_endpoint_protocol(self): # Assert self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) self.assertTrue( service.primary_endpoint.startswith( - 'http://{}.{}.core.chinacloudapi.cn/'.format(self.account_name, service_type[1]))) + 'http://{}.{}.core.chinacloudapi.cn/'.format(storage_account.name, service_type[1]))) self.assertTrue( service.secondary_endpoint.startswith( - 'http://{}-secondary.{}.core.chinacloudapi.cn'.format(self.account_name, service_type[1]))) + 'http://{}-secondary.{}.core.chinacloudapi.cn'.format(storage_account.name, service_type[1]))) self.assertEqual(service.scheme, 'http') - def test_create_service_with_connection_string_emulated(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_connection_string_emulated(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): - conn_string = 'UseDevelopmentStorage=true;'.format(self.account_name, self.account_key) + conn_string = 'UseDevelopmentStorage=true;'.format(storage_account.name, storage_account_key) # Act with self.assertRaises(ValueError): service = service_type[0].from_connection_string(conn_string, queue="foo") - def test_create_service_with_connection_string_custom_domain(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_connection_string_custom_domain(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): conn_string = 'AccountName={};AccountKey={};QueueEndpoint=www.mydomain.com;'.format( - self.account_name, self.account_key) + storage_account.name, storage_account_key) # Act service = service_type[0].from_connection_string(conn_string, queue="foo") # Assert self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) self.assertTrue(service.primary_endpoint.startswith('https://www.mydomain.com/')) - self.assertTrue(service.secondary_endpoint.startswith('https://' + self.account_name + '-secondary.queue.core.windows.net')) + self.assertTrue(service.secondary_endpoint.startswith('https://' + storage_account.name + '-secondary.queue.core.windows.net')) - def test_create_service_with_connection_string_custom_domain_trailing_slash(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_conn_str_custom_domain_trailing_slash(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): conn_string = 'AccountName={};AccountKey={};QueueEndpoint=www.mydomain.com/;'.format( - self.account_name, self.account_key) + storage_account.name, storage_account_key) # Act service = service_type[0].from_connection_string(conn_string, queue="foo") # Assert self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) self.assertTrue(service.primary_endpoint.startswith('https://www.mydomain.com/')) - self.assertTrue(service.secondary_endpoint.startswith('https://' + self.account_name + '-secondary.queue.core.windows.net')) + self.assertTrue(service.secondary_endpoint.startswith('https://' + storage_account.name + '-secondary.queue.core.windows.net')) - - def test_create_service_with_connection_string_custom_domain_secondary_override(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_conn_str_custom_domain_sec_override(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): conn_string = 'AccountName={};AccountKey={};QueueEndpoint=www.mydomain.com/;'.format( - self.account_name, self.account_key) + storage_account.name, storage_account_key) # Act service = service_type[0].from_connection_string( @@ -274,17 +302,18 @@ def test_create_service_with_connection_string_custom_domain_secondary_override( # Assert self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) self.assertTrue(service.primary_endpoint.startswith('https://www.mydomain.com/')) self.assertTrue(service.secondary_endpoint.startswith('https://www-sec.mydomain.com/')) - - def test_create_service_with_connection_string_fails_if_secondary_without_primary(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_conn_str_fails_if_sec_without_primary(self, resource_group, location, storage_account, storage_account_key): for service_type in SERVICES.items(): # Arrange conn_string = 'AccountName={};AccountKey={};{}=www.mydomain.com;'.format( - self.account_name, self.account_key, + storage_account.name, storage_account_key, _CONNECTION_ENDPOINTS_SECONDARY.get(service_type[1])) # Act @@ -293,12 +322,14 @@ def test_create_service_with_connection_string_fails_if_secondary_without_primar with self.assertRaises(ValueError): service = service_type[0].from_connection_string(conn_string, queue="foo") - def test_create_service_with_connection_string_succeeds_if_secondary_with_primary(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_conn_str_succeeds_if_sec_with_primary(self, resource_group, location, storage_account, storage_account_key): for service_type in SERVICES.items(): # Arrange conn_string = 'AccountName={};AccountKey={};{}=www.mydomain.com;{}=www-sec.mydomain.com;'.format( - self.account_name, - self.account_key, + storage_account.name, + storage_account_key, _CONNECTION_ENDPOINTS.get(service_type[1]), _CONNECTION_ENDPOINTS_SECONDARY.get(service_type[1])) @@ -307,15 +338,16 @@ def test_create_service_with_connection_string_succeeds_if_secondary_with_primar # Assert self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) self.assertTrue(service.primary_endpoint.startswith('https://www.mydomain.com/')) self.assertTrue(service.secondary_endpoint.startswith('https://www-sec.mydomain.com/')) - @record - def test_request_callback_signed_header(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_request_callback_signed_header(self, resource_group, location, storage_account, storage_account_key): # Arrange - service = QueueServiceClient(self._get_queue_url(), credential=self.account_key) + service = QueueServiceClient(self._account_url(storage_account.name), credential=storage_account_key) name = self.get_resource_name('cont') # Act @@ -329,10 +361,11 @@ def test_request_callback_signed_header(self): finally: service.delete_queue(name) - @record - def test_response_callback(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_response_callback(self, resource_group, location, storage_account, storage_account_key): # Arrange - service = QueueServiceClient(self._get_queue_url(), credential=self.account_key) + service = QueueServiceClient(self._account_url(storage_account.name), credential=storage_account_key) name = self.get_resource_name('cont') queue = service.get_queue_client(name) @@ -345,9 +378,10 @@ def callback(response): exists = queue.get_queue_properties(raw_response_hook=callback) self.assertTrue(exists) - @record - def test_user_agent_default(self): - service = QueueServiceClient(self._get_queue_url(), credential=self.account_key) + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_user_agent_default(self, resource_group, location, storage_account, storage_account_key): + service = QueueServiceClient(self._account_url(storage_account.name), credential=storage_account_key) def callback(response): self.assertTrue('User-Agent' in response.http_request.headers) @@ -360,11 +394,12 @@ def callback(response): service.get_service_properties(raw_response_hook=callback) - @record - def test_user_agent_custom(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_user_agent_custom(self, resource_group, location, storage_account, storage_account_key): custom_app = "TestApp/v1.0" service = QueueServiceClient( - self._get_queue_url(), credential=self.account_key, user_agent=custom_app) + self._account_url(storage_account.name), credential=storage_account_key, user_agent=custom_app) def callback(response): self.assertTrue('User-Agent' in response.http_request.headers) @@ -388,9 +423,10 @@ def callback(response): service.get_service_properties(raw_response_hook=callback, user_agent="TestApp/v2.0") - @record - def test_user_agent_append(self): - service = QueueServiceClient(self._get_queue_url(), credential=self.account_key) + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_user_agent_append(self, resource_group, location, storage_account, storage_account_key): + service = QueueServiceClient(self._account_url(storage_account.name), credential=storage_account_key) def callback(response): self.assertTrue('User-Agent' in response.http_request.headers) diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_client_async.py b/sdk/storage/azure-storage-queue/tests/test_queue_client_async.py index efc694ada9f0..22fcbce15ac0 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_client_async.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_client_async.py @@ -9,15 +9,14 @@ import asyncio from azure.core.pipeline.transport import AioHttpTransport from multidict import CIMultiDict, CIMultiDictProxy +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer from azure.storage.queue import VERSION from azure.storage.queue.aio import ( QueueServiceClient, QueueClient ) -from queuetestcase import ( - QueueTestCase, - record, - TestMode +from asyncqueuetestcase import ( + AsyncQueueTestCase, ) # ------------------------------------------------------------------------------ @@ -25,7 +24,6 @@ QueueServiceClient: 'queue', QueueClient: 'queue', } - _CONNECTION_ENDPOINTS = {'queue': 'QueueEndpoint'} _CONNECTION_ENDPOINTS_SECONDARY = {'queue': 'QueueSecondaryEndpoint'} @@ -42,113 +40,126 @@ async def send(self, request, **config): return response -class StorageQueueClientTestAsync(QueueTestCase): +class StorageQueueClientTestAsync(AsyncQueueTestCase): def setUp(self): super(StorageQueueClientTestAsync, self).setUp() - self.account_name = self.settings.STORAGE_ACCOUNT_NAME - self.account_key = self.settings.STORAGE_ACCOUNT_KEY self.sas_token = '?sv=2015-04-05&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D' self.token_credential = self.generate_oauth_token() - self.connection_string = self.settings.CONNECTION_STRING # --Helpers----------------------------------------------------------------- - def validate_standard_account_endpoints(self, service, url_type): + def validate_standard_account_endpoints(self, service, url_type, storage_account, storage_account_key): self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) - self.assertTrue('{}.{}.core.windows.net'.format(self.account_name, url_type) in service.url) - self.assertTrue('{}-secondary.{}.core.windows.net'.format(self.account_name, url_type) in service.secondary_endpoint) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) + self.assertTrue('{}.{}.core.windows.net'.format(storage_account.name, url_type) in service.url) + self.assertTrue('{}-secondary.{}.core.windows.net'.format(storage_account.name, url_type) in service.secondary_endpoint) # --Direct Parameters Test Cases -------------------------------------------- - def test_create_service_with_key(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_key(self, resource_group, location, storage_account, storage_account_key): # Arrange for client, url in SERVICES.items(): # Act service = client( - self._get_queue_url(), credential=self.account_key, queue='foo', transport=AiohttpTestTransport()) + self._account_url(storage_account.name), credential=storage_account_key, queue='foo', transport=AiohttpTestTransport()) # Assert - self.validate_standard_account_endpoints(service, url) + self.validate_standard_account_endpoints(service, url, storage_account, storage_account_key) self.assertEqual(service.scheme, 'https') - def test_create_service_with_connection_string(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_connection_string(self, resource_group, location, storage_account, storage_account_key): for service_type in SERVICES.items(): # Act service = service_type[0].from_connection_string( - self.connection_string, queue="test") + self.connection_string(storage_account, storage_account_key), queue="test") # Assert - self.validate_standard_account_endpoints(service, service_type[1]) + self.validate_standard_account_endpoints(service, service_type[1], storage_account, storage_account_key) self.assertEqual(service.scheme, 'https') - def test_create_service_with_sas(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_sas(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES: # Act service = service_type( - self._get_queue_url(), credential=self.sas_token, queue='foo') + self._account_url(storage_account.name), credential=self.sas_token, queue='foo') # Assert self.assertIsNotNone(service) - self.assertTrue(service.url.startswith('https://' + self.account_name + '.queue.core.windows.net')) + self.assertTrue(service.url.startswith('https://' + storage_account.name + '.queue.core.windows.net')) self.assertTrue(service.url.endswith(self.sas_token)) self.assertIsNone(service.credential) - def test_create_service_with_token(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_token(self, resource_group, location, storage_account, storage_account_key): for service_type in SERVICES: # Act service = service_type( - self._get_queue_url(), credential=self.token_credential, queue='foo') + self._account_url(storage_account.name), credential=self.token_credential, queue='foo') # Assert self.assertIsNotNone(service) - self.assertTrue(service.url.startswith('https://' + self.account_name + '.queue.core.windows.net')) + self.assertTrue(service.url.startswith('https://' + storage_account.name + '.queue.core.windows.net')) self.assertEqual(service.credential, self.token_credential) self.assertFalse(hasattr(service.credential, 'account_key')) self.assertTrue(hasattr(service.credential, 'get_token')) - def test_create_service_with_token_and_http(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_token_and_http(self, resource_group, location, storage_account, storage_account_key): for service_type in SERVICES: # Act with self.assertRaises(ValueError): - url = self._get_queue_url().replace('https', 'http') + url = self._account_url(storage_account.name).replace('https', 'http') service_type(url, credential=self.token_credential, queue='foo') - def test_create_service_china(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_china(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): # Act - url = self._get_queue_url().replace('core.windows.net', 'core.chinacloudapi.cn') + url = self._account_url(storage_account.name).replace('core.windows.net', 'core.chinacloudapi.cn') service = service_type[0]( - url, credential=self.account_key, queue='foo') + url, credential=storage_account_key, queue='foo') # Assert self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) self.assertTrue(service.primary_endpoint.startswith( - 'https://{}.{}.core.chinacloudapi.cn'.format(self.account_name, service_type[1]))) + 'https://{}.{}.core.chinacloudapi.cn'.format(storage_account.name, service_type[1]))) self.assertTrue(service.secondary_endpoint.startswith( - 'https://{}-secondary.{}.core.chinacloudapi.cn'.format(self.account_name, service_type[1]))) + 'https://{}-secondary.{}.core.chinacloudapi.cn'.format(storage_account.name, service_type[1]))) - def test_create_service_protocol(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_protocol(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): # Act - url = self._get_queue_url().replace('https', 'http') + url = self._account_url(storage_account.name).replace('https', 'http') service = service_type[0]( - url, credential=self.account_key, queue='foo') + url, credential=storage_account_key, queue='foo') # Assert - self.validate_standard_account_endpoints(service, service_type[1]) + self.validate_standard_account_endpoints(service, service_type[1], storage_account, storage_account_key) self.assertEqual(service.scheme, 'http') - def test_create_service_empty_key(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_empty_key(self, resource_group, location, storage_account, storage_account_key): # Arrange QUEUE_SERVICES = [QueueServiceClient, QueueClient] @@ -160,7 +171,9 @@ def test_create_service_empty_key(self): self.assertEqual( str(e.exception), "You need to provide either a SAS token or an account key to authenticate.") - def test_create_service_missing_arguments(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_missing_arguments(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES: @@ -169,39 +182,44 @@ def test_create_service_missing_arguments(self): service = service_type(None) # Assert - def test_create_service_with_socket_timeout(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_socket_timeout(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): # Act default_service = service_type[0]( - self._get_queue_url(), credential=self.account_key, queue='foo') + self._account_url(storage_account.name), credential=storage_account_key, queue='foo') service = service_type[0]( - self._get_queue_url(), credential=self.account_key, + self._account_url(storage_account.name), credential=storage_account_key, queue='foo', connection_timeout=22) # Assert - self.validate_standard_account_endpoints(service, service_type[1]) + self.validate_standard_account_endpoints(service, service_type[1], storage_account, storage_account_key) assert service._client._client._pipeline._transport.connection_config.timeout == 22 assert default_service._client._client._pipeline._transport.connection_config.timeout in [20, (20, 2000)] # --Connection String Test Cases -------------------------------------------- - - def test_create_service_with_connection_string_key(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_connection_string_key(self, resource_group, location, storage_account, storage_account_key): # Arrange - conn_string = 'AccountName={};AccountKey={};'.format(self.account_name, self.account_key) + conn_string = 'AccountName={};AccountKey={};'.format(storage_account.name, storage_account_key) for service_type in SERVICES.items(): # Act service = service_type[0].from_connection_string(conn_string, queue='foo') # Assert - self.validate_standard_account_endpoints(service, service_type[1]) + self.validate_standard_account_endpoints(service, service_type[1], storage_account, storage_account_key) self.assertEqual(service.scheme, 'https') - def test_create_service_with_connection_string_sas(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_connection_string_sas(self, resource_group, location, storage_account, storage_account_key): # Arrange - conn_string = 'AccountName={};SharedAccessSignature={};'.format(self.account_name, self.sas_token) + conn_string = 'AccountName={};SharedAccessSignature={};'.format(storage_account.name, self.sas_token) for service_type in SERVICES: # Act @@ -209,14 +227,16 @@ def test_create_service_with_connection_string_sas(self): # Assert self.assertIsNotNone(service) - self.assertTrue(service.url.startswith('https://' + self.account_name + '.queue.core.windows.net')) + self.assertTrue(service.url.startswith('https://' + storage_account.name + '.queue.core.windows.net')) self.assertTrue(service.url.endswith(self.sas_token)) self.assertIsNone(service.credential) - def test_create_service_with_connection_string_endpoint_protocol(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_conn_str_endpoint_protocol(self, resource_group, location, storage_account, storage_account_key): # Arrange conn_string = 'AccountName={};AccountKey={};DefaultEndpointsProtocol=http;EndpointSuffix=core.chinacloudapi.cn;'.format( - self.account_name, self.account_key) + storage_account.name, storage_account_key) for service_type in SERVICES.items(): # Act @@ -224,63 +244,71 @@ def test_create_service_with_connection_string_endpoint_protocol(self): # Assert self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) self.assertTrue( service.primary_endpoint.startswith( - 'http://{}.{}.core.chinacloudapi.cn/'.format(self.account_name, service_type[1]))) + 'http://{}.{}.core.chinacloudapi.cn/'.format(storage_account.name, service_type[1]))) self.assertTrue( service.secondary_endpoint.startswith( - 'http://{}-secondary.{}.core.chinacloudapi.cn'.format(self.account_name, service_type[1]))) + 'http://{}-secondary.{}.core.chinacloudapi.cn'.format(storage_account.name, service_type[1]))) self.assertEqual(service.scheme, 'http') - def test_create_service_with_connection_string_emulated(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_connection_string_emulated(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): - conn_string = 'UseDevelopmentStorage=true;'.format(self.account_name, self.account_key) + conn_string = 'UseDevelopmentStorage=true;'.format(storage_account.name, storage_account_key) # Act with self.assertRaises(ValueError): service = service_type[0].from_connection_string(conn_string, queue="foo") - def test_create_service_with_connection_string_custom_domain(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_connection_string_custom_domain(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): conn_string = 'AccountName={};AccountKey={};QueueEndpoint=www.mydomain.com;'.format( - self.account_name, self.account_key) + storage_account.name, storage_account_key) # Act service = service_type[0].from_connection_string(conn_string, queue="foo") # Assert self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) self.assertTrue(service.primary_endpoint.startswith('https://www.mydomain.com/')) - self.assertTrue(service.secondary_endpoint.startswith('https://' + self.account_name + '-secondary.queue.core.windows.net')) + self.assertTrue(service.secondary_endpoint.startswith('https://' + storage_account.name + '-secondary.queue.core.windows.net')) - def test_create_service_with_connection_string_custom_domain_trailing_slash(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_serv_with_cs_custom_dmn_trlng_slash(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): conn_string = 'AccountName={};AccountKey={};QueueEndpoint=www.mydomain.com/;'.format( - self.account_name, self.account_key) + storage_account.name, storage_account_key) # Act service = service_type[0].from_connection_string(conn_string, queue="foo") # Assert self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) self.assertTrue(service.primary_endpoint.startswith('https://www.mydomain.com/')) - self.assertTrue(service.secondary_endpoint.startswith('https://' + self.account_name + '-secondary.queue.core.windows.net')) + self.assertTrue(service.secondary_endpoint.startswith('https://' + storage_account.name + '-secondary.queue.core.windows.net')) - def test_create_service_with_connection_string_custom_domain_secondary_override(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_cs_custom_dmn_sec_override(self, resource_group, location, storage_account, storage_account_key): # Arrange for service_type in SERVICES.items(): conn_string = 'AccountName={};AccountKey={};QueueEndpoint=www.mydomain.com/;'.format( - self.account_name, self.account_key) + storage_account.name, storage_account_key) # Act service = service_type[0].from_connection_string( @@ -288,17 +316,18 @@ def test_create_service_with_connection_string_custom_domain_secondary_override( # Assert self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) self.assertTrue(service.primary_endpoint.startswith('https://www.mydomain.com/')) self.assertTrue(service.secondary_endpoint.startswith('https://www-sec.mydomain.com/')) - - def test_create_service_with_connection_string_fails_if_secondary_without_primary(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_cs_fails_if_sec_without_prim(self, resource_group, location, storage_account, storage_account_key): for service_type in SERVICES.items(): # Arrange conn_string = 'AccountName={};AccountKey={};{}=www.mydomain.com;'.format( - self.account_name, self.account_key, + storage_account.name, storage_account_key, _CONNECTION_ENDPOINTS_SECONDARY.get(service_type[1])) # Act @@ -307,12 +336,14 @@ def test_create_service_with_connection_string_fails_if_secondary_without_primar with self.assertRaises(ValueError): service = service_type[0].from_connection_string(conn_string, queue="foo") - def test_create_service_with_connection_string_succeeds_if_secondary_with_primary(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_service_with_cs_succeeds_if_sec_with_prim(self, resource_group, location, storage_account, storage_account_key): for service_type in SERVICES.items(): # Arrange conn_string = 'AccountName={};AccountKey={};{}=www.mydomain.com;{}=www-sec.mydomain.com;'.format( - self.account_name, - self.account_key, + storage_account.name, + storage_account_key, _CONNECTION_ENDPOINTS.get(service_type[1]), _CONNECTION_ENDPOINTS_SECONDARY.get(service_type[1])) @@ -321,14 +352,17 @@ def test_create_service_with_connection_string_succeeds_if_secondary_with_primar # Assert self.assertIsNotNone(service) - self.assertEqual(service.credential.account_name, self.account_name) - self.assertEqual(service.credential.account_key, self.account_key) + self.assertEqual(service.credential.account_name, storage_account.name) + self.assertEqual(service.credential.account_key, storage_account_key) self.assertTrue(service.primary_endpoint.startswith('https://www.mydomain.com/')) self.assertTrue(service.secondary_endpoint.startswith('https://www-sec.mydomain.com/')) - async def _test_request_callback_signed_header(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_request_callback_signed_header(self, resource_group, location, storage_account, storage_account_key): # Arrange - service = QueueServiceClient(self._get_queue_url(), credential=self.account_key) + service = QueueServiceClient(self._account_url(storage_account.name), credential=storage_account_key) name = self.get_resource_name('cont') # Act @@ -343,14 +377,12 @@ async def _test_request_callback_signed_header(self): finally: await service.delete_queue(name) - @record - def test_request_callback_signed_header(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_request_callback_signed_header()) - - async def _test_response_callback(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_response_callback(self, resource_group, location, storage_account, storage_account_key): # Arrange - service = QueueServiceClient(self._get_queue_url(), credential=self.account_key, transport=AiohttpTestTransport()) + service = QueueServiceClient(self._account_url(storage_account.name), credential=storage_account_key, transport=AiohttpTestTransport()) name = self.get_resource_name('cont') queue = service.get_queue_client(name) @@ -363,13 +395,11 @@ def callback(response): exists = await queue.get_queue_properties(raw_response_hook=callback) self.assertTrue(exists) - @record - def test_response_callback(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_response_callback()) - - async def _test_user_agent_default(self): - service = QueueServiceClient(self._get_queue_url(), credential=self.account_key, transport=AiohttpTestTransport()) + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_user_agent_default(self, resource_group, location, storage_account, storage_account_key): + service = QueueServiceClient(self._account_url(storage_account.name), credential=storage_account_key, transport=AiohttpTestTransport()) def callback(response): self.assertTrue('User-Agent' in response.http_request.headers) @@ -382,15 +412,13 @@ def callback(response): await service.get_service_properties(raw_response_hook=callback) - @record - def test_user_agent_default(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_user_agent_default()) - - async def _test_user_agent_custom(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_user_agent_custom(self, resource_group, location, storage_account, storage_account_key): custom_app = "TestApp/v1.0" service = QueueServiceClient( - self._get_queue_url(), credential=self.account_key, user_agent=custom_app, transport=AiohttpTestTransport()) + self._account_url(storage_account.name), credential=storage_account_key, user_agent=custom_app, transport=AiohttpTestTransport()) def callback(response): self.assertTrue('User-Agent' in response.http_request.headers) @@ -414,13 +442,11 @@ def callback(response): await service.get_service_properties(raw_response_hook=callback, user_agent="TestApp/v2.0") - @record - def test_user_agent_custom(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_user_agent_custom()) - - async def _test_user_agent_append(self): - service = QueueServiceClient(self._get_queue_url(), credential=self.account_key, transport=AiohttpTestTransport()) + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_user_agent_append(self, resource_group, location, storage_account, storage_account_key): + service = QueueServiceClient(self._account_url(storage_account.name), credential=storage_account_key, transport=AiohttpTestTransport()) def callback(response): self.assertTrue('User-Agent' in response.http_request.headers) @@ -434,10 +460,6 @@ def callback(response): custom_headers = {'User-Agent': 'customer_user_agent'} await service.get_service_properties(raw_response_hook=callback, headers=custom_headers) - @record - def test_user_agent_append(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_user_agent_append()) # ------------------------------------------------------------------------------ if __name__ == '__main__': unittest.main() diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_encodings.py b/sdk/storage/azure-storage-queue/tests/test_queue_encodings.py index 524cdd893b91..a9f2fee7c4b1 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_encodings.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_encodings.py @@ -8,6 +8,7 @@ import unittest from azure.core.exceptions import HttpResponseError, DecodeError, ResourceExistsError +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer from azure.storage.queue import ( QueueClient, QueueServiceClient, @@ -21,8 +22,7 @@ NoDecodePolicy) from queuetestcase import ( - QueueTestCase, - record, + QueueTestCase ) # ------------------------------------------------------------------------------ @@ -32,32 +32,14 @@ # ------------------------------------------------------------------------------ class StorageQueueEncodingTest(QueueTestCase): - def setUp(self): - super(StorageQueueEncodingTest, self).setUp() - - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() - self.qsc = QueueServiceClient(account_url=queue_url, credential=credentials) - self.test_queues = [] - - def tearDown(self): - if not self.is_playback(): - for queue in self.test_queues: - try: - self.qsc.delete_queue(queue.queue_name) - except: - pass - return super(StorageQueueEncodingTest, self).tearDown() - # --Helpers----------------------------------------------------------------- - def _get_queue_reference(self, prefix=TEST_QUEUE_PREFIX): + def _get_queue_reference(self, qsc, prefix=TEST_QUEUE_PREFIX): queue_name = self.get_resource_name(prefix) - queue = self.qsc.get_queue_client(queue_name) - self.test_queues.append(queue) + queue = qsc.get_queue_client(queue_name) return queue - def _create_queue(self, prefix=TEST_QUEUE_PREFIX): - queue = self._get_queue_reference(prefix) + def _create_queue(self, qsc, prefix=TEST_QUEUE_PREFIX): + queue = self._get_queue_reference(qsc, prefix) try: created = queue.create_queue() except ResourceExistsError: @@ -80,43 +62,49 @@ def _validate_encoding(self, queue, message): # -------------------------------------------------------------------------- - @record - def test_message_text_xml(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_message_text_xml(self, resource_group, location, storage_account, storage_account_key): # Arrange. + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) message = u'' - queue = self.qsc.get_queue_client(self.get_resource_name(TEST_QUEUE_PREFIX)) + queue = qsc.get_queue_client(self.get_resource_name(TEST_QUEUE_PREFIX)) # Asserts self._validate_encoding(queue, message) - @record - def test_message_text_xml_whitespace(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_message_text_xml_whitespace(self, resource_group, location, storage_account, storage_account_key): # Arrange. + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) message = u' mess\t age1\n' - queue = self.qsc.get_queue_client(self.get_resource_name(TEST_QUEUE_PREFIX)) + queue = qsc.get_queue_client(self.get_resource_name(TEST_QUEUE_PREFIX)) # Asserts self._validate_encoding(queue, message) - @record - def test_message_text_xml_invalid_chars(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_message_text_xml_invalid_chars(self, resource_group, location, storage_account, storage_account_key): # Action. - queue = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._get_queue_reference(qsc) message = u'\u0001' # Asserts with self.assertRaises(HttpResponseError): queue.enqueue_message(message) - @record - def test_message_text_base64(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_message_text_base64(self, resource_group, location, storage_account, storage_account_key): # Arrange. - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) queue = QueueClient( - queue_url=queue_url, + queue_url=self._account_url(storage_account.name), queue=self.get_resource_name(TEST_QUEUE_PREFIX), - credential=credentials, + credential=storage_account_key, message_encode_policy=TextBase64EncodePolicy(), message_decode_policy=TextBase64DecodePolicy()) @@ -125,15 +113,15 @@ def test_message_text_base64(self): # Asserts self._validate_encoding(queue, message) - @record - def test_message_bytes_base64(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_message_bytes_base64(self, resource_group, location, storage_account, storage_account_key): # Arrange. - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) queue = QueueClient( - queue_url=queue_url, + queue_url=self._account_url(storage_account.name), queue=self.get_resource_name(TEST_QUEUE_PREFIX), - credential=credentials, + credential=storage_account_key, message_encode_policy=BinaryBase64EncodePolicy(), message_decode_policy=BinaryBase64DecodePolicy()) @@ -142,10 +130,12 @@ def test_message_bytes_base64(self): # Asserts self._validate_encoding(queue, message) - @record - def test_message_bytes_fails(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_message_bytes_fails(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._get_queue_reference(qsc) # Action. with self.assertRaises(TypeError) as e: @@ -155,15 +145,15 @@ def test_message_bytes_fails(self): # Asserts self.assertTrue(str(e.exception).startswith('Message content must be text')) - @record - def test_message_text_fails(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_message_text_fails(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) queue = QueueClient( - queue_url=queue_url, + queue_url=self._account_url(storage_account.name), queue=self.get_resource_name(TEST_QUEUE_PREFIX), - credential=credentials, + credential=storage_account_key, message_encode_policy=BinaryBase64EncodePolicy(), message_decode_policy=BinaryBase64DecodePolicy()) @@ -175,15 +165,15 @@ def test_message_text_fails(self): # Asserts self.assertTrue(str(e.exception).startswith('Message content must be bytes')) - @record - def test_message_base64_decode_fails(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_message_base64_decode_fails(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) queue = QueueClient( - queue_url=queue_url, + queue_url=self._account_url(storage_account.name), queue=self.get_resource_name(TEST_QUEUE_PREFIX), - credential=credentials, + credential=storage_account_key, message_encode_policy=TextXMLEncodePolicy(), message_decode_policy=BinaryBase64DecodePolicy()) try: diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_encodings_async.py b/sdk/storage/azure-storage-queue/tests/test_queue_encodings_async.py index f02cb9715471..2248e8994264 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_encodings_async.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_encodings_async.py @@ -8,8 +8,8 @@ import unittest import pytest import asyncio - from azure.core.exceptions import HttpResponseError, DecodeError, ResourceExistsError +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer, FakeStorageAccount from azure.core.pipeline.transport import AioHttpTransport from multidict import CIMultiDict, CIMultiDictProxy from azure.storage.queue import ( @@ -28,16 +28,13 @@ QueueServiceClient ) -from queuetestcase import ( - QueueTestCase, - record, - TestMode +from asyncqueuetestcase import ( + AsyncQueueTestCase ) # ------------------------------------------------------------------------------ TEST_QUEUE_PREFIX = 'mytestqueue' - # ------------------------------------------------------------------------------ class AiohttpTestTransport(AioHttpTransport): @@ -51,34 +48,15 @@ async def send(self, request, **config): return response -class StorageQueueEncodingTestAsync(QueueTestCase): - def setUp(self): - super(StorageQueueEncodingTestAsync, self).setUp() - - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() - self.qsc = QueueServiceClient(account_url=queue_url, credential=credentials, transport=AiohttpTestTransport()) - self.test_queues = [] - - def tearDown(self): - if not self.is_playback(): - loop = asyncio.get_event_loop() - for queue in self.test_queues: - try: - loop.run_until_complete(self.qsc.delete_queue(queue.queue_name)) - except: - pass - return super(StorageQueueEncodingTestAsync, self).tearDown() - +class StorageQueueEncodingTestAsync(AsyncQueueTestCase): # --Helpers----------------------------------------------------------------- - def _get_queue_reference(self, prefix=TEST_QUEUE_PREFIX): + def _get_queue_reference(self, qsc, prefix=TEST_QUEUE_PREFIX): queue_name = self.get_resource_name(prefix) - queue = self.qsc.get_queue_client(queue_name) - self.test_queues.append(queue) + queue = qsc.get_queue_client(queue_name) return queue - async def _create_queue(self, prefix=TEST_QUEUE_PREFIX): - queue = self._get_queue_reference(prefix) + async def _create_queue(self, qsc, prefix=TEST_QUEUE_PREFIX): + queue = self._get_queue_reference(qsc, prefix) try: created = await queue.create_queue() except ResourceExistsError: @@ -102,55 +80,53 @@ async def _validate_encoding(self, queue, message): self.assertEqual(message, dequeued.content) # -------------------------------------------------------------------------- - - async def _test_message_text_xml(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_message_text_xml(self, resource_group, location, storage_account, storage_account_key): # Arrange. + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) message = u'' - queue = self.qsc.get_queue_client(self.get_resource_name(TEST_QUEUE_PREFIX)) + queue = qsc.get_queue_client(self.get_resource_name(TEST_QUEUE_PREFIX)) # Asserts await self._validate_encoding(queue, message) - @record - def test_message_text_xml(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_message_text_xml()) - - async def _test_message_text_xml_whitespace(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_message_text_xml_whitespace(self, resource_group, location, storage_account, storage_account_key): # Arrange. + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) message = u' mess\t age1\n' - queue = self.qsc.get_queue_client(self.get_resource_name(TEST_QUEUE_PREFIX)) + queue = qsc.get_queue_client(self.get_resource_name(TEST_QUEUE_PREFIX)) # Asserts await self._validate_encoding(queue, message) - @record - def test_message_text_xml_whitespace(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_message_text_xml_whitespace()) - - async def _test_message_text_xml_invalid_chars(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_message_text_xml_invalid_chars(self, resource_group, location, storage_account, storage_account_key): # Action. - queue = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue = self._get_queue_reference(qsc) message = u'\u0001' # Asserts with self.assertRaises(HttpResponseError): await queue.enqueue_message(message) - @record - def test_message_text_xml_invalid_chars(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_message_text_xml_invalid_chars()) - - async def _test_message_text_base64(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_message_text_base64(self, resource_group, location, storage_account, storage_account_key): # Arrange. - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) queue = QueueClient( - queue_url=queue_url, + queue_url=self._account_url(storage_account.name), queue=self.get_resource_name(TEST_QUEUE_PREFIX), - credential=credentials, + credential=storage_account_key, message_encode_policy=TextBase64EncodePolicy(), message_decode_policy=TextBase64DecodePolicy(), transport=AiohttpTestTransport()) @@ -160,19 +136,16 @@ async def _test_message_text_base64(self): # Asserts await self._validate_encoding(queue, message) - @record - def test_message_text_base64(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_message_text_base64()) - - async def _test_message_bytes_base64(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_message_bytes_base64(self, resource_group, location, storage_account, storage_account_key): # Arrange. - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) queue = QueueClient( - queue_url=queue_url, + queue_url=self._account_url(storage_account.name), queue=self.get_resource_name(TEST_QUEUE_PREFIX), - credential=credentials, + credential=storage_account_key, message_encode_policy=BinaryBase64EncodePolicy(), message_decode_policy=BinaryBase64DecodePolicy(), transport=AiohttpTestTransport()) @@ -182,14 +155,13 @@ async def _test_message_bytes_base64(self): # Asserts await self._validate_encoding(queue, message) - @record - def test_message_bytes_base64(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_message_bytes_base64()) - - async def _test_message_bytes_fails(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_message_bytes_fails(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self._get_queue_reference() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + queue = self._get_queue_reference(qsc) # Action. with self.assertRaises(TypeError) as e: @@ -199,19 +171,16 @@ async def _test_message_bytes_fails(self): # Asserts self.assertTrue(str(e.exception).startswith('Message content must be text')) - @record - def test_message_bytes_fails(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_message_bytes_fails()) - - async def _test_message_text_fails(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_message_text_fails(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) queue = QueueClient( - queue_url=queue_url, + queue_url=self._account_url(storage_account.name), queue=self.get_resource_name(TEST_QUEUE_PREFIX), - credential=credentials, + credential=storage_account_key, message_encode_policy=BinaryBase64EncodePolicy(), message_decode_policy=BinaryBase64DecodePolicy(), transport=AiohttpTestTransport()) @@ -224,19 +193,16 @@ async def _test_message_text_fails(self): # Asserts self.assertTrue(str(e.exception).startswith('Message content must be bytes')) - @record - def test_message_text_fails(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_message_text_fails()) - - async def _test_message_base64_decode_fails(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_message_base64_decode_fails(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) queue = QueueClient( - queue_url=queue_url, + queue_url=self._account_url(storage_account.name), queue=self.get_resource_name(TEST_QUEUE_PREFIX), - credential=credentials, + credential=storage_account_key, message_encode_policy=TextXMLEncodePolicy(), message_decode_policy=BinaryBase64DecodePolicy(), transport=AiohttpTestTransport()) @@ -254,11 +220,6 @@ async def _test_message_base64_decode_fails(self): # Asserts self.assertNotEqual(-1, str(e.exception).find('Message content is not valid base 64')) - @record - def test_message_base64_decode_fails(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_message_base64_decode_fails()) - # ------------------------------------------------------------------------------ if __name__ == '__main__': unittest.main() diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_encryption.py b/sdk/storage/azure-storage-queue/tests/test_queue_encryption.py index 5cf64c7b7834..0176df942fd2 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_encryption.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_encryption.py @@ -18,7 +18,7 @@ from cryptography.hazmat.primitives.ciphers.algorithms import AES from cryptography.hazmat.primitives.ciphers.modes import CBC from cryptography.hazmat.primitives.padding import PKCS7 - +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer from azure.core.exceptions import HttpResponseError, ResourceExistsError from azure.storage.queue._shared import decode_base64_to_bytes from azure.storage.queue._shared.encryption import ( @@ -44,8 +44,6 @@ ) from queuetestcase import ( QueueTestCase, - record, - TestMode, ) # ------------------------------------------------------------------------------ @@ -60,32 +58,14 @@ def _decode_base64_to_bytes(data): return b64decode(data) class StorageQueueEncryptionTest(QueueTestCase): - def setUp(self): - super(StorageQueueEncryptionTest, self).setUp() - - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() - self.qsc = QueueServiceClient(account_url=queue_url, credential=credentials) - self.test_queues = [] - - def tearDown(self): - if not self.is_playback(): - for queue in self.test_queues: - try: - self.qsc.delete_queue(queue.queue_name) - except: - pass - return super(StorageQueueEncryptionTest, self).tearDown() - # --Helpers----------------------------------------------------------------- - def _get_queue_reference(self, prefix=TEST_QUEUE_PREFIX): + def _get_queue_reference(self, qsc, prefix=TEST_QUEUE_PREFIX): queue_name = self.get_resource_name(prefix) - queue = self.qsc.get_queue_client(queue_name) - self.test_queues.append(queue) + queue = qsc.get_queue_client(queue_name) return queue - def _create_queue(self, prefix=TEST_QUEUE_PREFIX): - queue = self._get_queue_reference(prefix) + def _create_queue(self, qsc, prefix=TEST_QUEUE_PREFIX): + queue = self._get_queue_reference(qsc, prefix) try: created = queue.create_queue() except ResourceExistsError: @@ -94,11 +74,13 @@ def _create_queue(self, prefix=TEST_QUEUE_PREFIX): # -------------------------------------------------------------------------- - @record - def test_get_messages_encrypted_kek(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_get_messages_encrypted_kek(self, resource_group, location, storage_account, storage_account_key): # Arrange - self.qsc.key_encryption_key = KeyWrapper('key1') - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + qsc.key_encryption_key = KeyWrapper('key1') + queue = self._create_queue(qsc) queue.enqueue_message(u'encrypted_message_2') # Act @@ -107,14 +89,16 @@ def test_get_messages_encrypted_kek(self): # Assert self.assertEqual(li.content, u'encrypted_message_2') - @record - def test_get_messages_encrypted_resolver(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_get_messages_encrypted_resolver(self, resource_group, location, storage_account, storage_account_key): # Arrange - self.qsc.key_encryption_key = KeyWrapper('key1') - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + qsc.key_encryption_key = KeyWrapper('key1') + queue = self._create_queue(qsc) queue.enqueue_message(u'encrypted_message_2') key_resolver = KeyResolver() - key_resolver.put_key(self.qsc.key_encryption_key) + key_resolver.put_key(qsc.key_encryption_key) queue.key_resolver_function = key_resolver.resolve_key queue.key_encryption_key = None # Ensure that the resolver is used @@ -124,11 +108,13 @@ def test_get_messages_encrypted_resolver(self): # Assert self.assertEqual(li.content, u'encrypted_message_2') - @record - def test_peek_messages_encrypted_kek(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_peek_messages_encrypted_kek(self, resource_group, location, storage_account, storage_account_key): # Arrange - self.qsc.key_encryption_key = KeyWrapper('key1') - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + qsc.key_encryption_key = KeyWrapper('key1') + queue = self._create_queue(qsc) queue.enqueue_message(u'encrypted_message_3') # Act @@ -137,14 +123,16 @@ def test_peek_messages_encrypted_kek(self): # Assert self.assertEqual(li[0].content, u'encrypted_message_3') - @record - def test_peek_messages_encrypted_resolver(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_peek_messages_encrypted_resolver(self, resource_group, location, storage_account, storage_account_key): # Arrange - self.qsc.key_encryption_key = KeyWrapper('key1') - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + qsc.key_encryption_key = KeyWrapper('key1') + queue = self._create_queue(qsc) queue.enqueue_message(u'encrypted_message_4') key_resolver = KeyResolver() - key_resolver.put_key(self.qsc.key_encryption_key) + key_resolver.put_key(qsc.key_encryption_key) queue.key_resolver_function = key_resolver.resolve_key queue.key_encryption_key = None # Ensure that the resolver is used @@ -154,16 +142,19 @@ def test_peek_messages_encrypted_resolver(self): # Assert self.assertEqual(li[0].content, u'encrypted_message_4') - def test_peek_messages_encrypted_kek_RSA(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_peek_messages_encrypted_kek_RSA(self, resource_group, location, storage_account, storage_account_key): # We can only generate random RSA keys, so this must be run live or # the playback test will fail due to a change in kek values. - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange - self.qsc.key_encryption_key = RSAKeyWrapper('key2') - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + qsc.key_encryption_key = RSAKeyWrapper('key2') + queue = self._create_queue(qsc) queue.enqueue_message(u'encrypted_message_3') # Act @@ -172,13 +163,15 @@ def test_peek_messages_encrypted_kek_RSA(self): # Assert self.assertEqual(li[0].content, u'encrypted_message_3') - @record - def test_update_encrypted_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_update_encrypted_message(self, resource_group, location, storage_account, storage_account_key): # TODO: Recording doesn't work - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') queue.enqueue_message(u'Update Me') @@ -193,36 +186,45 @@ def test_update_encrypted_message(self): # Assert self.assertEqual(u'Updated', list_result2.content) - @record - def test_update_encrypted_binary_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_update_encrypted_binary_message(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') queue._config.message_encode_policy = BinaryBase64EncodePolicy() queue._config.message_decode_policy = BinaryBase64DecodePolicy() binary_message = self.get_random_bytes(100) queue.enqueue_message(binary_message) - messages = queue.receive_messages() - list_result1 = next(messages) + messages = [] + for m in queue.receive_messages(): + messages.append(m) + list_result1 = messages[0] # Act binary_message = self.get_random_bytes(100) list_result1.content = binary_message queue.update_message(list_result1) - list_result2 = next(messages) + for m in queue.receive_messages(): + messages.append(m) + list_result2 = messages[0] + # Assert self.assertEqual(binary_message, list_result2.content) - @record - def test_update_encrypted_raw_text_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_update_encrypted_raw_text_message(self, resource_group, location, storage_account, storage_account_key): # TODO: Recording doesn't work - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') queue._config.message_encode_policy = NoEncodePolicy() queue._config.message_decode_policy = NoDecodePolicy() @@ -242,13 +244,15 @@ def test_update_encrypted_raw_text_message(self): # Assert self.assertEqual(raw_text, list_result2.content) - @record - def test_update_encrypted_json_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_update_encrypted_json_message(self, resource_group, location, storage_account, storage_account_key): # TODO: Recording doesn't work - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') queue._config.message_encode_policy = NoEncodePolicy() queue._config.message_decode_policy = NoDecodePolicy() @@ -271,10 +275,12 @@ def test_update_encrypted_json_message(self): # Assert self.assertEqual(message_dict, loads(list_result2.content)) - @record - def test_invalid_value_kek_wrap(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_invalid_value_kek_wrap(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') queue.key_encryption_key.get_kid = None @@ -293,10 +299,12 @@ def test_invalid_value_kek_wrap(self): with self.assertRaises(AttributeError): queue.enqueue_message(u'message') - @record - def test_missing_attribute_kek_wrap(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_missing_attribute_kek_wrap(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._create_queue(qsc) valid_key = KeyWrapper('key1') @@ -325,10 +333,12 @@ def test_missing_attribute_kek_wrap(self): with self.assertRaises(AttributeError): queue.enqueue_message(u'message') - @record - def test_invalid_value_kek_unwrap(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_invalid_value_kek_unwrap(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') queue.enqueue_message(u'message') @@ -341,10 +351,12 @@ def test_invalid_value_kek_unwrap(self): with self.assertRaises(HttpResponseError): queue.peek_messages() - @record - def test_missing_attribute_kek_unrwap(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_missing_attribute_kek_unrwap(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') queue.enqueue_message(u'message') @@ -366,10 +378,12 @@ def test_missing_attribute_kek_unrwap(self): with self.assertRaises(HttpResponseError): queue.peek_messages() - @record - def test_validate_encryption(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_validate_encryption(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._create_queue(qsc) kek = KeyWrapper('key1') queue.key_encryption_key = kek queue.enqueue_message(u'message') @@ -424,10 +438,12 @@ def test_validate_encryption(self): # Assert self.assertEqual(decrypted_data, u'message') - @record - def test_put_with_strict_mode(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_put_with_strict_mode(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._create_queue(qsc) kek = KeyWrapper('key1') queue.key_encryption_key = kek queue.require_encryption = True @@ -441,10 +457,12 @@ def test_put_with_strict_mode(self): self.assertEqual(str(e.exception), "Encryption required but no key was provided.") - @record - def test_get_with_strict_mode(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_get_with_strict_mode(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._create_queue(qsc) queue.enqueue_message(u'message') queue.require_encryption = True @@ -454,10 +472,12 @@ def test_get_with_strict_mode(self): self.assertEqual(str(e.exception), 'Message was not encrypted.') - @record - def test_encryption_add_encrypted_64k_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_encryption_add_encrypted_64k_message(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._create_queue(qsc) message = u'a' * 1024 * 64 # Act @@ -468,10 +488,12 @@ def test_encryption_add_encrypted_64k_message(self): with self.assertRaises(HttpResponseError): queue.enqueue_message(message) - @record - def test_encryption_nonmatching_kid(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_encryption_nonmatching_kid(self, resource_group, location, storage_account, storage_account_key): # Arrange - queue = self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) + queue = self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') queue.enqueue_message(u'message') diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_encryption_async.py b/sdk/storage/azure-storage-queue/tests/test_queue_encryption_async.py index b76f2064eacc..5827e2bea42d 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_encryption_async.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_encryption_async.py @@ -22,14 +22,15 @@ from cryptography.hazmat.primitives.padding import PKCS7 from azure.core.exceptions import HttpResponseError, ResourceExistsError - +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer +from multidict import CIMultiDict, CIMultiDictProxy from azure.storage.queue._shared.encryption import ( _ERROR_OBJECT_INVALID, _WrappedContentKey, _EncryptionAgent, _EncryptionData, ) - +from azure.core.pipeline.transport import AioHttpTransport from azure.storage.queue import ( VERSION, BinaryBase64EncodePolicy, @@ -48,16 +49,13 @@ KeyResolver, RSAKeyWrapper, ) -from queuetestcase import ( - QueueTestCase, - record, - TestMode, +from asyncqueuetestcase import ( + AsyncQueueTestCase ) # ------------------------------------------------------------------------------ TEST_QUEUE_PREFIX = 'encryptionqueue' - # ------------------------------------------------------------------------------ def _decode_base64_to_bytes(data): @@ -65,45 +63,40 @@ def _decode_base64_to_bytes(data): data = data.encode('utf-8') return b64decode(data) -class StorageQueueEncryptionTestAsync(QueueTestCase): - def setUp(self): - super(StorageQueueEncryptionTestAsync, self).setUp() - - queue_url = self._get_queue_url() - credentials = self._get_shared_key_credential() - self.qsc = QueueServiceClient(account_url=queue_url, credential=credentials) - self.test_queues = [] - - def tearDown(self): - loop = asyncio.get_event_loop() - if not self.is_playback(): - for queue in self.test_queues: - try: - loop.run_until_complete(self.qsc.delete_queue(queue.queue_name)) - except: - pass - return super(StorageQueueEncryptionTestAsync, self).tearDown() +class AiohttpTestTransport(AioHttpTransport): + """Workaround to vcrpy bug: https://github.com/kevin1024/vcrpy/pull/461 + """ + async def send(self, request, **config): + response = await super(AiohttpTestTransport, self).send(request, **config) + if not isinstance(response.headers, CIMultiDictProxy): + response.headers = CIMultiDictProxy(CIMultiDict(response.internal_response.headers)) + response.content_type = response.headers.get("content-type") + return response + +class StorageQueueEncryptionTestAsync(AsyncQueueTestCase): # --Helpers----------------------------------------------------------------- - def _get_queue_reference(self, prefix=TEST_QUEUE_PREFIX): + def _get_queue_reference(self, qsc, prefix=TEST_QUEUE_PREFIX): queue_name = self.get_resource_name(prefix) - queue = self.qsc.get_queue_client(queue_name) - self.test_queues.append(queue) + queue = qsc.get_queue_client(queue_name) return queue - async def _create_queue(self, prefix=TEST_QUEUE_PREFIX): - queue = self._get_queue_reference(prefix) + async def _create_queue(self, qsc, prefix=TEST_QUEUE_PREFIX): + queue = self._get_queue_reference(qsc, prefix) try: created = await queue.create_queue() except ResourceExistsError: pass return queue # -------------------------------------------------------------------------- - - async def _test_get_messages_encrypted_kek(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_get_messages_encrypted_kek(self, resource_group, location, storage_account, storage_account_key): # Arrange - self.qsc.key_encryption_key = KeyWrapper('key1') - queue = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + qsc.key_encryption_key = KeyWrapper('key1') + queue = await self._create_queue(qsc) await queue.enqueue_message(u'encrypted_message_2') # Act @@ -114,19 +107,17 @@ async def _test_get_messages_encrypted_kek(self): # Assert self.assertEqual(li.content, u'encrypted_message_2') - def test_get_messages_encrypted_kek(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_get_messages_encrypted_kek()) - - async def _test_get_messages_encrypted_resolver(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_get_messages_encrypted_resolver(self, resource_group, location, storage_account, storage_account_key): # Arrange - self.qsc.key_encryption_key = KeyWrapper('key1') - queue = await self._create_queue() + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) + qsc.key_encryption_key = KeyWrapper('key1') + queue = await self._create_queue(qsc) await queue.enqueue_message(u'encrypted_message_2') key_resolver = KeyResolver() - key_resolver.put_key(self.qsc.key_encryption_key) + key_resolver.put_key(qsc.key_encryption_key) queue.key_resolver_function = key_resolver.resolve_key queue.key_encryption_key = None # Ensure that the resolver is used @@ -138,16 +129,14 @@ async def _test_get_messages_encrypted_resolver(self): # Assert self.assertEqual(li.content, u'encrypted_message_2') - def test_get_messages_encrypted_resolver(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_get_messages_encrypted_resolver()) - - async def _test_peek_messages_encrypted_kek(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_peek_messages_encrypted_kek(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - self.qsc.key_encryption_key = KeyWrapper('key1') - queue = await self._create_queue() + qsc.key_encryption_key = KeyWrapper('key1') + queue = await self._create_queue(qsc) await queue.enqueue_message(u'encrypted_message_3') # Act @@ -156,19 +145,17 @@ async def _test_peek_messages_encrypted_kek(self): # Assert self.assertEqual(li[0].content, u'encrypted_message_3') - def test_peek_messages_encrypted_kek(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_peek_messages_encrypted_kek()) - - async def _test_peek_messages_encrypted_resolver(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_peek_messages_encrypted_resolver(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - self.qsc.key_encryption_key = KeyWrapper('key1') - queue = await self._create_queue() + qsc.key_encryption_key = KeyWrapper('key1') + queue = await self._create_queue(qsc) await queue.enqueue_message(u'encrypted_message_4') key_resolver = KeyResolver() - key_resolver.put_key(self.qsc.key_encryption_key) + key_resolver.put_key(qsc.key_encryption_key) queue.key_resolver_function = key_resolver.resolve_key queue.key_encryption_key = None # Ensure that the resolver is used @@ -178,22 +165,19 @@ async def _test_peek_messages_encrypted_resolver(self): # Assert self.assertEqual(li[0].content, u'encrypted_message_4') - def test_peek_messages_encrypted_resolver(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_peek_messages_encrypted_resolver()) - - async def _test_peek_messages_encrypted_kek_RSA(self): - + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_peek_messages_encrypted_kek_RSA(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # We can only generate random RSA keys, so this must be run live or # the playback test will fail due to a change in kek values. - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange - self.qsc.key_encryption_key = RSAKeyWrapper('key2') - queue = await self._create_queue() + qsc.key_encryption_key = RSAKeyWrapper('key2') + queue = await self._create_queue(qsc) await queue.enqueue_message(u'encrypted_message_3') # Act @@ -202,18 +186,16 @@ async def _test_peek_messages_encrypted_kek_RSA(self): # Assert self.assertEqual(li[0].content, u'encrypted_message_3') - def test_peek_messages_encrypted_kek_RSA(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_peek_messages_encrypted_kek_RSA()) - - async def _test_update_encrypted_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_update_encrypted_message(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # TODO: Recording doesn't work - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange - queue = await self._create_queue() + queue = await self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') await queue.enqueue_message(u'Update Me') @@ -232,15 +214,13 @@ async def _test_update_encrypted_message(self): # Assert self.assertEqual(u'Updated', list_result2.content) - def test_update_encrypted_message(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_update_encrypted_message()) - - async def _test_update_encrypted_binary_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_update_encrypted_binary_message(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue = await self._create_queue() + queue = await self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') queue._config.message_encode_policy = BinaryBase64EncodePolicy() queue._config.message_decode_policy = BinaryBase64DecodePolicy() @@ -264,18 +244,16 @@ async def _test_update_encrypted_binary_message(self): # Assert self.assertEqual(binary_message, list_result2.content) - def test_update_encrypted_binary_message(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_update_encrypted_binary_message()) - - async def _test_update_encrypted_raw_text_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_update_encrypted_raw_text_message(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # TODO: Recording doesn't work - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange - queue = await self._create_queue() + queue = await self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') queue._config.message_encode_policy = NoEncodePolicy() queue._config.message_decode_policy = NoDecodePolicy() @@ -297,18 +275,16 @@ async def _test_update_encrypted_raw_text_message(self): # Assert self.assertEqual(raw_text, list_result2.content) - def test_update_encrypted_raw_text_message(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_update_encrypted_raw_text_message()) - - async def _test_update_encrypted_json_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_update_encrypted_json_message(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # TODO: Recording doesn't work - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # Arrange - queue = await self._create_queue() + queue = await self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') queue._config.message_encode_policy = NoEncodePolicy() queue._config.message_decode_policy = NoDecodePolicy() @@ -335,15 +311,13 @@ async def _test_update_encrypted_json_message(self): # Assert self.assertEqual(message_dict, loads(list_result2.content)) - def test_update_encrypted_json_message(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_update_encrypted_json_message()) - - async def _test_invalid_value_kek_wrap(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_invalid_value_kek_wrap(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue = await self._create_queue() + queue = await self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') queue.key_encryption_key.get_kid = None @@ -362,15 +336,13 @@ async def _test_invalid_value_kek_wrap(self): with self.assertRaises(AttributeError): await queue.enqueue_message(u'message') - def test_invalid_value_kek_wrap(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_invalid_value_kek_wrap()) - - async def _test_missing_attribute_kek_wrap(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_missing_attribute_kek_wrap(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue = await self._create_queue() + queue = await self._create_queue(qsc) valid_key = KeyWrapper('key1') @@ -399,15 +371,13 @@ async def _test_missing_attribute_kek_wrap(self): with self.assertRaises(AttributeError): await queue.enqueue_message(u'message') - def test_missing_attribute_kek_wrap(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_missing_attribute_kek_wrap()) - - async def _test_invalid_value_kek_unwrap(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_invalid_value_kek_unwrap(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue = await self._create_queue() + queue = await self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') await queue.enqueue_message(u'message') @@ -420,15 +390,13 @@ async def _test_invalid_value_kek_unwrap(self): with self.assertRaises(HttpResponseError): await queue.peek_messages() - def test_invalid_value_kek_unwrap(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_invalid_value_kek_unwrap()) - - async def _test_missing_attribute_kek_unrwap(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_missing_attribute_kek_unrwap(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue = await self._create_queue() + queue = await self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') await queue.enqueue_message(u'message') @@ -450,15 +418,13 @@ async def _test_missing_attribute_kek_unrwap(self): with self.assertRaises(HttpResponseError): await queue.peek_messages() - def test_missing_attribute_kek_unrwap(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_missing_attribute_kek_unrwap()) - - async def _test_validate_encryption(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_validate_encryption(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue = await self._create_queue() + queue = await self._create_queue(qsc) kek = KeyWrapper('key1') queue.key_encryption_key = kek await queue.enqueue_message(u'message') @@ -513,15 +479,13 @@ async def _test_validate_encryption(self): # Assert self.assertEqual(decrypted_data, u'message') - def test_validate_encryption(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_validate_encryption()) - - async def _test_put_with_strict_mode(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_put_with_strict_mode(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue = await self._create_queue() + queue = await self._create_queue(qsc) kek = KeyWrapper('key1') queue.key_encryption_key = kek queue.require_encryption = True @@ -535,15 +499,13 @@ async def _test_put_with_strict_mode(self): self.assertEqual(str(e.exception), "Encryption required but no key was provided.") - def test_put_with_strict_mode(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_put_with_strict_mode()) - - async def _test_get_with_strict_mode(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_get_with_strict_mode(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue = await self._create_queue() + queue = await self._create_queue(qsc) await queue.enqueue_message(u'message') queue.require_encryption = True @@ -555,15 +517,13 @@ async def _test_get_with_strict_mode(self): _ = messages[0] self.assertEqual(str(e.exception), 'Message was not encrypted.') - def test_get_with_strict_mode(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_get_with_strict_mode()) - - async def _test_encryption_add_encrypted_64k_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_encryption_add_encrypted_64k_message(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue = await self._create_queue() + queue = await self._create_queue(qsc) message = u'a' * 1024 * 64 # Act @@ -574,15 +534,13 @@ async def _test_encryption_add_encrypted_64k_message(self): with self.assertRaises(HttpResponseError): await queue.enqueue_message(message) - def test_encryption_add_encrypted_64k_message(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_encryption_add_encrypted_64k_message()) - - async def _test_encryption_nonmatching_kid(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_encryption_nonmatching_kid(self, resource_group, location, storage_account, storage_account_key): + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Arrange - queue = await self._create_queue() + queue = await self._create_queue(qsc) queue.key_encryption_key = KeyWrapper('key1') await queue.enqueue_message(u'message') @@ -597,13 +555,6 @@ async def _test_encryption_nonmatching_kid(self): self.assertEqual(str(e.exception), "Decryption failed.") - def test_encryption_nonmatching_kid(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_encryption_nonmatching_kid()) - - # ------------------------------------------------------------------------------ if __name__ == '__main__': unittest.main() diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_samples_authentication.py b/sdk/storage/azure-storage-queue/tests/test_queue_samples_authentication.py index 486e93a23cd0..a24332962c37 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_samples_authentication.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_samples_authentication.py @@ -8,37 +8,31 @@ from datetime import datetime, timedelta import pytest +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer try: - import settings_real as settings + from devtools_testutils import mgmt_settings_real as settings except ImportError: - import queue_settings_fake as settings + from devtools_testutils import mgmt_settings_fake as settings from queuetestcase import ( - QueueTestCase, - TestMode, - record + QueueTestCase ) class TestQueueAuthSamples(QueueTestCase): - url = "{}://{}.queue.core.windows.net".format( - settings.PROTOCOL, - settings.STORAGE_ACCOUNT_NAME - ) - connection_string = settings.CONNECTION_STRING - shared_access_key = settings.STORAGE_ACCOUNT_KEY active_directory_application_id = settings.ACTIVE_DIRECTORY_APPLICATION_ID active_directory_application_secret = settings.ACTIVE_DIRECTORY_APPLICATION_SECRET active_directory_tenant_id = settings.ACTIVE_DIRECTORY_TENANT_ID - @record - def test_auth_connection_string(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_auth_connection_string(self, resource_group, location, storage_account, storage_account_key): # Instantiate a QueueServiceClient using a connection string # [START auth_from_connection_string] from azure.storage.queue import QueueServiceClient - queue_service = QueueServiceClient.from_connection_string(self.connection_string) + queue_service = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) # [END auth_from_connection_string] # Get information for the Queue Service @@ -46,24 +40,26 @@ def test_auth_connection_string(self): assert properties is not None - @record - def test_auth_shared_key(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_auth_shared_key(self, resource_group, location, storage_account, storage_account_key): # Instantiate a QueueServiceClient using a shared access key # [START create_queue_service_client] from azure.storage.queue import QueueServiceClient - queue_service = QueueServiceClient(account_url=self.url, credential=self.shared_access_key) + queue_service = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) # [END create_queue_service_client] # Get information for the Queue Service properties = queue_service.get_service_properties() assert properties is not None - @record - def test_auth_active_directory(self): - if TestMode.need_recording_file(self.test_mode): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_auth_active_directory(self, resource_group, location, storage_account, storage_account_key): + if not self.is_live: return - + url = self._account_url(storage_account.name) # [START create_queue_service_client_token] # Get a token credential for authentication from azure.identity import ClientSecretCredential @@ -75,7 +71,7 @@ def test_auth_active_directory(self): # Instantiate a QueueServiceClient using a token credential from azure.storage.queue import QueueServiceClient - queue_service = QueueServiceClient(account_url=self.url, credential=token_credential) + queue_service = QueueServiceClient(account_url=url, credential=token_credential) # [END create_queue_service_client_token] # Get information for the Queue Service @@ -83,14 +79,16 @@ def test_auth_active_directory(self): assert properties is not None - def test_auth_shared_access_signature(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_auth_shared_access_signature(self, resource_group, location, storage_account, storage_account_key): # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return - + connection_string = self.connection_string(storage_account, storage_account_key) # Instantiate a QueueServiceClient using a connection string from azure.storage.queue import QueueServiceClient - queue_service = QueueServiceClient.from_connection_string(self.connection_string) + queue_service = QueueServiceClient.from_connection_string(connection_string) # Create a SAS token to use for authentication of a client sas_token = queue_service.generate_shared_access_signature( diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_samples_authentication_async.py b/sdk/storage/azure-storage-queue/tests/test_queue_samples_authentication_async.py index 871f8e99de27..ee58bf06fb6e 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_samples_authentication_async.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_samples_authentication_async.py @@ -7,69 +7,56 @@ # -------------------------------------------------------------------------- from datetime import datetime, timedelta +from collections import namedtuple import pytest import asyncio -try: - import settings_real as settings -except ImportError: - import queue_settings_fake as settings - -from queuetestcase import ( - QueueTestCase, - TestMode, - record +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer, mgmt_settings_fake as settings + +from asyncqueuetestcase import ( + AsyncQueueTestCase ) -class TestQueueAuthSamplesAsync(QueueTestCase): - url = "{}://{}.queue.core.windows.net".format( - settings.PROTOCOL, - settings.STORAGE_ACCOUNT_NAME - ) +class TestQueueAuthSamplesAsync(AsyncQueueTestCase): - connection_string = settings.CONNECTION_STRING - shared_access_key = settings.STORAGE_ACCOUNT_KEY active_directory_application_id = settings.ACTIVE_DIRECTORY_APPLICATION_ID active_directory_application_secret = settings.ACTIVE_DIRECTORY_APPLICATION_SECRET active_directory_tenant_id = settings.ACTIVE_DIRECTORY_TENANT_ID - async def _test_auth_connection_string(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_auth_connection_string(self, resource_group, location, storage_account, storage_account_key): # Instantiate a QueueServiceClient using a connection string # [START async_auth_from_connection_string] from azure.storage.queue.aio import QueueServiceClient - queue_service = QueueServiceClient.from_connection_string(self.connection_string) + queue_service = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) # [END async_auth_from_connection_string] # Get information for the Queue Service properties = await queue_service.get_service_properties() assert properties is not None - - def test_auth_connection_string(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_auth_connection_string()) - async def _test_auth_shared_key(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_auth_shared_key(self, resource_group, location, storage_account, storage_account_key): # Instantiate a QueueServiceClient using a shared access key # [START async_create_queue_service_client] from azure.storage.queue.aio import QueueServiceClient - queue_service = QueueServiceClient(account_url=self.url, credential=self.shared_access_key) + queue_service = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) # [END async_create_queue_service_client] # Get information for the Queue Service properties = await queue_service.get_service_properties() assert properties is not None - def test_auth_shared_key(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_auth_shared_key()) - - async def _test_auth_active_directory(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_auth_active_directory(self, resource_group, location, storage_account, storage_account_key): # [START async_create_queue_service_client_token] # Get a token credential for authentication @@ -82,7 +69,7 @@ async def _test_auth_active_directory(self): # Instantiate a QueueServiceClient using a token credential from azure.storage.queue.aio import QueueServiceClient - queue_service = QueueServiceClient(account_url=self.url, credential=token_credential) + queue_service = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) # [END async_create_queue_service_client_token] # Get information for the Queue Service @@ -90,17 +77,14 @@ async def _test_auth_active_directory(self): assert properties is not None - def test_auth_active_directory(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_auth_active_directory()) - - async def _test_auth_shared_access_signature(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_auth_shared_access_signature(self, resource_group, location, storage_account, storage_account_key): # Instantiate a QueueServiceClient using a connection string from azure.storage.queue.aio import QueueServiceClient - queue_service = QueueServiceClient.from_connection_string(self.connection_string) + queue_service = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) # Create a SAS token to use for authentication of a client sas_token = queue_service.generate_shared_access_signature( @@ -110,9 +94,3 @@ async def _test_auth_shared_access_signature(self): ) assert sas_token is not None - - def test_auth_shared_access_signature(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_auth_shared_access_signature()) diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_samples_hello_world.py b/sdk/storage/azure-storage-queue/tests/test_queue_samples_hello_world.py index d7e12b7045a7..a7948c464b9b 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_samples_hello_world.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_samples_hello_world.py @@ -6,37 +6,30 @@ # license information. # -------------------------------------------------------------------------- -try: - import settings_real as settings -except ImportError: - import queue_settings_fake as settings - -from queuetestcase import ( - QueueTestCase, - record -) +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer +from queuetestcase import (QueueTestCase) class TestQueueHelloWorldSamples(QueueTestCase): - connection_string = settings.CONNECTION_STRING - - @record - def test_create_client_with_connection_string(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_create_client_with_connection_string(self, resource_group, location, storage_account, storage_account_key): # Instantiate the QueueServiceClient from a connection string from azure.storage.queue import QueueServiceClient - queue_service = QueueServiceClient.from_connection_string(self.connection_string) + queue_service = QueueServiceClient.from_connection_string(self.connection_string(storage_account, storage_account_key)) # Get queue service properties properties = queue_service.get_service_properties() assert properties is not None - @record - def test_queue_and_messages_example(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_queue_and_messages_example(self, resource_group, location, storage_account, storage_account_key): # Instantiate the QueueClient from a connection string from azure.storage.queue import QueueClient - queue = QueueClient.from_connection_string(self.connection_string, "myqueue") + queue = QueueClient.from_connection_string(self.connection_string(storage_account, storage_account_key), "myqueue") # Create the queue # [START create_queue] diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_samples_hello_world_async.py b/sdk/storage/azure-storage-queue/tests/test_queue_samples_hello_world_async.py index 290572f42dad..ca06dfed9bb8 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_samples_hello_world_async.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_samples_hello_world_async.py @@ -8,44 +8,38 @@ import pytest import asyncio - -try: - import settings_real as settings -except ImportError: - import queue_settings_fake as settings +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer from multidict import CIMultiDict, CIMultiDictProxy -from queuetestcase import ( - QueueTestCase, - record, - TestMode +from asyncqueuetestcase import ( + AsyncQueueTestCase ) -class TestQueueHelloWorldSamplesAsync(QueueTestCase): - - connection_string = settings.CONNECTION_STRING +class TestQueueHelloWorldSamplesAsync(AsyncQueueTestCase): - async def _test_create_client_with_connection_string(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_create_client_with_connection_string(self, resource_group, location, storage_account, storage_account_key): + conn_str = self.connection_string(storage_account, storage_account_key) # Instantiate the QueueServiceClient from a connection string from azure.storage.queue.aio import QueueServiceClient - queue_service = QueueServiceClient.from_connection_string(self.connection_string) + queue_service = QueueServiceClient.from_connection_string(conn_str) # Get queue service properties properties = await queue_service.get_service_properties() assert properties is not None - def test_create_client_with_connection_string(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_create_client_with_connection_string()) - - async def _test_queue_and_messages_example(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_queue_and_messages_example(self, resource_group, location, storage_account, storage_account_key): + conn_str = self.connection_string(storage_account, storage_account_key) # Instantiate the QueueClient from a connection string from azure.storage.queue.aio import QueueClient - queue = QueueClient.from_connection_string(self.connection_string, "myasyncqueue") + queue = QueueClient.from_connection_string(conn_str, "myasyncqueue") # Create the queue # [START async_create_queue] @@ -69,9 +63,3 @@ async def _test_queue_and_messages_example(self): # [START async_delete_queue] await queue.delete_queue() # [END async_delete_queue] - - def test_queue_and_messages_example(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_queue_and_messages_example()) \ No newline at end of file diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_samples_message.py b/sdk/storage/azure-storage-queue/tests/test_queue_samples_message.py index 2db8ddf89875..af7dce4849ca 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_samples_message.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_samples_message.py @@ -8,34 +8,25 @@ from datetime import datetime, timedelta from azure.core.exceptions import ResourceExistsError -try: - import settings_real as settings -except ImportError: - import queue_settings_fake as settings +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer from queuetestcase import ( - QueueTestCase, - record, - TestMode + QueueTestCase ) class TestMessageQueueSamples(QueueTestCase): - connection_string = settings.CONNECTION_STRING - storage_url = "{}://{}.queue.core.windows.net".format( - settings.PROTOCOL, - settings.STORAGE_ACCOUNT_NAME - ) - - def test_set_access_policy(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_set_access_policy(self, resource_group, location, storage_account, storage_account_key): # SAS URL is calculated from storage key, so this test runs live only - if TestMode.need_recording_file(self.test_mode): + if not self.is_live: return # [START create_queue_client_from_connection_string] from azure.storage.queue import QueueClient - queue_client = QueueClient.from_connection_string(self.connection_string, "queuetest") + queue_client = QueueClient.from_connection_string(self.connection_string(storage_account, storage_account_key), "queuetest") # [END create_queue_client_from_connection_string] # Create the queue @@ -82,12 +73,13 @@ def test_set_access_policy(self): # Delete the queue queue_client.delete_queue() - @record - def test_queue_metadata(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_queue_metadata(self, resource_group, location, storage_account, storage_account_key): # Instantiate a queue client from azure.storage.queue import QueueClient - queue = QueueClient.from_connection_string(self.connection_string, "metaqueue") + queue = QueueClient.from_connection_string(self.connection_string(storage_account, storage_account_key), "metaqueue") # Create the queue queue.create_queue() @@ -107,12 +99,13 @@ def test_queue_metadata(self): # Delete the queue queue.delete_queue() - @record - def test_enqueue_and_receive_messages(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_enqueue_and_receive_messages(self, resource_group, location, storage_account, storage_account_key): # Instantiate a queue client from azure.storage.queue import QueueClient - queue = QueueClient.from_connection_string(self.connection_string, "messagequeue") + queue = QueueClient.from_connection_string(self.connection_string(storage_account, storage_account_key), "messagequeue") # Create the queue queue.create_queue() @@ -150,12 +143,13 @@ def test_enqueue_and_receive_messages(self): # Delete the queue queue.delete_queue() - @record - def test_delete_and_clear_messages(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_delete_and_clear_messages(self, resource_group, location, storage_account, storage_account_key): # Instantiate a queue client from azure.storage.queue import QueueClient - queue = QueueClient.from_connection_string(self.connection_string, "delqueue") + queue = QueueClient.from_connection_string(self.connection_string(storage_account, storage_account_key), "delqueue") # Create the queue queue.create_queue() @@ -184,11 +178,12 @@ def test_delete_and_clear_messages(self): # Delete the queue queue.delete_queue() - @record - def test_peek_messages(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_peek_messages(self, resource_group, location, storage_account, storage_account_key): # Instantiate a queue client from azure.storage.queue import QueueClient - queue = QueueClient.from_connection_string(self.connection_string, "peekqueue") + queue = QueueClient.from_connection_string(self.connection_string(storage_account, storage_account_key), "peekqueue") # Create the queue queue.create_queue() @@ -217,12 +212,13 @@ def test_peek_messages(self): # Delete the queue queue.delete_queue() - @record - def test_update_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_update_message(self, resource_group, location, storage_account, storage_account_key): # Instantiate a queue client from azure.storage.queue import QueueClient - queue = QueueClient.from_connection_string(self.connection_string, "updatequeue") + queue = QueueClient.from_connection_string(self.connection_string(storage_account, storage_account_key), "updatequeue") # Create the queue queue.create_queue() diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_samples_message_async.py b/sdk/storage/azure-storage-queue/tests/test_queue_samples_message_async.py index 41f58b3be007..b71c06fd7035 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_samples_message_async.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_samples_message_async.py @@ -9,31 +9,24 @@ from datetime import datetime, timedelta from azure.core.exceptions import ResourceExistsError import asyncio -try: - import settings_real as settings -except ImportError: - import queue_settings_fake as settings - -from queuetestcase import ( - QueueTestCase, - record, - TestMode -) - +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer -class TestMessageQueueSamples(QueueTestCase): +from asyncqueuetestcase import ( + AsyncQueueTestCase +) - connection_string = settings.CONNECTION_STRING - storage_url = "{}://{}.queue.core.windows.net".format( - settings.PROTOCOL, - settings.STORAGE_ACCOUNT_NAME - ) - async def _test_set_access_policy(self): +class TestMessageQueueSamples(AsyncQueueTestCase): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_set_access_policy(self, resource_group, location, storage_account, storage_account_key): + connection_string = self.connection_string(storage_account, storage_account_key) + storage_url = self._account_url(storage_account.name) # [START async_create_queue_client_from_connection_string] from azure.storage.queue.aio import QueueClient - queue_client = QueueClient.from_connection_string(self.connection_string, "asyncqueuetest") + queue_client = QueueClient.from_connection_string(self.connection_string(storage_account, storage_account_key), "asyncqueuetest") # [END async_create_queue_client_from_connection_string] # Create the queue @@ -79,17 +72,14 @@ async def _test_set_access_policy(self): # Delete the queue await queue_client.delete_queue() - def test_set_access_policy(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_set_access_policy()) - - async def _test_queue_metadata(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_queue_metadata(self, resource_group, location, storage_account, storage_account_key): # Instantiate a queue client from azure.storage.queue.aio import QueueClient - queue = QueueClient.from_connection_string(self.connection_string, "asyncmetaqueue") + queue = QueueClient.from_connection_string(self.connection_string(storage_account, storage_account_key), "asyncmetaqueue") # Create the queue await queue.create_queue() @@ -109,17 +99,14 @@ async def _test_queue_metadata(self): # Delete the queue await queue.delete_queue() - def test_queue_metadata(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_queue_metadata()) - - async def _test_enqueue_and_receive_messages(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_enqueue_and_receive_messages(self, resource_group, location, storage_account, storage_account_key): # Instantiate a queue client from azure.storage.queue.aio import QueueClient - queue = QueueClient.from_connection_string(self.connection_string, "asyncmessagequeue") + queue = QueueClient.from_connection_string(self.connection_string(storage_account, storage_account_key), "asyncmessagequeue") # Create the queue await queue.create_queue() @@ -158,17 +145,14 @@ async def _test_enqueue_and_receive_messages(self): # Delete the queue await queue.delete_queue() - def test_enqueue_and_receive_messages(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_enqueue_and_receive_messages()) - - async def _test_delete_and_clear_messages(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_delete_and_clear_messages(self, resource_group, location, storage_account, storage_account_key): # Instantiate a queue client from azure.storage.queue.aio import QueueClient - queue = QueueClient.from_connection_string(self.connection_string, "asyncdelqueue") + queue = QueueClient.from_connection_string(self.connection_string(storage_account, storage_account_key), "asyncdelqueue") # Create the queue await queue.create_queue() @@ -199,16 +183,13 @@ async def _test_delete_and_clear_messages(self): # Delete the queue await queue.delete_queue() - def test_delete_and_clear_messages(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_delete_and_clear_messages()) - - async def _test_peek_messages(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_peek_messages(self, resource_group, location, storage_account, storage_account_key): # Instantiate a queue client from azure.storage.queue.aio import QueueClient - queue = QueueClient.from_connection_string(self.connection_string, "asyncpeekqueue") + queue = QueueClient.from_connection_string(self.connection_string(storage_account, storage_account_key), "asyncpeekqueue") # Create the queue await queue.create_queue() @@ -238,17 +219,14 @@ async def _test_peek_messages(self): # Delete the queue await queue.delete_queue() - def test_peek_messages(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_peek_messages()) - - async def _test_update_message(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_update_message(self, resource_group, location, storage_account, storage_account_key): # Instantiate a queue client from azure.storage.queue.aio import QueueClient - queue = QueueClient.from_connection_string(self.connection_string, "asyncupdatequeue") + queue = QueueClient.from_connection_string(self.connection_string(storage_account, storage_account_key), "asyncupdatequeue") # Create the queue await queue.create_queue() @@ -274,9 +252,3 @@ async def _test_update_message(self): finally: # Delete the queue await queue.delete_queue() - - def test_update_message(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_update_message()) diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_samples_service.py b/sdk/storage/azure-storage-queue/tests/test_queue_samples_service.py index 3b8425d2061b..259439dae379 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_samples_service.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_samples_service.py @@ -6,26 +6,20 @@ # license information. # -------------------------------------------------------------------------- -try: - import settings_real as settings -except ImportError: - import queue_settings_fake as settings - +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer from queuetestcase import ( - QueueTestCase, - record + QueueTestCase ) class TestQueueServiceSamples(QueueTestCase): - connection_string = settings.CONNECTION_STRING - - @record - def test_queue_service_properties(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_queue_service_properties(self, resource_group, location, storage_account, storage_account_key): # Instantiate the QueueServiceClient from a connection string from azure.storage.queue import QueueServiceClient - queue_service = QueueServiceClient.from_connection_string(self.connection_string) + queue_service = QueueServiceClient.from_connection_string(self.connection_string(storage_account, storage_account_key)) # [START set_queue_service_properties] # Create service properties @@ -63,11 +57,12 @@ def test_queue_service_properties(self): properties = queue_service.get_service_properties() # [END get_queue_service_properties] - @record - def test_queues_in_account(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_queues_in_account(self, resource_group, location, storage_account, storage_account_key): # Instantiate the QueueServiceClient from a connection string from azure.storage.queue import QueueServiceClient - queue_service = QueueServiceClient.from_connection_string(self.connection_string) + queue_service = QueueServiceClient.from_connection_string(self.connection_string(storage_account, storage_account_key)) # [START qsc_create_queue] queue_service.create_queue("testqueue") @@ -91,11 +86,12 @@ def test_queues_in_account(self): queue_service.delete_queue("testqueue") # [END qsc_delete_queue] - @record - def test_get_queue_client(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_get_queue_client(self, resource_group, location, storage_account, storage_account_key): # Instantiate the QueueServiceClient from a connection string from azure.storage.queue import QueueServiceClient, QueueClient - queue_service = QueueServiceClient.from_connection_string(self.connection_string) + queue_service = QueueServiceClient.from_connection_string(self.connection_string(storage_account, storage_account_key)) # [START get_queue_client] # Get the queue client to interact with a specific queue diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_samples_service_async.py b/sdk/storage/azure-storage-queue/tests/test_queue_samples_service_async.py index 97695cb53851..948f7d07c76b 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_samples_service_async.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_samples_service_async.py @@ -7,27 +7,22 @@ # -------------------------------------------------------------------------- import asyncio +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer -try: - import settings_real as settings -except ImportError: - import queue_settings_fake as settings - -from queuetestcase import ( - QueueTestCase, - record, - TestMode +from asyncqueuetestcase import ( + AsyncQueueTestCase ) -class TestQueueServiceSamples(QueueTestCase): - - connection_string = settings.CONNECTION_STRING +class TestQueueServiceSamples(AsyncQueueTestCase): - async def _test_queue_service_properties(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_queue_service_properties(self, resource_group, location, storage_account, storage_account_key): # Instantiate the QueueServiceClient from a connection string from azure.storage.queue.aio import QueueServiceClient - queue_service = QueueServiceClient.from_connection_string(self.connection_string) + queue_service = QueueServiceClient.from_connection_string(self.connection_string(storage_account, storage_account_key)) # [START async_set_queue_service_properties] # Create service properties @@ -65,16 +60,13 @@ async def _test_queue_service_properties(self): properties = await queue_service.get_service_properties() # [END async_get_queue_service_properties] - def test_queue_service_properties(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_queue_service_properties()) - - async def _test_queues_in_account(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_queues_in_account(self, resource_group, location, storage_account, storage_account_key): # Instantiate the QueueServiceClient from a connection string from azure.storage.queue.aio import QueueServiceClient - queue_service = QueueServiceClient.from_connection_string(self.connection_string) + queue_service = QueueServiceClient.from_connection_string(self.connection_string(storage_account, storage_account_key)) # [START async_qsc_create_queue] await queue_service.create_queue("asynctestqueue") @@ -98,24 +90,15 @@ async def _test_queues_in_account(self): await queue_service.delete_queue("asynctestqueue") # [END async_qsc_delete_queue] - def test_queues_in_account(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_queues_in_account()) - - async def _test_get_queue_client(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_get_queue_client(self, resource_group, location, storage_account, storage_account_key): # Instantiate the QueueServiceClient from a connection string from azure.storage.queue.aio import QueueServiceClient, QueueClient - queue_service = QueueServiceClient.from_connection_string(self.connection_string) + queue_service = QueueServiceClient.from_connection_string(self.connection_string(storage_account, storage_account_key)) # [START async_get_queue_client] # Get the queue client to interact with a specific queue queue = queue_service.get_queue_client("myasyncqueue") # [END async_get_queue_client] - - def test_get_queue_client(self): - if TestMode.need_recording_file(self.test_mode): - return - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_get_queue_client()) diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_service_properties.py b/sdk/storage/azure-storage-queue/tests/test_queue_service_properties.py index 186e005160e9..abe20183ddb1 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_service_properties.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_service_properties.py @@ -8,6 +8,7 @@ import unittest from msrest.exceptions import ValidationError # TODO This should be an azure-core error. +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer from azure.core.exceptions import HttpResponseError from azure.storage.queue import ( @@ -20,9 +21,7 @@ ) from queuetestcase import ( - QueueTestCase, - record, - not_for_emulator, + QueueTestCase ) @@ -30,13 +29,6 @@ class QueueServicePropertiesTest(QueueTestCase): - def setUp(self): - super(QueueServicePropertiesTest, self).setUp() - - url = self._get_queue_url() - credential = self._get_shared_key_credential() - self.qsc = QueueServiceClient(url, credential=credential) - # --Helpers----------------------------------------------------------------- def _assert_properties_default(self, prop): self.assertIsNotNone(prop) @@ -114,12 +106,13 @@ def _assert_retention_equal(self, ret1, ret2): # --Test cases per service --------------------------------------- - @record - def test_queue_service_properties(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_queue_service_properties(self, resource_group, location, storage_account, storage_account_key): # Arrange - + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) # Act - resp = self.qsc.set_service_properties( + resp = qsc.set_service_properties( logging=Logging(), hour_metrics=Metrics(), minute_metrics=Metrics(), @@ -127,51 +120,59 @@ def test_queue_service_properties(self): # Assert self.assertIsNone(resp) - self._assert_properties_default(self.qsc.get_service_properties()) + self._assert_properties_default(qsc.get_service_properties()) # --Test cases per feature --------------------------------------- - @record - def test_set_logging(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_set_logging(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) logging = Logging(read=True, write=True, delete=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Act - self.qsc.set_service_properties(logging=logging) + qsc.set_service_properties(logging=logging) # Assert - received_props = self.qsc.get_service_properties() + received_props = qsc.get_service_properties() self._assert_logging_equal(received_props.logging, logging) - @record - def test_set_hour_metrics(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_set_hour_metrics(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Act - self.qsc.set_service_properties(hour_metrics=hour_metrics) + qsc.set_service_properties(hour_metrics=hour_metrics) # Assert - received_props = self.qsc.get_service_properties() + received_props = qsc.get_service_properties() self._assert_metrics_equal(received_props.hour_metrics, hour_metrics) - @record - def test_set_minute_metrics(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_set_minute_metrics(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) minute_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Act - self.qsc.set_service_properties(minute_metrics=minute_metrics) + qsc.set_service_properties(minute_metrics=minute_metrics) # Assert - received_props = self.qsc.get_service_properties() + received_props = qsc.get_service_properties() self._assert_metrics_equal(received_props.minute_metrics, minute_metrics) - @record - def test_set_cors(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_set_cors(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) cors_rule1 = CorsRule(['www.xyz.com'], ['GET']) allowed_origins = ['www.xyz.com', "www.ab.com", "www.bc.com"] @@ -189,40 +190,45 @@ def test_set_cors(self): cors = [cors_rule1, cors_rule2] # Act - self.qsc.set_service_properties(cors=cors) + qsc.set_service_properties(cors=cors) # Assert - received_props = self.qsc.get_service_properties() + received_props = qsc.get_service_properties() self._assert_cors_equal(received_props.cors, cors) # --Test cases for errors --------------------------------------- - @record - def test_retention_no_days(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_retention_no_days(self, resource_group, location, storage_account, storage_account_key): # Assert self.assertRaises(ValueError, RetentionPolicy, True, None) - @record - def test_too_many_cors_rules(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_too_many_cors_rules(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) cors = [] for i in range(0, 6): cors.append(CorsRule(['www.xyz.com'], ['GET'])) # Assert self.assertRaises(HttpResponseError, - self.qsc.set_service_properties, None, None, None, cors) + qsc.set_service_properties, None, None, None, cors) - @record - def test_retention_too_long(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + def test_retention_too_long(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) minute_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=366)) # Assert self.assertRaises(HttpResponseError, - self.qsc.set_service_properties, + qsc.set_service_properties, None, None, minute_metrics) diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_service_properties_async.py b/sdk/storage/azure-storage-queue/tests/test_queue_service_properties_async.py index ec551ad4de79..71a17bcdb8cb 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_service_properties_async.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_service_properties_async.py @@ -8,6 +8,7 @@ import unittest import pytest import asyncio +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer from azure.core.pipeline.transport import AioHttpTransport from multidict import CIMultiDict, CIMultiDictProxy from azure.core.exceptions import HttpResponseError @@ -21,14 +22,10 @@ RetentionPolicy ) -from queuetestcase import ( - QueueTestCase, - record, - not_for_emulator, - TestMode +from asyncqueuetestcase import ( + AsyncQueueTestCase ) - # ------------------------------------------------------------------------------ class AiohttpTestTransport(AioHttpTransport): """Workaround to vcrpy bug: https://github.com/kevin1024/vcrpy/pull/461 @@ -40,14 +37,7 @@ async def send(self, request, **config): response.content_type = response.headers.get("content-type") return response -class QueueServicePropertiesTest(QueueTestCase): - def setUp(self): - super(QueueServicePropertiesTest, self).setUp() - - url = self._get_queue_url() - credential = self._get_shared_key_credential() - self.qsc = QueueServiceClient(url, credential=credential, transport=AiohttpTestTransport()) - +class QueueServicePropertiesTest(AsyncQueueTestCase): # --Helpers----------------------------------------------------------------- def _assert_properties_default(self, prop): self.assertIsNotNone(prop) @@ -125,11 +115,15 @@ def _assert_retention_equal(self, ret1, ret2): # --Test cases per service --------------------------------------- - async def _test_queue_service_properties(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_queue_service_properties(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Act - resp = await self.qsc.set_service_properties( + resp = await qsc.set_service_properties( logging=Logging(), hour_metrics=Metrics(), minute_metrics=Metrics(), @@ -137,68 +131,62 @@ async def _test_queue_service_properties(self): # Assert self.assertIsNone(resp) - props = await self.qsc.get_service_properties() + props = await qsc.get_service_properties() self._assert_properties_default(props) - @record - def test_queue_service_properties(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_queue_service_properties()) - # --Test cases per feature --------------------------------------- - - async def _test_set_logging(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_set_logging(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) logging = Logging(read=True, write=True, delete=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Act - await self.qsc.set_service_properties(logging=logging) + await qsc.set_service_properties(logging=logging) # Assert - received_props = await self.qsc.get_service_properties() + received_props = await qsc.get_service_properties() self._assert_logging_equal(received_props.logging, logging) - @record - def test_set_logging(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_set_logging()) - - async def _test_set_hour_metrics(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_set_hour_metrics(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Act - await self.qsc.set_service_properties(hour_metrics=hour_metrics) + await qsc.set_service_properties(hour_metrics=hour_metrics) # Assert - received_props = await self.qsc.get_service_properties() + received_props = await qsc.get_service_properties() self._assert_metrics_equal(received_props.hour_metrics, hour_metrics) - @record - def test_set_hour_metrics(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_set_hour_metrics()) - - async def _test_set_minute_metrics(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_set_minute_metrics(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) minute_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5)) # Act - await self.qsc.set_service_properties(minute_metrics=minute_metrics) + await qsc.set_service_properties(minute_metrics=minute_metrics) # Assert - received_props = await self.qsc.get_service_properties() + received_props = await qsc.get_service_properties() self._assert_metrics_equal(received_props.minute_metrics, minute_metrics) - @record - def test_set_minute_metrics(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_set_minute_metrics()) - - - async def _test_set_cors(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_set_cors(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) cors_rule1 = CorsRule(['www.xyz.com'], ['GET']) allowed_origins = ['www.xyz.com', "www.ab.com", "www.bc.com"] @@ -216,57 +204,50 @@ async def _test_set_cors(self): cors = [cors_rule1, cors_rule2] # Act - await self.qsc.set_service_properties(cors=cors) + await qsc.set_service_properties(cors=cors) # Assert - received_props = await self.qsc.get_service_properties() + received_props = await qsc.get_service_properties() self._assert_cors_equal(received_props.cors, cors) - @record - def test_set_cors(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_set_cors()) - # --Test cases for errors --------------------------------------- - async def _test_retention_no_days(self): + + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_retention_no_days(self, resource_group, location, storage_account, storage_account_key): # Assert + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) self.assertRaises(ValueError, RetentionPolicy, True, None) - @record - def test_retention_no_days(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_retention_no_days()) - - async def _test_too_many_cors_rules(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_too_many_cors_rules(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) cors = [] for _ in range(0, 6): cors.append(CorsRule(['www.xyz.com'], ['GET'])) # Assert with self.assertRaises(HttpResponseError): - await self.qsc.set_service_properties() + await qsc.set_service_properties() - @record - def test_too_many_cors_rules(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_too_many_cors_rules()) - - async def _test_retention_too_long(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage') + @AsyncQueueTestCase.await_prepared_test + async def test_retention_too_long(self, resource_group, location, storage_account, storage_account_key): # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) minute_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=366)) # Assert with self.assertRaises(HttpResponseError): - await self.qsc.set_service_properties() - - @record - def test_retention_too_long(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_retention_too_long()) + await qsc.set_service_properties() # ------------------------------------------------------------------------------ if __name__ == '__main__': diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_service_stats.py b/sdk/storage/azure-storage-queue/tests/test_queue_service_stats.py index 6a32a2ed7150..1aa8a420f364 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_service_stats.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_service_stats.py @@ -7,16 +7,18 @@ import pytest from azure.storage.queue import QueueServiceClient - +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer from queuetestcase import ( - QueueTestCase, - record, + QueueTestCase ) SERVICE_UNAVAILABLE_RESP_BODY = 'unavailable ' +SERVICE_LIVE_RESP_BODY = 'liveWed, 19 Jan 2021 22:28:43 GMT ' # --Test Class ----------------------------------------------------------------- class QueueServiceStatsTest(QueueTestCase): @@ -39,27 +41,28 @@ def _assert_stats_unavailable(self, stats): def override_response_body_with_unavailable_status(response): response.http_response.text = lambda: SERVICE_UNAVAILABLE_RESP_BODY + @staticmethod + def override_response_body_with_live_status(response): + response.http_response.text = lambda: SERVICE_LIVE_RESP_BODY + # --Test cases per service --------------------------------------- - @record - def test_queue_service_stats_f(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage', sku='Standard_RAGRS') + def test_queue_service_stats_f(self, resource_group, location, storage_account, storage_account_key): # Arrange - url = self._get_queue_url() - credential = self._get_shared_key_credential() - qsc = QueueServiceClient(url, credential=credential) + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) # Act - stats = qsc.get_service_stats() - + stats = qsc.get_service_stats(raw_response_hook=self.override_response_body_with_live_status) # Assert self._assert_stats_default(stats) - @record - def test_queue_service_stats_when_unavailable(self): + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage', sku='Standard_RAGRS') + def test_queue_service_stats_when_unavailable(self, resource_group, location, storage_account, storage_account_key): # Arrange - url = self._get_queue_url() - credential = self._get_shared_key_credential() - qsc = QueueServiceClient(url, credential=credential) + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key) # Act stats = qsc.get_service_stats( diff --git a/sdk/storage/azure-storage-queue/tests/test_queue_service_stats_async.py b/sdk/storage/azure-storage-queue/tests/test_queue_service_stats_async.py index 64bcf4255d1c..3e3761c3b7a8 100644 --- a/sdk/storage/azure-storage-queue/tests/test_queue_service_stats_async.py +++ b/sdk/storage/azure-storage-queue/tests/test_queue_service_stats_async.py @@ -5,21 +5,23 @@ # -------------------------------------------------------------------------- import unittest import asyncio - +from devtools_testutils import ResourceGroupPreparer, StorageAccountPreparer from azure.storage.queue.aio import QueueServiceClient from azure.core.pipeline.transport import AioHttpTransport from multidict import CIMultiDict, CIMultiDictProxy -from queuetestcase import ( - QueueTestCase, - record, - TestMode +from asyncqueuetestcase import ( + AsyncQueueTestCase ) SERVICE_UNAVAILABLE_RESP_BODY = 'unavailable ' +SERVICE_LIVE_RESP_BODY = 'liveWed, 19 Jan 2021 22:28:43 GMT ' + class AiohttpTestTransport(AioHttpTransport): """Workaround to vcrpy bug: https://github.com/kevin1024/vcrpy/pull/461 @@ -33,7 +35,7 @@ async def send(self, request, **config): # --Test Class ----------------------------------------------------------------- -class QueueServiceStatsTestAsync(QueueTestCase): +class QueueServiceStatsTestAsync(AsyncQueueTestCase): # --Helpers----------------------------------------------------------------- def _assert_stats_default(self, stats): self.assertIsNotNone(stats) @@ -53,30 +55,29 @@ def _assert_stats_unavailable(self, stats): def override_response_body_with_unavailable_status(response): response.http_response.text = lambda: SERVICE_UNAVAILABLE_RESP_BODY - # --Test cases per service --------------------------------------- + @staticmethod + def override_response_body_with_live_status(response): + response.http_response.text = lambda: SERVICE_LIVE_RESP_BODY - async def _test_queue_service_stats_f(self): + # --Test cases per service --------------------------------------- + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage', sku='Standard_RAGRS') + @AsyncQueueTestCase.await_prepared_test + async def test_queue_service_stats_f(self, resource_group, location, storage_account, storage_account_key): # Arrange - url = self._get_queue_url() - credential = self._get_shared_key_credential() - qsc = QueueServiceClient(url, credential=credential, transport=AiohttpTestTransport()) - + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Act - stats = await qsc.get_service_stats() + stats = await qsc.get_service_stats(raw_response_hook=self.override_response_body_with_live_status) # Assert self._assert_stats_default(stats) - @record - def test_queue_service_stats_f(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_queue_service_stats_f()) - - async def _test_queue_service_stats_when_unavailable(self): - # Arrange - url = self._get_queue_url() - credential = self._get_shared_key_credential() - qsc = QueueServiceClient(url, credential=credential, transport=AiohttpTestTransport()) + @ResourceGroupPreparer() + @StorageAccountPreparer(name_prefix='pyacrstorage', sku='Standard_RAGRS') + @AsyncQueueTestCase.await_prepared_test + async def test_queue_service_stats_when_unavailable(self, resource_group, location, storage_account, storage_account_key): + # Arrange + qsc = QueueServiceClient(self._account_url(storage_account.name), storage_account_key, transport=AiohttpTestTransport()) # Act stats = await qsc.get_service_stats( @@ -85,10 +86,6 @@ async def _test_queue_service_stats_when_unavailable(self): # Assert self._assert_stats_unavailable(stats) - @record - def test_queue_service_stats_when_unavailable(self): - loop = asyncio.get_event_loop() - loop.run_until_complete(self._test_queue_service_stats_when_unavailable()) # ------------------------------------------------------------------------------ if __name__ == '__main__': unittest.main() diff --git a/shared_requirements.txt b/shared_requirements.txt index 908ea36bd6aa..04738b39cfd9 100644 --- a/shared_requirements.txt +++ b/shared_requirements.txt @@ -102,4 +102,7 @@ aiohttp>=3.0 aiodns>=2.0 python-dateutil>=2.8.0 six>=1.6 +#override azure-storage-blob azure-core<2.0.0,>=1.0.0b3 +#override azure-storage-queue azure-core<2.0.0,>=1.0.0b3 +#override azure-storage-file azure-core<2.0.0,>=1.0.0b3 #override azure-cosmos azure-core<2.0.0,>=1.0.0b3 diff --git a/tools/azure-sdk-tools/devtools_testutils/mgmt_settings_fake.py b/tools/azure-sdk-tools/devtools_testutils/mgmt_settings_fake.py index f6c71ae765f3..d2945f2d34ab 100644 --- a/tools/azure-sdk-tools/devtools_testutils/mgmt_settings_fake.py +++ b/tools/azure-sdk-tools/devtools_testutils/mgmt_settings_fake.py @@ -29,6 +29,12 @@ # Ubuntu image LINUX_OS_VHD = "https://mystorageaccount.blob.core.windows.net/inputtestdatadonotdelete/ubuntu.vhd" +# Storage tests related +ACTIVE_DIRECTORY_APPLICATION_ID = '00000000-0000-0000-0000-00000000000' +ACTIVE_DIRECTORY_APPLICATION_SECRET = '000000000ft5g5g5g5g5g5g5g5000000?' +ACTIVE_DIRECTORY_TENANT_ID = '00000000-0000-0000-0000-000000000000' +IS_SERVER_SIDE_FILE_ENCRYPTION_ENABLED = True + # Read for details of this file: # https://github.com/Azure/azure-sdk-for-python/wiki/Contributing-to-the-tests diff --git a/tools/azure-sdk-tools/devtools_testutils/storage_testcase.py b/tools/azure-sdk-tools/devtools_testutils/storage_testcase.py index 44c3ae2e9ef3..ba3f8f41debe 100644 --- a/tools/azure-sdk-tools/devtools_testutils/storage_testcase.py +++ b/tools/azure-sdk-tools/devtools_testutils/storage_testcase.py @@ -76,4 +76,3 @@ def _get_resource_group(self, **kwargs): template = 'To create a storage account a resource group is required. Please add ' \ 'decorator @{} in front of this storage account preparer.' raise AzureTestError(template.format(ResourceGroupPreparer.__name__)) -